作为我的NLP课程项目的一部分,我决定编写一个程序,可以纠正句子中的语法和语义错误,我的想法是,我可以将此程序转换为移动应用程序,这可以帮助我更快地在移动设备上打字。例如,我的程序应该能够检测并修复包含语法和语义错误组合的后续句子。
FROM[I *am reach* home] -> TO[I am *reaching* home OR I *reached* home OR I have *reached* home ]
FROM[Dog is *barring* in the street] -> TO[dog is *barking* in the street ]
FROM[She *died* not *seen* to be understanding] -> TO[she *does* not *seem* to understanding ]
FROM[I am not interested in *then*] -> TO[i am not interested in *them*
FROM[I would really *live* to meet you.] -> TO[i would really *like* to meet you OR I would really *love* to meet you]
FROM[He *if* a good boy.] -> TO[He *is* a good boy.]
https://www.languagetool.org和http://www.polishmywriting.com在查找上述句子的问题方面表现不佳,而语法修正工具则
https://www.paperrater.com/,http://spellcheckplus.com,http://www.reverso.net/spell-checker/english-spelling-grammar/很好。
最初我在脑海中有一个粗略的想法来解决这个问题,我认为这个问题在某种程度上起作用并从这个项目开始,但我现在完全迷失了。即使经过几天的大量浏览,我也无法对如何解决这个问题有所了解。我是NLP的新手,但我知道解析树,POS标记,python中的NLTK模块等,但我不知道如何将这些概念放在一起用于解决我的问题。例如,我可以使用基于规则的POS标记来查找句子中需要“动词形式”,例如“我到家”但是如何修复语义错误或从句子中删除完全脱离语境的单词POS标记或解析树或使用WordNet等词汇词典?
我想至少写一个小应用程序,可以在一定程度上修复语法和语义错误,并在将来的一段时间内构建它。 任何人都可以指导我如何解决这个问题吗?我应该使用什么NLP技术以及如何将它们组合在一起来解决这个问题。感谢。
编辑:
我看了
How to check whether a sentence is correct (simple grammar check in Python)?
但我不明白如何在我的应用程序中使用解析树。