当前位置: 代码迷 >> 综合 >> jieba 分词 用户自定义词典(即不想被分开的词)
  详细解决方案

jieba 分词 用户自定义词典(即不想被分开的词)

热度:7   发布时间:2023-12-05 22:31:58.0

jieba 分词简介:

jieba 对于一长段文字,其分词原理大体可分为三部:
1.首先用正则表达式将中文段落粗略的分成一个个句子。
2.将每个句子构造成有向无环图,之后寻找最佳切分方案。
3.最后对于连续的单字,采用HMM模型将其再次划分。

三种分词模式:

精确模式:试图将句子最精确地切开,适合文本分析;
全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词;

使用python 分词:

首先导入所需要的库 jieba

import jieba

读取所需要分词的文件

file_needCut = 'file.csv' # 此处是所需要被分词的文件

读取文件

with open(file,'r',encoding='UTF-8') as f:for line in f.readlines():print(line)

对读取出来的句子分词

seg_list = jieba.cut(line,cut_all=False,HMM=True) #此处使用精确模式分词

如果需要使用用户自定义词典,按照如下格式加在分词之前:

file_userdict = 'userdict.txt' #此处文件名为用户自定义的文件名,内容为不想被分开的词
jieba.load_userdict(file_userdict)

全部代码为:

import jiebafile = 'file.csv'
file_userdict = 'userdict.txt'
jieba.load_userdict(file_userdict)with open(file,'r',encoding='UTF-8') as f:for line in f.readlines():print(line)seg_list = jieba.cut(line,cut_all=False,HMM=True)print("/".join(seg_list))