结巴分词使用方法

来源:互联网 发布:mac系统终端怎么打开 编辑:程序博客网 时间:2024/04/28 16:02

0.下载

     结巴分词包下载地址:http://download.csdn.net/detail/robin_xu_shuai/9691188

1.安装

     将其解压到任意目录下,然后打开命令行进入该目录执行:python setup.py install 进行安装

2.测试

      安装完成后,进入python交互环境,import jieba 如果没有报错,则说明安装成功。如下图所示

     

3 使用

(1)分词

结巴分词支持3中分词模式:

1,全模式:把句子中的所有可以成词的词语都扫描出来,

2, 精确模式:试图将文本最精确的分开,适合于做文本分析。

3,搜索引擎模式:在精确的基础上对长词进行进一步的切分。

函数jieba.cut接受两个输入参数,第一个是将要分词的对象,第二个是采用的模式。该函数返回的是一个可以迭代的generator, 可以使用for循环得到分词后得到的每一个词语。

示例:

# -*- coding: utf-8 -*-import jiebaseg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)print(" ".join(seg_list))seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望")print(" ".join(seg_list))seg_list = jieba.cut_for_search("香农在信息论中提出的信息熵定义为自信息的期望")print(" ".join(seg_list))
其分词的结果分别为:

(2)添加自定义词典

用户可以添加自定义的词典来包含结巴词库中没有的词。(在以上示例中没有分出“自信息”这个词)

用法: jieba.load_userdict("userdict1.txt")

在文件userdict1.txt中添加以下的内容:自信息 5

import jiebaimport jieba.analysejieba.load_userdict("userdict1.txt")seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)print(" ".join(seg_list))

(原来识别不出来的“自信息”现在可以了)

(3)提取关键词

用法:tags = jieba.analyse.extract_tags("sentence", topK=k),其中topK默认值是20

在关键词提取时,可以添加停用词:jieba.analyse.set_stop_words("extra_dict/stop_words.txt"),目的是将一些没有意义的词去掉。

import jiebaimport jieba.analysejieba.load_userdict("userdict1.txt")jieba.analyse.set_stop_words("extra_dict/stop_words.txt")seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)print(" ".join(seg_list))print('关键词提取的结果如下:')tags = jieba.analyse.extract_tags("香农在信息论中提出的信息熵定义为自信息的期望", topK=10)print(",".join(tags))

(4)实例:对文件进行分词

# -*- coding: utf-8 -*-import jiebaimport jieba.analysejieba.load_userdict("userdict1.txt")jieba.analyse.set_stop_words("extra_dict/stop_words.txt")def splitSentence(inputFile, outputFile):fin = open(inputFile, 'r', encoding='utf-8')fout = open(outputFile, 'w', encoding='utf-8')for line in fin:line = line.strip()line = jieba.analyse.extract_tags(line)outstr = " ".join(line)print(outstr)fout.write(outstr + '\n')fin.close()fout.close()splitSentence('input.txt', 'output.txt')


0 0
原创粉丝点击