英语的“停用词”列表? [关闭]

Posted

技术标签:

【中文标题】英语的“停用词”列表? [关闭]【英文标题】:"Stop words" list for English? [closed] 【发布时间】:2010-11-16 03:25:16 【问题描述】:

我正在为一些英语文本生成一些统计数据,我想跳过无趣的单词,例如“a”和“the”。

在哪里可以找到这些无趣单词的列表? 这些词的列表是否与英语中最常用词的列表相同?

更新:这些显然被称为“停用词”而不是“跳过词”。

【问题讨论】:

标题编辑完全合法,最重要的是,/使它成为一个实际问题/。你为什么要回滚?似乎拥有 13.9k 代表的人可以将问题表述为,你知道的,一个问题。 非英语停用词怎么样? 你可以在toolspot.org/list-english-stop-words.php找到停用词列表 【参考方案1】:

要放入 Google 的神奇词是“停用词”。这出现了a reasonable-looking list。

mysql 也有一个built-in list of stop words,但这对我来说太全面了。例如,在我们的大学图书馆,我们遇到了问题,因为“第三世界”中的“第三”被认为是停用词。

【讨论】:

nltk(Natural Language Toolkit,一个 python 库)附带了一堆资源,包括一个停用词语料库(Porter 等人),“11 种语言的 2,400 个停用词”。您可以使用独立于工具包的停用词列表。 如何访问 NLTK 中包含 2,400 个停用词的语料库? nltk.org/nltk_data NLTK 中的英文停用词被标记化。因此,它列出了“应该”而不是“不应该”【参考方案2】:

这些被称为stop words,请查看sample

【讨论】:

您的链接已失效,存档:web.archive.org/web/20080501010608/http://www.dcs.gla.ac.uk/…【参考方案3】:

根据您使用的英语子域,您可能需要/希望编译自己的停用词列表。一些通用的停用词在域中可能是有意义的。例如。 “是”这个词实际上可能是an abbreviation/acronym in some domain。相反,您可能希望忽略一些特定领域的单词取决于您的应用程序,您可能不想在通用英语领域忽略这些单词。例如。如果您正在分析医院报告的语料库,您可能希望忽略诸如“历史”和“症状”之类的词,因为它们会在每份报告中找到并且可能没有用(从普通的倒排索引的角度来看)。

否则,Google 返回的列表应该没问题。 Porter Stemmer uses this 和 Lucene 搜索引擎实现 uses this。

【讨论】:

【参考方案4】:

获取有关大型 txt 语料库中词频的统计信息。忽略所有频率 > 某个数字的单词。

【讨论】:

大声笑,这只是我试图避免的工作! 可能有一些他想跳过的词(因为它们是英语中的句法糖)但不像他想保留的词那么常见(因为它们是典型的到域)。不过,我想不出任何出色的例子。也许是“你”和“一个”?【参考方案5】:

我想我在不久前使用 lucene.net 构建搜索应用程序时使用了来自 here 的德语停用词列表。该站点也包含一个英文列表,并且该站点上的列表显然也是 lucene 项目默认使用的列表。

【讨论】:

【参考方案6】:

通常这些词会以最高频率出现在文档中。 假设您有一个全局单词列表:

 Word Count 

对于单词列表,如果您将单词从最高计数排序到最低计数,您将拥有一个图形(计数(y 轴)和单词(x 轴),即逆对数函数。所有的停止单词将在左侧,“停用词”的停止点将位于最高一阶导数存在的位置。

此解决方案比字典尝试更好:

此解决方案是一种不受语言约束的通用方法 此尝试了解哪些词被视为“停用词” 此尝试将为非常相似的集合产生更好的结果,并为集合中的项目生成唯一的单词列表 可以在以后重新计算停用词(这样可以进行缓存和统计确定停用词可能在计算时发生了变化) 这也可以消除基于时间或非正式的词和名称(例如俚语,或者如果您有一堆以公司名称作为标题的文档)

字典尝试更好:

查找时间更快 结果已预先缓存 很简单 其他人想出了停用词。

【讨论】:

以上是关于英语的“停用词”列表? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

python 从nltk下载英语停用词

即使停用词列表为空,如果包含停用词,全文搜索也不起作用

推特有停用词列表吗?

NLTK 停用词列表

如何使用 nltk 或 python 删除停用词

SQL 2008:关闭全文搜索查询的停用词