最近做关系抽取时需要用到分词工具。
尝试对下面一句话进行分词:
韩国瑜此前就曾邀鸿海来高雄投资。
分词后:
韩国 瑜 此前 就 曾 邀鸿 海 来 高雄 投资 。
分词存在将(韩国瑜)分词为(韩国 瑜)的情况,而我希望的是不希望把“韩国瑜”三个字分开。
此时可以借助 thulac 的字典功能。
sent = "韩国瑜此前就曾邀鸿海来高雄投资。"
segment = thulac.thulac(user_dict='dict.txt',seg_only=True)
thu_out = segment.cut(sent, text=True)
print(thu_out)
其中,dict.txt 内为:
韩国瑜
但是!!!但是!!!将“韩国瑜”加入字典后分词结果没有任何改变(对于其他字典词内的词可以成功分词)即分词结果仍然为(韩国 瑜)
我尝试将字典内容进行扩充,即将韩国瑜*3甚至*N(N是一个足够大的数)
更改后的字典内容为:
韩国瑜
韩国瑜
韩国瑜
结果是THULAC能够正常识别“韩国瑜”
韩国瑜 此前 就 曾 邀 鸿海 来 高雄 投资 。
后验表明只要在字典中加入两个“韩国瑜”即可成功识别。由于THULAC内部模型对用户透明,因此我猜测字典内的某词出现的数目越多,分词器越趋向于将句子按字典分词。
同样,我在LTP的分词器上也进行了实验,LTP也存在字典中若“韩国瑜”只出现一次,则不能正确分词,出现多次则可以正确分词的情况。
<