自然语言处理解释

  • 时间:
  • 浏览:53
  • 来源:IT海外资讯网
Bet Noire / Getty Images

来自Facebook上的朋友

:Alexa请提醒我,我早上的瑜伽造型课是在5:上午30点。

Alexa :我已将龙舌兰酒加入您的购物清单。

我们与我们的设备交谈, 有时候他们会认出我们正确的说法。我们使用免费服务将在线遇到的外语短语翻译成英语,有时他们给我们准确的翻译。虽然自然语言处理得到了突飞猛进的改善,但仍有相当大的提升空间。

我的朋友偶然的龙舌兰酒订单可能比她想象的更合适。 ¡Arriba!

我们的新游戏网站现场直播! Gamestar涵盖游戏,游戏小工具和装备。订阅我们的时事通讯,我们会将最好的内容直接发送到您的收件箱。在这里了解更多。什么是自然语言处理?

自然语言处理,或NLP,目前是深度学习的主要成功应用领域之一,尽管有关其失败的故事。自然语言处理的总体目标是允许计算机理解人类语言并采取行动。我们将在下一节进一步细分。

从历史上看,自然语言处理是由基于规则的系统处理的,最初是通过编写例如语法和词干的规则来处理的。除了手工编写这些规则所花费的大量工作之外,它们往往不能很好地工作。

为什么不呢?让我们考虑应该做什么拼写就是一个简单的例子。在某些语言中,例如西班牙语,拼写真的很容易并且有规律。然而,任何学习英语作为第二语言的人都知道英语拼写和发音的不规则程度。想象一下,必须编写充满异常的规则,例如小学 - 拼写规则“我在E之前除了在C之后,或者当听起来像A在邻居或称重时”。事实证明,“我在E之前”规则不是一个规则。它大概是3/4的时间,它有许多例外情况。

在20世纪80年代末和90年代初几乎放弃了手写规则之后,NLP社区开始使用统计推断和机器学习模型。尝试了许多模型和技术;很少有人幸存下来超出其初始使用范围。一些更成功的方法被用于多个领域。例如,隐马尔可夫模型在20世纪70年代用于语音识别,并被用于生物信息学 - 特别是蛋白质和DNA序列的分析 - 在20世纪80年代和90年代。

基于短语的统计机器翻译模型仍需要针对每种语言对进行调整,准确性和精确度主要取决于可用于监督学习培训的文本语料库的质量和大小。对于法语和英语,加拿大国会议员(议会议事程序,自1867年以来的法律双语)对于监督学习来说是非常宝贵的。欧洲联盟的诉讼程序提供了更多的语言,但时间较短。

在t在2016年秋天,谷歌翻译突然从制作,平均而言,“沙拉”与原始语言的含义模糊不清,往往发出优美而连贯的句子,至少对于支持的语言对,英语 - 法语,英语 - 中文和英语 - 日语。自那时以来,已经增加了更多的语言对。

谷歌大脑和谷歌翻译团队通过九个月的协同努力,改进谷歌翻译使用其旧的基于短语的统计机器的结果使用Google的TensorFlow框架,使用深度学习和单词嵌入训练的神经网络进行翻译算法。在一年内,神经机器翻译(NMT)取代了统计机器translation(SMT)作为最先进的技术。

那是魔术吗?一点都不。这简直不容易。致力于转换的研究人员可以使用大量翻译来训练他们的网络,但他们很快发现他们需要数千个GPU用于培训,他们需要创建一种新的类型芯,Tensor处理单元(TPU),在他们训练有素的神经网络上大规模运行谷歌翻译。当他们试图训练一个几乎与人类翻译一样好的模型时,他们还必须改进他们的网络数百次。

自然语言处理任务

除了谷歌翻译解决的机器翻译问题,主要NLP任务包括自动摘要,共同参考分辨率(确定ine,哪些词指的是相同的对象,特别是代词),命名实体识别(识别人,地方和组织),自然语言生成(将信息转换为可读语言),自然语言理解(将文本块转换为更正式的表示)例如一阶逻辑结构),词性标注,情感分析(将文本分类为对特定对象有利或不利),以及语音识别(将音频转换为文本)。

主要的NLP任务通常被分解为子任务,尽管最新一代基于神经网络的NLP系统有时可以省去中间步骤。例如,一个名为Translatotron的实验性谷歌语音转换翻译器可以将西班牙语演讲翻译成En通过对谱图进行操作而不需要语音到文本,语言翻译和文本到语音的中间步骤,直接发表演讲。 Translatotron并不是那么精确,但它足以成为概念证明。

自然语言处理方法

与任何其他机器学习问题一样,NLP问题通常通过一系列程序解决,大多数它们旨在为建模准备数据。在他使用Python的优秀NLP教程中,DJ Sarkar提出了标准的工作流程:文本预处理 - >文本解析和探索性数据分析 - >文本表示和特征工程 - >建模和/或模式挖掘 - >评估和部署。

Sarkar使用Beautiful Soup从被删除的网站中提取文本,然后是自然语言工具包(NLTK)和spaCy通过对文本进行标记化,词干化和词形化来预处理文本,以及删除停用词和扩展收缩。然后他继续使用NLTK和spaCy标记词性,执行浅层解析,并提取Ngram块用于标记:unigrams,bigrams和trigrams。他使用NLTK和Stanford Parser生成解析树,并使用spaCy生成依赖树并执行命名实体识别。

Sarkar继续使用几种无监督方法进行情感分析,因为他的示例数据集没有被标记为有监督的机器学习或深度学习培训。在后面的文章中,Sarkar讨论了使用TensorFlow访问Google的Universal Sentence Embedding模型并执行trans学习分析用于情感分析的电影评论数据集。

你会看到你是否阅读过这些文章并通过它们附带的Jupyter笔记本工作,没有一个通用的最佳模型或算法文本分析。 Sarkar不断尝试多种模型和算法来查看哪种模型和算法最适合他的数据。

对于最近基于深度学习的NLP模型和方法的评论,我可以推荐一篇自称为自己的AI教育家的文章Elvis。

自然语言处理服务

除了众所周知的语音识别和语言翻译服务外,您还希望亚马逊网络服务,微软Azure和谷歌云提供这种或那种自然语言处理服务。 。当然,他们不仅仅是generic NLP模型,也是定制的NLP。

Amazon Comprehend是一种自然语言处理服务,可从非结构化文本中提取关键短语,地点,人名,品牌,事件和情绪。 Amazon Comprehend使用预先训练的深度学习模型,并识别相当通用的地方和事物。如果要扩展此功能以识别更具体的语言,可以自定义Amazon Comprehend以识别特定于域的实体并将文档分类到您自己的类别

Microsoft Azure具有多个NLP服务。文本分析可识别文本块的语言,情感,关键短语和实体。支持的功能取决于语言。

语言理解(LUIS)是一种可自定义的自然语言面对社交媒体应用,聊天机器人和支持语音的桌面应用。您可以使用预先构建的LUIS模型,预先构建的特定于域的模型,或使用机器训练或文字实体的自定义模型。您可以使用创作API或LUIS门户构建自定义LUIS模型。

对于更具技术头脑的人,Microsoft发布了一篇论文和代码,向您展示如何为自定义应用程序微调BERT NLP模型使用Azure机器学习服务。

Google Cloud提供预先训练的自然语言API和可自定义的AutoML自然语言。 Natural Language API可以发现文本中的语法,实体和情感,并将文本分类为一组预定义的类别。 AutoML Natural Language允许您训练自定义分类器对于你自己使用深度转移学习的类别集。

这个故事,“自然语言处理解释”最初由InfoWorld 出版。