使用字典修复单词在python中查找?

suz*_*zee 14 python dictionary nltk python-2.7 text-segmentation

我从文档中提取了句子列表.我正在预处理这个句子列表,使其更加明智.我遇到了以下问题

我有句话如 "more recen t ly the develop ment, wh ich is a po ten t "

我想用查找词典来纠正这些句子?删除不需要的空格.

最终的输出应该是 "more recently the development, which is a potent "

我认为这是预处理文本的直接任务?我需要一些帮助来寻找这些方法.谢谢.

mik*_*iku 6

看一下单词或文本分段.问题是找到最可能的字符串拆分成一组单词.例:

 thequickbrownfoxjumpsoverthelazydog
Run Code Online (Sandbox Code Playgroud)

最可能的细分当然应该是:

 the quick brown fox jumps over the lazy dog
Run Code Online (Sandbox Code Playgroud)

这是一篇文章,包括使用Google Ngram语料库解决问题的原型源代码:

该算法工作的关键是获取有关世界的知识,在这种情况下是某种语言的词频.我实现了这篇文章中描述的算法版本:

用法示例:

$ python segmentation.py t hequi ckbrownfoxjum ped
thequickbrownfoxjumped
['the', 'quick', 'brown', 'fox', 'jumped']
Run Code Online (Sandbox Code Playgroud)

使用数据,即使这可以重新排序:

$ python segmentation.py lmaoro fll olwt f pwned
lmaorofllolwtfpwned
['lmao', 'rofl', 'lol', 'wtf', 'pwned']
Run Code Online (Sandbox Code Playgroud)

请注意,该算法非常慢 - 这是原型.

另一种使用NLTK的方法:

至于你的问题,你可以连接所有的字符串部分,以获得一个字符串,并在其上运行分段算法.

  • 但是,当句子可以按多个顺序排列时,它是如何工作的?"笔是移动的" (3认同)