我有一些由其他系统生成的文本。它把一些词汇结合在一起,我认为它是某种wordwrap副产品。所以像'狗'这样简单的东西就会结合成'狗'。组合单词的自然语言处理修复程序
我检查了ascii和unicode字符串,看看有没有一些看不见的字符,但没有。一个混淆的问题是,这是医学文本和检查对象的语料库不可用。所以,真正的例子是'...测试排除SARS与肺炎'最终成为'...对肺炎'。
任何人都有建议找到并分离这些?
我有一些由其他系统生成的文本。它把一些词汇结合在一起,我认为它是某种wordwrap副产品。所以像'狗'这样简单的东西就会结合成'狗'。组合单词的自然语言处理修复程序
我检查了ascii和unicode字符串,看看有没有一些看不见的字符,但没有。一个混淆的问题是,这是医学文本和检查对象的语料库不可用。所以,真正的例子是'...测试排除SARS与肺炎'最终成为'...对肺炎'。
任何人都有建议找到并分离这些?
这是我做的。我结合了一些想法,并使用一种通用的引导方法提出了一个很好的解决方案。我为这一切使用了Python。
这是一个相当棘手的问题。
我可能会说一个组合方法是你最好的选择。
它会几乎是一种高级形式拼写检查。你可以更自动化它,但我不会冒险那些重要的事情。
或者,您可以查找发生断裂时的模式。因此,例如,如果应该是空格的每个第n个字符都不是,那么可以修复它。
这可能是你的兴趣http://www.perlmonks.org/?node_id=336331
您可以通过使用两本字典,一个只含有医疗术语和一般英语中的一个可能使用的文字,你的优势的医疗性质。
如果你可以隔离出医疗单词,然后对通用字典运行字符串的其余部分,你应该得到一些体面的结果。
这是OCR的文字吗? – tchrist 2011-03-21 20:29:22