leyu乐鱼


    1. 咨询热(rè)线(xiàn):021-80392549

      leyu乐鱼 QQ在线 leyu乐鱼 企业微信
      leyu乐鱼
      leyu乐鱼 资讯 > AI挖掘(jué)技术(shù) > 正文

      自(zì)然语言处理入门教(jiāo)程

      2020/05/253509

      自然语言处理入门教程

      自然语言处理(NLP)是计算机(jī)科学领域和(hé)人工智(zhì)能领域中的(de)一个分支,它与计算机和人类之间使用自(zì)然(rán)语言进(jìn)行互动(dòng)密切相关。NLP的最终目标是使计算机能够像人类一样(yàng)理(lǐ)解语言(yán)。它是虚拟(nǐ)助手、语音识别(bié)、情感分析、自动文本摘要(yào)、机器翻译等的驱动力。在这篇文章中(zhōng),你将(jiāng)学习到自然语言处理的基(jī)础知识,深入了解到(dào)它的一些(xiē)技术,了(le)解到NLP如何从深度学(xué)习的最新(xīn)进展。

      1.简介

      自然(rán)语(yǔ)言处理(NLP)是计算机科学、语言学(xué)和机器学(xué)习的交叉(chā)点,它关注计算(suàn)机与人类之间使用(yòng)自然语言中的沟(gōu)通交流。总之,NLP致力于(yú)让(ràng)计算机能够(gòu)理解和生成(chéng)人类(lèi)语(yǔ)言。NLP技术应用于多个领域,比(bǐ)如天猫精(jīng)灵和Siri这样的语音(yīn)助(zhù)手(shǒu),还(hái)有机(jī)器翻译和文本过(guò)滤等。机器学(xué)习是受NLP影响最深远的领(lǐng)域之一,尤为突出的(de)是深度(dù)学习技术(shù)。该领域分为以(yǐ)下(xià)三个部分:

      1.语音识别:将口语翻译成文(wén)本。

      2.自然(rán)语(yǔ)言理解:计(jì)算机理解人(rén)类的能力。

      3.自然语言生(shēng)成:计算机生成自然语(yǔ)言。

      2.为什么NLP很难

      人类语言有其特殊性。人(rén)类语言(yán)专门用于传达讲话(huà)者和写作(zuò)者的意思,即使小孩子能够(gòu)很快(kuài)学会,它(tā)依然是一个复(fù)杂的系统。它(tā)的(de)另一个(gè)显著之处在于它完全(quán)与符号有关。Chris Manning(斯坦福教授)表示,它是(shì)一(yī)个离散的(de)、象征性的、绝对的信号系统,这(zhè)意(yì)味着(zhe)人们可以通过使(shǐ)用不同的(de)方式(shì)传达相同的含义(yì),比如(rú)演说,手势,信号等。人类大脑(nǎo)对这些符号的编码是持续的激活模式,在(zài)这(zhè)个模式中,符号通过声音和视觉的连续信号实现传(chuán)输。

      由于(yú)其复(fù)杂性,理解人(rén)类语言被认为是(shì)一(yī)项艰巨的任务(wù)。例(lì)如,在句子中排列单词(cí)有(yǒu)无数种不同的(de)方法。此外,一个单词(cí)可以(yǐ)有多种(zhǒng)含义,并且(qiě)正确解释句子需(xū)要恰当的语(yǔ)境信息。每种语言或多或少都是独(dú)特且含糊的。比如:“The Pope’s baby steps on gays”,这句话显(xiǎn)然有两种(zhǒng)截(jié)然不同的解释,这(zhè)是反映NLP中的困难之处的(de)一个很好的(de)例子。

      随着计算机(jī)对语言(yán)的理解(jiě)愈渐完美,将会产(chǎn)生可以处理互联网上(shàng)全(quán)部信息的人(rén)工智能(AI),继而(ér)产生强人(rén)工智能(AGI)。

      3.句(jù)法和语义分析

      句法分析和语义分析是理解自然(rán)语(yǔ)言的两种主要方法(fǎ)。语言是一组(zǔ)意义的语句,但是(shì)什么使语句有意义呢?实(shí)际上,你可以将有效(xiào)性分为两类:句法和语义。术语(yǔ)“句法”是指文本(běn)的(de)语法结构,而术语(yǔ)“语义(yì)”是指由它表达的含义。但是,句法上正确的语句不必在语义上正确。只需看看下面(miàn)的例子。语句“cow kow supremely”在语(yǔ)法上是有效的(主语-动词-副词),但没(méi)有任(rèn)何意义。

      句法(fǎ)分析(xī):

      自然语言处理入门教程(chéng)

      句法(fǎ)分析,也称(chēng)为(wéi)语法分析或解析,是通过遵循(xún)正式语(yǔ)法规则来分析自(zì)然语言的过(guò)程。语(yǔ)法规则适用于单词和词组,而不是单个单词。语法(fǎ)分析主要为(wéi)文本(běn)分配(pèi)语义结(jié)构。

      语义分析:

      我们理解他人的(de)语言是一(yī)种无(wú)意识的过程,依赖(lài)于直觉和对语言本身的认识。因此,我们理解语(yǔ)言的方(fāng)式(shì)很大程度上取(qǔ)决于意义和语境。计算机(jī)却不能依赖上述方法,需要(yào)采用不同的途径(jìng)。 “语义”这个词是(shì)一个(gè)语言术(shù)语,意思(sī)与意义或逻辑相近(jìn)。

      因(yīn)此,语义分(fèn)析是理(lǐ)解单词(cí)、符(fú)号和语句结构(gòu)的(de)含义和解释的过程,这使计算机能够以人类的方式理解(jiě)部分涉及意义和语境的自然语言。为什(shí)么说只(zhī)能(néng)部分(fèn)理解呢?是因(yīn)为语义分析是NLP中最(zuì)棘手的部分之一,仍(réng)未完(wán)全(quán)解(jiě)决(jué)。例如,语音识别(bié)技术已非常成熟,并(bìng)且(qiě)工作近(jìn)乎完美,但仍然缺乏在自(zì)然语言理解(例(lì)如语义(yì))中(zhōng)的(de)熟练(liàn)程度。手机基本上(shàng)可以理解(jiě)我们所说(shuō)的内容(róng),但通(tōng)常(cháng)无法用(yòng)它做任何事(shì)情,因为它不(bú)了解(jiě)其背后意义。

      4.理解(jiě)文本的技巧(qiǎo)

      下面我们将讨(tǎo)论多种用于自然语言(yán)处理的现行技术(shù)。

      什么是解析?首先,让(ràng)我们看(kàn)一下词典(diǎn)释义:

      解析—“将句子分解(jiě)为(wéi)其(qí)组成部分(fèn),并阐(chǎn)述各部分的句法角色。”

      实际上解(jiě)释的已经非(fēi)常(cháng)到位,但它可以更全面(miàn)一些(xiē)。解(jiě)析(xī)是指(zhǐ)计算机对句子的形(xíng)式分(fèn)析,其(qí)结果是一个(gè)解(jiě)析树,这个解析树可以可视化(huà)地(dì)显示(shì)句子成(chéng)分(fèn)之间(jiān)的句法关系,用于进一(yī)步处理和理解(jiě)。

      在下面你可(kě)以看到句(jù)子“The thief robbed the apartment”的解析树,以及由它传达的三(sān)种不同信息类型的(de)描(miáo)述。

      自然(rán)语言处理入门教程

      我先看单个单词正上方(fāng)的字母,它们用于(yú)显示每个(gè)单(dān)词(cí)的词性(名词-N,动词-V和限定词-DT)。我们再看(kàn)解析树中(zhōng)更高(gāo)的层级,一些单词进行层次(cì)分组(zǔ)组成(chéng)短(duǎn)语。例如(rú),“the thief”是一个名词短语(NP),“robbed the apartment”是一个动词短(duǎn)语(VP),这(zhè)些(xiē)短语一(yī)起形成一(yī)个句子(S),在树中标记(jì)在更高的层级(jí)。

      这些短语以名词为主体,包(bāo)含一个(gè)或多(duō)个(gè)单词,可能还(hái)包含描述性词语(yǔ)、动词或(huò)副词,简言(yán)之,就是把把名词和与其相(xiàng)关的单词组合在一(yī)起(qǐ)。

      从解析树中还(hái)能看(kàn)出,单词的表述结构影(yǐng)响其在句中的语法关系。例如,在此结构中,“thief”是“robbed”的主语。

      结合结构来(lái)看,动词“robbed”,上方标有(yǒu)“V”,更上一级(jí)标有“VP”;主(zhǔ)语“thief”,上方(fāng)标有N和“NP”,通过“S”联系在一起。这就像主(zhǔ)语—动(dòng)词关系的模板,同样还有许多(duō)其(qí)他(tā)类型的关系。

      词干(gàn)提取:

      词干提取是一种来自形态学(xué)和信息检索(suǒ)的技术,在NLP中用于预处理和效率(lǜ)提升。但是,我们(men)首先(xiān)看一下词典中的(de)释义:词干 — “起(qǐ)源于或由其引起。”

      基本(běn)上(shàng),“词干提取”是将单词进行缩减得到(dào)词干的过程,而“词干(gàn)”的实(shí)际意义是(shì)是在删除单词的所有的前缀后缀之后(hòu)保(bǎo)留的(de)一部(bù)分。例如,“touched”,它的词干是“touch”,同时“touch”也是“touching”等词的词干。

      为什么需要词(cí)干?因为我们会(huì)遇到不同的词汇变形,而实际上它们具有(yǒu)相同的词干和(hé)意义。举例来说:

      # I was taking a ride in the car

      # I was riding in the car.

      这两(liǎng)个句子意思是一致的,ride和riding的用法也是相同的。

      词汇表(biǎo)中所有的单词有不同(tóng)的注释,其中还包括大(dà)量(liàng)实际意(yì)义相同的单词,要存储它们,需(xū)要一个庞大数据库,但是通过词干提取,仅(jǐn)关(guān)注单词的词干,可以很好地解决(jué)这个问题。现行的通(tōng)用算法(fǎ)之(zhī)一是1979年的“Porter Stemming Algorithm”(波特词干算法),非常使用便捷。

      文字分割:

      NLP中的(de)文本分割是将文本(běn)转换为有意义(yì)的单元的过程,可(kě)以是单词、句子、也可以是不(bú)同的主(zhǔ)题或潜在的意图等。在(zài)文本分割中,文(wén)本(běn)根据不同(tóng)语(yǔ)种(zhǒng)被分割为成份单词(cí),由于人类(lèi)语言(yán)的复(fù)杂性(xìng),通(tōng)常比较难。举个(gè)例(lì)子,在(zài)英(yīng)语中利用(yòng)空格来分隔单词(cí),相对高效实用,但是也有像“ice box”这类词语的例外,ice和box这两个(gè)由(yóu)空(kōng)格隔开的词合并一起使用才有原本含义的(de),所以人们有时(shí)把它写作“ice-box”,那(nà)么就给文字分割带来了难题。

      命名(míng)实体识(shí)别:

      命名实体识别(bié)(NER)用于确定文本中哪些词(cí)条(tiáo)属于命名实(shí)体,这些(xiē)词条可以被定位并归入预定义(yì)的类别,类别的范(fàn)围(wéi)包括人名(míng),组织,地点,还有货币价值和百分比。

      看下面的例子:

      NER之(zhī)前:Martin bought 300 shares of SAP in 2016.

      NER之(zhī)后:[Martin]Person bought 300 shares of [SAP]Organization in [2016]Time.

      关系抽取:

      关系提取采用“命名实体(tǐ)识别(NER)”的命名实体,并识别它们之(zhī)间的语(yǔ)义关(guān)系。这可能意味着它能够发现文本(běn)中词语(yǔ)之间的关(guān)联性,例如(rú)谁与谁结婚,某人(rén)在(zài)哪个公司(sī)工(gōng)作等。这个问题也可(kě)以转换为分类问题,然后为每种关系(xì)类(lèi)型训练机器学习模型。

      情感分(fèn)析:

      通过(guò)情感分析,我们(men)想要确定例如说话者或作者关于文档,互(hù)动或事件的态(tài)度(例如情(qíng)绪)。因此(cǐ),需要理解文本以预测潜在意图(tú)是一种自然语言处(chù)理问题。情(qíng)绪主要(yào)分(fèn)为积极,消极(jí)和(hé)中性两类。通过使用情感分析,我们希望根据他撰(zhuàn)写的关于产品的评论来预(yù)测客户对产品(pǐn)的(de)看法和态度。因此,情感分析广泛(fàn)应(yīng)用于评(píng)论(lùn),调查,文档等等

      如果你对使(shǐ)用Python中(zhōng)的某些(xiē)技术感兴趣,可以查看(kàn)我创(chuàng)建(jiàn)的Python的自然语言工具包(bāo)(NLTK)的Jupyter Notebook。你还可(kě)以(yǐ)查看我的(de)博客文章(zhāng),了解如何使用Keras构(gòu)建(jiàn)神经网络,我(wǒ)将训练神经网络进行情感分析(xī)。

      5.深度学习和NLP

      深度学习和自然语言的核心是“词义(yì)”,在这里,单词用一个实数向量(liàng)来(lái)表示。因此(cǐ),通(tōng)过向量来代表单词单词,我们可以(yǐ)将单词置于高维度的空间中(zhōng),由向量表(biǎo)示的(de)单词起到语义空间的作用。这(zhè)仅(jǐn)仅意(yì)味着在(zài)该高维向量空间中,形(xíng)近意近的(de)单词倾向于聚(jù)集在一起。下图中,可以看到(dào)单词含(hán)义的直观展示:

      自然语(yǔ)言处理入门(mén)教(jiāo)程

      在此空间(jiān)中,如果想(xiǎng)要知道某一(yī)组聚集(jí)成类的单词(cí)的含(hán)义,可(kě)以通过使用主(zhǔ)成分(fèn)分析法(fǎ)(PCA),也可以(yǐ)使用降维(wéi)法。但这些方法太简(jiǎn)单并且会遗漏了周边的大量(liàng)信息(xī),因而产生误差。在研究的(de)初始(shǐ)阶段(duàn),这(zhè)些(xiē)方法很好用,(如数据科学中的逻辑(jí)或线性回(huí)归(guī))但并不是前沿技术(shù)。

      我们(men)还可(kě)以(yǐ)将单词的一部分(fèn)当作向(xiàng)量,这些(xiē)向量可以代表(biǎo)单词的含义。想象(xiàng)一下“undesirability”这(zhè)个词。使用“形态学方法”,它涉(shè)及一个词所具有的不同部分(fèn),我们认(rèn)为它由词素(单词部分)构成:“Un + desire + able + ity”。每个语素都有自(zì)己的向量(liàng)。这允许(xǔ)我们构(gòu)建一个(gè)神经网络,它可以构成一个更大的单位的(de)意(yì)义,而更大的单位又(yòu)由所有这些(xiē)语素组成。

      深度学习还可以通过创建句法分析(xī)器来理解句子的结构(gòu),谷(gǔ)歌(gē)正(zhèng)在使(shǐ)用这样的依赖解析技(jì)术(shù),在他们(men)的“McParseface”和“SyntaxNet”(两种语(yǔ)言解析(xī)器),不(bú)过更加宏大(dà),更加复杂。

      通过分析句子结构,我们开始理解句子的意义,可以从单词的含义开始,也可以从整个(gè)短语(yǔ)和句子开始(shǐ),无论单词的意义、短语还是句子(zǐ),都用向量来(lái)表示。如果(guǒ)想知道句子之间(jiān)的关系,我们可以创(chuàng)建神经网络来帮助(zhù)分析。

      深度学习也适用于情(qíng)感分析。请看这个电影评论:“这(zhè)部电影(yǐng)不在乎是(shì)不是巧(qiǎo)妙,也不在乎幽(yōu)默(mò)与否”。传统的机器学(xué)习(xí)算法会(huì)认为这是(shì)一个积极的评(píng)论,因为“聪明(míng)”和“幽默”是积极的词汇,但是(shì)神经网络能够(gòu)识别出它的真正含义(yì)。

      另外,深度学习算法实现的机(jī)器翻译中(zhōng),它从句子(zǐ)开始翻译,并生成一个向量(liàng),然(rán)后用另(lìng)外(wài)一种语言生成所需要的信(xìn)息(xī)。

      总(zǒng)而言之,NLP与(yǔ)深度学(xué)习相结(jié)合,就是表示单词、短(duǎn)语的向量(liàng),以(yǐ)及(jí)它(tā)们的(de)含义。

      关键词: AI挖掘技术




      AI人(rén)工智(zhì)能网声明(míng):

      凡资(zī)讯来源(yuán)注明为其他媒体来源的信息,均为转载自其他(tā)媒体,并不(bú)代表本网站赞同其观点,也不代表本网站对其(qí)真实性负责。您若对该文章内(nèi)容有任何疑问(wèn)或质(zhì)疑(yí),请(qǐng)立(lì)即与网站(www.ankang.huangnan.sys.jixi.ww38.viennacitytours.com)联系,本(běn)网站将迅速(sù)给您回应并做处理。


      联系(xì)电话:021-31666777   新闻、技(jì)术文(wén)章投稿QQ:3267146135   投(tóu)稿邮箱:syy@gongboshi.com

      工博士人工智能网
      leyu乐鱼
      扫描二维码关(guān)注微信
      扫(sǎo)码反馈

      扫一(yī)扫,反馈当前页(yè)面

      咨(zī)询(xún)反馈
      扫码关注

      微信公众号

      返回顶部

      leyu乐鱼

      leyu乐鱼