自然语言处理--入门

本文介绍了自然语言处理的应用场景,如语音助手和机器翻译,以及文本预处理的关键步骤,包括词向量表示和命名实体识别。使用hanlp进行中文命名实体识别和jieba进行词性标注的示例被展示。词向量表示通过张量转换,使文本适应计算机处理,其中词嵌入方法如Word2Vec能捕捉词汇间的语义关系。
摘要由CSDN通过智能技术生成

入门

在这里插入图片描述

自然语言处理应用场景:

语音助手
机器翻译
搜索引擎
智能问答(AI客服)
推荐系统

文本预处理主要环节:

文本处理的基本方法
词向量表示方法
文本语料的数据分析
文本特征处理
数据增强方法

文本语料在输送给模型前一般需要一系列的预处理工作, 才能符合模型输入的要求, 如: 将文本转化成模型需要的张量, 规范张量的尺寸等, 而且科学的文本预处理环节还将有效指导模型超参数的选择, 提升模型的评估指标

流行的中英文分词工具hanlp:

中英文NLP处理工具包, 基于tensorflow2.0, 使用在学术界和行业中推广最先进的深度学习技术

命名实体识别

命名实体: 通常我们将人名, 地名, 机构名等专有名词统称命名实体.
顾名思义,命名实体识别(Named Entity Recognition,简称NER)就是识别出一段文本中可能存在的命名实体.

命名实体识别的作用

命名实体识别的任务就是识别出文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体
同词汇一样, 命名实体也是人类理解文本的基础单元, 因此也是AI解决NLP领域高阶任务的重要基础环节.

使用hanlp进行中文命名实体识别
>>> import hanlp # 加载中文命名实体识别的预训练模型MSRA_NER_BERT_BASE_ZH 
>>> recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH) 
>>> recognizer(list('上海华安工业(集团)公司董事长谭旭光和秘书张晚霞来到美国纽约现代艺术博物馆参观。’))
 [('上海华安工业(集团)公司', 'NT', 0, 12), ('谭旭光', 'NR', 15, 18), ('张晚霞', 'NR', 21, 24), ('美国', 'NS', 26, 28), ('纽约现代艺术博物馆', 'NS', 28, 37)]

返回结果是一个装有n个元组的列表, 每个元组代表一个命名实体, 元组中的每一项分别代表具体的命名实体, 如: ‘上海华安工业(集团)公司’; 命名实体的类型, 如: ‘NT’-机构名; 命名实体的开始索引和结束索引, 如: 0, 12.

词性标注

词性: 语言中对词的一种分类方法,以语法特征为主要依据、兼顾词汇意义对词进行划分的结果, 常见的词性有14种, 如: 名词, 动词, 形容词等.
顾名思义, 词性标注(Part-Of-Speech tagging, 简称POS)就是标注出一段文本中每个词汇的词性

eg。
我爱自然语言处理

==>
我/rr,
爱/v,
自然语言/n,
处理/vn
rr: 人称代词 v: 动词 n: 名词 vn: 动名词

使用jieba进行中文词性标注

>>> import jieba.posseg as pseg
>>> pseg.lcut("我爱北京天安门") 

[pair('我', 'r'), pair('爱', 'v'), pair('北京', 'ns'), pair('天安门', 'ns’)] 
# 结果返回一个装有pair元组的列表, 每个pair元组中分别是词汇及其对应的词性, 具体词性含义请参照[附录: jieba词性对照表]()

什么是文本张量表示

将一段文本使用张量进行表示,其中一般将词汇为表示成向量,称作词向量,再由各个词向量按顺序组成矩阵形成文本表示.

[“人生”, “该”, “如何”, “奋斗"]

==> # 每个词对应矩阵中的一个向量
[[1.32, 4,32, 0,32, 5.2], [3.1, 5.43, 0.34, 3.2],
[3.21, 5.32, 2, 4.32], [2.54, 7.32, 5.12, 9.54]]

文本张量表示的作用
将文本表示成张量(矩阵)形式,能够使语言文本可以作为计算机处理程序的输入,进行接下来一系列的解析工作.

文本张量表示的方法
one-hot编码
Word2Vec(CBOW和Skip-Gram)
Glove

One-hot编码

又称独热编码,将每个词表示成具有n个元素的向量,这个词向量中只有一个元素是1,其他元素都是0,不同词汇元素为0的位置不同,其中n的大小是整个语料中不同词汇的总数.

One-hot编码优劣
优势:操作简单,容易理解.
劣势:完全割裂了词与词之间的联系,而且在大语料集下,每个向量的长度过大,占据大量内存

词嵌入(Word Embedding)

用低维向量表示一个词,使得相似意义的词向量距离相近,同时又能避免维度过高的问题。
核心思想:根据词语的上下文来计算词向量,一个词的语义是由它周围的词决定的。
词嵌入是自然语言处理的重要突破之一。

比如在一个文本中包含“猫”“狗”“爱情”等若干单词,而这若干单词映射到向量空间中,“猫”对应的向量为(0.1 0.2 0.3),“狗”对应的向量为(0.2 0.2 0.4),“爱情”对应的映射为(-0.4 -0.5 -0.2),这个映射的过程就叫做词嵌入。
通过词嵌入这种方式将单词转变为词向量,机器便可对单词进行计算,通过计算不同词向量之间夹角余弦值cosine而得出单词之间的相似性。
如: v(“国王”)-v(“男人”)+v(“女人”)≈v(“女王”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值