NLP(nature language processing)自然语言处理学习

书籍推荐:

Practical Natural Language Processing: A Comprehensive Guide to Building Real-World NLP Systems

一:名词认识

   1 Segmentation (分割 )句号 逗号等标点符号 把句子分隔开

   2 Tokenizing (标记化)

   3 Stop words(停用词) 比如was are and in 等类型的词语

   4 Stemming (提取词干)skipped skipping skips   都来自词语skip

   5 Lemmatization (词型还原)are am is 都是be动词

   6 speech tagging (词性)noum名词。vreb 动词。 preposition 介词

   7 Named entity tagging(命名实体标记)

二:language modeling (n-gram  RNN

     作用:预测下一个单词(比如谷歌搜索 输入一些单词以后 会根据下一个单词出现的可能性提示想查找的内容)

     NLP(nature language processing)自然语言处理学习_第1张图片NLP(nature language processing)自然语言处理学习_第2张图片

RNN 模型的优缺点:

NLP(nature language processing)自然语言处理学习_第3张图片

原始文本(raw  data) __

分词(segmentation)____

清洗(cleaning)无用的标点符号 特殊符号 停用词

标准化(nomalization)  stemming词干提取  lemmation 词型还原

特征提取(feature extraction)  tf-idf word2vec

建模(modeling) 相似度算法 分类算法

文本预处理

1:去除数据中的非文本部分

正则表达式删除不需要的符号标点:clearn = re.compile(‘<.*!@>’)

  1. 分词

英文:split()

中文:pip install jieba

2.去掉停用词

英文:安装nltk

中文:自己构造中文停用词表 1208个

3.英文单词

stemming词干提取  lemmation 词型还原

使用nltk的wordnet

4.英文单词转换为小写

word=word.lower()

5.特征处理

bag of words词袋模型(bow ,,  tf-idf)

n-gram语言模型(bigram, trigram)

word2vec分布式模型

RNN在NLP中的使用(Recurrent Neural Network)

原文参考:https://zhuanlan.zhihu.com/p/40797277

区别与N-gram RNN可以看到整个句子的前后,而2-gram。3-gram 等等只能看到一个句子的局部,所以误差比较大。

基本循环神经网络

输入层—隐藏层—输出层   可以往前看任意个输出值

NLP(nature language processing)自然语言处理学习_第4张图片

传统的神经网络(包括CNN),输入和输出都是相互独立的,例如一张图片的猫和狗是分隔开的,但是有些任务后续输出和之前的内容是相关的,局部的信息不足以使得后续的任务能够进行下去。RNN是需要之前或则之前序列的信息才能够使得任务进行下去的神经网络。RNN引入‘记忆’的概念,循环2字来源于其每个元素都执行相同的任务,但是输出依赖于输入和‘记忆’。其结构如下图所示:

NLP(nature language processing)自然语言处理学习_第5张图片

31474e79cec14b01a59d6395a17c3e9c.png

NLP(nature language processing)自然语言处理学习_第6张图片

双向循环神经网络(英语完形填空不仅取决于前面的单词也取决于后面的单词)

NLP(nature language processing)自然语言处理学习_第7张图片

NLP(nature language processing)自然语言处理学习_第8张图片

深度循环神经网络隐藏层堆叠两个以上的隐藏层

NLP(nature language processing)自然语言处理学习_第9张图片

NLP(nature language processing)自然语言处理学习_第10张图片

递归神经网络(Recursive Neural Network)

RNN实际效果与CNN差别不大,但训练速度比CNN慢太多

四:为什么在RNN中加入LSTM http:// https://zhuanlan.zhihu.com/p/40797277

随着时间间隔变大,RNN会丧失学习连接到很远的信息,也就是记忆容量有限,LSTM的记忆细胞被改造,应该记住的东西(如新输入的东西)会一直被传递下去,不该被记住的东西会被截断。

RNN细胞结构:

NLP(nature language processing)自然语言处理学习_第11张图片

LSTM细胞结构:在RNN基础上加以改造

NLP(nature language processing)自然语言处理学习_第12张图片

NLP(nature language processing)自然语言处理学习_第13张图片

第一步:forget 

NLP(nature language processing)自然语言处理学习_第14张图片

第二步:update

NLP(nature language processing)自然语言处理学习_第15张图片

第三步:output 

NLP(nature language processing)自然语言处理学习_第16张图片

 LSTM的几个变体

NLP(nature language processing)自然语言处理学习_第17张图片NLP(nature language processing)自然语言处理学习_第18张图片

NLP(nature language processing)自然语言处理学习_第19张图片

    

你可能感兴趣的:(nlp)