自然语言处理修复组合词

ric*_*ich 6 regex nlp

我有一些由另一个系统生成的文本.它将一些单词组合在一起,我认为是某种文字包装副产品.所以像"狗"这样简单的东西就会组合成"狗".

我检查了ascii和unicode字符串,看看那里没有一些看不见的字符,但没有.一个令人困惑的问题是,这是医学文本,要检查的语料库不是可用的.因此,真正的例子是"...排除SARS与肺炎的试验"最终成为"......肺炎".

有人建议找到并分离这些吗?

ric*_*ich 0

这就是我所做的。我结合了几个想法,并使用通用的引导方法提出了一个非常好的解决方案。我使用 Python 来完成这一切。

  1. 获取报告样本,对所有单词进行标记并创建频率表。
  2. 对于频率为 3 或以下的单词(频率为 4 或更多被认为足够常见且正确),我使用 PyEnchant 包(附魔库)对它们进行拼写检查
  3. 在步骤 2 中,根据“拼写错误”的单词构建了一本医学词典,这些词是临床的。
  4. 为所有报告创建频率表
  5. 对于频率低于 4 的单词,我使用 PyEnchant 和我的医学词典对每个单词进行拼写检查
  6. 取出每个拼写错误的单词,并以所有可能的方式将它们拆分。测试这些拆分是否能创建 2 个拼写正确的单词。保留任何成功的分割
  7. 对于每个可能的解决方案,使用最高权重的解决方案。