NLP应用(一)--tokenization

Processing Text data:

假设给定一个文本,S=”I love you,you love him”,下面讲述第一阶段的文本处理过程。

step1. Tokenization(text to words)

将该文本拆分成一个词“token”列表,得到L=[“I”, “love”, “you”, “,” ,”you”, “love”, “him”]

step2. Count word Frequencies

假如上面的句子已经加入词典,则词典列表如下:

Key(word)

Value(frequency)

I

1

love

2

you

2

,

1

him

1

若再出现一个句子,S2=”He love another”

则词表就变成

Key(word)

Value(frequency)

I

1

love

3

you

2

,

1

him

1

another

1

He

1

我们将词表按照词频降序排序则得到

Key(word)

Value(frequency)

love

3

you

2

,

1

him

1

another

1

He

1

I

1

再将词频换成顺序索引“index“则得到

Key(word)

Value(index)

love

1

you

2

,

3

him

4

another

5

He

6

I

7

这样我们就得到了词典“vocabulary“,如果分词后词典数量足够大,如超过10k个,则我们可以简单地根据词频将vocabulary的个数压缩到10k个以内。删掉低频词就可以大幅减少词汇量,也就大大降低one-hot向量维度。

step3. one-hot encoding

接着我们就可以根据vocabulary的index来将单词进行编码,

例如,[“I”, “love”, “you”, “,” ,”you”, “love”, “him”] ——> [7,1,2,3,2,1,4]

总结上述过程如下:

NLP应用(一)--tokenization_第1张图片

  

step4. align sequences

在文本处理时,难免会碰到句子长度不一的问题,所以就需要将文本长度保持一致,一般的做法是固定一个长度值,过长的文本截断,过短的文本补空,如下图:

这样就能够使得所有文本长度一致:

NLP应用(一)--tokenization_第2张图片

下一步是:NLP应用(二)--Word Embedding

参考网址:

如果能看YouTube的话可以看视频学习,王老师的课非常容易理解(可以说一句废话都没有):

https://www.youtube.com/watch?v=6_2_2CPB97s&list=PLvOO0btloRnuTUGN4XqO85eKPeFSZsEqK&index=2

你可能感兴趣的:(NLP,nlp,tokenization)