NLP学习

TF-IDF算法:代码及原理

https://blog.csdn.net/asialee_bird/article/details/81486700

stop_words 停用词

1
2
概念:搜索的时候会自动忽略这些词
作用:有效的提高关键词密度

自然语言处理

1
2
3
4
5
6
7
8
概念:是研究人与人交际以及人与计算机交际中的语言问题的一门学科,涉及语言学\计算机科学\数学\自动化等不同学科.
自然语言处理的基本理论:语言模型,隐马尔可夫模型(HMM)
·语言模型:根据语言客观事实而进行语言抽象数学建模,是一种对应关系
·隐马尔可夫模型:用来描述一个含有隐含未知参数的马尔可夫过程
语言资源:语料库和词汇知识库
自然语言处理研究的内容:1.机器翻译 2.自动文摘 3.信息检索 4.文档分类 5.问答系统 6.信息过滤 7.信息抽取 8.文本挖掘 9.舆情分析 10.隐喻计算 11.文字编辑和自动校对 12.作文自动评分 13.语音识别 14.文语转换 15.人声识别/认证/验证
自然语言处理的困难:①自然语言大量的歧义现象②对于特定的系统可能会出现未知的词汇,未知的结构等未知情况
自然语言处理的用处:为了让众多的非结构化数据(文本,语音,视频等数据)能够进行分析和利用
1
2
分词:单词组成句子,句子之间由空格隔开
中文:字、词、句、段、篇

NLP训练营

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
NLP = NLU + NLG             natural language processing
NLU:语音/文本--->转换成理解 natural language understanding
五大难点:
语言的多样性
语言的歧义性
语言的鲁棒性
语言的知识依赖
语言的上下文
NLG:理解---->转化为语音/文本 natural language generator
NLG 的6个步骤:
内容确定 – Content Determination
文本结构 – Text Structuring
句子聚合 – Sentence Aggregation
语法化 – Lexicalisation
参考表达式生成 – Referring Expression Generation|REG
语言实现 – Linguistic Realisation
NLP的面临的及格问题:
1.一个意思多种表达方法
2.一词多义(苹果,包袱等)
cv computer vision 计算机视觉,所见即所得 因而较nlp简单
机器翻译:基于语料库的统计翻译以及概率-->发展模型
语料库的统计翻译缺点:慢,未考虑语境,未区分一词多义,未考虑上下文,语法问题等
翻译步骤:(如中译英)
中文--->分词--->TM(transalation Model)---->broken English---->Language Model---->输出
TM:将每个中文/词翻译成对应的英文(step 1)
LM:将英文排列组合找到最符合人话的句子(概率最高的即为输出)(step 2)
缺点:时间复杂度高,比如10个词,排列组合为10!复杂度为指数级别,np hard问题
优化:step1 和 step2合并到一起===>经典算法 decoding Algorithm (viterbi Algorithm)语音识别经典算法(使用贝叶斯公式)p(e/c)

NLP基础理解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
NLP的2个核心任务:
自然语言理解 – NLU
自然语言生成 – NLG


NLP 的5个难点:
语言是没有规律的,或者说规律是错综复杂的。
语言是可以自由组合的,可以组合复杂的语言表达。
语言是一个开放集合,我们可以任意的发明创造一些新的表达方式。
语言需要联系到实践知识,有一定的知识依赖。
语言的使用要基于环境和上下文。


NLP 的4个典型应用:
情感分析
聊天机器人
语音识别
机器翻译


NLP 的6个实现步骤:
分词-tokenization
次干提取-stemming
词形还原-lemmatization
词性标注-pos tags
命名实体识别-ner
分块-chunking

中文分词工具
下面排名根据 GitHub 上的 star 数排名:

Hanlp
Stanford 分词
ansj 分词器
哈工大 LTP
KCWS分词器
jieba
IK
清华大学THULAC
ICTCLAS


英文分词工具
Keras
Spacy
Gensim
NLTK

1、中文分词

规则分词
1
2
3
正向最大匹配
逆向最大匹配
双向最大匹配
统计分词
1
2
1.建立语言统计模型:根据上下文的相关特性建立数学模型,核心是判断一个句子在文本中出现的概率
2.对句子进行单词划分,对划分结果进行概率计算,获得概率最大的分词方式.===>统计学习算法:HMM,CRF

2、词性标注和命名实体识别

1
2
词性标注:标注动词,名词等
命名实体:常用的人名,地名,日期,组织,货币等等

3、关键词提取

1
2
常用方法:IF-IDF,textrank算法,主题模型
主题模型:是以非监督学习的方法,对文集中的隐含语义结构进行聚类

3.1TF-IDF算法—>统计算法—>词频–逆文档频次算法

1
2
3
TF算法:统计一个词在文档中的频次
IDF算法:统计词在文档集中多少个文档出现的频次
以上为传统的,tf-idf也有很多变种的加权方法

3.2Text_Rank

1
2
3
优点:脱离语料库只对单文档分析即可提取文档关键词
用法:最早用于自动摘要,
思想来源于谷歌的pagerank,pagerank思想:一个网页被越多的网页链接说明越重要,或者一个网页被一个越高权值的网页链接,也能表明网页重要