我有特殊的詞和複合名詞 ,應該在我的系統中被識別爲名詞。如何在斯坦福NLP中擴展/修改字典?
例如:
我。)「XYZBrand」創名牌,這不是在標準字典
II)「銅線」應該被視爲1個令牌所有整個系統。
都「」 XYZBrand」和‘銅線’上面應該被視爲每個。 或者說, 這一切都很好,如果他們被對待的方式任何其他名詞名詞,說 ‘外套’是。
據我所見,StanfordNLP做只是所以對於第一種情況之上。 時,看到一個令牌,這不是在字典中,它的 把它作爲一個名詞(?)。 所以,這是所有關於複合名詞 - 比如上面的「銅線」
從我看到的,有以下幾種做法它:
1)將複合詞從開始: 添加到字典中,以便StanfordNLP將它們標記化並從頭開始處理。 如何做到這一點?這是我期待的方式。
2.)定義GrammaticalRelation
在UniversalEnglishGrammaticalRelations
到 看到這些複合詞。這將工作。然而我不會總是需要parser
在管道中,這並不「感覺」像一個適當的轉折。
3.)將它們標記爲 - 每當有「銅」和「線」並排時,將這兩個作爲一個標記。然而,這需要鍛鍊與edu.stanford.nlp.process.PTBLexer
,我並不太願意這樣做。
4.)寫一個註釋器在TokenizerAnnotator
之後進入。
5.)在饋入斯坦福大學NLP之前預處理文本:例如,將「銅線」 變成「銅線」。這是我最不喜歡的解決方案。
如何在系統中的字典中添加新術語?
TIA。
// ===========================
編輯:
「銅」 和 「線」當以空格分開並排出現時 是總是作爲一個標記 - 我們的上下文中的「銅線」是有意義的。
仰視的類型依賴,看看它是否是一個 複合名詞與「右」 其他實物令牌(S)是不是一個有利的選擇:
我們的「複合名詞」 AREN永遠不會有名詞的組合。「小contanier」 也應該是我們系統中的一個令牌。
將查找令牌,例如說「銅」,並檢查其與其他令牌的依賴關係 並減慢速度。 這是查找我們的詞集和 追蹤的依賴關係 - 「amod」的「容器」和「化合物」的「線」 幾乎在每一步。
我會尋找扭轉其他事情。例如:在
"some sugar and a bit of salt"
「糖」和「位」是「連接詞:和」 -ed準確地將語法。然而,在我們的情況下,「conj:and」 - 「糖」和「鹽」更準確。
一旦我找到一個好方法,我自己的字典注入覆蓋 字典tokenizer和惡搞使用,或者更確切地說,覆蓋 tokenizer和惡搞的訓練有素的行爲,我可以彎曲系統 到按照我們自己的一套條款處理。這個Q就是尋找這種方式來做這個彎曲。
你似乎已經走在我們前面瞭解我們想要的東西。我會嘗試在編輯中清除它們。 – Roam