- NLP的概念
- NLP发展历程
- 编程语言与自然语言
- NLP实际应用
- NLP技术要点
- 结巴分词
- TF-IDF
- 相似度计算
- NLP相关开源API
- NLP技术难点总结
- 方法论之争和前景
Natural language processing (NLP) is a subfield of computer science,information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) languages,in particular how to program computers to process and analyze large amounts of natural language data.Challenges in natural language processing frequently involve speech recognition, natural language understanding, and natural language generation.
自然语言处理是一门研究人与人交际中,以及人与计算机交际中的语言问题的学科。NLP的目标是希望通过图灵测试,包括了语音、形态、语法、语义以及语用等方面,也要解决人类语言中的因果、逻辑和推理的问题。
NLP=NLU(Natural Language Understanding)+NLG(Natural Language Generation)
- NLU:语音/文本—>意思
- NLG:意思—>文本/语音
NLP的历史:
20世纪50年代起步--机器翻译
利用计算机自动地将一种自然语言翻译为另外一种自然语言
“I like Beijing Tiananmen Square” ====》“我爱北京天安门”
“我爱北京天安门” ====》“I like Beijing Tiananmen Square”
50-70年代—模式匹配
例如计算机答疑系统
用户输入——题库查找答案 ——返回结果
缺点:用户输入的信息,题库中没有匹配出来,就没有答案
改进:增加同义词、反义词等等
缺点:效率低,不灵活
90年代至今—基于统计
有一定时代背景,互联网的发展提供海量的自然语言供研究应(社 交对话、邮件、文章等等),方便学者和研究人员基于大量语料基 础之上构建自然语言处模型 又称“经验主义”语言模型,使用大规模真实语料库训练,得出结 果,避开一些歧义、语境等导致的技术难题
NLP的发展趋势:基于规则——>基于统计
自然语言中词的多义性很难用规则来描述,而是严重依赖于上下文, 语境,甚至是常识,基于统计理论避开了一些技术难题。
NLP技术难点:
Why NLP is Harder(i.e. than Computer Vision)?为什么自然语言处理要比计算机视觉要难一些呢?
- The Challenge:Multiple Ways to Express(多种表达方式)
- The Challenge:Ambiguity(一词多义)
Solving Ambiguity:Learning From Data(语义处理相对比较难,需要联系上下文,语境,还有一些情感色彩,这是自然语言处理中的难点)
自然语言处理的过程中会遇到语义,歧义和多义等问题。
例如:“我们把香蕉给猴子,因为它们饿了。”和“我们把香蕉给猴子,因为它们熟透了。”第一句中指的是“猴子”,第二句指的是“香蕉”,如果不了解猴子和香蕉的属性,无法区分“它们”指的是谁。这是语义问题。
切词中的歧义,即由字到词时的现象,是中文信息处理中独有的。又有组合型歧义和交集型歧义。例如:从马上跳下来(从 马 上 跳 下来),他将来我校讲学(他 将 来 我校 讲学)这是组合型歧义。使用户满意(使用 户 满意),研究生命的起源(研究生 命 的 起源),这是交集型歧义,组合型歧义出现的概率低,消解更为困难。
NLP案例:
Today's Case Study:Machine Translation
如果现在搭建一个机器翻译系统,该如何实现呢?
根据下面12句话,进行翻译
根据语料进行统计,单词匹配。
jjat arrat vat mat hilat oloat at-yurp
这样的翻译系统缺点:速度慢、语义解决不了、上下文没有考虑到,语法不对。
NLP实际应用
Question Answering(问答系统)
Sentiment Analysis(情感分析)【股票价格预测、舆情监控、产品评论、事件监测】
输入语句==》特征工程==》模型==》情感值
输入语句====》深度学习模型====》情感值
Machine Translation(机器翻译)
Text Summarization(自动摘要)
Chatbot(聊天机器人)
Information Extraction(信息抽取)
NLP技术要点
自然语言处理技术四个维度:
Semantic(语义)
Syntax(句子结构)
Morphology(单词)
Phonetics(声音)
Word Segmentation(分词)
Part-Of-Speech(词性)
Named Entity Recognition(命名实体识别)
Parsing(句法分析)
Dependency Parsing(依存分析)
Relation Extraction(关系抽取)
本文为自己学习过程当中的笔记,编写过程参考多篇文章和其他资料,如有侵权,请联系删除。