3

我有大量的 url 数据集,我需要一种方法来解析 url 中的单词,例如:

realestatesales.com -> {"real","estate","sales"}

我宁愿用python来做。这似乎应该可以通过某种英语词典来实现。可能有一些模棱两可的情况,但我觉得应该在某个地方有一个解决方案。

4

3 回答 3

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 ”来处理这个问题,您可能想看看它。

于 2013-06-13T18:38:28.767 回答
2

这是一个分词问题,并且存在有效的动态规划解决方案。本页讨论了如何实现它。我之前也在 SO 上回答过这个问题,但我找不到答案的链接。如果您愿意,请随时编辑我的帖子。

于 2013-06-16T08:35:54.970 回答
2

这可能对您有用:http: //www.clips.ua.ac.be/pattern

它是一组模块,根据您的系统,可能已经安装。它会做各种有趣的事情,即使它不能完全满足您的需求,它也可能会让您走上正确的道路。

于 2013-06-13T17:28:49.757 回答