2015-10-14 80 views
0

我正在處理一個關鍵字提取任務,在其中我想提取短語而不是單詞。爲了將每個句子分成有意義的部分,我首先進行詞性標註,然後基於語言規則只提取名詞短語。每個名詞短語都是要提取的潛在關鍵字。然而,因爲我只需要爲每個給定文檔提取'k'個關鍵字,所以我需要一種很好的方法來對提取的名詞短語進行排名。一種簡單的方法是計算每個術語(在每個名詞短語中)的TDIDF得分,然後每個名詞短語的得分將是其組成術語「TDIDF得分」的乘積。我想知道是否有人對我的簡單天真的解決方案有更好的方法或任何想法?如何爲句子中的每個塊分配一個分數?

+0

這是一個完全有效的方法。一旦你做完了這些,看看你的方法錯過了什麼,看看是否有辦法調整系統來產生更好的結果。這樣做直到你耗盡時間和/或金錢。 – Dan

回答

0

您可以使用句子分隔符,例如在open NLP中的一個,而不是基於名詞識別來提取短語,因爲在實踐中它的準確性可能很低(在短語中可以有多個名詞,並且您使用的硬編碼語言規則可能不穩健,即,適用於所有可能的情況)。在openNLP中使用統計模型提取短語可能會更好,因爲它帶有置信度分數。

在任何情況下,一旦您提取短語,您可以通過應用典型的NLP管道提取關鍵字,然後使用tf-idf對關鍵字進行排名。

我不會推薦在一個短語中乘以tf-idf分數,因爲那不會有意義。但這可能取決於您的應用程序。你想排列朝着哪個目標的短語? 你需要有一個分數,類似於tf-idf,但是在句子級別?如果你正在尋找一個分數的整個短語工作與術語tf-idf的向量和句子提取的置信度。
或者,如果您搜索的詞組之間有相似性,則可以保留每個句子的tf-idf向量並應用餘弦或其他similarity technique

相關問題