我有一个大型网址数据集,我需要一种方法来解析网址中的单词,例如:
realestatesales.com -> {"real","estate","sales"}
我更喜欢在python中这样做。这似乎应该可以用某种英语词典。可能会有一些模棱两可的案例,但我觉得应该有一个解决方案。
答案 0 :(得分:4)
三元搜索树填充单词词典时,可以相当有效地找到最复杂的匹配词组(词)。这是我以前使用过的解决方案 你可以在这里得到一个tst的C / Python实现:http://github.com/nlehuen/pytst
示例:
import tst
tree = tst.TST()
#note that tst.ListAction() assigns each matched term to a list
words = tree.scan("MultipleWordString", tst.ListAction())
其他资源:
名为“Solr”的开源搜索引擎使用它所谓的“Word-Boundary-Filter”来处理您可能想要查看的问题。
答案 1 :(得分:2)
这可能对您有用:http://www.clips.ua.ac.be/pattern
这是一组模块,根据您的系统,可能已经安装了这些模块。它会做各种有趣的事情,即使它不能完全满足您的需求,也可能让您开始走上正确的道路。
答案 2 :(得分:2)
这是一个问题,即分词,并且存在有效的动态编程解决方案。 This页面讨论了如何实现它。我之前也回答了这个问题,但我找不到答案的链接。如果你这样做,请随时编辑我的帖子。