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就可以运行

Python9-4.png

选择文件所在路径,工具会自动识别源文件类型(搜狗细胞词库scel)。再选择目标格式,搜狗拼音txt,后点击“转换”。预览文本区域会列出解析结果,并弹框提示是否保存到本地。

Python9-5.png

保存文件之后,可以得到一个txt文件。也就是我们的中间文件“搜狗财经词汇.txt”。

Python9-6.png


从中间文件提取词条

中间文件“搜狗财经词汇.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即为我们得到的最终词库。

大有期货
联名卡
已跌回
证券市场
关联人
长盛成长价值
德国安联
国际收支调节
账单分期
另行公告
创投公司