文章目录
- 1、本章目标
- 2、什么是分词
- 3、jieba的使用
- 3.1、精确模式分词
- 3.2、全模式分词
- 3.3、搜索引擎模式分词
- 3.4、中文繁体分词
- 3.5、使用用户自定义词典
- 4、什么是命名实体识别
- 5、什么是词性标注
- 6、小结
- 7、jieba词性对照表⭐
🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎人工智能和前端开发。
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹
1、本章目标
- 了解什么是分词, 词性标注, 命名实体识别及其它们的作用.
- 掌握分词, 词性标注, 命名实体识别流行工具的使用方法.
2、什么是分词
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。
我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,
而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,
分词过程就是找到这样分界符的过程.
分词的作用:
词作为语言语义理解的最小单元, 是人类理解文本语言的基础
因此也是AI解决NLP领域高阶任务,如自动问答、机器翻译、文本生成的重要基础环节。
流行中文分词工具jieba:
愿景:"结巴"中文分词,做最好的 Python 中文分词组件
jieba的特性:
- 支持多种分词模式
- 精确模式
- 全模式
- 搜索引擎模式
- 支持中文繁体分词
- 支持用户自定义词典
3、jieba的使用
3.1、精确模式分词
试图将句子最精确地切开,适合文本分析:
# -*- coding: utf-8 -*-
# @Author: CSDN@逐梦苍穹
# @Time: 2024/8/9 2:09
import jiebacontent = "无线电法国别研究"
jieba.cut(content, cut_all=False) # cut_all默认为False# 将返回一个生成器对象: <generator object Tokenizer.cut at 0x7f065c19e318># 若需直接返回列表内容, 使用jieba.lcut即可
words = jieba.lcut(content, cut_all=False)
print(words) # 结果: ['无线电', '法国', '别', '研究']
输出:
3.2、全模式分词
把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能消除歧义
代码和上面的精确模式类似,只不过"cut_all=True":
输出:
3.3、搜索引擎模式分词
在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
# -*- coding: utf-8 -*-
# @Author: CSDN@逐梦苍穹
# @Time: 2024/8/9 2:14
import jiebacontent = "无线电法国别研究"
jieba.cut_for_search(content)# 将返回一个生成器对象: <generator object Tokenizer.cut at 0x7f065c19e318># 若需直接返回列表内容, 使用jieba.lcut_for_search即可
words = jieba.lcut_for_search(content)
# 对'无线电'等较长词汇都进行了再次分词.
print(words) # ['无线', '无线电', '法国', '别', '研究']
输出:
3.4、中文繁体分词
针对中国香港、中国台湾地区的繁体文本进行分词:
# -*- coding: utf-8 -*-
# @Author: CSDN@逐梦苍穹
# @Time: 2024/8/9 2:16
import jiebacontent = "煩惱即是菩提,我暫且不提"
words = jieba.lcut(content)
print(words) # ['煩惱', '即', '是', '菩提', ',', '我', '暫且', '不', '提']
输出:
3.5、使用用户自定义词典
添加自定义词典后,jieba能够准确识别词典中出现的词汇,提升整体的识别准确率
词典格式:
- 每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
- 词典样式如下, 具体词性含义请参照文末的
jieba词性对照表
,将该词典存为userdict.txt,方便之后加载使用。
userdict.txt:
解释如下:
代码:
# -*- coding: utf-8 -*-
# @Author: CSDN@逐梦苍穹
# @Time: 2024/8/9 2:29
import jiebawords = jieba.lcut("八一双鹿更名为八一南昌篮球队!")
# 没有使用用户自定义词典前的结果:
print(words) # ['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队', '!']jieba.load_userdict("userdict.txt")
words = jieba.lcut("八一双鹿更名为八一南昌篮球队!")
# 使用了用户自定义词典后的结果:
print(words) # ['八一双鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
运行结果:
4、什么是命名实体识别
命名实体:通常我们将人名、地名、机构名等专有名词统称命名实体.
如:周杰伦、黑山县、孔子学院、24辊方钢矫直机.
顾名思义:命名实体识别(Named Entity Recognition,简称NER)就是识别出一段文本中可能存在的命名实体
举个例子:
鲁迅, 浙江绍兴人, 五四新文化运动的重要参与者, 代表作朝花夕拾.
==>
鲁迅(人名) / 浙江绍兴(地名)人 / 五四新文化运动(专有名词) / 重要参与者 / 代表作 / 朝花夕拾(专有名词)
命名实体识别的作用:
同词汇一样,命名实体也是人类理解文本的基础单元,
因此也是AI解决NLP领域高阶任务的重要基础环节。
5、什么是词性标注
词性:语言中对词的一种分类方法,以语法特征为主要依据、兼顾词汇意义对词进行划分的结果
常见的词性有14种,如:名词、动词、形容词等
顾名思义:词性标注(Part-Of-Speech tagging, 简称POS)就是标注出一段文本中每个词汇的词性
举个例子:
我爱自然语言处理
==>
我/rr, 爱/v, 自然语言/n, 处理/vn
解释:
- rr: 人称代词
- v: 动词
- n: 名词
- vn: 动名词
词性标注的作用: 词性标注以分词为基础,是对文本语言的另一个角度的理解,因此也常常成为AI解决NLP领域高阶任务的重要基础环节.
使用jieba进行中文词性标注:
# -*- coding: utf-8 -*-
# @Author: CSDN@逐梦苍穹
# @Time: 2024/8/9 2:38
import jieba.posseg as pseg # 专门用于分词和词性标注# 结果返回一个装有pair元组的列表, 每个pair元组中分别是词汇及其对应的词性, 具体词性含义请参照[附录: jieba词性对照表]()
words = pseg.lcut("我爱北京天安门")
print(words) # [pair('我', 'r'), pair('爱', 'v'), pair('北京', 'ns'), pair('天安门', 'ns')]
输出:
6、小结
- 学习了什么是分词:
- 分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符, 分词过程就是找到这样分界符的过程.
- 学习了分词的作用:
- 词作为语言语义理解的最小单元, 是人类理解文本语言的基础. 因此也是AI解决NLP领域高阶任务, 如自动问答, 机器翻译, 文本生成的重要基础环节.
- 学习了流行中文分词工具jieba:
- 支持多种分词模式:精确模式、全模式、搜索引擎模式
- 支持中文繁体分词
- 支持用户自定义词典
- 学习了jieba工具的安装和分词使用
- 学习了什么是命名实体识别:
- 命名实体:通常我们将人名、地名、机构名等专有名词统称命名实体。
- 顾名思义,命名实体识别(Named Entity Recognition,简称NER)就是识别出一段文本中可能存在的命名实体。
- 命名实体识别的作用:
- 同词汇一样,命名实体也是人类理解文本的基础单元,因此是AI解决NLP领域高阶任务的重要基础环节
- 学习了什么是词性标注:
- 词性:语言中对词的一种分类方法,以语法特征为主要依据、兼顾词汇意义对词进行划分的结果, 常见的词性有14种,如:名词、动词、形容词等
- 顾名思义,词性标注(Part-Of-Speech tagging, 简称POS)就是标注出一段文本中每个词汇的词性
- 学习了词性标注的作用:
- 词性标注以分词为基础,是对文本语言的另一个角度的理解,因此也常常成为AI解决NLP领域高阶任务的重要基础环节
- 学习了使用jieba进行词性标注
7、jieba词性对照表⭐
- a 形容词 - ad 副形词 - ag 形容词性语素 - an 名形词
- b 区别词
- c 连词
- d 副词 - df - dg 副语素
- e 叹词
- f 方位词
- g 语素
- h 前接成分
- i 成语
- j 简称略称
- k 后接成分
- l 习用语
- m 数词 - mg - mq 数量词
- n 名词 - ng 名词性语素 - nr 人名 - nrfg - nrt - ns 地名 - nt 机构团体名 - nz 其他专名
- o 拟声词
- p 介词
- q 量词
- r 代词 - rg 代词性语素 - rr 人称代词 - rz 指示代词
- s 处所词
- t 时间词 - tg 时语素
- u 助词 - ud 结构助词 得- ug 时态助词- uj 结构助词 的- ul 时态助词 了- uv 结构助词 地- uz 时态助词 着
- v 动词 - vd 副动词- vg 动词性语素 - vi 不及物动词 - vn 名动词 - vq
- x 非语素词
- y 语气词
- z 状态词 - zg