您的位置:首页 > 其它

徐飞玉:自然语言理解及其应用学习笔记

2017-07-13 11:13 204 查看
 
课程简介:

徐飞玉老师从什么是人工智能开始讲起。今天,人工智能已不仅仅存在于科幻小说之中。大数据及其分析平台、先进的机器学习方法、高速互联网、全球性开源研发社区等大量涌现,这一切催生出了强大的人工智能应用,比如网页智能搜索、机器翻译、智能交互式助手和商业智能软件。

徐老师还分享了自己多年来在文本分析领域积累的技术经验,比如如何借助行业专家的帮助找到想抽取的信息,如何找到标注好的语料,如何把非结构的文本变成结构化的信息等等。

一、什么是AI

人工智能的目标是让机器像人一样思考和行动,从而增强人类的感知力和判断力。比如大家都在使用的百度、google、亚马逊等都在大量使用人工智能进行语义分析和个性化推荐。人工智能帮助人类与机器用人类语言进行高效率的交流。现在流行的智能语音助手工具有Siri、Google now、Cortana、联想Smart
Assistant等等。

为什么现在会出现人工智能热呢?原因有以下几个方面。比如大数据、机器学习、知识图谱技术、互联网技术和高性能的硬件。

人工智能的主要应用领域:

Computer Vision, Perception(计算机视觉,感知)

Speech Tech (语音识别技术)

Text Analytics, MT(文本分析,机器翻译)

Dialogue, NL, Generation(对话,自然语言,文本生成)

Knowledge Representation (知识表示)

Deep Analytics Inferencing(深度分析推理)

Planning (规划)

Robotics(机器人技术)

Educational Tech(教育技术)

Machine Learning(机器学习)

Big Data Technology(大数据技术)

IoT Technology(物联网技术)

 

二、自然语言理解

人和人能够互相理解是一件非常神奇的事情。我们其实没有搞清楚人之人间为什么可以相互理解。有时候人与人之间并没有相互理解。语言是人们相互交流和理解的媒介。人们之间交流必须要有共同的语言以及相关领域的背景知识才能顺利交流。

自然语言处理的目标是让计算机处理或说“理解”自然语言,以完成有意义的任务,比如订机票购物或QA等。完全理解和表达语言是极其困难的,完美的语言理解等效于实现人工智能。

语言和语法是非常复杂的。在计算机领域里我们经常用树来描述语法。计算机很容易解析树状结构的语法。计算机就可以根据语法树解析出名词、动词以及词之间的关系。如下图所示:



世界上有多少种语言呢?根据联合国定义的正规的语言全世界有6809种语言。在欧洲有230种,在亚洲有超过2000多种语言。多语种做的最好的是《圣经》的翻译。将6809种语言可以分成250个家族。自然语言理解、机器翻译在不同语种交流将会有很大的帮助。

自然语言理解是一们计算机科学、语言学、心理学的交叉学科。语言学帮我们描述人类的语言提供语法模型、计算机科学和工程上有大数据技术提供大量的语料和机器学习算法。虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分。这个星球上有许多生物拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言。

语言知识对计算机做自然语言理解极其重要。语言处理在工业界应用非常多,但是语言知识会更加重要一些。语言习得,了解小孩子是怎样学习语言的对于计算机自然语言理解的研究很有帮助。语言是动态变化的,在做自然语言理解研究时是要充分了解语言的变化。语言的变化也反映了社会的一些变迁。

语言学的研究领域:

根据语言描述的水平分为

Phonetics(语音学)

Phonology(音韵学)

Morphology(形态学)

Syntax(句法)

Semantics(语义)

Pragmatics/Discourse (语用学/话语)

根据人类语言分为

Psycholinguistics (心理语言学)

Neurolinguistics (神经语言学)

Historical Linguistics (历史语言学)

Sociolinguistics (社会语言学)

Ethnolinguistics(民族语言学)

Dialectology(方言学)

Applied Linguistics(应用语言学)

Mathematical Linguistics(数学语言学)

Computational Linguistics(计算语言学)

计算机与语言学结合在的研究领域:

根据语言描述的水平分为

Computational Phonetics(计算语音学)

Computational Phonology(计算声韵学)

Computational Computational Morphology(计算计算形态学)

Computational Syntax (Computational Grammar, Parsing)(计算语法(计算语法,解析))

Computational Semantics(计算语义学)

Computational Pragmatics(计算语用学)

根据人类语言方面

Computational Psycholinguistics(计算心理语言学)

Computational Neurolinguistics(计算神经语言学)

Computational Historical Linguistics(计算历史语言学)

Computational Sociolinguistics(计算社会语言学)

Computational Ethnolinguistics (计算民族语言)

Computational Dialectology(计算方言学)

Computational Applied Linguistics / Applied Computational Linguistics

(计算应用语言学/应用计算语言学)

Computational Mathematical Linguistics (funny)

计算机分析语言的基本流程如下图:

 


 

为什么机器理解人类语言是困难的?徐老师以read的读音和为例说明不仅机器分析read在不同句子中的准确发音是困难的,其实人分析出来也有一定的挑战。例子如下图:



词的多义性,需要根据语言环境的上下文、情景进行推断。比如Where is a bank? Bank是指银行还是河岸?如果你要取钱后存款,bank自然指的是银行。如果你在河中划船,很累了,那就一定指的是河岸。下图有几个关于一次词多义的例子,你可以挑战一下自己看看能不能分析相同的词在不同的句子中分别指什么意思。



今天,语言技术已经帮助和影响着我们工作和生活的方方面面。你在写文档时,MS Word会帮你自动检查拼写和语法错误。智能语音对话的银行电话客服,网络搜索引擎,游戏中的语音生成,帮你学习外语的智能学习助手,识别图像文件中的文字的光学字符识别技术(OCR),文本分类、用语音控制汽车等等。

 

三、文本分析和信息抽取

在大数据中,文本是最大的也是最常见的大数据来源之一。但文本数据却是非结构化的。像公司里用的文件、新闻、email,微信等都是非结构化的文本数据。

文本分析又称文本挖掘或者文本中的知识发现。

文本分析的任务包括语言知识分析、命名实体是识别、关系抽取、指代消解、实体链接、文本推理、语义分析、情绪分析。

文本分析的主要的应用有智能语义搜索,知识组织、社交媒体监控和企业应用等。

信息抽取中的现实挑战

把文本非结构化数据抽取成结构化数据是信息抽取的目标。信息抽取最大的挑战是和相关领域专家确认需要抽取什么样的数据。很多时候,比如医生他们是依靠经验的,他们也很难准确的描述他们需要的结构化数据是怎样的。如果用深度学习的方法做抽取,有一个最大的问题是没有标注好的语料。这也是一个很大的挑战,在真正做能够用的工具,必须考虑这些情况。

信息抽取的流程:

首先要做和领域专家沟通确定领域模型,然后选择通用的NLP开源工具。因为选择的NLP开源工具可能是针对新闻的,你要做针对医学的,所以要根据你的任务做领域适配的工作。领域适配部分要选择不同的机器学习方法,有监督的,无监督的。要做一个打分机制,来保证最后的准确率。因为分析过程是一步一步逼近的,不能用直接的YES 0R NO.最后做应用的时候要以用户为中心,设计一款好用的产品。详细流程见下图:

 


不同的文本类型数据质量和处理方式不一样。像新闻一般质量比较高,社交媒体的文本质量很差,大量的短文本、流行语和表情符号。临床文本具有很强的专业性。

 

四、文本大数据的分析处理

 

大数据具有大容量(数据大小)、高速度(变化的速度)、多种类(数据资源)三个特点。

 

文本信息分析处理是指在给定一个非结构化文本的情况下,文本分析系统能够自动识别并提取相关实体或概念之间的关系,这种关系对于满足用户需求很重要。

 


 

 

 

文本分析处理技术的 3 个通常性应用任务

1.用于信息查找者的信息访问。

在搜索引擎中,文本分析处理技术可以将用户非结构化的文本性提问映射到更结构化的标准提问,从而帮助信息查找者完成信息访问。

2.用于信息提供者的信息获取。

在网络中,信息提供者可从海量免费文本中提取结构化信息,从而可构建知识库以达到信息储备的目的。下图是分析网络文本得到的“麦当娜”的社交网络知识图谱。

 


3.大数据分析

大数据分析可在结构化数据和非结构化数据之间建立连接。

大文本流分析架构图如下:

 


自然语言处理的流程如下:

 


 

五、Web-DARE Distant supervised Web-scale RE

DARE系统实现了这种最小化监督式机器学习方法。与其它系统相比,DARE能够应对相对复杂的关系,并自动学习提示语义关系的语言模版、为句子成分分配关系中的语义角色。

DARE通过使用Freebase作为种子知识和Web作为训练语料库自动学习大量的实体关系规则。

诺贝尔奖得主范例:

种子范例:

<Mohamed ElBaradei/Person, Nobel/Prize, Peace/Area, 2005/Year>

 

句子与种子匹配

Mohamed ElBaradei won the 2005 Nobel Prize for Peace on Friday for his

efforts to limit the spread of atomic weapons.

下图是该示例的关系抽取结果。这个问题的关键在于要细致,比如本例中的宾语可以更细一步进行解析出日期、奖项名称的结构化信息。

 


六、Conversational User Interface and Dialogue System

目前人机对话系统主要提供两种服务,一是信息,二是行为。信息比如天气状况、新闻、知识等。行为有闹钟,听音乐,订餐等。

目前的对话系统主要都是人主动询问的。以后希望能做到系统能够主动提问,充分互动。交互方式是多种的,可以是声音、文本、图像、触屏等。

目前对话的深度做到了检索、问答和命令驱动,但还没实现真正的对话。

    

七、Dialogue-enabled NPCs for Realistic Computer Game Environment

用于虚拟世界和电脑游戏的非玩家角色(NPC)

使用自然语言处理(NLP)技术来支持用户和NPC之间的对话

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐