一、总体介绍
1.NLP = NLU+NLG
NLP:Natural Language Processing(自然语言处理)
NLU: Natural Language Understanding(自然语言理解)
NLG:Natural Language Generation(自然语言生成)
2.分为四个维度:
1)Semantic(语义) : NLU
2)Syntax(句子结构):句法分析(Parsing(CYK))、依存分析(Dependency parsing)、关系抽取(Relation Extraction)
3)Morphology(单词):分词、词性标注、NER(分词:Word Segmentation、词性:Part-of-Speech、命名实体识别:Named Entity Recognition)
4)Phonetics(声音)
3.基于搜索的问答系统:
Question------------->知识库
Question<-------------知识库
Question发送问题给知识库,知识库返回相似度最高的知识给Question
首先需要做分词预处理
文本表示
计算相似度
根据相似度排序
返回结果
1)预处理:拼写纠错、Stemming、stop words、words filter、同义词
2)文本表示:向量,词频,词向量,Seq2Seq
3)计算相似度:欧氏距离、余弦相似度
二、分词
1.分词工具:
1)Jieba分词 2)showNLP 3)LTP 4)HanNLP
2.Max Matching (最大匹配)
参数max_len(每次匹配的最大长度)
1)前向最大匹配(forward-max matching)
2)后向最大匹配(backward-max matching)
缺点:不能细分、局部最优、效率根据Max_len、歧义(不能考虑语义)
3.Incorporate Semantic(考虑语义)
eg:ABCD为一句话
有文本统计ABCD出现的概率
P(ABCD) = P(A)*P(B)*P(C)*P(D)
发现P值很小,相乘以后容易underflow
所以对其取log
log P(AB |CD) = logP(AB) + logP(CD)
缺点:复杂度高