使用opennlp進行詞性標註

2021-09-11 12:19:13 字數 2716 閱讀 4160

本文主要研究下如何使用opennlp進行詞性標註

詞性(part of speech, pos),標註是對乙個詞彙或一段文字進行描述的過程。這個描述被稱為乙個標註。

目前流行的中文詞性標籤有兩大類:北大詞性標註集和賓州詞性標註集。現代漢語的詞可以分為兩類12種詞性:一類是實詞:名詞、動詞、形容詞、數詞、量詞和代詞;另一類是虛詞:副詞、介詞、連詞、助詞、嘆詞和擬聲詞。

這塊的技術大多數使用hmm(隱馬爾科夫模型)+ viterbi演算法,最大熵演算法(maximum entropy)。

opennlp裡頭可以使用postaggerme類來執行基本的標註,以及chunkerme類來執行分塊。

public static posmodel trainposmodel(modeltype type) throws ioexception 

private static objectstreamcreatesamplestream() throws ioexception

@test

public void testpostagger() throws ioexception );

assert.assertequals(6, tags.length);

assert.assertequals("dt", tags[0]);

assert.assertequals("nn", tags[1]);

assert.assertequals("vbd", tags[2]);

assert.assertequals("rb", tags[3]);

assert.assertequals("vbn", tags[4]);

assert.assertequals(".", tags[5]);

}複製**

這裡首先進行模型訓練,其中訓練文字樣式如下:

last_jj september_nnp ,_, i_prp tried_vbd to_to find_vb out_rp the_dt address_nn of_in an_dt old_jj school_nn friend_nn whom_wp i_prp had_vbd not_rb seen_vbn for_in 15_cd years_nns ._.

i_prp just_rb knew_vbd his_prp$ name_nn ,_, alan_nnp mckennedy_nnp ,_, and_cc i_prp 'd_md heard_vbd the_dt rumour_nn that_in he_prp 'd_md moved_vbd to_to scotland_nnp ,_, the_dt country_nn of_in his_prp$ ancestors_nns ._.

so_in i_prp called_vbd julie_nnp ,_, a_dt friend_nn who's_wdt still_rb in_in contact_nn with_in him_prp ._.

she_prp told_vbd me_prp that_in he_prp lived_vbd in_in 23213_cd edinburgh_nnp ,_, worcesterstreet_nnp 12_cd ._.

複製**

標註說明:

private chunker chunker;

private static string toks1 = ;

private static string tags1 = ;

private static string expect1 = ;

@before

public void startup() throws ioexception

@test

public void testchunkasarray() throws exception

複製**

這裡同樣也進行了模型訓練,其訓練文字樣式如下:

rockwell nnp b-np

international nnp i-np

corp. nnp i-np

's pos b-np

tulsa nnp i-np

unit nn i-np

said vbd b-vp

it prp b-np

signed vbd b-vp

a dt b-np

tentative jj i-np

agreement nn i-np

extending vbg b-vp

its prp$ b-np

contract nn i-np

with in b-pp

boeing nnp b-np

co. nnp i-np

to to b-vp

provide vb i-vp

structural jj b-np

parts nns i-np

for in b-pp

boeing nnp b-np

's pos b-np

747 cd i-np

jetliners nns i-np

複製**

標註說明:

本文初步展示了如何使用opennlp進行詞性標註,模型訓練是個比較重要的乙個方面,可以通過特定訓練提高特定領域文字的標註準確性。

詞性標註的詞性說明

1.cc coordinating conjunction 連線詞 2.cd cardinal number 基數詞 3.dt determiner 限定詞 如this,that,these,those,such,不定限定詞 no,some,any,each,every,enough,either,...

LTP詞性標註

a adjective 形容詞 美麗 b other noun modifier 其他的修飾名詞 大型,西式 c conjunction 連詞 和,雖然 d adverb 副詞 很 e exclamation 感嘆詞 哎 g morpheme 茨,甥 h prefix 字首 阿,偽 i idiom ...

jieba詞性標註

ag 形語素形容詞性語素。形容詞 為a,語素 前面置以a。a形容詞 取英語形容詞adjective的第1個字母。ad副形詞 直接作狀語的形容詞。形容詞 a和副詞 d並在一起。an名形詞 具有名詞功能的形容詞。形容詞 a和名詞 n並在一起。b區別詞 取漢字 別 的聲母。c連詞 取英語連詞conjunc...