2012-07-13 81 views
0

我需要一些形式的句子分類程序的幫助。簡單的Java句子分類程序

一個程序,它讀取文件並檢查文件中的每個句子以定位任何「關鍵字」。關鍵字位於另一個文件中,其中有文字。如果它找到一個關鍵字,它會將該句子寫入另一個文件。

到目前爲止,我擁有一個非常不錯的輸出文件的輸入文件和分裂成句子和寫作的閱讀

能否請您給該程序將如何讀出每個句子中的第一個文件,並比較了一些方向它與第二個文件中的單詞相對應,並且如果它在句子中找到關鍵字,則寫入第三個文件?

非常感謝!

+0

將所有單詞加載到'HashSet';用詞分開輸入;使用'set.contains(word)' – 2012-07-13 07:51:27

+1

不會使用正則表達式的方法嗎? – MadProgrammer 2012-07-13 07:52:33

+1

@ user992484什麼是「正則表達式方法」? – 2012-07-13 08:01:30

回答

0

您可以使用掃描儀讀取文件並直接提取文字。

如果發現你寫的FileWriter

0

關鍵詞是一組,我相信你可以加載所有的關鍵字在一個TreeSet進行比較,然後。您需要快速訪問它們,所以請使用HashSet

如果您的關鍵字只能匹配您的陳詞中的精確對應詞,請將句子分割爲任意空格(\\s+正則表達式),並嘗試將每個單詞與關鍵字中的元素進行匹配。

您可以通過這種方式構建依賴關係圖,這樣您就可以擁有一個HashMap,其中kewords是關鍵字,值是引用該關鍵字的句子集。

最後,你可能最終會像這樣的東西:

[Keyword="StackOverflow"] 
    [Values= 
     "I like posting on StackOverflow.", 
     "StackOverflow is cool." 
    ] 
[Keyword="posting"] 
    [Values= 
     "I like posting on StackOverflow." 
    ] 
0

我可以給一個基於PHP的解決方案 -

  1. 解析句子串。
  2. 使用的strtok()函數,並定義共同標點符號(」,「()/等)作爲斷詞/分類器。

  3. 形式的陣列/設置含有預先定義單詞的數據字​​典的。

  4. 使用preg_match()函數來進行完整的單詞匹配,你可能想使用指定的結構來構建數組 - > $ variable = array(「/(\ bword1 \ b)/」,「/(\ bword2 \ b)/「)。

  5. 爲了參考目的/規格的上述功能,搜索php文檔在 - http://www.php.net/

希望我能幫上忙。

乾杯。