<textarea readonly="readonly" name="code" class="Python">
from collections import Counter
import jieba
with open('E:/bishe/ceshi.txt','r')as f: #打开要分词的文件
for line in f:
seg = jieba.cut(line.strip(),cut_all = False)
output = '/'.join(seg)
with open('E:/bishe/text1.txt','a+')as s:
s.write(output)
</textarea>
inputs = open('ceshi.txt', 'r') #加载要处理的文件的路径 r读入文件
outputs = open('wordseg.txt', 'w') #加载处理后的文件路径 w写入文件
分词涉及到的方法:
jieba.cut
方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用HMM 模型jieba.cut_for_search
方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8jieba.cut
以及jieba.cut_for_search
返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut
以及jieba.lcut_for_search
直接返回 listjieba.Tokenizer(dictionary=DEFAULT_DICT)
新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。
代码内容来自博主:
https://blog.csdn.net/qq_19741181/article/details/79823489
会出错的情况:
1、pynlpir.LicenseError: Your license appears to have expired. Try running “pynlpir update”.
解决:这说明你的NLPIR授权过期了,这个时候需要到github的license地址下载新的NLPIR.user;然后覆盖DATA文件夹中的原文件(NLPIR.user)即可
2、AttributeError: ‘str’ object has no attribute ‘decode’
python2和3不兼容的问题,解决:
stop = [line.strip().decode('utf-8') for line in open('stopwords.txt').readlines() ]
改为:
stop = [line.strip().encode('utf-8').decode('utf-8') for line in open('stopwords.txt').readlines() ]
学习网站:
- jieba载入词典、调整词典、分词、基于 TF-IDF 算法的关键词抽取、基于 TextRank 算法的关键词抽取、延迟加载机制
https://github.com/fxsjy/jieba - Python 中文 文本分析 实战:jieba分词+自定义词典补充+停用词词库补充+词频统计
https://blog.csdn.net/qq_30262201/article/details/80128076 - Python进行文本预处理(文本分词,过滤停用词,词频统计,特征选择,文本表示)
https://blog.csdn.net/Junkichan/article/details/5231499