自然语言处理

 1.NLP

1.NLP 全称是 Natural Language Processing,即自然语言处理

编码图像taken

2.基本操作

我们将文本句子切分成一个个子单元,然后将子单元数值化(映射成向量),接着将这些向量输入到模型进行编码,最后输出到下游任务中进一步得到最终结果。

也就是说自然语言处理就是把文字让机器读懂再做出反应

3.Tokenization(分词)

自然语言处理(NLP)的任务中是最基本的一步

Tokenization其实是为数值化作准备,数值化是为了能够使用神经网络数值化的过程必然需要映射,而映射又需要一个目标集合或者说映射表。一种做法是将大量的低频子单元使用几个特定的符号(例如,[UNK])代替,这样便缩小了映射表了,但是这样一来我们原始文本就损失了很多信息了。而且切割出来的内容和效果也不尽人意,找了两个列子比如说【unhappily】如果切分成了 【un, happ, ily】显然要比【unh ap pily】要合理得多。因为【un, happ, ily】中每一个子单元都有一定的含义,而后者不然。然后就是【武汉市长江大桥】,可以拆分成【武汉 市长 江大桥】,也可以拆分成【武汉市 长江大桥】显然后一个比前一个在语境的理解更好。

也就是说Tokenization的难点便是——如何获得理想的切分,使文本中所有的token都具有正确的语义,并且不会存在遗漏

4.分类

有word子粒度,char字符粒度,subword(子词)粒度这三类Tokenization方法

4.1word子粒度

比如I loveyou可以拆分成[I,love,you],

我爱苹果树可以拆分成【我,爱,苹果树】

能够很好地保留词的语义和边界信息。

基于词表和规则的分词方法可以分为3种:

1. 前(后)向最大匹配法;

2. 最短路径分词法;

3. 基于N-Gram LM的统计词频分词法考虑了不同词语之间先后出现的概率)。

3. 字粒度Tokenization

字粒度又称字符粒度,它是按某一种语言最小符号来进行切分的。字符粒度最早应该是2015年Karpathy提出,简单说英文(拉丁语系)就是以字母为单位,

中文日文韩文等就是以字为单位进行切分。

我爱苹果树拆分成【我,爱,苹,果,树】,拆分的太细,不适用实际

4. subword(子词)粒度的Tokenization

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值