Skip to content

04_列出所有的動詞 (Verb)

Droidtown Linguistic. Tech. Co., Ltd edited this page May 14, 2021 · 5 revisions

#列出所有的 verb word. (動詞)

動詞 (Verb) 是指語言中描述動作的詞彙。在絕大多數的 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"])

列出所有的 content word

verbStemLIST = articut.getVerbStemLIST(resultDICT)
pprint(verbStemLIST)

輸出結果如下

[[(41, 43, '計劃'), (111, 112, '補')]]

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

注意!原輸入句子裡的「補完」一詞,其動詞詞幹 (verb stem) 是「補」,其後的「完」和「了、著、正在…」這些詞彙一樣,表示的是時態標記 (過去式、完成式、進行式…等),而不是動詞本身的一部份。因此 Articut 在 .getVerbStemLIST() 中會把時態標記移除。

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

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