什么是自然语言处理(NLP)?
你有没有和聊天机器人互动过?或者你是否向虚拟助手,例如Siri、Alexa或你车上的车载娱乐系统发出过某些请求?你使用过在线翻译吗?相信我们绝大多数人都与这些人工智能互动过,人类不断思考到底用哪种方式可以得到我们最想要的答案呢?
仔细想想人类语言和情绪上的复杂和不可捉摸性,机器能够和人类交流已经够神奇了吧?
而这神奇的源头要归功于一个叫:自然语言处理(NLP)的东西。
那究竟什么是自然语言处理 (NLP)?自然语言处理是教会计算机如何以人类的方式理解问题并让其给出适当回应的技术。借助NLP,机器可以学习阅读、解密和解释人类的书面和口头语言,并创建以类似人类的方式描述、概括或解释输入(结构化数据)的叙述。NLP是你经常与之交互的诸多AI解决方案的驱动力,并促成了人类与机器之间的理解。
如今,由于数据访问的巨大进步和计算机技术的提高,NLP变得越来越受欢迎。
为什么NLP难以实施?
NLP 具有挑战性。计算机的基础语言是数百万个 1 和 0 的集合,即“是”和“否”的二进制组合。计算机不会像人类那样在语境中思考,它们只会从逻辑上进行思考。当你对支持AI的计算机说话时,这台机器必须以某种方式理解和解释你所说的内容,计算出一个适当的响应,并将该响应转换为人类(或自然)语言,而这一切仅在几毫秒之内就能完成。很难想象实现这一壮举所需的处理能力水平,而计算机一直在这样做。
同样,自然语言的复杂性也不应该被低估。人类以无数种方式表达自己。全世界有数百种语言和方言,而且每种语言,无论是书面的还是口头的,都有自己的语法规则和俚语,并且各不相同。每个人的书写和说话方式也大相径庭。例如,有些人可能讲话口齿不清,或者在书写中使用缩写词。为了使计算机理解所有这些差异,它必须事先遇到过这些差异。它必须接受类似数据的培训。另一个挑战是,训练数据库与预期的应用程序应属于同一个领域。例如,在医疗环境中收集的对话不同于客户所处领域内会发生的对话,这种情况使得数据收集更具挑战性,因为从正确的领域收集数据很困难,但这又是必需的。
这些因素都导致了NLP实施中的困难。你必须访问大量的自然语言数据,以便计算机可以进行广泛的交互。为这些交互提供服务并弥合二进制语言与自然语言之间的差距,计算能力至关重要。所以NLP直到最近才成为了机器学习中的重要组成部分。
NLP技术
NLP 将语言分解为较短的语段,以便理解语段之间的关系以及各语段怎样结合起来产生意义。语言成分有两类:句法(单词在句子中按照语法意义进行排列)和语义(文本所传达的含义)。每一类中都有核心的NLP 技术:
1. 句法分析
以下是机器用于分析句法的一些标准方法:
• 分割:将一句话分解为较小的语段。
• 词形还原:将一个词缩小至词基,并将具有相似词基的词组合在一起。
• 词性标注:指出每个词的词性。
• 提取词干:删除词的前缀和后缀以获得词根。
请注意,这里只选取了诸多语法分析方法中的一部分。
2. 语义分析
以下是机器用于分析语义的两种流行方法:
• 命名实体识别:确定预设组(例如人物和地点)并将其分类
• 词义消歧:根据语境确定词义。
机器可以结合使用上述技术来获取给定文本中的句法和语义。
自然语言处理能做什么?
NLP 的应用场景有很多。它使机器能够执行原本由人类执行的重复性任务,从而帮助扩大与语言相关的任务的规模。许多行业都在使用NLP,其中较为常见的包括:
• 社交媒体分析:NLP可以跟踪与品牌、产品或特定主题有关的情绪,并确定客户如何做出选择。它还可以通过检测政治偏见来过滤虚假新闻。
• (TTS)文本转语音应用程序: 文本转语音应用程序通过更多方式提供信息以提高包容性,并为呼叫中心、视频游戏和语言教育领域提供更丰富的交互体验。
• 个人助手和聊天机器人:NLP使 AI 能够与人们就日常问题和事务进行交流,为人类腾出更多时间来进行更高层次的战略性工作。
• 搜索结果查询:NLP在电子商务领域特别有用,它可以帮助确定关键搜索词,从而获得更相关的搜索结果。
• 语言翻译:NLP广泛应用于各种语言和方言的翻译。
• 信息提取:例如,用于医疗行业进行患者病历处理时,通过NLP进行数据提取对于快速提取关键信息至关重要。
以上只是NLP的一些常见应用场景,还有更多场景我们就不一一道来了。这充分说明了自然语言处理方面已经取得了惊人的进步。NLP的变革力量将继续为我们与技术的交互增添光彩。随着人机通信差距的进一步缩小,我们必将看到这一领域的更多突破。
NLP专家Phoebe Liu的见解
Phoebe Liu 是澳鹏的高级数据科学家之一,曾担任 O’Reilly 和KDD大会的演讲嘉宾,因为在对话机器人方面的研究接受过BBC和半岛电视台纪录片系列的专访,并获得 2018年机器人电影节最佳影片奖。Phoebe 分享了关于自然语言处理的三个见解:
- 要做最成功的项目,首先要了解业务问题和需求。这能帮助你确定如何收集数据,由谁来标注训练数据库,以及在数据采集过程中是否需要该领域的专家或语言学专家的参与。对解决方案中的问题和NLP的作用采用清晰、明确的定义。
- 通过用户测试来确保用户满意度。对于自动语音识别项目(ASR),要由带有不同口音的讲话者用不同的方式阐述同一个事物。对于聊天机器人和智能语音AI中的自然语言理解(NLU),在测试时用户要像和另一个人聊天一样自然地交互。在真实场景中进行用户测试的次数越多,用户与NLP系统之间的交互就越顺畅。
- ML模型不是魔法。当NLP无法产生 100% 准确结果时,要设计“备用”方法。NLP是一个尚在发展的领域,需要有该领域的专业知识和高品质的训练数据集才能正确实施。在NLP达不到要求的关键时刻,要确保有备份计划并管理NLP输出(考虑使用“人机协同”(human-in-the-loop)。
Siri: 恭喜你读完了文章,知道为什么我懂你在说什么了吗?下次我不开心的时候可以也给我唱首歌吗?