THULAC-Python icon indicating copy to clipboard operation
THULAC-Python copied to clipboard

如何使用用户词典?

Open yangqinj opened this issue 7 years ago • 8 comments

您好,我看到您在issues里回答说已经可以使用户词典,但是我并没有找到相关的接口。请问,可以请您给出一个使用示例吗?谢谢。

yangqinj avatar Apr 06 '17 03:04 yangqinj

您好,非常感谢对THULAC的支持,其中用户词典的定义方法在ReadMe中已经说明~

在定义thulac类的时候,用户词典作为一个参数载入即可~

thulac(user_dict=None, model_path=None, T2S=False, seg_only=False, filt=False, deli='_')初始化程序,进行自定义设置

 user_dict	      	设置用户词典,用户词典中的词会被打上uw标签。词典中每一个词一行,UTF8编码
 T2S					默认False, 是否将句子从繁体转化为简体
 seg_only	   		默认False, 时候只进行分词,不进行词性标注
 filt		   		默认False, 是否使用过滤器去除一些没有意义的词语,例如“可以”。
 model_path	 	    设置模型文件所在文件夹,默认为models/
 deli	 	      	默认为‘_’, 设置词与词性之间的分隔符

gzp9595 avatar Apr 06 '17 03:04 gzp9595

#coding:utf-8 import thulac

thu1 = thulac.thulac(seg_only=True, user_dict="mydict.txt") #设置模式为行分词模式 a = thu1.cut("我爱北京天安门", text=True)

mydict.txt 内容每词一行: 机器学习 数据挖掘 ... 我爱北京天安门

MaJunhua avatar Apr 06 '17 08:04 MaJunhua

好的,谢谢。

yangqinj avatar Apr 07 '17 08:04 yangqinj

不知道字典的存放位置是否影响? 我输入如下代码,结果还是没有返回我想要的结果,字典文件中已添加我想要的词 image thu1 = thulac.thulac(user_dict="D:/python/text_preprocessing/dict.txt") thu1.cut('我爱深度学习和机器学习', text=True) Out[14]: '我_r 爱_v 深度_n 学习_v 和_c 机器_n 学习_v' 不知道哪里出错了?= =

stevewyl avatar Apr 09 '17 01:04 stevewyl

位置不对python应该会直接报一个file not found吧,你试试 for line in open("D:/python/text_preprocessing/dict.txt) 看看内容对不对? 还是找不到问题可能是windows和linux/mac环境不同了

MaJunhua avatar Apr 10 '17 05:04 MaJunhua

请教一下,用户词典里的词如果有空格,有没办法将其分出来,比如,justin bieber是一个歌手分成justin bieber一个歌手

ashengtx avatar Mar 21 '18 09:03 ashengtx

因为空格的出现更多的是在英文中,从现在的处理中暂时无法达到这样的效果,我们会在下一个版本尽量解决这个问题

gzp9595 avatar Mar 21 '18 09:03 gzp9595

您好,在使用 thulac.thulac(user_dict=myDictFile)會出現以下 encoding 的 問題,也試著將 T2S 參數設為 True (dict 檔已是 'utf-8'), 請問可以怎麼處理呢? 謝謝!

UnicodeDecodeError: 'cp950' codec can't decode byte 0xe6 in position 0: illegal multibyte sequence

cchwill avatar Jun 19 '18 01:06 cchwill