5

我正在使用 Python 将 url 解析为单词。我取得了一些成功,但我正在努力减少歧义。例如,我得到以下网址

"abbeycarsuk.com"

我的算法输出:

['abbey','car','suk'],['abbey','cars','uk']

显然,第二个解析是正确的,但第一个在技术上也同样正确(显然“suk”是我正在使用的字典中的一个词)。

如果有一个单词表还包含每个单词的频率/流行度,那么对我有很大帮助。我可以将它应用到我的算法中,然后选择第二次解析(因为“uk”显然比“suk”更常见)。有谁知道我在哪里可以找到这样的清单?我找到了 wordfrequency.info,但他们对数据收费,而且他们提供的免费样本没有足够的单词让我能够成功使用它。

或者,我想我可以下载一个大型语料库(Gutenberg 项目?)并自己获取频率值,但是如果这样的数据集已经存在,它会让我的生活更轻松。

4

4 回答 4

7

有一篇由 Peter Norvig(Google 的研究主管)撰写的关于这个主题的大量文章,其中包含 Python 中的工作示例,并且相当容易理解。这篇文章以及示例程序中使用的数据(谷歌 ngram 数据的一些摘录)可以在这里找到。可以在此处找到适用于多种语言的完整 Google ngram 集(如果您居住在美国东部,则可以免费下载)。

于 2013-07-15T16:40:59.883 回答
2

正如您所提到的,“语料库”是要搜索的关键字。

例如。这是一个很好的资源列表:

http://www-nlp.stanford.edu/links/statnlp.html

(向下滚动)

于 2013-07-15T16:08:29.713 回答
2

http://ucrel.lancs.ac.uk/bncfreq/flists.html

也许是您想要的列表。我想如果需要,您可以减小它的大小以提高性能。

这是一个不错的大清单。更多信息可在此处获得。

于 2013-07-15T16:30:12.230 回答
1

让它首先使用较小的字典进行搜索,较小的字典往往会保留更常用的单词。然后,如果它失败了,你可以让它使用你更竞争的字典,其中包括像“suk”这样的词。

然后,您将能够忽略词频分析,但是通过添加另一个较小的字典会影响您的开销。

您也许可以使用他在评论中作为小字典发布的 will 链接

还要编辑,您提供的链接确实有免费服务,您可以在其中下载前 5,000 个常用词的列表

于 2013-07-15T16:26:14.640 回答