本文主要研究下如何使用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...