如何搭建一个聊天机器人?NLP 一节课帮你解惑

5个步骤的NLP流程可以帮助您设计简单的聊天机器人

顾名思义,“聊天机器人”是与您聊天的机器。诀窍是使它尽可能像人一样。从“美国运通客户支持”到Google Pixel的呼叫筛选软件聊天机器人,各种各样。

如何搭建一个聊天机器人?NLP 一节课帮你解惑

作者 Blake Wisz 图片来自 Usplash

它实际上如何运作?

聊天机器人的早期版本使用一种称为模式匹配的机器学习技术。与当今使用的高级NLP技术相比,这要简单得多。

什么是模式匹配?

要理解这一点,请想象您会问一个书商,例如“ __本书的价格是多少?”或“您拥有____本书的哪几本书?”这些斜体字中的每一个都是可以将来出现类似问题时进行匹配。

模式匹配需要大量预先生成的模式。基于这些预先生成的模式,聊天机器人可以轻松地选择与客户查询最匹配的模式并为其提供答案。

您不妨猜一下下面的聊天是如何实现的?

如何搭建一个聊天机器人?NLP 一节课帮你解惑

简而言之,可以将我的价格知道的问题转换为模板<star />的价格。该模板就像一个密钥,以后将使用它存储所有答案。所以我们可以有以下内容

  • iPhone X的价格-1500美元
  • Kindle Paperwhite的价格-100美元

AIML(人工智能建模语言)中的代码看起来像

如何搭建一个聊天机器人?NLP 一节课帮你解惑

NLP聊天机器人

模式匹配很容易实现,但是只能走得很远。 它需要许多预先生成的模板,并且仅对期望数量有限的问题的应用程序有用。

如何搭建一个聊天机器人?NLP 一节课帮你解惑

xkcd

输入NLP! NLP是一些稍先进的技术的集合,可以理解广泛的问题。创建聊天机器人的NLP过程可以分为5个主要步骤

1)标记化-标记化是一种将文本切成小段的技术,称为标记,并同时丢弃某些字符,例如标点符号。这些标记在语言上代表文本。

如何搭建一个聊天机器人?NLP 一节课帮你解惑

标记句子

2)规范化-规范化处理文本以找出可能会改变用户请求的预期含义的常见拼写错误。一篇对推文进行规范化的非常好的研究论文很好地解释了这个概念

如何搭建一个聊天机器人?NLP 一节课帮你解惑

推文研究的句法规范化

3)识别实体-此步骤可帮助聊天机器人识别正在谈论的事物,例如是对象还是国家/地区或数字还是用户的地址。 在下面的示例中观察到Google,IBM和Microsoft是如何组织在一起的。此步骤也称为命名实体识别。

如何搭建一个聊天机器人?NLP 一节课帮你解惑

4)依存关系解析-在这一步中,我们将句子分为其名词,动词,宾语,常用短语和标点符号。这项技术可帮助机器识别短语,进而告诉用户要传达的内容。

如何搭建一个聊天机器人?NLP 一节课帮你解惑

Stanford —依赖项解析示例

5)生成-最后,生成响应的步骤。以上所有步骤都属于NLU(自然语言理解)。这些步骤可帮助机器人理解所写句子的含义。但是,此步骤属于NLG(自然语言生成)。此步骤接收先前NLU步骤的输出,并生成许多具有相同含义的句子。在以下方面,生成的句子通常相似

  • 词序-“厨房灯”类似于“厨房灯”
  • 单数/复数-“厨房灯”类似于“厨房灯”
  • 问题-“关门”类似于“您介意关门吗?”
  • 否定-“在19:00打开电视”类似于“在19:00不打开电视”
  • 礼貌-“打开电视”类似于“请您能开一个电视好吗?”

根据用户的问题,机器人可以使用上述选项之一进行回复,并且用户会满意地返回。在许多情况下,用户无法区分机器人和人类。


自1995年AIML发明以来,聊天机器人一直在稳步增长,并取得了长足的发展。即使在2016年,平均用户花费超过20分钟的时间通过消息传递应用程序进行交互,其中Kakao,Whatsapp和Line是最受欢迎的。

如何搭建一个聊天机器人?NLP 一节课帮你解惑

相似的网络

世界各地的企业都在寻求削减客户服务成本,并通过使用这些漫游器来全天候提供客户服务。

NLP还有很长的路要走,但是即使在目前的状态下,NLP在聊天机器人领域也有很大的希望。


本文编译自 | towardsdatascience.com 译者 | Yafei

转载请联系后台获得申请,否则将按照对应平台的规则投诉处理。