利用NPL可与人工智(zhì)能工具进(jìn)行交流
现如今,在更多情况下,我们是(shì)以比特和字节为生,而不是依靠交换情(qíng)感(gǎn)。我(wǒ)们使用一种称之为计算机的超级智能机器在互联(lián)网上进行交易(yì)和沟通。因此,我们觉得有必要(yào)让(ràng)机器明白我们在(zài)说话时是如何对其进行理解的,并(bìng)且(qiě)试(shì)图用人工智能,一种称之为(wéi)NLP——自(zì)然语言处理技(jì)术为它们(men)提(tí)供语言。作为一种研(yán)究结果,聊天机(jī)器人正在成(chéng)为一种可(kě)靠的聊天(tiān)工具,使用这(zhè)种非人为依赖的智(zhì)能工具与人类进行交流。
我强(qiáng)烈的(de)感受到:
直到我们的机(jī)器学会了解行为和情(qíng)绪(xù),数据科学家和工程师的(de)工作才完成了一半。与深度(dù)学习(ML学科领(lǐng)域)融合的(de)NLP将(jiāng)对这种(zhǒng)计算机语言的使用起到关键作用(yòng)。
利用自(zì)然语言处(chù)理NPL可以使人工智能工具(jù)与人类进行交流
什么是NLP
这是一种(zhǒng)人工(gōng)智能方(fāng)法,给定机器一些人类语言从而使(shǐ)得它们能够与人(rén)类进(jìn)行沟通交流。它涉及(jí)使用NLP技(jì)术对书面语言进(jìn)行(háng)智能分析,以获取对一组文(wén)本数据的见解,如:
1.情绪分析(xī)
2.信息提取和检索
3.智能搜索等
它(tā)是(shì)人工智能和计算语言学的交汇点,能够(gòu)处理机器和人类自(zì)然语言(yán)之(zhī)间的交互,即(jí)计算(suàn)机需(xū)要对其进行分析、理解、改变或生成自然语言。NLP帮(bāng)助计算机机器以各种形式使用自然人类语言进行交流,包括但不限于语(yǔ)音(yīn)、印刷、写作和(hé)签名(míng)。
NLP机器学习和深度学习:它们是如何连接的
利用自然语言处理NPL可以使(shǐ)人(rén)工(gōng)智能工具与人类进行交流
NLP与(yǔ)机器学习和深度学习密切相关,所(suǒ)有(yǒu)这(zhè)些都是人工智能领(lǐng)域的(de)分支(zhī),如下图所示:它(tā)是一个致力于(yú)使机器智能化的(de)计算机科(kē)学领(lǐng)域。深度(dù)学习是一种流行的机器学习(xí)技术(shù)之一(yī),如回归,K-means等。
机器学习的类型很多,像无监督机器学习这样(yàng)的经(jīng)常用于NLP技(jì)术中(zhōng),如LDA(潜在狄利(lì)克(kè)雷分(fèn)布(bù),一种主题(tí)模型算(suàn)法)。
为了能够(gòu)执行任何一(yī)个NLP,我们需要深入(rù)理解(jiě)人类使如何处理语言的情感和(hé)分析方(fāng)面。还有(yǒu)各种(zhǒng)各样像(xiàng)社交媒体(tǐ)这样的语言数据源,人们(men)直接或间接地分享他们(men)感受到的内容,而这必须通过使用NLP的机器进行智能分析。NLP机器需要建立(lì)一个人类(lèi)推理系统,借助ML技(jì)术,它(tā)们可以自动(dòng)执行(háng)NLP过程并对其(qí)进行扩(kuò)展。
简而言之(zhī),“深度学习与自(zì)然语言处理”是相互联系、相(xiàng)互依存的(de),以构建一个能够(gòu)像人(rén)类(lèi)一样思考(kǎo)、说话和(hé)行(háng)动的智能计(jì)算机。
Meltwater Group的NLP专家John Rehling在《自然(rán)语言(yán)处(chù)理(lǐ)是如何帮助揭示社交(jiāo)媒(méi)体情绪(xù)》一文中说,
“通过分析语言(yán)的含义,NLP系统扮演着非常(cháng)重要的角色,如纠正语法(fǎ),将语音转换为(wéi)文本,以及在多语(yǔ)言之(zhī)间自(zì)动(dòng)翻译(yì)。”
NLP如何工(gōng)作
理(lǐ)解NLP的工作原理是非常重要的,因为这样(yàng)的话(huà),我们就可以将NLP作(zuò)为一个整体来理解。NLP一般有两(liǎng)个主要组(zǔ)成部分(fèn):
1.NLU:自然(rán)语言理解
2.NLG:自然(rán)语言生成(chéng)
让(ràng)我们(men)深入理解NLU
自然语言理解:它(tā)涉及(jí)的是一种方(fāng)法论,试图了解如何(hé)对馈送(sòng)给(gěi)计算机的(de)自(zì)然语言(yán)赋予一定的(de)相关意义。
在开始时(shí),计算机获得自然语言的输入(自然语言(yán)可以是(shì)任(rèn)何语言,它(tā)们通(tōng)过使用和重复(fù)在人类中自然进化,而(ér)不是有意识的计划或预谋,自然语言可以(yǐ)采用不同的形式,例如语音或签(qiān)名(míng))。
计(jì)算机之后将它(tā)们转(zhuǎn)换成人工语言,如语音识别和/或语音转换(huàn)文本。在这里我们把数(shù)据转(zhuǎn)换成一(yī)个文本(běn)形式, NLU过程来(lái)理解其中的含义(yì)。
HMM:隐(yǐn)马尔可夫模型(xíng)(NLU示例)
利用自(zì)然(rán)语言处理NPL可(kě)以使人工智能工具与(yǔ)人类(lèi)进行交流
它是一种统(tǒng)计语音识(shí)别模(mó)型,它可以在预先构建的数(shù)学(xué)技术的帮助下,将你的语(yǔ)音转换成文本,并试(shì)图(tú)推断出你所说的语言。
它(tā)试图理解你所说的,通过将语音数(shù)据分解成一小段特定的时(shí)间段,大多数情况下时(shí)间是20-20 ms。这(zhè)些数(shù)据集将进一步与(yǔ)预馈语音进行(háng)比较,从而进(jìn)一(yī)步解(jiě)读你在每(měi)个语(yǔ)音单位中所说的内容。这里的目的是找到音(yīn)素(一个最小的语音单位)。然后(hòu),机(jī)器(qì)对一(yī)系列这样的音素进行(háng)观察,并(bìng)统计了最可能说出(chū)的单词和(hé)句子。
不(bú)仅如此(cǐ),NLU会深刻理解(jiě)每个单(dān)词,试图(tú)理解它是一个(gè)名(míng)词(cí)还是动(dòng)词,什么是(shì)时(shí)态(过去或未(wèi)来)等(děng)。这(zhè)个过(guò)程被定义(yì)为POS:词性标注(zhù)部分(Part Of Speech Tagging)。NLP具有内置(zhì)的词典和一套与语法预编码相关的协议,这(zhè)些协议被(bèi)预编(biān)码到它们的系统(tǒng)中,并在处理自然语言数(shù)据集(jí)时使用它,从而在(zài)NLP系(xì)统处理人类语音时,编(biān)译所说(shuō)的内容。
NLP系统(tǒng)也有一个词典(diǎn)(词汇表)和一套编码(mǎ)到系统中的(de)语法规则。现代NLP算法使(shǐ)用统计机器,学习将这些规(guī)则应用于自然语言,并推(tuī)断所(suǒ)说话语背后最可能的含义。在考虑诸如具有多个含义的词语(多义词(cí))或(huò)具有相似含(hán)义的词(cí)语(同义(yì)词(cí))时,存在一些挑战,但(dàn)软件开发者在他(tā)们的NLU系统中建立了自己(jǐ)的规则(zé),可以通过适当(dāng)的训练和学习来(lái)处理这类问(wèn)题。
自(zì)然语(yǔ)言生成:
与(yǔ)第一阶段(duàn)(NLU做(zuò)了大量的努力(lì)以理解人类(lèi)的(de)话语)相比,NLG可以(yǐ)很容易的进行(háng)翻译(yì)工作,即将计算机的(de)人工语(yǔ)言(yán)翻译为(wéi)有意(yì)义的文本,并可以通(tōng)过文字转语音(tex-to-speech)技术将其转化为(wéi)可听(tīng)语音。文本转语音((tex-to-speech))技术通过韵律模型(xíng)(prosody model)来(lái)分析文本,从而确定语言的断句、长短和音调。然后,利用语音数(shù)据库,将记录的所有音素汇(huì)集在一起,形成一个连贯的语音(yīn)串。
简而言之,NLP采用(yòng)NLU和NLG来处理人类自然语言,尤其是处理语(yǔ)音识别领域的人类(lèi)自然语言,并试(shì)图将传递字符串或可听(tīng)语言作为输出,来理(lǐ)解(jiě)、编译并推断所说的内容。
NLP在现代语(yǔ)境中的应用:
在这个处于数字革命的电脑(nǎo)时代中,大部分任(rèn)务需要由人类利用链接物联网(wǎng)的机器来(lái)完(wán)成。NLP在为媒(méi)体、出版、广告、医疗、银行和保险等(děng)行业领域建立强大(dà)的软件工具方面,发挥了重要作用(yòng),从而帮助他们高效快捷地(dì)运(yùn)作。
NLP的一些现代(dài)用法:
1.聊天机器人(rén)
这是(shì)一个被称为机器人的(de)成熟软件,它可以处理任何场景(jǐng)的(de)人物(wù)对话。api.ai、微软语音理(lǐ)解智能(néng)服务(LUIS)等一(yī)些热门的(de)NLP和机(jī)器学习平台,可用于研发你的商(shāng)业聊天机器人(rén)。
2.垃圾邮件过滤
你(nǐ)们中的大多数人(rén)一定对垃圾邮件(jiàn)并不陌生。Google使用(yòng)基于NLP的技(jì)术来保障你(nǐ)的收(shōu)件箱清洁(jié)、无垃圾(jī)邮件。贝叶斯垃圾邮件(jiàn)过滤(Bayesian spam filtering)是一种备受瞩目的技术,它是一种统计技术,基于此,电子邮件中词语的审核通过率根据其在垃圾和非垃圾邮件语料库中的典型事例来确(què)定。
3.机器翻译
NLP被越来越多(duō)的应用于机(jī)器翻译程序当中(zhōng),这(zhè)使得一种(zhǒng)语言(yán)被自(zì)动(dòng)翻译成另一种语(yǔ)言,谷歌是一个将你的文本(běn)翻译为所需语言(yán)的先驱者。
机器翻译(yì)技(jì)术所面临的挑战不(bú)在于翻译单词,而在于保留句(jù)子的含义(yì),这是一个复杂的技术问题(tí),也是NLP的核心。
4.命名实体提取(Named entity extraction)
它用于从给定的(de)项目集合(hé)中(zhōng)分(fèn)离(lí)出具有相似性质和(hé)属性的项(xiàng)目。例如名字、姓氏、年龄、地理(lǐ)位置、地址(zhǐ)、电话号码、电(diàn)子邮件地址和公司名称等等。命(mìng)名实体提取(亦称命名实体(tǐ)识别)使挖掘数据变得更(gèng)加容易。
5.自动汇总
自(zì)然语言处理(lǐ)可(kě)用于从(cóng)大段(duàn)文本中提取可(kě)读摘(zhāi)要。例(lì)如(rú),我们可以自动总(zǒng)结出一份长篇学术文章的简短摘要。
接下(xià)来我们将深入介绍一些(xiē)NLP的技术细(xì)节。
当自然界与人工相逢的时候,机器就(jiù)像是一个真正具有生命(mìng)力的人类一样进入了生活中(zhōng)。
NLP技术术(shù)语
NLP术语
•语音体系——关于系统(tǒng)性地(dì)组织语音(yīn)的研究。
•形态(tài)学——这(zhè)是一个从基本意(yì)义(yì)单位中进行单词构建的研究。
•语素——语言(yán)中意义的基本单位。
•语法——它是指单词经过组合排列构成句子,它还涉及(jí)在句子(zǐ)和(hé)短(duǎn)语中确定单词结构的(de)作用。
•语义(yì)——它涉及的(de)是单(dān)词的含义,以及该如何(hé)将单词组合成有意义的短语和句(jù)子(zǐ)。
•语用学——它涉(shè)及的是(shì)在不同情况下使用(yòng)和理解句子以(yǐ)及对句子的(de)解释(shì)是如何(hé)受到(dào)影响的。
•话语——它指的(de)是前面的句子如何(hé)影响对于下一(yī)句的解(jiě)释的。
•常识性知识——它涉(shè)及的是(shì)对于世界的一般性认识。
自然(rán)语(yǔ)言处理库(对(duì)于开发者而言)
NLP库(kù):
有(yǒu)许多通用(yòng)的第三方开源库,开发人员(yuán)可以(yǐ)使用它(tā)们来(lái)构建基于(yú)NLP的(de)Projects Viz .。
•自(zì)然语言工具包(NLTK)
•Apache OpenNLP
•斯坦福(fú)大(dà)学NLP套件
•Gate NLP库
自(zì)然(rán)语言工具包(NLTK)是最通用(yòng)的自然语言处(chù)理(NLP)库。它(tā)是用Python编写的(de),背后有一个很(hěn)大(dà)的社区(qū)。
NLP实施所(suǒ)涉及的步骤:
它涵(hán)盖了(le)5个主要步骤:
•词法分(fèn)析——它对给定(dìng)单词的结构进行识(shí)别(bié)和(hé)分析,其中整个文本数据块在词法分(fèn)析中被(bèi)分解成段落、句(jù)子和词汇(huì)。
•解析(句(jù)法分析(xī))——它(tā)涉及以一种显示单(dān)词(cí)之间的关系的方式对分(fèn)析句子中(zhōng)的单词(cí)进行语(yǔ)法(fǎ)和单词排列分析,在这(zhè)个阶(jiē)段,任(rèn)何不(bú)符合(hé)语法正确的句子都被拒(jù)绝,例如,“building lives in sita”将不会被语法分析器所接(jiē)受
•语义分析——对(duì)给定的文本进行分析以从中提取意(yì)义。它通过对任务域中(zhōng)的语法结构和目标进行(háng)分析来(lái)完成(chéng)。语义分析(xī)器拒绝不相(xiàng)关的句子,如“hot banana”。
•话(huà)语整合——正如我们所知,每个句子(zǐ)都与前一句(jù)话相互联系,基于倒数(shù)第二句的(de)意义而(ér)言(yán),任(rèn)何句(jù)子都变(biàn)得有(yǒu)意义。同样,它也使得(dé)后(hòu)一句话变得有意义。
•语用分(fèn)析——在(zài)此期间,常识性知识被重新定义了(le),解释了它(tā)们(men)的真(zhēn)实意义到底是什么,它涉及到那(nà)些需要常识性知识的(de)语言方面。
用图片来解(jiě)读NLP(点(diǎn)击图(tú)片放大):
NLP应用程序:
1.光学(xué)字符识别
2.语音识别
3.机器翻译
4.自然语言生成
5.情绪分析
6.语义搜索(suǒ)
7.自然语言编程
8.情感计(jì)算
9.开发聊天机(jī)器人