Python jiaba库的使用
来自CloudWiki
jiaba库的安装
在Windows命令行中执行
pip3 install jieba
jiaba库的使用
>>> import jieba >>> s="中华人民共和国是一个伟大的国家" >>> jieba.cut(s) <generator object Tokenizer.cut at 0x053856F0> >>> jieba.cut(s) <generator object Tokenizer.cut at 0x0638BCC0> >>> jieba.cut(s,cut_all=True) <generator object Tokenizer.cut at 0x053856F0> >>> jieba.cut_for_search(s) <generator object Tokenizer.cut_for_search at 0x0638BCC0> >>> jieba.lcut(s) Building prefix dict from the default dictionary ... Dumping model to file cache C:\Users\thinkpad\AppData\Local\Temp\jieba.cache Loading model cost 1.337 seconds. Prefix dict has been built succesfully. ['中华人民共和国', '是', '一个', '伟大', '的', '国家'] >>> jieba.lcut(s,cut_all=True) ['中华', '中华人民', '中华人民共和国', '华人', '人民', '人民共和国', '共和', '共和国', '国是', '一个', '伟大', '的', '国家'] >>> jieba.lcut_for_search(s) ['中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '是', '一个', '伟大', '的', '国家'] >>> jieba.add_word("TFboys")
自定义词典
在你的程序里添加如下语句,就可以自定义词典:
jieba.load_userdict("newdict.txt")
newdict.txt的内容:
大减税 狂奔大豆 地方专项债
加载互联网词库
参考文档: https://blog.csdn.net/O4dC8OjO7ZL6/article/details/78373102
在实践过程中使用了自定义的字典,进行简单优化。但自定义字典远远不能满足商用化的架构,且字典的维护工作量比较大
搜狗网站(http://pinyin.sogou.com/dict/)上还提供了许多官方、非官方的词库可以下载安装。
通过搜狗网站(http://pinyin.sogou.com/dict/)搜索“财经”,选择第一个 “财经金融词汇大全【官方推荐】”(财经金融词汇大全【官方推荐】.scel文件)的词库。这就是本文接下来的素材了。
词库转换成txt文件
在网上搜索了一下,有个开源工具“深蓝词库转换”
可以解析词库并转换成多种格式的文件,其中就包括了txt。
深蓝词库转换是绿色版软件,下载后直接执行exe就可以运行
选择文件所在路径,工具会自动识别源文件类型(搜狗细胞词库scel)。再选择目标格式,搜狗拼音txt,后点击“转换”。预览文本区域会列出解析结果,并弹框提示是否保存到本地。
保存文件之后,可以得到一个txt文件。也就是我们的中间文件“搜狗财经词汇.txt”。
从中间文件提取词条
中间文件“搜狗财经词汇.txt”并不能直接被jieba所使用,需要将前面的拼音定义给去掉。
这时我们编写一个小的python程序即可:
#提取搜狗词汇的第2列 words=set() with open('搜狗财经词汇.txt', "r") as fp: for line in fp: info=line.split() #print(info[1]) words.add(info[1]) #将搜狗词汇保存到文本文件中,成为自己的自定义词库 #result=''' with open('fin_dict.txt', "a+", encoding='utf-8') as fp: for w in words: fp.write(w+'\n') fp.close()
程序中那个fin_dict即为我们得到的最终词库。
大有期货 联名卡 已跌回 证券市场 关联人 长盛成长价值 德国安联 国际收支调节 账单分期 另行公告 创投公司