如何将英语缩写形式替换为词典形式



我正在开发一个分析英语文本的系统:我使用stanford core nlp从整个文档中造句,并从句子中生成标记。我还使用maxent标记器来获取代币pos标记。现在,考虑到我使用这个语料库来构建一个监督分类器,如果我可以将任何单词(如"re"、"s"、"havin"、"sayin"等)替换为其标准形式(are、is、have、sayin),那就太好了。我一直在搜索一些英语词典文件,但我不知道如何使用它。有太多不同的案例需要考虑,我认为这不是一项容易实现的任务:有没有类似的工作或整个项目可以让我使用?

想法:

I) 对文本的子集使用字符串编辑距离,并尝试使用编辑距离将字典中不存在的单词与字典中现有的单词进行匹配。

II) 很多这样的例子的关键特征是,它们与正确的拼写只有1个字符的差异。因此,我建议,对于那些与词典条目不匹配的单词,尝试将所有英文字符添加到前面或后面,并在词典中查找结果单词。这在一开始是非常昂贵的,但如果你在查找表中跟踪这些拼写错误(re->are),在某个时候,你的查找表中会有99.99%的常见拼写错误(或你称之为它们的任何东西)具有实际的正确拼写。

III) 在正确干净的英语文本(即报纸文章)上训练一个单词级的2克或3克语言模型,然后在你拥有的整个语料库中运行它,并查看你的语言模型认为是未知单词的单词(这意味着它在训练阶段没有看到它们),根据语言模型,什么是最可能的单词。最有可能的是,语言模型前十名的预测将是拼写正确的单词。

最新更新