Skip to content

05_列出所有的名詞 (Noun)

EclairCJ edited this page Apr 12, 2022 · 3 revisions

名詞 (Noun/Entity) 是指語言中描述物品的詞彙。在絕大多數的 NLP 任務中,動詞和名詞兩者就可扮演相當有效的文本特徵詞。

輸入要分析的句子字串 "你計劃過地球人類補完計劃"

from ArticutAPI import Articut
from pprint import pprint
username = "" #這裡填入您在 https://api.droidtown.co 使用的帳號 email。若使用空字串,則預設使用每小時 2000 字的公用額度。
apikey   = "" #這裡填入您在 https://api.droidtown.co 登入後取得的 api Key。若使用空字串,則預設使用每小時 2000 字的公用額度。
articut = Articut(username, apikey)

inputSTR = "你計劃過地球人類補完計劃"
resultDICT = articut.parse(inputSTR)
pprint(resultDICT["result_pos"])

列出所有的 noun word

nounStemLIST = articut.getNounStemLIST(resultDICT)
pprint(nounStemLIST)

輸出結果如下

[[(88, 90, '人類'), (138, 140, '計劃')]]

注意!原輸入的句子裡有兩個「計劃」,第一個出現的是動詞的計劃,第二個出現的是名詞的計劃。而 Articut 是可以正確地抓出,只有位在字串位置索引第 138~140 的這個「計劃」(即第二個「計劃」)才是名詞。因此 .getNounStemLIST() 才會把名詞抓出來。

另一個範例04_列出所有的動詞 (Verb)中的結果互相比較,即可發現 Articut 對詞性變化 (又稱為「轉品」) 的計算表現非常優秀。

輸出結果的結構,對應輸入的每一個句子的結構。

[ ##### 最外層的 list 對應「輸入」  
    [ ##### 第二層的 list 對應「第幾句」。例如第一個 list 表示是輸入的「第一句」    
        (88, 90, '人類'), ##### 第三層的 tuple 其結構為 (詞彙開始索引, 詞彙結束索引, 詞彙)   
        (138, 140, '計劃')  
    ]  
]

Clone this wiki locally