我正在为一些英语文本生成一些统计数据,我想跳过一些不感兴趣的词,例如“a”和“the”。
更新:这些显然被称为“停用词”,而不是“跳过词”。
答案 0 :(得分:21)
投入谷歌的神奇词汇是“停止词汇”。这会出现a reasonable-looking list。
MySQL也有built-in list of stop words,但这对我的口味来说太过全面了。例如,在我们的大学图书馆,我们遇到了问题,因为“第三世界”中的“第三”被认为是一个停止词。
答案 1 :(得分:5)
这些被称为stop words,请检查此sample
答案 2 :(得分:5)
根据您正在使用的英语子域,您可能/希望编译自己的停用词列表。一些通用的停用词在域中可能是有意义的。例如。 “是”这个词实际上可能是an abbreviation/acronym in some domain。相反,您可能希望忽略某些特定于域的单词,具体取决于您的应用程序,您可能不希望在通用英语领域中忽略这些单词。例如。如果您正在分析医院报告的语料库,您可能希望忽略“历史”和“症状”等词语,因为它们会在每个报告中找到并且可能没有用(从普通的香草倒置索引角度来看)。
否则,Google返回的列表应该没问题。 Porter Stemmer uses this和Lucene seach引擎实现uses this。
答案 3 :(得分:4)
获取有关大型txt语料库中词频的统计信息。忽略频率上的所有单词>一些数字。
答案 4 :(得分:2)
我想我之前使用lucene.net构建了一个搜索应用程序时,我使用了来自here的德语的停用词列表。该网站也包含一个英文列表,该网站上的列表也是lucene项目默认使用的列表。
答案 5 :(得分:2)
通常,这些字词会出现在频率最高的文档中。 假设你有一个全球词汇列表:
{ Word Count }
使用单词列表,如果您将最高计数的单词排序为最低单词,则会有一个图形(计数(y轴)和单词(x轴),它是反向对数函数。所有停止单词将在左侧,“停用词”的停止点将位于最高的一阶导数存在的位置。
此解决方案优于字典尝试:
字典尝试更好: