由于中文文本中的单词不像英文那样靠空格来分割,因此中文存在一个重要的分词问题,像昨天我发表的文本词频统计就是统计的英文短文,那如果统计中文文本中单词出现次数要怎么统计呢,首先就要利用中文分词库来将文本进行分割才能统计次数。“jieba”是Python中的一个重要的第三方中文分词库,能将一段中文文本分割成单词的序列。
结巴支持三种分词模式:
精确模式,试图将句子最精确地切开,适合文本分析,调用形式是jieba.lcut(string);
全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义,冗余最大,调用形式是jieba.lcut(string,cut_all=True);
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词,jieba.lcut_for_search(string)。
三种模式下返回的都是列表类型。
全模式下返回的结果是:
可以看到“共同进步”被分割成“共同”、“共同进步”和“进步”三个词;
若是使用精准模式可以看出“共同进步”就被归类到了一个词中:
另外可以看出我的工作号名“每日一Python”被分割成了三个词,因为分词词典中不存在“每日一Python”这个词,所以可以利用add_word(word)来向分词词典中增加一个新词:
以上就将文本分词成功了,若是想上昨天文章上那样进行词频统计,就可以在此基础上操作了:
领取专属 10元无门槛券
私享最新 技术干货