2010-04-25 62 views
1

相關:Java:remove-common-words-method in the API?

  1. Forum post

之前重新發明輪子,我需要知道這樣的方法是否存在。按照list之類的清單來剝離單詞聽起來不具有挑戰性,但是有語言方面的內容,比如哪些單詞在剝離時最強調,如何處理上下文?

+0

您可能有興趣查看一下Cucumber(http://cukes.info/)的源代碼,該代碼使用通用語言(如使用英語)來定義測試用例。 – 2010-04-25 03:01:00

回答

2

它聽起來像你試圖做的是從文本中刪除「stop words」。您可以在鏈接中找到list of English stopwords。根據您使用多少個停用詞,創建HashSet個單詞可能會更有效,以便您可以通過使用contains()函數來確定某個單詞是否爲常量中的停用詞,這意味着過濾整個文本將花費單詞數量的線性時間。這是一個非常簡單的操作,我懷疑你會找到一些庫來做,但不應該花很長時間。

在選擇使用哪個單詞方面......這取決於你想要做什麼。如果您在bag of words model上執行某種機器學習算法,那麼您必須嘗試對單詞進行不同選擇,並查看導致最小驗證錯誤的選項。就上下文而言,很多單詞並不需要。任何講英語的人都可以告訴你何時放棄了「the」,「a」或「an」。可能有一些對於某些消歧很重要的常見詞彙,但取決於您的申請,它們可能也可能不必要。例如,如果你想知道誰做了什麼,那麼消除「他」,「她」等可能是一個問題,但如果你只關心這樣的行爲是否發生,而你並不真正關心誰做了,然後消除代詞就好了。

相關問題