明确与不定期物品使用纠正器

时间:2017-03-23 20:55:21

标签: python text nlp

我正在编写一个纠正'a / an'与'''文章用法的程序。我已经能够检测到多个案例(当相应的名词是复数时,文章总是''')。

我对如何为单数名词解决这个问题感到难过。没有背景,“苹果”和“苹果”都是正确的。我该如何处理此类案件?

1 个答案:

答案 0 :(得分:1)

我不认为这是你能够100%准确的东西,但在我看来,最重要的暗示之一是之前提到的。如果以前没有提到苹果,那么说'苹果'就有点奇怪了。

一种非常便宜(且不太准确)的方法是在前面的上下文中逐字检查令牌“apple”并将其用作功能,可能与许多其他功能结合使用,例如:

  • 文本中的位置(随着文本的进展,确定性变得更有可能)
  • 语法功能通过依赖解析(语法主题更可能是明确的)
  • 短语长度(明确提及通常较短,形容词较少)
  • 等。等

更好但更复杂的方法是插入“the”,然后使用共同解析组件尝试找到之前的提及。虽然自动共参考分辨率并不完美,但它是确定是否使用NLP之前提及的最佳方法,并且大多数系统还将尝试解决非简单的情况,例如"John has Malaria ... the disease",这是一个简单的字符串查找将会错过,并且会引起非共同提及的提及:a red apple ... != a green apple

最后,尽管之前没有提到过,但是有很多名词可以出现在文章中,包括名字(“奥运会”),仿制药(“共同蚂蚁”),语境可推断词(“通过盐“)和唯一可识别的(”太阳“)。所有这些都可以从训练语料库中学习,但这可能需要单独的分类器。

希望这有帮助!