詞性標注

出自維基百科,自由嘅百科全書
(由詞性標注集跳轉過嚟)
英文句子 The dog ate the bone隻狗食嚿骨過去式)用分析樹表達嘅樣,當中每隻字都標明咗係咩詞性,例如 dog名詞N)。

詞性標注ci4 sing3 biu1 zyu3part-of-speech tagging,POS tagging)係自然語言處理(NLP)同相關工作上成日做嘅一種重要工序,指攞一段文字input,再出個 output 係同段文字入面每隻標明佢係咩詞性嘅,即係每隻字都標明咗佢係名詞動詞形容詞定點[1][2]

舉個例說明,想像家陣個 input 係以下呢句英文句子[3]

She sells seashells on the seashore.(英文:佢喺海岸上面賣貝殼。);

做咗詞性標注個 output 就會係類似以下噉嘅樣:

She (pronoun) sells (verb) seashells (noun) on (in) the (det) seashore (noun).

喺廿世紀,詞性標注曾經係搵人手做嘅,但到咗廿一世紀初,NLP 等領域嘅發展經已有咗專化嘅演算法電腦自動做詞性標注[4],例如 Python專化函式庫就索性整埋句陳述式 pos_tag(text)用家用一句碼嚟叫部電腦做詞性標注。呢種技術喺 NLP 同語言學嘅研究(尤其係運算語言學)上都時不時會用到。

標注集[編輯]

九大詞性[編輯]

内文:詞性

詞性標注做嘅嘢係「foreach 字,俾個標籤佢標明佢係邊隻詞性」。喺語言學上,一隻詞性係指一個類,類入面嘅字冚唪唥都有同樣嘅句法功能-同一隻詞性嘅字喺「負責做句子邊部份」呢點上一樣;喺最基本上,英文粵文入面嘅字可以分做以下呢九大詞性[5][6]

  • 名詞NN):一個名詞通常係用嚟指一件或者多件物件,當中「物件」可以係生物、地方、行動、諗頭以至概念呀噉,能夠做動詞主語或者賓語,能夠俾形容詞形容;粵文入面(生物)、香港(地方)同埋複雜度(概念)等嘅字詞正常嚟講都係名詞[7]
  • 動詞VB):一個動詞通常都係指一啲動作,能夠由名詞做出或者做喺名詞身上;粵文入面同埋可以由生物做,可以作用喺概念身上)等嘅字詞都係動詞。
  • 冠詞:一個冠詞會掕住喺個名詞度,表示嗰個名詞指嗰樣嘢係咪可以指定,例如英文入面嘅 the(指定嗰個 xx)同埋 a(一個 xx)噉;順帶一提,廣東話係少數有冠詞(或者類似冠詞嘅嘢)嘅漢語[8],會有隻狼(指定嗰隻狼)同埋啲人(指定嗰班人)等嘅字眼[9]
  • 形容詞ADJ):最基本上,一個形容詞會掕住個名詞,用嚟形容嗰個名詞嘅特性;例如粵文「藍色嘅蝴蝶」入面藍色嘅就係形容詞,形容佢掕住嗰個名詞(蝴蝶)嘅特性。
  • 副詞RB):攞嚟修飾動詞或者形容詞等多種唔係名詞嘅字詞;例如粵文「我真係好抱歉」入面抱歉係個形容詞,而係副詞,指抱歉嘅程度高。
  • 介詞IN):通常係掕住個名詞或者動詞,表示時間或者空間上嘅關係;例如粵文「當個天黑嗰陣...」入面當... 嗰陣就係介詞。
  • 代名詞PRP):攞嚟替代名詞,費事吓吓都要出返個名詞嘅名;例如粵文「阿莊企咗喺度。佢望住窗外面嘅景色」入面個就係代名詞,代指阿莊
  • 連接詞CC):用嚟做「連接」嘅字詞;例如粵文「我都想嚟食飯,但我唔得閒」入面嘅就係個連接詞。
  • 語氣詞UH):用嚟表示語氣嘅字詞,好多時可以單獨噉出現;例如粵文「我估佢今晚得閒啩」入面嘅係語氣詞,表示講嗰個人唔係完全肯定,而「咦?」就係個單獨出現嘅語氣詞,表示「有少少驚訝」噉嘅意思。

進階詞性[編輯]

唔同 NLP 架生嘅標注集(tag set)都可以唔同。PythonNLTK 仲會有以下呢啲進階嘅詞性標籤[註 1][6]

... 呀噉。

原理[編輯]

附圖 1 嘅簡單馬可夫鏈;想像 E 係「而家睇緊隻字係動詞」而 A 係「而家睇緊隻字係名詞」。

詞性標注可以幾撈絞。喺英文等嘅多種語文入面,都有「一隻字既可以攞嚟做名詞,又可以攞嚟做動詞」等嘅情況,例如英文字 mentor 可以做名詞指導師,又可以做動詞指教導;因為噉,詞性標注唔可以齋靠簡單嘅「教部電腦自動查字典,睇吓隻字係咩詞性」嚟做;喺廿一世紀初,詞性標注有多種方法做,最簡單嘅方法係用馬可夫鏈

馬可夫鏈係種數學模型,用一幅圖嚟表示一拃狀態以及狀態之間嘅變換機率,例如附圖 1 入面嗰條簡單嘅馬可夫鏈就係噉:條鏈有 兩個可能狀態;如果家陣世界嘅狀態係 ,下一刻狀態變成 嘅機率係 70% / 0.7,狀態繼續維持係 嘅機率係 30% / 0.3;如果家陣世界嘅狀態係 ,下一刻狀態變成 嘅機率係 40% / 0.4,狀態繼續係 嘅機率係 60% / 0.6。齋靠經驗可知,「手上隻字係邊隻詞性」會左右「跟住隻字係邊隻詞性」-响英文入面,動詞後面「跟名詞」嘅機率明顯大過「跟動詞」嘅,所以例如想像家陣教電腦[10]

  • 攞要睇嗰句句子
  • 攞句句子頭一隻字,或者詞性最明顯嗰隻字;
  • 按過往嘅經驗(假設個程式睇過大量嘅語料數據),估計隻字最大機率係邊隻詞性;
  • 按過往嘅經驗,估計跟住嗰隻字(或者打前嗰隻字)最大機率係邊隻詞性;
  • ... 估到估嗮成句句子尾為止。

齋靠噉係做唔到完美嘅詞性標注,但經已有一定嘅準確度。

註釋[編輯]

  1. NLTK 係設計嚟俾英文用嘅,所以佢有啲詞性喺粵文等嘅漢語當中未必啱使。

睇埋[編輯]

引咗[編輯]

  1. Neunerdt, M., Trevisan, B., Reyer, M., & Mathar, R. (2013). Part-of-speech tagging for social media texts. In Language Processing and Knowledge in the Web (pp. 139-150). Springer, Berlin, Heidelberg.
  2. Kupiec, J. (1992). Robust part-of-speech tagging using a hidden Markov model. Computer speech & language, 6(3), 225-242.
  3. NLP Guide: Identifying Part of Speech Tags using Conditional Random Fields. Medium.
  4. "POS tags". Sketch Engine. Lexical Computing. 2018-03-27. Retrieved 2018-04-06.
  5. Kroeger, Paul (2005). Analyzing Grammar: An Introduction. Cambridge: Cambridge University Press.
  6. 6.0 6.1 nltk tags. Python Tutorials.
  7. Gupta, Anil (1980). The logic of common nouns. New Haven and London: Yale University Press
  8. Datapoint Cantonese / Definite Articles. The World Atlas of Language Structures.
  9. Wu, Y., & Bodomo, A. (2009). Classifiers ≠ determiners (PDF). Linguistic Inquiry, 40(3), 487-503.
  10. Part Of Speech Tagging for Beginners. Towards Data Science.

[編輯]