作者:痴情被撕碎的阳光 | 来源:互联网 | 2023-10-10 17:19
今天的任务是对txt文本进行分词,有幸了解到结巴中文分词,其愿景是做最好的Python中文分词组件。jieba支持三种分词模式:*精确模式,试图将句子最精确地切开,适合文本分析;*
今天的任务是对txt文本进行分词,幸运地了解到“结巴”的中文分词,其愿景是打造最好的Python中文分词组件。 感兴趣的人请点击这里。
jieba支持三种分词模式。
*正确模式,最准确地切分句子,适合文本分析;
*全模式,扫描句子中所有单词,速度非常快,但无法解决歧义;
*搜索引擎模式基于精确模式,对长词进行重新划分,提高召回率,适用于搜索引擎分词。
主要使用以下算法。
基于Trie树结构实现高效的单词图像扫描,生成由文中汉字所有可能单词情况组成的有向无环图(DAG )
*利用动态规划寻找最大概率路径,找到了基于词数的最大分割组合
*对于未登录词,采用了基于汉字成语能力的HMM模型,使用了Viterbi算法
以下是我做的一个小尝试,将txt文本分词,计数取得的分词,最后将结果写入result.txt。 代码如下。
---编码3360 utf-----8-------------------------------------------- - ----------------------------------------- -环境:以
importjiebaimportsys
重新加载(sys ) )。
sys.setdefaultencoding(UTF8 ) (deffenci ) argv ) :
filename=argv[1]
f=open (文件名称,' r ' ) ) ) ) ) )。
file_list=f.read (
f.close () )
seg_list=Jieba.cut(file_list,cut_all=True ) )。
TF={ } forseginseg _ list : # print seg
seg=''.join(seg.split ) ) ) if ) seg!='' and seg!='\n' and seg!='\n\n'(:ifsegintf:
tf[seg]=1
else:
TF[seg]=1f=open(result.txt ),w ) ) for item intf : #打印item
f.write(item''str ) TF[item]((n ' ) )
f.close (if _ name _ _==' _ _ main _ ' : fenci (sys.argv ) ) ) ) ) ) ) ) )
参考资料:
1 .结巴中文分词: https://github.com/fxsjy/jieba
2.demoofjieba:http://jiebademo.ap01.AWS.af.cm /