课程简介:
徐飞玉老师从什么是人工智能开始讲起。今天,人工智能已不仅仅存在于科幻小说之中。大数据及其分析平台、先进的机器学习方法、高速互联网、全球性开源研发社区等大量涌现,这一切催生出了强大的人工智能应用,比如网页智能搜索、机器翻译、智能交互式助手和商业智能软件。
徐老师还分享了自己多年来在文本分析领域积累的技术经验,比如如何借助行业专家的帮助找到想抽取的信息,如何找到标注好的语料,如何把非结构的文本变成结构化的信息等等。
一、什么是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 (规划)
二、自然语言理解
人和人能够互相理解是一件非常神奇的事情。我们其实没有搞清楚人之人间为什么可以相互理解。有时候人与人之间并没有相互理解。语言是人们相互交流和理解的媒介。人们之间交流必须要有共同的语言以及相关领域的背景知识才能顺利交流。
自然语言处理的目标是让计算机处理或说“理解”自然语言,以完成有意义的任务,比如订机票购物或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.最后做应用的时候要以用户为中心,设计一款好用的产品。详细流程见下图:



雷达卡





京公网安备 11010802022788号







