jiaba中文分词示例

复制代码
# Jieba(结巴分词)是一款流行的中文分词库,
# 适用于Python编程语言环境。它主要用于对中文文本进行分词处理,
# 即把连续的汉字序列切分成一个个单独的词语。除了基本的分词功能外,
# Jieba还提供了关键词提取、词性标注、以及基于TF-IDF的文本摘要等功能,广泛应用于自然语言处理(NLP)、信息检索(IR)、机器学习等领域。

import jieba

1.分词
text = "这是一个使用jieba进行分词的例子"
seg_list = jieba.cut(text)
# jieba.cut()函数用于对文本进行分词,默认为精确模式,它会尽可能准确地将文本切割成单个有意义的词汇。

print("/".join(seg_list))  # 输出:这是/一个/使用/jieba/进行/分词/的/例子
复制代码
# 2.精确模式和全模式混合分词
seg_list = jieba.cut(text, cut_all=False)  # 精确模式
seg_list_mix = list(jieba.cut(text, cut_all=True))  # 全模式
print("/".join(seg_list))  # 输出精确模式分词结果
print("/".join(seg_list_mix))  # 输出全模式分词结果
复制代码
# 在jieba库中,精确模式和全模式是两种不同的分词策略,它们并不混合使用,而是根据需求选择其中的一种。
#
# 精确模式(cut_all=False):这种模式力求精简,只输出最合理的基础词汇单元,尽量减少冗余的切分,更适合于要求较高的应用场景,
# 如文本分析、机器学习模型训练等。
#
# 全模式(cut_all=True):这种模式倾向于输出更多的潜在切分结果,即使这些切分在一般情况下不太常见,它也会尝试将文本中的每一个字符间断都作为切分点
# 从而得到所有可能的词语组合。全模式通常用于信息检索、搜索引擎等需要覆盖更多潜在查询词汇的场合。
#
# 如果需要在同一个文本上同时应用精确模式和全模式的结果,通常是在不同阶段或者针对不同目的独立执行这两种模式的分词过程
# 而不是混合作用在同一输出结果上。在您的代码中,先是分别进行了精确模式和全模式的分词,并分别输出了结果。




# 3.添加自定义词典
jieba.load_userdict("my_dict.txt")  # 加载自定义词典文件
复制代码
# 加载自定义词典在自然语言处理(NLP)中的用途主要有以下几个方面:
#
# 增加特殊词汇:对于特定领域或专业术语,jieba内置的词典可能无法覆盖全部,通过加载自定义词典可以确保这些领域的专有名词、新词或者行业黑话能够正确地作为一个整体单元被识别出来。
#
# 提升准确性:如果应用中有大量项目或公司内部使用的特有词汇,添加到自定义词典可以提高分词的准确性和针对性,减少误切现象。
#
# 处理命名实体:对于人名、地名等命名实体,如果没有在标准词典中,加载包含这些实体的自定义词典可以有效捕捉它们作为单独实体而不被错误拆解。
# 
# 控制歧义:有时为了消除歧义或者强调某个短语的独特意义,需要将其明确指定为一个不可分割的词语单位。
#
# 例如,在Jieba分词库中,通过调用 jieba.load_userdict(file_path) 方法加载自定义词典文件,这样在后续的分词过程中,Jieba会参考这个自定义词典来执行分词任务,从而实现上述目的
# 如果自定义词典过大,加载时间过长,可以通过优化词典结构、使用预加载缓存等方式来改善加载性能。
#

# 4.词性标注
words_tags = jieba.posseg.cut(text)
for word, tag in words_tags:
    print(f"{word}/{tag}")
复制代码
全部代码
import jieba

# 分词
text = "这是一个使用jieba进行分词的例子,校长说衣服上除了校徽别别别的,这几天天天天气不好,你看到王刚了吗,王刚刚刚刚走"

seg_list = jieba.cut(text)
print("/".join(seg_list))  # 输出:这是/一个/使用/jieba/进行/分词/的/例子

# 精确模式和全模式混合分词
seg_list = jieba.cut(text, cut_all=False)  # 精确模式
seg_list_mix = list(jieba.cut(text, cut_all=True))  # 全模式
print("/".join(seg_list))  # 输出精确模式分词结果
print("/".join(seg_list_mix))  # 输出全模式分词结果

# 添加自定义词典
# jieba.load_userdict("my_dict.txt")  # 加载自定义词典文件

# 词性标注
words_tags = jieba.posseg.cut(text)
for word, tag in words_tags:
    print(f"{word}/{tag}")
复制代码
    
    
# 词性标注在自然语言处理(NLP)中扮演着重要的角色,主要原因如下:
# 
# 语法分析:词性标注是理解文本语法结构的基础,通过对每个词语标注其所属的词性类别(如名词、动词、形容词等),可以揭示词语在句子中的语法功能,这对于依存句法分析、成分句法分析等语法层面的研究至关重要。
# 
# 信息抽取:在信息抽取任务中,确定词语的词性有助于快速定位关键信息。例如,从新闻报道中提取事件主体和动作通常依赖于找到名词和动词。
# 
# 机器翻译:在翻译系统中,源语言和目标语言的词汇往往需要根据其词性进行对应转换,这样才能保证翻译的准确性和流畅性。
# 
# 情感分析:在情感分析任务中,某些词性的词语可能对情感极性判断起到决定性作用,如形容词和副词通常表达强烈的情感色彩。
# 
# 文本分类和聚类:在文本分类和聚类任务中,词性信息可以帮助模型更好地理解和区分语义相似但词性不同的词语,从而提高分类和聚类效果。
# 
# 语音合成与对话系统:在语音合成技术中,词性有助于确定发音方式及音韵变化;而在对话系统中,词性可用于更好地理解用户意图和构造合适回应。
# 
# 知识图谱构建:构建知识图谱时,精准的词性标注有助于识别实体、属性和关系,从而准确地抽取和组织知识。
# 
# 总之,词性标注是NLP中许多复杂任务的预处理步骤,为后续的高层次理解和处理提供了必要的底层结构信息。
相关推荐
weixin_443290693 小时前
【阅读记录-章节6】Build a Large Language Model (From Scratch)
人工智能·语言模型·自然语言处理
地中海~3 小时前
Stealthy Attack on Large Language Model based Recommendation
人工智能·语言模型·自然语言处理
三月七(爱看动漫的程序员)6 小时前
HiQA: A Hierarchical Contextual Augmentation RAG for Multi-Documents QA---附录
人工智能·单片机·嵌入式硬件·物联网·机器学习·语言模型·自然语言处理
18号房客9 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
强哥之神10 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
18号房客10 小时前
一个简单的深度学习模型例程,使用Keras(基于TensorFlow)构建一个卷积神经网络(CNN)来分类MNIST手写数字数据集。
人工智能·深度学习·机器学习·生成对抗网络·语言模型·自然语言处理·tensorflow
日出等日落13 小时前
从零开始使用MaxKB打造本地大语言模型智能问答系统与远程交互
人工智能·语言模型·自然语言处理
cd_farsight1 天前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说1 天前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学
Focus_Liu1 天前
NLP-UIE(Universal Information Extraction)
人工智能·自然语言处理