2012-08-07 49 views
2

這是一項家庭作業。我不一定在尋找確切的解決方案,而是尋找答案和可能的策略。我收集了一些段落和一些詞彙。我需要檢測哪些段落可能包含某些關鍵字並輸出這些段落的標題檢測某段文字的可能性

蠻力的方法是做簡單的字符串匹配並檢查段落是否包含所需字符串,但我不認爲這將是一個很好的解決方案。另外,作業要求我確定段落可能是是否由關鍵字組成,這基本上意味着涉及某種機器學習/數據挖掘。

您的所有意見都非常重視,非常感謝!

P.S:如果它很重要,我會用Java編程語言解決這個問題。

+1

通常情況下,您不會被分配與您在課堂上所講內容無關的東西......您是否在學習機器學習? – oldrinb 2012-08-07 17:59:47

+0

我建議刪除所有標點符號並分割空白來獲取一組單詞,然後對它進行排序和二進制搜索以檢查該段落是否包含某些字符串。至於機器學習部分,這將需要更多。 – Vulcan 2012-08-07 18:01:20

+0

@Vulcan我相信他已經考慮過了(可能他的意思是「_bruteforce way_」) – oldrinb 2012-08-07 18:03:27

回答

0

機器學習/數據挖掘方法需要大量的數據(訓練數據),你沒有提到有。

可能單詞可能會建議使用某種形式的模式匹配(一個更輕鬆的,而不是確切的單詞)。

+0

通過你的方法,第一步是簡單地通過應用一個停止列表並將它們轉換爲小寫字母,將它們存儲在散列表中,檢查關鍵字是否存在來簡化通道。不知道這是否是一個很好的方法去做。我可以一直訓練數據嗎? – user1020069 2012-08-07 18:11:34

+0

@ user1020069,也添加動詞標準格式轉換。 – Arpssss 2012-08-07 18:14:59

0

我曾經有一項任務,其中包括爲一組給定的文檔構建一個搜索引擎。我們將解析它們並構建一個倒排索引,然後使用餘弦度量來使用關鍵字執行查詢。我們還有一組停用詞,並將所有關鍵詞都轉爲小寫。

Here's some basic theory,提及更高級的材料。

1

我不確定我是否正確理解您的任務,但您可以使用布隆過濾器。

布隆過濾器是一個概率數據結構:它告訴我們該元素肯定不在集合中或可能在集合中。

看看guava library pageplay with a simple implementation的解釋,看看它是如何工作的。

+0

這看起來很酷....我想我可以讓這些段落成爲一個 – user1020069 2012-08-07 23:23:20