python:nlp:展开英语缩写如don't、that's等
我正在尝试一些预处理,所以像“dont”这样的词我想简单地转换成“do not”,这样算法的效果会更好。我查了一下nltk,没有找到合适的方法。我可以用简单的查找方法,但问题是像“Jon's”这样的专有名词会出现问题。请给我一些建议。
之前的问题 在Python中展开英语缩写
对专有名词的使用没有好的答案。
2 个回答
2
我在一个相关的自然语言处理项目中遇到了这个问题,所以决定来解决它,因为这里似乎没有相关的内容。如果你感兴趣,可以查看我的expander GitHub 仓库。
这个项目使用了词性标注和命名实体识别(NER)来处理名词,除了基本的扩展功能外。它还包含一个消歧义的功能,用来处理像's这样的模糊缩写。NER标注是这里的关键部分,它可以识别出任何作为名字的名词,然后我用代词替换这些名词,以分析语法上下文,并在合适的情况下进行扩展。
处理句子时需要花费较长的时间,但这是我解决这个问题的方法,并且在代码中包含的测试案例上运行得相当不错。
想了解更多细节,可以查看这个旧问题的其他回答,或者直接访问我的GitHub仓库。