CN110457456A - 一种聊天机器人应答方法和装置 - Google Patents

一种聊天机器人应答方法和装置 Download PDF

Info

Publication number
CN110457456A
CN110457456A CN201910678382.6A CN201910678382A CN110457456A CN 110457456 A CN110457456 A CN 110457456A CN 201910678382 A CN201910678382 A CN 201910678382A CN 110457456 A CN110457456 A CN 110457456A
Authority
CN
China
Prior art keywords
template
asterisk wildcard
type configuration
type
sentence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910678382.6A
Other languages
English (en)
Inventor
杨明晖
郭清沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910678382.6A priority Critical patent/CN110457456A/zh
Publication of CN110457456A publication Critical patent/CN110457456A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种聊天机器人应答方法和装置。聊天机器人可接收句子,并确定所接收的句子是否命中包含通配符的模板。如果命中包含通配符的模板,可进一步确定该模板是否有针对通配符的类型配置。如果该模板有针对通配符的类型配置,则确定所接收的句子中与该通配符相对应的内容是否满足该类型配置。如果所接收的句子中与该通配符相对应的内容满足该类型配置,则聊天机器人输出该模板的预定义回答。本公开还提供了相应的聊天机器人和聊天机器人应答系统。

Description

一种聊天机器人应答方法和装置
技术领域
本公开涉及计算机领域,尤其涉及一种聊天机器人应答方法和装置。
背景技术
随着计算机技术和互联网的发展,基于人工智能技术的机器人能够越来越智能地与人类进行交互。聊天机器人是一种用于模拟人类来与人进行语音或文字对话或聊天的计算机程序。目前市场上有多款以聊天为主要目标的聊天机器人产品,如微软小冰、小黄鸡等。此外,聊天机器人也广泛地用作机器人客服来回答用户的问题。机器人客服不需要休息,可以更加快速和标准化地响应用户的问题,以语音对话或文字聊天的形式与用户进行沟通,将人工客服从大量重复性问答中解放出来。
目前用于解答用户问题的聊天机器人主要是基于知识库工作的。知识库中存储有问题和答案,其中每个问题都有一个对应的答案,即问题与答案具有一一对应关系。如果用户提出的问题可以在知识库中匹配到预设的问题,则聊天机器人可以快速地将知识库中对应的答案提供给用户。
利用通配符功能,聊天机器人可以回答更多的用户问题。例如,当用户对聊天机器人说“你喜欢*吗(其中*由具体内容代替)”时,聊天机器人可被设置为回复“我最喜欢*了!(其中*由具体内容代替)”。然而,由于通配符会涵盖所有的文本内容,所以当用户提及的内容发生变化甚至有错误时,聊天机器人仍只能给出相同的回复。如用户说“你喜欢说脏话吗”、“你喜欢什么吗”、“你喜欢呵呵呵吗”时,聊天机器人分别会回复“我最喜欢说脏话了!”、“我最喜欢什么了!”、“我最喜欢呵呵呵了!”,这使得用户与机器人聊天的体验很差。
因此,本领域需要提供一种更智能的聊天机器人应答方法和装置。
发明内容
本公开提出了一种聊天机器人应答方法和装置,通过类型配置来提升机器人回答的精准度,减少低质量的回答。
根据本公开的一个实施例,提供了一种聊天机器人应答方法,其包括:由聊天机器人接收句子;确定所接收的句子是否命中包含通配符的模板;如果所接收的句子命中包含通配符的模板,则确定所述模板是否有针对所述通配符的类型配置;如果所述模板有针对所述通配符的类型配置,则确定所述句子中与所述通配符相对应的内容是否满足所述类型配置;以及如果所述内容满足所述类型配置,则输出所述模板的预定义回答。
在一方面,所述类型配置包括一种或多种类型,其中每种类型具有相关联的回答,并且所述方法进一步包括:确定所述句子中与所述通配符相对应的内容所满足的类型;以及输出与所满足的类型相关联的回答。
在一方面,所述内容所满足的类型具有多个相关联的回答,并且输出与所述类型相关联的回答包括:随机地输出所述类型的多个相关联的回答中的一个回答。
在一方面,确定所述句子中与所述通配符相对应的内容是否满足所述类型配置包括:确定所述内容是否属于所述类型配置中的类型;或者确定所述内容是否在与所述类型配置相关联的列表中。
在一方面,所述方法还包括:如果所述模板没有针对所述通配符的类型配置,则输出所述模板的预定义回答。
在一方面,所述方法还包括:确定所接收的句子是否命中不包含通配符的模板;以及如果所接收的句子没有命中不包含通配符的模板,则确定所接收的句子是否命中包含通配符的模板。
在一方面,所述方法还包括:如果所述句子中与所述通配符相对应的内容不满足所述类型配置,则输出默认回答,所述默认回答不同于所述模板的预定义回答。
在一方面,所述类型配置包括以下一者或多者:食物、动物、植物、地区、运动、物品、虚拟对象、时间、概念、专用名词。
在一方面,所述聊天机器人包括以下一者或多者:计算机、服务器、平板设备、智能手机、智能可穿戴设备、智能音像设备、多媒体终端、智能机器人设备。
根据本公开的另一个实施例,提供了一种聊天机器人,其包括:输入组件,其接收句子;模板匹配组件,其确定所接收的句子是否命中包含通配符的模板;类型配置确定组件,其用于如果所接收的句子命中包含通配符的模板,则确定所述模板是否有针对所述通配符的类型配置,并且如果所述模板有针对所述通配符的类型配置,则确定所述句子中与所述通配符相对应的内容是否满足所述类型配置;以及输出组件,其用于如果所述内容满足所述类型配置,则输出所述模板的预定义回答。
在一方面,所述类型配置包括一种或多种类型,其中每种类型具有相关联的回答,其中所述类型配置确定组件确定所述句子中与所述通配符相对应的内容所满足的类型,并且所述输出组件输出与所满足的类型相关联的回答。
在一方面,所述内容所满足的类型具有多个相关联的回答,并且所述输出组件输出与所述类型相关联的回答包括:随机地输出所述类型的多个相关联的回答中的一个回答。
在一方面,所述类型配置确定组件确定所述句子中与所述通配符相对应的内容是否满足所述类型配置包括:确定所述内容是否属于所述类型配置中的类型;或者确定所述内容是否在与所述类型配置相关联的列表中。
在一方面,如果所述模板没有针对所述通配符的类型配置,则所述输出组件输出所述模板的预定义回答。
在一方面,所述模板匹配组件还用于:确定所接收的句子是否命中不包含通配符的模板;以及如果所接收的句子没有命中不包含通配符的模板,则确定所接收的句子是否命中包含通配符的模板。
在一方面,如果所述句子中与所述通配符相对应的内容不满足所述类型配置,则所述输出组件输出默认回答,所述默认回答不同于所述模板的预定义回答。
在一方面,所述类型配置包括以下一者或多者:食物、动物、植物、地区、运动、物品、虚拟对象、时间、概念、专用名词。
在一方面,所述聊天机器人包括以下一者或多者:计算机、服务器、平板设备、智能手机、智能可穿戴设备、智能音像设备、多媒体终端、智能机器人设备。
根据本公开的另一个实施例,提供了一种聊天机器人应答系统,其包括:处理器;用于存储处理器可执行指令的存储器,其中所述处理器被配置成执行所述处理器可执行指令以实现如上所述的方法。
根据本公开,在加上了类型配置限制之后,聊天机器人的回答能够更加精准和个性化,并减少无意义的输出。
附图说明
图1为根据本公开一个实施例的聊天机器人的场景示意图。
图2为根据本公开一个实施例的聊天机器人应答方法的流程图。
图3为根据本公开另一个实施例的聊天机器人应答方法的流程图。
图4为根据本公开另一个实施例的聊天机器人应答方法的流程图。
图5为根据本公开一个实施例的聊天机器人的框图。
具体实施方式
下面结合具体实施例和附图对本公开作进一步说明,但不应以此限制本公开的保护范围。
本公开提供了一种聊天机器人应答方法和装置。聊天机器人可接收句子,并确定所接收的句子是否命中包含通配符的模板。如果命中包含通配符的模板,可进一步确定该模板是否有针对通配符的类型配置。如果该模板有针对通配符的类型配置,则确定所接收的句子中与该通配符相对应的内容是否满足该类型配置。如果所接收的句子中与该通配符相对应的内容满足该类型配置,则聊天机器人输出该模板的预定义回答。在加上了类型配置限制之后,聊天机器人的回答能够更加精准和个性化,并减少无意义的输出。
图1为根据本公开一个实施例的聊天机器人的场景示意图。在一个实施例中,聊天机器人可以由服务器110实现。例如,聊天机器人可以实现为服务器110中的应用程序。用户142、144、146可通过相应的终端设备132、134、136经由因特网120来与服务器110通信,例如在终端设备132、134、136上与服务器110所支持的聊天机器人进行聊天。用户142、144、146可在终端设备132、134、136上输入文字或音频信息,这些文字或音频信息传递到由服务器110实现的聊天机器人。作为应答,由服务器110实现的聊天机器人可以将文字或音频信息传递到终端设备132、134、136,然后经由视觉或听觉呈现给用户。音频信息也可以在传递/处理之前或之后转换成文字。
在另一个实施例中,聊天机器人可以由终端设备132-136、智能设备138实现。例如,聊天机器人可以实现为终端设备132-136、智能设备138中的应用。终端设备132-136、智能设备138可以与因特网120通信,也可以不与因特网120通信。智能设备138被示为具有机器人外形,但是本领域技术人员可以理解,智能设备138可具有任何其他合适的形式。用户142-148可通过音频或文字来与终端设备132-136、智能设备138进行聊天。例如,终端设备132-136、智能设备138可包括输入设备(如话筒、键盘、触摸屏等)以接收来自用户的输入信息,并且可包括输出设备(如扬声器、显示器等)以向用户提供输出信息。虽然图1中分开地示出了用户142-148,但这些用户142-148可以是同一个用户,或是任何数目的用户。
作为示例而非限定,根据本公开的聊天机器人可以是台式计算机、笔记本计算机、平板设备、智能手机、智能可穿戴设备、智能音像设备、多媒体终端、机器人等,也可以是在这些设备上运行的软件程序。聊天机器人可以提供人机交互接口,例如键盘、鼠标、触摸屏、显示器、语音输入/输出设备等,从而能够通过文字和/或语音来与人进行交流,尤其是在用户提出问题时进行回答。在其他实施例中,聊天机器人甚至可以与另一聊天机器人进行对话或与其他设备交换信息。
作为示例而非限定,人工智能标记语言(Artificial Intelligence MarkupLanguage,AIML)是一种用于编写聊天机器人的XML语言。传统的AIML通过XML语言定义聊天功能。一个简单的例子如下所示:
当用户对聊天机器人说“在吗”时,聊天机器人将回复“您好,我在,很高兴为您服务!”。为了支持更加泛化的表达,AIML提供了通配符功能,如下所示:
当用户对聊天机器人说“你喜欢看电影吗”时,聊天机器人将回复“我最喜欢看电影了!”。
由此,用户可通过终端设备来与由服务器所实现的聊天机器人进行聊天,或者用户可以与由终端设备或智能设备所实现的聊天机器人进行聊天。
图2为根据本公开一个实施例的聊天机器人应答方法的流程图。
在步骤202,聊天机器人可接收句子。聊天机器人可以从用户、网络、另一聊天机器人、存储器、其他设备等接收文本句子、语音输入、多媒体文件、视频或图像输入等。如果接收到的输入不是文本句子格式,则聊天机器人可以通过各种技术将其他格式的输入转换成文本句子格式。例如,可通过各种语音识别技术来将语音数据转换成文本格式,可通过光学字符识别(OCR)、人工神经网络技术(如RNN、LSTM、GRU)等技术来识别图像、视频等包含的文本信息。作为示例而非限定,聊天机器人可以对所接收的句子进行规范化处理,例如将句子中的某些表达替换成规范化表达(例如,全角转半角、英文大小写转换、简繁转换等),去除无含义内容(如标点符号、数学字符、高频无用词等),等等。
在步骤204,确定所接收的句子是否命中包含通配符的模板。即,聊天机器人可以确定所接收的句子是否与任何包含通配符的模板相匹配。此类模板可包括在指定位置处的一个通配符,或者可包括在多个指定位置处的相应多个通配符。每个通配符可代表一个或多个词。模板匹配过程可生成所接收的句子与模板的匹配度,如果匹配度高于阈值则可认为所接收的句子命中模板。
如果所接收的句子没有命中包含通配符的模板,则该流程前进至步骤220以输出空值。输出空值可以指示该模板匹配流程失败,由此不提供对所输入句子的回答。在其他实施例中,输出空值可以使得聊天机器人提供对所输入句子的默认回答,例如致歉语。相反,如果所接收的句子命中包含通配符的模板,则该流程前进至步骤206。
在步骤206,确定所命中的包含通配符的模板是否有针对该通配符的类型配置。类型配置指示所接收的句子中与该通配符所在位置相对应的内容应当符合的类型。一个模板可包括一个或多个通配符。如果模板包括一个通配符,则该模板的类型配置可指示该通配符所在位置处的句子内容应当满足的类型。如果模板包括多个通配符,则该模板的类型配置可指示其中一个或多个通配符所在位置处的内容各自应当满足的类型。在一些实施例中,模板可包括多个通配符,但仅针对其中一部分通配符具有类型配置。
在一个实施例中,模板的类型配置可以指示类型(即类别、分类)或子类型。作为示例而非限定,类型配置可指示以下一种或多种类型:食物、动物、植物、地区、运动、物品、虚拟对象、时间、概念、专用名词等。每种类型还可细分为多种子类型。例如,食物可包括多种子类型,如饮料、水果、干粮、零食等。物品可包括多种子类型,如电子产品、家具、办公用品、玩具、书籍等。地区可包括多种子类型,如国家、城市、街道等。专用名词可包括多种子类型,如人名、地名、机构名、产品名称、型号等。运动可包括各种子类型,如打球、唱歌、跳舞等。虚拟对象可包括各种子类型,如帐号、密码、订单、商品等。因此,类型配置可以指示包括一种或多种事项的任何类别(如上面描述的类型或子类型)。
在另一个实施例中,模板的类型配置可以是列表,其列出了满足该类型配置的项目。作为示例而非限定,一种类型配置可以是运动器材{篮球,羽毛球,乒乓球,足球,橄榄球},那么只有在该列表中的事项才被认为满足该类型配置。
如果所命中的模板没有类型配置,则该流程前进至步骤210并输出该模板的预定义回答。相反,如果所命中的模板有类型配置,则该流程前进至步骤208。
在步骤208,确定所接收的句子中与该通配符相对应的内容是否满足该模板的类型配置。根据本公开的一个实施例,可以对所接收的句子进行分析处理,以识别出句子中与该通配符相对应的内容。在一方面,可在单独步骤中(例如,在步骤204之后、或在步骤206之后)识别句子中与该通配符相对应的内容。在另一方面,在确定所接收的句子是否命中模板时(如在步骤204中)需要对句子进行分析,由此可附带地识别句子中与该通配符相对应的内容。
在识别出所接收的句子中与该通配符相对应的内容(例如,一个或多个词)之后,可确定该内容是否满足模板的类型配置。如果模板的类型配置指示类别,则确定句子内容是否满足模板的类型配置可通过例如NLP(Natural LanguageProcessing,自然语言处理)来解决。例如,可以使用NLP中的实体识别算法来确定与该通配符相对应的内容所属的类别,并判断所确定的类别是否与该模板的类型配置相一致。在其他实现中,也可以使用文本分类模型来确定与该通配符相对应的内容所属的类别,并判断所确定的类别是否与该模板的类型配置相一致。
在另一示例中,如果模板的类型配置包括列表,则可以确定所接收的句子中与该通配符相对应的内容(例如,一个或多个词)是否在该列表中。作为示例而非限定,可以使用字典树(Trie tree)来判断所接收的句子中与该通配符相对应的内容(例如,一个或多个词)是否与该列表中的项目匹配。
如果所接收的句子中与通配符所在的位置相对应的内容符合模板的类型配置,则表示该句子满足模板的类型配置。如果模板的类型配置指示多个通配符和相应的类型配置,则在句子中与每个通配符位置相对应的内容分别满足相应的类型配置时,该句子满足模板的类型配置。
如果所接收的句子中与通配符所在的位置相对应的内容不满足该模板的类型配置,则该流程前进至步骤220以输出空值。相反,如果所接收的句子中与通配符所在的位置相对应的内容满足该模板的类型配置,则在步骤210输出该模板的预定义回答。作为示例而非限定,该模板可以定义一个或多个回答。如果该模板定义了多个回答,则可在步骤210随机地输出多个预定义回答中的一个回答。
以下作为示例而非限定给出了根据本公开的聊天机器人应答的一个例子。根据本公开的一个实施例,以AIML为例,在编写AIML配置文件使用到通配符时,可以选择通配符对应的类型配置。例如,模板T1可定义为:
以上模板T1针对通配符(*)定义了类型配置“food”(即食物)。
聊天机器人可在步骤202接收用户输入的句子“你喜欢虾吗”,随后在步骤204确定该句子命中了包含通配符的上述模板T1。聊天机器人可在步骤206确定模板T1具有针对该通配符的类型配置,并在步骤208确定该句子中与通配符相对应的内容“虾”满足模板T1的类型配置,即“虾”属于类型配置中的类型“food”。由此,聊天机器人可在步骤210输出该模板的预定义回答“我吃过虾,味道还不错。”
作为另一示例,如果用户输入句子“你喜欢唱歌吗”,该句子同样命中上述模板T1。但在步骤208,聊天机器人可以确定该句子中的与通配符相对应的内容“唱歌”不满足模板T1的类型配置(类型“food”)。由此,聊天机器人可在步骤220输出空值。
图3为根据本公开另一个实施例的聊天机器人应答方法的流程图。为简明起见,图3中描述的与图2相似的步骤将不再详述。
在步骤302,聊天机器人可接收句子。
在步骤304,确定所接收的句子是否命中包含通配符的模板。如果所接收的句子没有命中包含通配符的模板,则该流程前进至步骤320以输出空值。相反,如果所接收的句子命中包含通配符的模板,则该流程前进至步骤306。
在步骤306,确定所命中的包含通配符的模板是否有针对该通配符的类型配置。类型配置指示所接收的句子中与该通配符所在位置相对应的内容应当符合的一个或多个类型,其中每种类型具有相关联的回答。如果所命中的模板没有类型配置,则该流程前进至步骤330并输出该模板的预定义回答。相反,如果所命中的模板有类型配置,则该流程前进至步骤308。
在步骤308,确定所接收的句子中与该通配符相对应的内容是否满足该模板的类型配置中的一个类型。如上所述,类型配置可指示一个或多个类型。因此,聊天机器人可以按顺序、随机地、按优先级等选择其中一个类型进行处理。如果所接收的句子中与通配符所在的位置相对应的内容符合该类型,则前进至步骤340。在步骤340,聊天机器人可输出与该类型相关联的回答。
相反,如果所接收的句子中与通配符所在的位置相对应的内容不符合该类型,则在步骤312确定该类型配置中是否包含尚未处理的下一个类型。如果没有下一个类型,则在步骤320输出空值。相反,如果存在尚未处理的下一个类型,则该流程回到步骤308,以确定所接收的句子中与该通配符相对应的内容是否满足该下一个类型。该流程继续进行,直至聊天机器人在步骤340输出与匹配的类型相关联的回答,或者在步骤320输出空值。
以下作为示例而非限定给出了根据本公开的聊天机器人应答的一个例子。以AIML为例,通配符对应的类型配置可包括多种类型。例如,模板T2可定义为:
以上模板针对通配符(*)定义了类型配置city(即,城市)和food(即食物)。聊天机器人可在步骤302接收用户输入的句子“你喜欢虾吗”,随后在步骤304确定该句子命中了包含通配符的上述模板T2。聊天机器人可在步骤306确定模板T2具有针对该通配符的类型配置。随后,在步骤308确定该句子中与通配符相对应的内容“虾”是否满足模板T2的类型配置中的第一类型city。由于“虾”不属于第一类型city,因此在步骤312确定该模块包括下一个类型food(即食物)。随后,在步骤308确定该句子中与通配符相对应的内容“虾”属于类型配置中的类型“food”。由此,聊天机器人可在步骤340输出与类型food相关联的回答“我没吃过虾。”。
作为另一示例,如果用户输入句子“你喜欢唱歌吗”,该句子同样命中上述模板T2。但在步骤308,聊天机器人可以确定该句子中的与通配符相对应的内容“唱歌”不满足模板T2的类型配置中的任一个类型city(即,城市)和food(即食物)。由此,聊天机器人可在步骤320输出空值。
图4为根据本公开另一个实施例的聊天机器人应答方法的流程图。以下关于图4的描述中与图2相似地编号的步骤可以如上所述地执行而不再详细描述。
在步骤402,聊天机器人可接收句子。
在步骤403,确定所接收的句子是否命中无通配符的模板。即,聊天机器人可以确定所接收的句子是否与任何无通配符的模板相匹配。模板匹配过程可计算所接收的句子与模板的匹配度,如果匹配度高于阈值则可认为所接收的句子命中模板。如果确定所接收的句子命中无通配符的模板,则该过程可以前进至步骤410并输出该模板的预定义回答。相反,如果所接收的句子没有命中无通配符的模板,则该流程前进至步骤404。
在步骤404,确定所接收的句子是否命中包含通配符的模板。如果所接收的句子没有命中包含通配符的模板,则该流程前进至步骤420以输出空值。相反,如果所接收的句子命中一个或多个包含通配符的模板,则该流程前进至步骤406。如果命中多个包含通配符的模板,可在步骤406-409依次评估每个命中的包含通配符的模板。例如,可以按照模板优先级、按照指定次序、按照随机次序等来评估每个命中的包含通配符的模板。作为示例而非限定,有类型配置的模板可比无类型配置的模板具有更高优先级,从而优先被评估。
在步骤406,可确定所命中的包含通配符的模板是否有类型配置。如果所命中的模板没有类型配置,则该流程前进至步骤410并输出该模板的预定义回答。相反,如果所命中的模板有类型配置,则该流程前进至步骤408。
在步骤408,确定句子中与通配符相对应的内容是否满足该模板针对通配符的类型配置。如果确定句子内容满足该模板的类型配置,则在步骤410输出该模板的预定义回答。相反,如果确定句子内容不满足该模板的类型配置,则该流程前进至步骤409以确定是否存在下一个命中的包含通配符的模板要评估。如果存在下一个包含通配符的模板,则该流程回到步骤406以评估下一个包含通配符的模板。如果不存在下一个包含通配符的模板,则该流程前进至步骤420以输出空值。
以下作为示例而非限定给出了根据图4的聊天机器人应答的一个例子。除了上文的模板T1之外,还可以定义模板T3:
以上模板T3针对通配符(*)定义了类型配置“city”(即城市)。由此,存在两个关于“你喜欢*吗”的模板即T1、T3,其分别处理通配符内容为类型“food”和“city”的情况。
当用户提问“你喜欢杭州吗”,如果在步骤403匹配到不包含通配符的模板“你喜欢杭州吗”,则可前进至步骤410输出该模板的预定义回答。否则,该流程可在步骤404处命中模板T1和T3。假设先评估模板T1,在步骤406确定模板T1有类型配置,随后在步骤408确定所接收的句子中与通配符相关联的内容不满足模板T1的类型配置(句子内容“杭州”不满足类型配置“food”)。随后在步骤409确定存在下一个命中的模板T3,并回到步骤406以评估模板T3。该流程在步骤406确定模板T3有类型配置,随后在步骤408确定句子内容“杭州”满足模板T3的类型配置(句子内容“杭州”满足类型配置“city”)。由此,该流程前进至步骤410并输出模板T3的回答,例如“我刚去过杭州,很美。”。
根据本公开,在加上了类型配置限制之后,聊天机器人的回答能够更加精准,也减少了无意义的输出。比如,用户提问“你喜欢杭州吗”、“你喜欢西湖醋鱼吗”时,机器人可以分别回复“我刚去过杭州,很美。”、“我吃过西湖醋鱼,味道还不错。”,从而提供更加个性化的回答。而在用户提问“你喜欢说脏话吗”、“你喜欢什么吗”、“你喜欢呵呵呵吗”时,虽然这些句子命中包含通配符的模板,但由于句子中与通配符相对应的内容“说脏话”、“什么”、“呵呵呵”不满足上述模板的类型配置,聊天机器人不会输出这些模板的预定义回答,而是可以回复默认回答(例如,致歉语)或者为这些内容定义具有类型配置的其他模板来避免低质量的回答。
虽然以上提供了一个或两个模板作为示例,但本公开不限于此。在本公开的聊天机器人应答流程中,聊天机器人可以并行或串行地评估多个模板。此外,本公开还可以与其他不同的聊天机器人应答流程(不同的模板或模板匹配方法)并行或串行地执行,并在汇总各个应答流程的回答后提供最终的应答(例如,匹配度最高的模板的回答、优先级最高的回答、最先匹配到的回答等)。
图5为根据本公开一个实施例的聊天机器人500的框图。聊天机器人500可包括输入组件501以接收句子。输入组件501可包括键盘、鼠标、触摸屏、显示器、语音输入设备、输入框等以从用户接收输入的句子。在其他实施例中,输入组件501也可以是能够从网络或其他设备接收句子信息的接收器,能够从存储器读取句子的信息读取组件,能够从音频、视频、图片等中识别句子信息的文字识别组件等。
聊天机器人500还可包括模板匹配组件502,其确定所接收的句子是否命中模板。例如,在一个实施例中,模板匹配组件502确定所接收的句子是否命中包含通配符的模板。在另一个实施例中,模板匹配组件502确定所接收的句子是否命中不包含通配符的模板,如果所接收的句子没有命中不包含通配符的模板,则确定所接收的句子是否命中包含通配符的模板。
聊天机器人500还可包括类型配置确定组件503。例如,如果模板匹配组件502确定所接收的句子命中包含通配符的模板,类型配置确定组件503可确定该模板是否有针对通配符的类型配置,并且如果该模板有针对通配符的类型配置,则确定所接收的句子中与通配符相对应的内容是否满足该类型配置。类型配置确定组件503可确定句子中与通配符相对应的内容是否属于该类型配置中定义的类型,或者可确定句子中与通配符相对应的内容是否在与该类型配置相关联的列表中。
聊天机器人500还可包括输出组件504,其被配置成输出回答。根据本公开的一个实施例,输出组件504可以是任何输出设备,如可以向用户显示输出的显示屏、可以向用户或其他设备输出音频信号的声音输出设备、可以向其他设备发送输出信息的信号发送器等。
在一个实施例中,如果所接收的句子没有命中任何模板,输出组件504可输出默认回答,例如致歉语。如果所接收的句子命中了没有通配符的模板、或者命中了有通配符但没有类型配置的模板,输出组件504可输出该模板的预定义回答。此外,如果所接收的句子命中了有通配符和类型配置的模板并且句子中与通配符相对应的内容满足该类型配置,输出组件504可输出该模板的预定义回答。相反,如果所接收的句子命中了有通配符和类型配置的模板但句子中与通配符相对应的内容不满足该类型配置,输出组件504可输出默认回答。如果所命中的模板包含多个预定义回答,输出组件504可以随机地输出该模板的多个预定义回答中的一个回答。
如上所述,本公开提出了一种聊天机器人应答方法和装置。当用户对聊天机器人发送一个句子(例如,问题)时,聊天机器人首先会对句子进行分析,以确定是否命中模板。如果没有命中模板,则输出空值。如果命中了没有通配符的模板,则可以直接输出该模板的预定义回答。如果命中有通配符但没有类型配置的模板,则可以直接输出该模板的预定义答案。如果命中有通配符并且有针对通配符的类型配置的模板,机器人将检查句子中与该通配符相对应的内容是否满足该类型配置。如果句子中与该通配符相对应的内容满足模板定义的类型配置,则输出该模板的预定义答案。如果不满足模板的类型配置,则可以输出空值,表示没有匹配到模板。输出空值时,聊天机器人可以用兜底致歉语回复用户。
根据本公开,在加上了类型配置限制之后,聊天机器人的回答能够更加精准和个性化,并减少无意义的输出。
以上描述的聊天机器人应答方法和装置的各个步骤和模块可以用硬件、软件、或其组合来实现。如果在硬件中实现,结合本公开描述的各种说明性步骤、模块、以及电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其他可编程逻辑组件、硬件组件、或其任何组合来实现或执行。通用处理器可以是处理器、微处理器、控制器、微控制器、或状态机等。如果在软件中实现,则结合本公开描述的各种说明性步骤、模块可以作为一条或多条指令或代码存储在计算机可读介质上或进行传送。实现本公开的各种操作的软件模块可驻留在存储介质中,如RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、可移动盘、CD-ROM、云存储等。存储介质可耦合到处理器以使得该处理器能从/向该存储介质读写信息,并执行相应的程序模块以实现本公开的各个步骤。而且,基于软件的实施例可以通过适当的通信手段被上载、下载或远程地访问。这种适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或者其他这样的通信手段。
还应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可被重新安排。
所公开的方法、装置和系统不应以任何方式被限制。相反,本公开涵盖各种所公开的实施例(单独和彼此的各种组合和子组合)的所有新颖和非显而易见的特征和方面。所公开的方法、装置和系统不限于任何具体方面或特征或它们的组合,所公开的任何实施例也不要求存在任一个或多个具体优点或者解决特定或所有技术问题。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多更改,这些均落在本公开的保护范围之内。

Claims (19)

1.一种聊天机器人应答方法,其特征在于,包括:
由聊天机器人接收句子;
确定所接收的句子是否命中包含通配符的模板;
如果所接收的句子命中包含通配符的模板,则确定所述模板是否有针对所述通配符的类型配置;
如果所述模板有针对所述通配符的类型配置,则确定所述句子中与所述通配符相对应的内容是否满足所述类型配置;以及
如果所述内容满足所述类型配置,则输出所述模板的预定义回答。
2.如权利要求1所述的方法,其特征在于,所述类型配置包括一种或多种类型,其中每种类型具有相关联的回答,并且所述方法进一步包括:
确定所述句子中与所述通配符相对应的内容所满足的类型;以及
输出与所满足的类型相关联的回答。
3.如权利要求2所述的方法,其特征在于,所述内容所满足的类型具有多个相关联的回答,并且输出与所述类型相关联的回答包括:
随机地输出所述类型的多个相关联的回答中的一个回答。
4.如权利要求1所述的方法,其特征在于,确定所述句子中与所述通配符相对应的内容是否满足所述类型配置包括:
确定所述内容是否属于所述类型配置中的类型;或者
确定所述内容是否在与所述类型配置相关联的列表中。
5.如权利要求1所述的方法,其特征在于,还包括:
如果所述模板没有针对所述通配符的类型配置,则输出所述模板的预定义回答。
6.如权利要求1所述的方法,其特征在于,还包括:
确定所接收的句子是否命中不包含通配符的模板;以及
如果所接收的句子没有命中不包含通配符的模板,则确定所接收的句子是否命中包含通配符的模板。
7.如权利要求1所述的方法,其特征在于,还包括:
如果所述句子中与所述通配符相对应的内容不满足所述类型配置,则输出默认回答,所述默认回答不同于所述模板的预定义回答。
8.如权利要求1所述的方法,其特征在于,所述类型配置包括以下一者或多者:食物、动物、植物、地区、运动、物品、虚拟对象、时间、概念、专用名词。
9.如权利要求1所述的方法,其特征在于,所述聊天机器人包括以下一者或多者:计算机、服务器、平板设备、智能手机、智能可穿戴设备、智能音像设备、多媒体终端、智能机器人设备。
10.一种聊天机器人,其特征在于,包括:
输入组件,其接收句子;
模板匹配组件,其确定所接收的句子是否命中包含通配符的模板;
类型配置确定组件,其用于如果所接收的句子命中包含通配符的模板,则确定所述模板是否有针对所述通配符的类型配置,并且如果所述模板有针对所述通配符的类型配置,则确定所述句子中与所述通配符相对应的内容是否满足所述类型配置;以及
输出组件,其用于如果所述内容满足所述类型配置,则输出所述模板的预定义回答。
11.如权利要求10所述的聊天机器人,其特征在于,所述类型配置包括一种或多种类型,其中每种类型具有相关联的回答,其中所述类型配置确定组件确定所述句子中与所述通配符相对应的内容所满足的类型,并且所述输出组件输出与所满足的类型相关联的回答。
12.如权利要求11所述的聊天机器人,其特征在于,所述内容所满足的类型具有多个相关联的回答,并且所述输出组件输出与所述类型相关联的回答包括:
随机地输出所述类型的多个相关联的回答中的一个回答。
13.如权利要求10所述的聊天机器人,其特征在于,所述类型配置确定组件确定所述句子中与所述通配符相对应的内容是否满足所述类型配置包括:
确定所述内容是否属于所述类型配置中的类型;或者
确定所述内容是否在与所述类型配置相关联的列表中。
14.如权利要求10所述的聊天机器人,其特征在于,如果所述模板没有针对所述通配符的类型配置,则所述输出组件输出所述模板的预定义回答。
15.如权利要求10所述的聊天机器人,其特征在于,所述模板匹配组件还用于:
确定所接收的句子是否命中不包含通配符的模板;以及
如果所接收的句子没有命中不包含通配符的模板,则确定所接收的句子是否命中包含通配符的模板。
16.如权利要求10所述的聊天机器人,其特征在于,如果所述句子中与所述通配符相对应的内容不满足所述类型配置,则所述输出组件输出默认回答,所述默认回答不同于所述模板的预定义回答。
17.如权利要求10所述的聊天机器人,其特征在于,所述类型配置包括以下一者或多者:食物、动物、植物、地区、运动、物品、虚拟对象、时间、概念、专用名词。
18.如权利要求10所述的聊天机器人,其特征在于,所述聊天机器人包括以下一者或多者:计算机、服务器、平板设备、智能手机、智能可穿戴设备、智能音像设备、多媒体终端、智能机器人设备。
19.一种聊天机器人应答系统,其特征在于,包括:
处理器;以及
用于存储处理器可执行指令的存储器,
其中所述处理器被配置成执行所述处理器可执行指令以实现如权利要求1-9中任一项所述的方法。
CN201910678382.6A 2019-07-25 2019-07-25 一种聊天机器人应答方法和装置 Pending CN110457456A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910678382.6A CN110457456A (zh) 2019-07-25 2019-07-25 一种聊天机器人应答方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910678382.6A CN110457456A (zh) 2019-07-25 2019-07-25 一种聊天机器人应答方法和装置

Publications (1)

Publication Number Publication Date
CN110457456A true CN110457456A (zh) 2019-11-15

Family

ID=68483480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910678382.6A Pending CN110457456A (zh) 2019-07-25 2019-07-25 一种聊天机器人应答方法和装置

Country Status (1)

Country Link
CN (1) CN110457456A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030267A (zh) * 2006-02-28 2007-09-05 腾讯科技(深圳)有限公司 自动问答方法及系统
JP2015036945A (ja) * 2013-08-15 2015-02-23 株式会社インテリジェントウェイブ 質問回答制御プログラム、質問回答制御サーバ及び質問回答制御方法
CN107229675A (zh) * 2017-04-28 2017-10-03 北京神州泰岳软件股份有限公司 列表型知识的问答库构建方法、作答方法、装置及系统
WO2018186445A1 (ja) * 2017-04-06 2018-10-11 株式会社Nttドコモ 対話システム
CN109885810A (zh) * 2019-01-17 2019-06-14 平安城市建设科技(深圳)有限公司 基于语义解析的人机问答方法、装置、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030267A (zh) * 2006-02-28 2007-09-05 腾讯科技(深圳)有限公司 自动问答方法及系统
JP2015036945A (ja) * 2013-08-15 2015-02-23 株式会社インテリジェントウェイブ 質問回答制御プログラム、質問回答制御サーバ及び質問回答制御方法
WO2018186445A1 (ja) * 2017-04-06 2018-10-11 株式会社Nttドコモ 対話システム
CN107229675A (zh) * 2017-04-28 2017-10-03 北京神州泰岳软件股份有限公司 列表型知识的问答库构建方法、作答方法、装置及系统
CN109885810A (zh) * 2019-01-17 2019-06-14 平安城市建设科技(深圳)有限公司 基于语义解析的人机问答方法、装置、设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大琳琳爱吃鱼: "aiml使用记录", pages 1 - 6, Retrieved from the Internet <URL:http://t.csdn.cn/dWcOg> *
王小小草: "10分钟构建人人都能学会的个性化聊天机器人-使用AIML(王小草博客)", pages 1 - 10, Retrieved from the Internet <URL:https://blog.csdn.net/sinat_33761963/article/details/79232894> *

Similar Documents

Publication Publication Date Title
WO2022078102A1 (zh) 一种实体识别方法、装置、设备以及存储介质
Prasad et al. Sentiment analysis for sarcasm detection on streaming short text data
US12039447B2 (en) Information processing method and terminal, and computer storage medium
CN110232183A (zh) 关键词提取模型训练方法、关键词提取方法、装置及存储介质
CN108920622A (zh) 一种意图识别的训练方法、训练装置和识别装置
CN111930940A (zh) 一种文本情感分类方法、装置、电子设备及存储介质
CN108345692A (zh) 一种自动问答方法和系统
CN107947951A (zh) 用户群组推荐方法、装置及存储介质和服务器
CN109492101A (zh) 基于标签信息与文本特征的文本分类方法、系统及介质
CN103577989B (zh) 一种基于产品识别的信息分类方法及信息分类系统
CN111159380B (zh) 交互方法、装置、计算机设备及存储介质
CN110399490A (zh) 一种弹幕文本分类方法、装置、设备及存储介质
CN106599256B (zh) 结构信息生成方法及装置、交互方法及装置
CN108960574A (zh) 问答的质量确定方法、装置、服务器和存储介质
CN109992781B (zh) 文本特征的处理方法、装置和存储介质
CN107977928A (zh) 表情生成方法、装置、终端及存储介质
CN109933782A (zh) 用户情绪预测方法和装置
CN111666400B (zh) 消息获取方法、装置、计算机设备及存储介质
CN116704085B (zh) 虚拟形象生成方法、装置、电子设备和存储介质
CN108345612A (zh) 一种问题处理方法和装置、一种用于问题处理的装置
CN106569996B (zh) 一种面向中文微博的情感倾向分析方法
CN111259257A (zh) 一种信息展示方法、系统、装置、电子设备及存储介质
CN111161726A (zh) 一种智能语音交互方法、设备、介质及系统
CN114428845A (zh) 智能客服自动应答方法及其装置、设备、介质、产品
CN110377708B (zh) 一种多情景对话切换方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191115