2009-08-02 162 views
20

我正在爲某些英文文本生成一些統計信息,並且希望跳過無用的單詞,如「a」和「the」。英語「停止詞」列表?

  • 我在哪裏可以找到這些無趣的單詞的列表?
  • 這些單詞列表是否與英語中使用最頻繁的單詞列表相同?

更新:這些顯然被稱爲「停止詞」,而不是「跳過詞」。

+6

標題編輯是完全合法的,最重要的是,/使它成爲一個真正的問題/。你爲什麼要推回來?看起來,擁有13.9k代表的人可以用一個問題來形容一個問題,你知道這是一個問題。 – belgariontheking 2009-08-11 12:09:52

+0

非英語停用詞怎麼樣? – adib 2011-07-05 16:48:38

+0

你可以在http://toolspot.org/list-english-stop-words.php找到停用詞表的列表。 – Sunny 2013-09-03 03:33:19

回答

20

魔語投入谷歌是「停止詞」。這變成a reasonable-looking list

MySQL也有一個built-in list of stop words,但這是太過全面,我的口味。例如,在我們的大學圖書館,我們遇到了問題,因爲「第三世界」中的「第三」被認爲是一個停止詞。

5

這些被稱爲stop words,檢查此sample

+2

你的鏈接已發佈,存檔:http://web.archive.org/web/20080501010608/http: //www.dcs.gla.ac.uk/idom/ir_resources/linguistic_utils/stop_words – bobobobo 2009-10-30 22:35:11

4

獲取有關大txt語料庫中詞頻的統計信息。忽略頻率>某個數字的所有單詞。

2

我以前在用lucene.net創建一個搜索應用程序時,使用了來自here的德語的停用詞表。該網站也包含一個英文列表,網站上的列表顯然也是lucene項目默認使用的列表。

5

根據您工作的英語子域,您可能希望編譯自己的停用詞表。一些通用停詞可能在域中有意義。例如。單詞「是」實際上可以是an abbreviation/acronym in some domain。相反,您可能要忽略一些域名特定字詞,具體取決於您的應用,您可能不想在通用英語域中忽略該字詞。例如。如果你正在分析一個醫院報告的語料庫,你可能希望忽略像'歷史'和'症狀'這樣的詞彙,因爲它們在每個報告中都可以找到,並且可能沒有用(從普通的香草倒置指數角度來看)。

否則,Google返回的列表應該沒問題。 Porter Stemmer uses this和Lucene搜索引擎實施uses this

2

通常,這些詞將出現在頻率最高的文檔中。 假設你有話的全局列表:

{ Word Count } 

隨着單詞列表,如果你下令從最高計數到最低的話,你將有一個圖表(計數(Y軸)和字( x軸),即倒數對數函數,所有的停止詞將在左邊,「停止詞」的停止點將位於最高的一階導數存在的地方。

該解決方案是不是一個字典嘗試更好:

  • 該解決方案是不是按語言
  • 這種嘗試學習被認爲有什麼話要「停止詞」
  • 勢必一個普遍的方法這種嘗試對於非常相似的集合會產生更好的結果,併爲集合中的項目生成唯一的單詞列表
  • 可以在稍後時間重新計算停用詞(可以進行緩存並進行統計確定在停止詞可能已經改變,從他們被計算)
  • 這也可以消除基於時間或非正式的單詞和名稱(如俚語,或者如果你有一堆文件,公司名稱作爲標題)

詞典嘗試更好:

  • 的查找時間更快
  • 結果預緩存
  • 其簡單
  • 有些人想出了停止詞。