我正在處理一個關鍵字提取任務,在其中我想提取短語而不是單詞。爲了將每個句子分成有意義的部分,我首先進行詞性標註,然後基於語言規則只提取名詞短語。每個名詞短語都是要提取的潛在關鍵字。然而,因爲我只需要爲每個給定文檔提取'k'個關鍵字,所以我需要一種很好的方法來對提取的名詞短語進行排名。一種簡單的方法是計算每個術語(在每個名詞短語中)的TDIDF得分,然後每個名詞短語的得分將是其組成術語「TDIDF得分」的乘積。我想知道是否有人對我的簡單天真的解決方案有更好的方法或任何想法?如何爲句子中的每個塊分配一個分數?
0
A
回答
0
您可以使用句子分隔符,例如在open NLP中的一個,而不是基於名詞識別來提取短語,因爲在實踐中它的準確性可能很低(在短語中可以有多個名詞,並且您使用的硬編碼語言規則可能不穩健,即,適用於所有可能的情況)。在openNLP中使用統計模型提取短語可能會更好,因爲它帶有置信度分數。
在任何情況下,一旦您提取短語,您可以通過應用典型的NLP管道提取關鍵字,然後使用tf-idf對關鍵字進行排名。
我不會推薦在一個短語中乘以tf-idf分數,因爲那不會有意義。但這可能取決於您的應用程序。你想排列朝着哪個目標的短語? 你需要有一個分數,類似於tf-idf,但是在句子級別?如果你正在尋找一個分數的整個短語工作與術語tf-idf的向量和句子提取的置信度。
或者,如果您搜索的詞組之間有相似性,則可以保留每個句子的tf-idf向量並應用餘弦或其他similarity technique。
相關問題
- 1. 如何爲輸入的句子中的每個單詞分配一個數字?
- 2. 爲列表中的每個唯一值分配一個數字
- 3. 如何爲隊列中的每個數據點分配一個唯一的ID?
- 4. 爲每個子進程分配一個帶有分叉的唯一ID
- 5. 爲數據幀分配一個因子
- 6. 如何將WHERE子句的一部分分配給其他多個部分?
- 7. Spark SQL爲每個子組分配一個序列號
- 8. 如何分配一個現有的代碼庫git子模塊
- 9. 如何爲每個用戶分配一個號碼?
- 10. 如何將每個調用分配給一個函數?
- 11. 使用jQuery分隔每個句子
- 12. 將一個沒有任何空格/分隔符的句子拆分爲一個帶空白的句子
- 13. 如何爲數組的每個索引分配一個變量名?
- 14. 如何從sqlite中分割數據。我需要的數據由每個句子分開(指由分裂。)使用
- 15. C#乾淨地爲每個方法參數分配一個值
- 16. 爲每個Zend Framework模塊分開Git子模塊?
- 17. 如何爲ViewFlipper中的每個視圖分配一個單獨的類?
- 18. PHP電子郵件表格 - 爲每個輸入數組分配一個變量
- 19. 我想爲每個用戶分配一個唯一的URL - PHP
- 20. 多瓦爾分配在一個句子中的PHP
- 21. 如何在函數rep()中分配多個「每個」值?
- 22. 如何爲一個值分配一個大數字?
- 23. 如何在Entity Framework中分別爲每個人分組數據?
- 24. 如何爲每個課程實例分配一個唯一的序列號?
- 25. 如何爲MySQL中的每一行分配一個不同的值?
- 26. 如何在Smarty中爲param分配一個值的數組?
- 27. 如何使用R分開一個句子中的字母
- 28. 爲每組div分配一個跨度到另一個div
- 29. 在Java中將句子字符串拆分爲每行句子
- 30. Python:爲列表中的每個元素分配百分比
這是一個完全有效的方法。一旦你做完了這些,看看你的方法錯過了什麼,看看是否有辦法調整系統來產生更好的結果。這樣做直到你耗盡時間和/或金錢。 – Dan