我有大量的 url 数据集,我需要一种方法来解析 url 中的单词,例如:
realestatesales.com -> {"real","estate","sales"}
我宁愿用python来做。这似乎应该可以通过某种英语词典来实现。可能有一些模棱两可的情况,但我觉得应该在某个地方有一个解决方案。
用词字典填充三元搜索树可以相当有效地找到最复杂的匹配词集(词)。这是我之前使用的解决方案。
您可以在此处获得 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 ”来处理这个问题,您可能想看看它。
这是一个分词问题,并且存在有效的动态规划解决方案。本页讨论了如何实现它。我之前也在 SO 上回答过这个问题,但我找不到答案的链接。如果您愿意,请随时编辑我的帖子。
这可能对您有用:http: //www.clips.ua.ac.be/pattern
它是一组模块,根据您的系统,可能已经安装。它会做各种有趣的事情,即使它不能完全满足您的需求,它也可能会让您走上正确的道路。