1. 介紹
thulac4j是THULAC的Java 8工程化實(shí)現(xiàn),相比于官方版THULAC-Java,我們做了如下工作:
規(guī)范化分詞詞典,并去掉一些無(wú)用詞;
重寫DAT(雙數(shù)組Trie樹)的構(gòu)造算法,生成的DAT size減少了8%左右,從而節(jié)省了內(nèi)存;
優(yōu)化分詞算法,提高了分詞速率。
若想在項(xiàng)目中使用thulac4j,可添加依賴:
<dependency> <groupId>io.github.yizhiru</groupId> <artifactId>thulac4j</artifactId> <version>${thulac4j.version}</version></dependency>
thulac4j支持兩種分詞模式:
SegOnly模式,只分詞沒有詞性標(biāo)注;
SegPos模式,分詞兼有詞性標(biāo)注。
// SegOnly modeString sentence = "滔滔的流水,向著波士頓灣無(wú)聲逝去"; SegOnly seg = new SegOnly("models/seg_only.bin"); System.out.println(seg.segment(sentence));// [滔滔, 的, 流水, ,, 向著, 波士頓灣, 無(wú)聲, 逝去]// SegPos modeSegPos pos = new SegPos("models/seg_pos.bin"); System.out.println(pos.segment(sentence));//[滔滔/a, 的/u, 流水/n, ,/w, 向著/p, 波士頓灣/ns, 無(wú)聲/v, 逝去/v]
SegOnly分詞速度更快,但是準(zhǔn)確率較SegPos模式要低;而SegPos具有更高的準(zhǔn)確率,內(nèi)存占用更多、分詞速度較慢(請(qǐng)參看性能測(cè)試)。此外分詞需要下載訓(xùn)練模型數(shù)據(jù)
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式