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中许多复杂任务的预处理步骤,为后续的高层次理解和处理提供了必要的底层结构信息。
相关推荐
Jina AI9 小时前
RAG 系统的分块难题:小型语言模型如何找到最佳断点?
人工智能·语言模型·自然语言处理
-派神-9 小时前
大语言模型(LLM)量化基础知识(一)
人工智能·语言模型·自然语言处理
Elastic 中国社区官方博客9 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理
龙的爹233311 小时前
论文 | Legal Prompt Engineering for Multilingual Legal Judgement Prediction
人工智能·语言模型·自然语言处理·chatgpt·prompt
袁牛逼11 小时前
电话语音机器人,是由哪些功能构成?
人工智能·自然语言处理·机器人·语音识别
小言从不摸鱼13 小时前
【NLP自然语言处理】深入解析Encoder与Decoder模块:结构、作用与深度学习应用
人工智能·深度学习·神经网络·机器学习·自然语言处理·transformer·1024程序员节
不是AI14 小时前
【持续更新】【NLP项目】【自然语言处理】智能聊天机器人——“有问必答”【Chatbot】第2章、《模式一:问候模式》
人工智能·自然语言处理·机器人
知来者逆16 小时前
使用 GPT-4V 全面评估泛化情绪识别 (GER)
人工智能·gpt·语言模型·自然语言处理·gpt-4v
howard200516 小时前
1.3 自然语言处理的应用
人工智能·自然语言处理
&永恒的星河&16 小时前
Hunyuan-Large:推动AI技术进步的下一代语言模型
人工智能·语言模型·自然语言处理·chatgpt·moe·llms