smallseg -- 开源的,基于DFA的轻量级的中文分词工具包
特点:可自定义词典、切割后返回登录词列表和未登录词列表、有一定的新词识别能力。
Python 示例代码:
s3 = file("text.txt").read()
words = [x.rstrip() for x in file("main.dic") ]
from smallseg import SEG
seg = SEG()
print 'Load dict...'
seg.set(words)
print "Dict is OK."
A,B = seg.cut(s3) #A是识别出的登录词列表,B是未登录词列表
for t in A:
try:
print t.decode('utf-8')
except:
pass
print "============================"
for t in B:
try:
print t.decode('utf-8')
except:
pass
Java 示例代码:
Seg seg = new Seg();
seg.useDefaultDict();
System.out.println(seg.cut("至于在这个程序中没有太大的意义, 这是Java提供的强制转化机制。草泥马"));
stdout>>
r:[至于, 在这, 程序, 没有, 太大, 意义, 这是, 提供, 强制, 转化, 机制]
u:[Java, 草泥马, 泥马]
(因为“草泥马”并没有在词库中)