从连续字符串中提取单词

ama*_*man 2 python algorithm text-mining nltk

我有输入:

callme
senditnow
runningcar
Run Code Online (Sandbox Code Playgroud)

我怎么能提取像叫我,现在发送,跑车这样的词.在python中有任何库使用一些字典来做那件事.

Jib*_*iby 5

我不知道正确的方法,但有办法欺骗!

这是我在大学解决的一个算法运动问题,你有一个没有空格的字符串(例如thesearethereasons),你试图找回这些单词.

诀窍是试图将问题转化为图形(有向无环图):你需要一个函数来检查dictionnary中是否存在一个单词(我当时用过 /usr/share/dict/words解析grep),然后尝试所有单词组合.存储单词和开始/结束索引.

These (0,4)
The (0,2)
Sea (3,5)
[...]
Run Code Online (Sandbox Code Playgroud)

然后,您只需要通过在一个单词的结尾和另一个单词的开头之间建立链接将这些变为图形:

*--+The----Sea-------(no more words there)
   |
   +-These---Are+----The+-------Reason (not end)
                |       +----Reasons [String end]   <== Solution
                |
                +----There---A---Sons [String end]  <== False Positive
Run Code Online (Sandbox Code Playgroud)

现在你有一个单词图,只需按照它(DFS)到最后.以字符串结尾结尾的任何路径表示单词=)

你可以想象,几个单词组合可以做到这一点,让你回到一系列"似是而非的句子".那不是一个完美的解决方案