我有一個產品列表,我嘗試按類別進行分類。用NLTK查找不完整句子的主題
「固態硬盤房屋」
「硬盤驅動器電纜」
「1TB移動硬盤」
「500GB硬盤,從生產廠家翻新」:他們將不完整的句子等描述
我該如何使用python和NLP來獲得像「Housing,Cable,Drive,Drive」這樣的輸出,或者描述哪一個詞正在修改哪一個? 預先感謝您
我有一個產品列表,我嘗試按類別進行分類。用NLTK查找不完整句子的主題
「固態硬盤房屋」
「硬盤驅動器電纜」
「1TB移動硬盤」
「500GB硬盤,從生產廠家翻新」:他們將不完整的句子等描述
我該如何使用python和NLP來獲得像「Housing,Cable,Drive,Drive」這樣的輸出,或者描述哪一個詞正在修改哪一個? 預先感謝您
NLP技術相對不適合處理這種文本。
表達方式不同:構建一個包含NLP過程以實現所需分類器的解決方案是非常有可能的,但增加的複雜性不一定能在開發速度或分類器精度改進方面帶來回報。
如果真的堅持使用NLP技術,POS標籤及其識別名詞的能力是最明顯的想法,但分塊和訪問WordNet或其他詞彙來源是NLTK的其他似是而非的用法。
而是基於簡單的正則表達式和一些啓發式如這些由NoBugs提出一個特設的解決方案可能是一個合適的解決問題的方法。當然,這樣的解決方案承擔兩個主要風險:
對完整(或非常大的樣本)的文本進行一些簡單的靜態分析應該有助於指導選擇幾種啓發式方法,並避免過度擬合的擔憂。我相當確信,與自定義詞典相關的相對較少的規則應該足以生成具有適當精度以及速度/資源性能的分類器。
甲一些想法:
恐怕這個答案不能提供Python/NLTK片段作爲引入一個解決方案,但坦率地說,這種簡單的基於NLTK的方法最多可能令人失望。此外,我們應該有一個更大的輸入文本樣本集來指導合理方法的選擇,包括基於NLTK或NLP技術的方法。
我會創建一個名詞列表,手動,您正在尋找的所有名詞,或解析字典,如this one。過濾除了名詞以外的所有名詞,至少可以讓你「State Drive」,「Drive Cable」或「Drive」,忽略第一個標點符號後面的所有內容。