我正在使用Python将网址解析为单词。我取得了一些成功,但我正在努力减少歧义。例如,我得到以下网址
"abbeycarsuk.com"
我的算法输出:
['abbey','car','suk'],['abbey','cars','uk']
显然第二个解析是正确的,但第一个解析在技术上也是正确的(显然'suk'是我正在使用的字典中的一个单词)。
如果有一个单词列表也包含每个单词的频率/流行度,那么对我有很大帮助的是什么呢?我可以将其用于我的算法,然后选择第二个解析(因为'uk'显然比'suk'更常见)。有谁知道我在哪里可以找到这样的清单?我找到了wordfrequency.info,但他们对数据收费,他们提供的免费样本没有足够的单词让我能够成功使用它。
或者,我想我可以下载一个大型语料库(项目Gutenberg?)并自己获取频率值,但是如果这样的数据集已经存在,它将使我的生活变得更加轻松。
答案 0 :(得分:7)
关于这个主题的文章有很多篇幅由Peter Norvig撰写(Google的研究主管),其中包含Python中的工作示例,并且相当容易理解。可以找到该文章以及示例程序中使用的数据(Google ngram数据的一些摘录)here。可以找到适用于多种语言的全套Google ngrams here(如果您居住在美国东部,可免费下载)。
答案 1 :(得分:2)
答案 2 :(得分:1)
首先使用较小的字典进行搜索,较小的字典往往会保留更常用的字词。然后,如果它失败了,你可以使用你更具竞争力的词典,其中包括像'suk'这样的词。
然后您可以忽略单词频率分析,但是您可以通过添加另一个较小的字典来减少开销。
您可以使用他在评论中发布的遗嘱链接作为一个小型的dictonary
修改,您提供的链接确实有免费服务,您可以下载a list of the top 5,000 used words
答案 3 :(得分:1)
http://ucrel.lancs.ac.uk/bncfreq/flists.html
This可能是您想要的列表。我猜你可以减少它的大小,以便在需要时提高性能。
这是一个很好的大清单。更多信息here。