N
)。詞性標注(粵讀:ci4 sing3 biu1 zyu3;英文:POS tagging)係自然語言處理(NLP)同相關工作上成日做嘅一種重要工序,指攞一段文字做 input,再出個 output 係同段文字入面每隻字標明佢係咩詞性嘅,即係每隻字都標明咗佢係名詞定動詞定形容詞定點[1][2]。
舉個例說明,想像家陣個 input 係以下呢句英文句子[3]:
做咗詞性標注個 output 就會係類似以下噉嘅樣:
喺廿世紀,詞性標注曾經係搵人手做嘅,但到咗廿一世紀初,NLP 等領域嘅發展經已有咗專化嘅演算法教電腦自動做詞性標注[4],例如 Python 嘅專化函式庫就索性整埋句陳述式 pos_tag(text)
俾用家用一句碼嚟叫部電腦做詞性標注。呢種技術喺 NLP 同語言學嘅研究(尤其係運算語言學)上都時不時會用到。
詞性標注做嘅嘢係「foreach 字,俾個標籤佢標明佢係邊隻詞性」。喺語言學上,一隻詞性係指一個字類,類入面嘅字冚唪唥都有同樣嘅句法功能-同一隻詞性嘅字喺「負責做句子邊部份」呢點上一樣;喺最基本上,英文同粵文入面嘅字可以分做以下呢九大詞性[5][6]:
NN
):一個名詞通常係用嚟指一件或者多件物件,當中「物件」可以係生物、地方、行動、諗頭以至概念呀噉,能夠做動詞嘅主語或者賓語,能夠俾形容詞形容;粵文入面狼(生物)、香港(地方)同埋複雜度(概念)等嘅字詞正常嚟講都係名詞[7]。VB
):一個動詞通常都係指一啲動作,能夠由名詞做出或者做喺名詞身上;粵文入面跑同埋諗(諗可以由生物做,可以作用喺概念身上)等嘅字詞都係動詞。ADJ
):最基本上,一個形容詞會掕住個名詞,用嚟形容嗰個名詞嘅特性;例如粵文「藍色嘅蝴蝶」入面藍色嘅就係形容詞,形容佢掕住嗰個名詞(蝴蝶)嘅特性。RB
):攞嚟修飾動詞或者形容詞等多種唔係名詞嘅字詞;例如粵文「我真係好抱歉」入面抱歉係個形容詞,而好係副詞,指抱歉嘅程度高。IN
):通常係掕住個名詞或者動詞,表示時間或者空間上嘅關係;例如粵文「當個天黑嗰陣...」入面當... 嗰陣就係介詞。PRP
):攞嚟替代名詞,費事吓吓都要出返個名詞嘅名;例如粵文「阿莊企咗喺度。佢望住窗外面嘅景色」入面個佢就係代名詞,代指阿莊。CC
):用嚟做「連接」嘅字詞;例如粵文「我都想嚟食飯,但我唔得閒」入面嘅但就係個連接詞。UH
):用嚟表示語氣嘅字詞,好多時可以單獨噉出現;例如粵文「我估佢今晚得閒啩」入面嘅啩係語氣詞,表示講嗰個人唔係完全肯定,而「咦?」就係個單獨出現嘅語氣詞,表示「有少少驚訝」噉嘅意思。唔同 NLP 架生嘅標注集(tag set)都可以唔同。Python 嘅 NLTK 仲會有以下呢啲進階嘅詞性標籤[註 1][6]:
... 呀噉。
詞性標注可以幾撈絞。喺英文等嘅多種語文入面,都有「一隻字既可以攞嚟做名詞,又可以攞嚟做動詞」等嘅情況,例如英文字 mentor 可以做名詞指導師,又可以做動詞指教導;因為噉,詞性標注唔可以齋靠簡單嘅「教部電腦自動查字典,睇吓隻字係咩詞性」嚟做;喺廿一世紀初,詞性標注有多種方法做,最簡單嘅方法係用馬可夫鏈-
馬可夫鏈係種數學模型,用一幅圖嚟表示一拃狀態以及狀態之間嘅變換機率,例如附圖 1 入面嗰條簡單嘅馬可夫鏈就係噉:條鏈有 同
兩個可能狀態;如果家陣世界嘅狀態係
,下一刻狀態變成
嘅機率係 70% / 0.7,狀態繼續維持係
嘅機率係 30% / 0.3;如果家陣世界嘅狀態係
,下一刻狀態變成
嘅機率係 40% / 0.4,狀態繼續係
嘅機率係 60% / 0.6。齋靠經驗可知,「手上隻字係邊隻詞性」會左右「跟住隻字係邊隻詞性」-响英文入面,動詞後面「跟名詞」嘅機率明顯大過「跟動詞」嘅,所以例如想像家陣教電腦[10]:
齋靠噉係做唔到完美嘅詞性標注,但經已有一定嘅準確度。