自然语言处理概览
自然语言处理研究的是词、句、文档等几个层次的内容。
一、发展历史(前两个是理论、后一个是经验)
1、形式语法(复杂特征集)
2、词汇主义方法(WordNet、ConceptNet、FrameNet), 人工总结和整理概念、层次、结构等
3、统计语言模型(语言有统计规律性,让机器去自己学习规律)
词汇向量化表示 CBOW skip-gram word2vec (Gensim来训练)
语句描述为词向量的序列构成的向量
抽象含义?言外之意?推理规则?
二、预处理
1、去除html tag
2、编码
3、doc --》句子--》单词(词性tag等)
4、去掉标点、太短的单词
5、去掉停用词
6、抽取词干(stemming )分词,原型,过去式,近义词 统一成一个
二、分析(拆分,之后汇总理解):
1、分词、标注、统计词频等
2、信息提取(识别短语+识别entity+提取关系),非结构化->结构化(知识表达)
3、自动抽取 关键词、摘要;相似度比较(文档层面)
4、主题抽取(单文档)
5、分类、聚类(多文档)
6、情感分析
7、消除歧义
8、句法分析(谓词逻辑(sql)-》 问答和翻译)
概括:摘要、主题、情感、知识表达
三、应用
推荐系统
问答系统
对话系统
机器翻译
四、基本概念
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 近义词典
五、相关库
snownlp
NLTK
Word2Vec(词这个级别)
LDA(文章的这个级别)
全文和文章元数据抽取开源Python库:newspaper
https://github.com/rockingdingo/deepnlp/tree/master/deepnlp/textsum
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐