【问题标题】:How to replace english abbreviated form to their dictionary form如何将英文缩写形式替换为他们的字典形式
【发布时间】:2016-04-09 09:29:19
【问题描述】:
我正在开发一个分析英语文本的系统:我使用 stanford-core nlp 从整个文档中生成句子并从句子中生成标记。我还使用 maxent 标记器来获取标记 pos 标记。
现在,考虑到我使用这个语料库来构建一个有监督的分类器,如果我可以将任何像 're、's、havin、sayin' 等的词替换为它的标准形式(are、is、have、saying )。我一直在寻找一些英语词典文件,但我不知道如何使用它。有很多不同的案例需要考虑,我认为这不是一件容易实现的任务:是否有一些类似的工作或整个项目可以使用?
【问题讨论】:
标签:
dictionary
text
nlp
token
word
【解决方案1】:
想法:
I) 对文本的子集使用字符串编辑距离,并尝试使用编辑距离将字典中不存在的单词与字典中的现有单词进行匹配。
II)您拥有的许多示例的关键特征是它们与正确的拼写只有 1 个字符不同。因此,我建议对于那些您无法与字典条目匹配的单词,尝试将所有英文字符添加到前面或后面,然后在字典中查找结果单词。这在开始时非常昂贵,但是如果您在某个时候在查找表(re -> are)中跟踪这些拼写错误,您的查找表中将有 99.99% 的常见拼写错误(或任何您称之为的拼写错误)以及它们的实际正确的拼写。
III) 在正确和干净的英文文本(即报纸文章)上训练单词级别的 2-gram 或 3-gram 语言模型,然后在您拥有的整个语料库中运行它,并查看您的语言模型中的那些单词认为是未知词(这意味着它在训练阶段没有见过它们),根据语言模型,什么是最可能的词。语言模型前 10 名的预测很可能是正确的拼写词。