-
Notifications
You must be signed in to change notification settings - Fork 37
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"])
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, '補')
]
]
Droidtown Linguistic Tech.
Document | Blog | Twitter @DroidtownLing | Facebook @Articut | Website