php网站开发百度云,宜春网站制作公司,制作软件的公司叫什么,吉安哪里做网站目录 分词
jieba
词性标注 #x1f606;#x1f606;#x1f606;感谢大家观看#x1f606;#x1f606;#x1f606;
分词
在中文文本中#xff0c;由于词与词之间没有明显的界限符#xff0c;如英文中的空格#xff0c;因此分词是中文自然语言处理的一个基础且…目录 分词
jieba
词性标注 感谢大家观看
分词
在中文文本中由于词与词之间没有明显的界限符如英文中的空格因此分词是中文自然语言处理的一个基础且重要的步骤。分词的准确性直接影响到后续的语言处理任务如词性标注、句法分析等。在英文的行文中单词之间是以空格作为自然分界符的而中文只是字、句和段能通过明显的分界符来简单划界唯独词没有一个形式上的分界符。分词过程就是找到这样分界符的过程。
分词的作用:
词作为语言语义理解的最小单元, 是人类理解文本语言的基础. 因此也是AI解决NLP领域高阶任务, 如自动问答, 机器翻译, 文本生成的重要基础环节。
句子“我爱自然语言处理。”分词结果“我 / 爱 / 自然语言处理。”
在这个例子中“自然语言处理”作为一个整体是一个专有名词应该被识别为一个单独的词语而不是分开为“自然”、“语言”和“处理”。
句子“中国的首都北京是一个历史悠久的城市。”分词结果“中国 / 的 / 首都 / 北京 / 是 / 一个 / 历史 / 悠久 / 的 / 城市。”
jieba
jieba库利用一个中文词库来确定汉字之间的关联概率通过这些概率来组合成词组从而形成分词结果。除了基本的分词功能jieba还支持关键词提取、词性标注、词位置查询等高级功能。用户可以向jieba库中添加自定义词组以提高特定领域文本的分词准确性。jieba库考虑到了性能问题支持并行分词提高大规模文本处理的效率。这使得它成为当前Python语言中优秀的中文分词组件之一。 jieba是一个强大的中文分词工具它具备多种特性适用于不同的分词需求。三种分词模式
精确模式此模式能够精确地将文本分离开不会产生冗余的词组。全模式在全模式下系统会扫描出文本中所有可能的词语这可能会包含一些冗余的词汇。搜索引擎模式这种模式是在精确模式的基础上对长词进行再次切分特别适用于搜索引擎中的分词处理。 pip install jieba import jiebasentence 我爱自然语言处理
seg_list jieba.cut(sentence, cut_allFalse)
print(精确模式分词结果, /.join(seg_list)) 中文繁体分词:
import jieba
content 煩惱即是菩提我暫且不提
jieba.lcut(content)
[煩惱, 即, 是, 菩提, , 我, 暫且, 不, 提] 三种分词模式案例
精确模式使用jieba.cut()函数设置参数cut_allFalse默认值。
import jiebatext 我爱自然语言处理
seg_list jieba.cut(text, cut_allFalse)
print(精确模式分词结果, /.join(seg_list))2.全模式使用jieba.cut()函数设置参数cut_allTrue。
import jiebatext 我爱自然语言处理
seg_list jieba.cut(text, cut_allTrue)
print(全模式分词结果, /.join(seg_list))3搜索引擎模式使用jieba.cut_for_search()函数。
import jiebatext 我爱自然语言处理
seg_list jieba.cut_for_search(text)
print(搜索引擎模式分词结果, /.join(seg_list))
使用jieba分词时可以通过添加自定义词典来提高分词的准确性。
创建自定义词典文件首先创建一个文本文件将需要添加到词典中的词汇按照每行一个词的格式列出。例如如果你的专业领域有特殊术语或者你想加入人名、地名等都可以在这个文件中添加。加载自定义词典在使用jieba分词时可以通过jieba.load_userdict(file_name)函数加载自定义词典。这样jieba在分词时就会自动识别并使用这些新词。使用自定义词典进行分词加载了自定义词典后可以像平常一样使用jieba.cut函数进行分词此时jieba会优先考虑自定义词典中的词汇。
import jieba# 加载自定义词典
jieba.load_userdict(my_dict.txt)# 使用自定义词典进行分词
sentence 这是一个包含专业术语的句子
seg_list jieba.cut(sentence, cut_allFalse)
print(使用自定义词典后的分词结果, /.join(seg_list))
命名实体识别
命名实体识别Named Entity Recognition, NER是自然语言处理NLP中的一项基础任务它的目标是从文本中识别出具有特定意义的实体并将这些实体分类到预定义的类别。
命名实体识别包括以下几个关键点
边界识别确定文本中实体的开始和结束位置。类别识别将识别出的实体归类到如人名、地名、组织名、时间表达式等类别中。序列标注命名实体识别属于序列标注任务需要为文本中的每个词或字分配一个标签以指示它是否属于某个命名实体以及它的类别。
词性标注
词性: 语言中对词的一种分类方法以语法特征为主要依据、兼顾词汇意义对词进行划分的结果, 常见的词性有14种, 如: 名词, 动词, 形容词等。 我爱自然语言处理 我/rr, 爱/v, 自然语言/n, 处理/vn rr: 人称代词 v: 动词 n: 名词 vn: 动名词 词性标注以分词为基础, 是对文本语言的另一个角度的理解, 因此也常常成为AI解决NLP领域高阶任务的重要基础环节 。
要使用jieba进行中文词性标注可以使用jieba.posseg模块
import jieba.posseg as pseg# 待分词的文本
text 我爱自然语言处理# 使用jieba进行词性标注
words pseg.cut(text)# 输出每个词语及其词性
for word, flag in words:print(f{word}({flag}), end )# 我(r) 爱(v) 自然语言处理(nz)
其中r表示代词v表示动词nz表示其他专有名词。请注意jieba的词性标注功能基于其内置的词典和规则可能无法完全准确地标注所有词汇的词性。