自然语言处理概览

自然语言处理研究的是词、句、文档等几个层次的内容。

一、层次概念

理论流派

1、形式语法(复杂特征集)

2、词汇主义方法(WordNet、ConceptNet、FrameNet), 人工总结和整理概念、层次、结构等 

3、统计语言模型(语言有统计规律性,让机器去自己学习规律)

统计语言模型的细化(怎么描述语言的结构构成,比如词语怎么构成短语,句子,文章)

1、单词的组合形成短语(没有顺序和上下文信息),使用词袋来描述短语(one-hot representation)

2、组合+序列组成短语。分布表示:包含顺序和上下文信息。

分布表示的形式

1、矩阵描述,比如一个词和所有n个词上下文的矩阵(维度太大)

2、神经网络表示n-gram,用网络结构来描述每一个词的上下文环境

3、CBOW(Continuous Bag-of-Words)和 Skip-gram,用深度学习的方式抽取特征,简化了网络结构

CBOW 和skip-gram的训练方式

word2vec

简单说:统计模型->词袋->n-gram->CBOW->word2vec

语句描述为词向量的序列构成的向量

二、预处理

1、去除html tag 

2、编码 

3、doc --》句子--》单词(词性tag等)

4、去掉标点、太短的单词

5、去掉停用词 

6、抽取词干(stemming )分词,原型,过去式,近义词 统一成一个

二、分析(拆分,之后汇总理解):

1、分词、标注、统计词频等

2、信息提取(识别短语+识别entity+提取关系),非结构化->结构化(知识表达)

3、自动抽取 关键词、摘要;相似度比较(文档层面)

4、主题抽取(单文档) Gensim LDA:基于词袋的模型来进行主题抽取,所以效果不如基于CBOW的

5、分类、聚类(多文档)

6、情感分析

7、消除歧义

8、句法分析(谓词逻辑(sql)-》 问答和翻译)

9、抽象含义?言外之意?推理规则?

概括:摘要、主题、情感、分类(都是语义层面的)

三、应用

推荐系统

问答系统

对话系统

机器翻译

四、基本概念

1、TF(词频):某个单词在整个文档中出现的频率

2、IDF(逆向文件频率):总文件数目除以包含该词语之文件的数目,之后取对数,(描述是否在比较少的文件中存在)

TF-IDF(term frequency–inverse document frequency):TF与IDF的乘积,可以作为文件的特征。TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

3、命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。

4、n-gram 搜索n个词的上下文来确定词性和含义,即下一个词与前面的n-1个词有关系

5、wordnet 近义词典

五、相关库

传统基于词袋的库:

抽取主要的词和句子 xiaoxu193/PyTeaser (比较相似性)

相似度比较  nhirakawa/BM25

情感分析 sloria/TextBlob

NLTK

snownlp 集成

基于深度学习的

生成标题 https://github.com/rockingdingo/deepnlp/tree/master/deepnlp/textsum

主题抽取 Gensim 

情感分析 xiaohan2012/twitter-sent-dnn  wendykan/DeepLearningMovies

猜你喜欢

转载自eric-weitm.iteye.com/blog/2382795