CN112015852A - 在关于事件的会话中提供响应 - Google Patents

在关于事件的会话中提供响应 Download PDF

Info

Publication number
CN112015852A
CN112015852A CN201910468365.XA CN201910468365A CN112015852A CN 112015852 A CN112015852 A CN 112015852A CN 201910468365 A CN201910468365 A CN 201910468365A CN 112015852 A CN112015852 A CN 112015852A
Authority
CN
China
Prior art keywords
event
message
response
candidate responses
candidate
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
CN201910468365.XA
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201910468365.XA priority Critical patent/CN112015852A/zh
Priority to PCT/US2020/026462 priority patent/WO2020242596A1/en
Priority to EP20722415.5A priority patent/EP3977685A1/en
Priority to US17/606,857 priority patent/US20220210098A1/en
Publication of CN112015852A publication Critical patent/CN112015852A/zh
Pending legal-status Critical Current

Links

Images

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/31Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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/3325Reformulation based on results of preceding query
    • G06F16/3326Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
    • 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
    • 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/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Robotics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了用于在关于事件的会话中提供响应的方法和装置。所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者。可以检测来自所述至少一个参与者的至少一个消息。可以根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应。可以通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应。可以从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应。可以在所述会话中提供所选择的响应。

Description

在关于事件的会话中提供响应
背景技术
人工智能(AI)聊天机器人变得越来越流行,并且正在越来越多的场景中得到应用。聊天机器人被设计用于模拟人类对话,并且可以通过文本、语音、图像等与用户聊天。通常,聊天机器人可以是采用基于机器学习的聊天模型来构建的。当接收到用户输入的消息时,该聊天模型可以识别消息中的关键词或者对消息应用自然语言处理,并且输出针对该消息的响应。
发明内容
提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。
本公开的实施例提出了用于在关于事件的会话中提供响应的方法和装置。所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者。可以检测来自所述至少一个参与者的至少一个消息。可以根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应。可以通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应。可以从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应。可以在所述会话中提供所选择的响应。
应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。
附图说明
以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。
图1示出了根据实施例的实现关于事件的会话的示例性应用场景。
图2示出了根据实施例的由聊天机器人在关于事件的会话中提供响应的示例性架构。
图3示出了根据实施例的由聊天机器人在关于事件的会话中提供实时事件内容的示例性架构。
图4示出了根据实施例的用于在关于事件的会话中提供响应的示例性过程。
图5示出了根据实施例的示例性会话窗口。
图6示出了根据实施例的示例性会话窗口。
图7示出了根据实施例的用于在关于事件的会话中提供响应的示例性方法的流程图。
图8示出了根据实施例的用于在关于事件的会话中提供响应的示例性装置。
图9示出了根据实施例的用于在关于事件的会话中提供响应的示例性装置。
具体实施方式
现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。
通常,聊天机器人所采用的聊天模型是基于来自人类对话的大量数据来训练的。经过训练的聊天模型可以模拟人类对话并与用户进行实时聊天。基于通用域内的训练数据所构建的聊天机器人可以与用户进行纯聊天,纯聊天也可以被称为自由聊天、闲聊等。在一种应用场景下,聊天机器人可以在群聊或聊天室中与一个以上的用户进行纯聊天。
本公开的实施例提出了在关于事件的会话中,由电子对话代理向该会话的一个或多个其他参与者提供响应,例如,与所述事件相关联的响应、与所述事件所属于的域相关联的响应等。电子对话代理可以是例如聊天机器人。在本文中,“会话”可以指在聊天机器人与一个或多个聊天参与者之间的时间连续对话,其可以是群聊中的多方聊天或聊天室中的聊天,也可以是在聊天机器人与一个其他聊天参与者之间的一对一聊天。会话可以包括对话中的消息和响应,其中,“消息”是指由聊天机器人之外的参与者输入的任何信息,例如来自用户的查询、用户对聊天机器人的问题的答案、用户的意见等,“响应”是指由聊天机器人提供的任何信息,例如聊天机器人对用户的问题的答案、聊天机器人的评论等。术语“消息”和术语“查询”也可以互换使用。在本文中,“事件”可以指具有时间属性的活动,该活动的状态会随着时间而发生变化。例如,事件可以包括体育比赛、电子游戏直播、文艺演出等。以“足球比赛”事件为例,足球比赛具有其时间属性,该时间属性可以至少包括,例如,比赛开始时间、比赛结束时间、在比赛开始时间与比赛结束时间之间的时间段、比赛开始之前的时间段、比赛结束后的时间段等。足球比赛的状态会随着时间而发生变化,例如,比分、犯规、球员表现、现场观众行为等都会随着时间而发生变化。事件可以是实时发生的,例如正在进行的足球比赛,或者可以不是实时发生的,例如已经结束的选秀比赛。通常,一个事件可以关联于一个或多个特定的域,例如,一场足球比赛可以关联于足球域或运动域,一场电子游戏可以关联于电子竞技域或游戏域,一场选秀比赛可以关联于艺术表演域,等等。“关于事件的会话”可以指以一个事件为核心或主要话题的会话,例如,关于一场足球比赛的聊天室中的聊天、关于一场电子游戏直播的群聊等。
本公开的实施例可以使得聊天机器人除了能够进行纯聊天之外,还具有在会话中提供与特定事件或特定域相关联的响应的能力。从而,当聊天机器人参与关于某一事件的会话时,聊天机器人可以提供与该会话所针对的事件关联性更强的各种响应。例如,聊天机器人可以与其他参与者针对该事件进行讨论、可以提供针对该事件的专业性评论、可以实时地提供关于该事件的进展的播报等等。本公开的实施例可以增强聊天机器人在会话中的响应的相关度,提高聊天机器人在会话中的参与度,通过聊天机器人的响应引导其他参与者的讨论,提升会话的整体活跃度等等。
在一个方面,聊天机器人可以在关于事件的会话中与其他参与者进行基于域的聊天。例如,对于来自一个参与者的消息,聊天机器人可以提供根据该事件所关联的域而生成的响应。从而,聊天机器人可以与其他参与者针对该事件进行讨论,例如,讨论该事件中涉及的实体、讨论该事件中发生的事实等。以关于一场足球比赛的事件为例,该足球比赛事件关联于足球域或运动域,该事件涉及的实体可以包括参加这场足球比赛的球队、球员、教练等,该事件中发生的事实可以包括在这场足球比赛中发生的状况,如一只球队进球、某个球员犯规等。聊天机器人可以根据来自该事件所关联的域的语料来生成响应,以进行基于该域的聊天。通过基于域的聊天机制,可以改进聊天机器人与其他参与者之间的互动、引导深入的话题讨论等。
在一个方面,聊天机器人在关于事件的会话中与其他参与者进行的基于域的聊天可以包括提供针对该事件的专业性评论。可以预先在该事件所关联的域中收集关于该事件的语料,例如评论、文章等,并且从中提取内容以便在会话中作为响应提供给其他参与者。由于这些语料可以是专业性人士创作的关于该事件的一些专业性的评论、文章等,基于这些语料所生成的响应可以使得聊天机器人表现出更高的专业性。以关于一场足球比赛的事件为例,专业性人士可能在比赛之前发表一些关于该足球比赛的前瞻性文章,这些前瞻性文章可以包括例如对球队和/或队员的分析、对比赛结果的预测等,聊天机器人可以在会话中将这些前瞻性文章中的内容提供作为响应。
在一个方面,聊天机器人可以在关于事件的会话中,提供实时事件内容,例如实时地提供关于该事件的进展的播报等。以关于一场足球比赛的事件为例,聊天机器人可以检测到在足球比赛中发生的实时信息,例如,进球等,并且相应地在会话中提供关于进球的播报。通过提供实时事件内容,可以增强其他参与者对聊天机器人的兴趣度、信任度等。
在一个方面,聊天机器人可以在关于事件的会话中保持立场的一致性,例如,聊天机器人所提供的多个响应的立场是一致的。在本文中,“立场”可以指对事件中涉及的实体的喜好、支持度等。以关于一场足球比赛的事件为例,实体可以包括球队、球员、教练等,立场可以包括支持两支球队中的一支球队、喜欢一名球员等。保持立场一致性可以使得聊天机器人所提供的针对实体的响应不会发生自相矛盾的问题。
在一个方面,聊天机器人可以在关于事件的会话中保持观点的一致性,例如,聊天机器人所提供的多个响应的观点是一致的。在本文中,“观点”可以指对事件中发生的事实的看法、评价等。以关于一场足球比赛的事件为例,事实可以包括一只球队进球、某个球员犯规等,观点可以包括认为进球无效、认为犯规过于恶意等等。保持观点一致性可以使得聊天机器人所提供的针对事实的响应不会发生自相矛盾的问题。
在一个方面,聊天机器人可以在关于事件的会话中检测其他参与者对于某个事实的普遍观点或评论趋势,并且在随后的响应中也遵循相同或近似的观点。以关于一场足球比赛的事件为例,如果多个其他参与者都认为应该对某个球员的犯规出示红牌,则聊天机器人可以给出认同“出示红牌”这个观点的响应。遵循普遍观点可以使得聊天机器人能够更合群,获得与其他参与者的共鸣等。
在一个方面,聊天机器人可以在关于事件的会话中确保所提供的响应的新鲜度。聊天机器人可以获得关于该事件中的实体的最新背景信息,并且使得所提供的响应符合该最新背景信息,而不是过时的背景信息。以关于一场足球比赛的事件为例,如果提前获知参加该场足球比赛的一支球队的队员M已在赛前转会到其他球队,则在聊天机器人的响应中可以避免出现对该队员M在该场足球比赛中的表现的评论。
在一个方面,本公开的实施例并不局限于在关于事件的会话中只部署一个聊天机器人,而是可以在同一个会话中部署两个或更多个聊天机器人。在这种情况下,这两个或更多个聊天机器人都可以与其他参与者进行聊天,并且在这两个或更多个聊天机器人之间也可以进行预定模式的聊天。通过在一个会话中部署两个或更多个聊天机器人,可以进一步提升会话的整体活跃度等。
应当理解,尽管在上述及下述讨论中多处以足球域或运动域的足球比赛事件举例,本公开的实施例并不局限于这样的域和事件,而是可以以类似的方式应用于任何其它的域和事件。
图1示出了根据实施例的实现关于事件的会话的示例性应用场景100。
在图1中,网络110被应用于在各种网络实体之间进行互连。网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。
域服务平台120可以连接到网络110。域服务平台120可以指在网络110上向用户提供在特定域内的各种服务的平台、服务器、网站等,例如,提供在运动域中的比赛转播的网站、提供在游戏域中的在线游戏直播的服务器、提供在艺术表演域中的选秀比赛转播的平台等。域服务平台120可以针对该域内的不同事件建立相应的服务进程,如事件1服务进程122、事件2服务进程124等。这些事件服务进程可以具有相应的用户界面,以便提供对事件的文字或图像转播、运行关于事件的聊天室等等。以域服务平台120是运动域中的比赛转播网站为例,可以针对球队A和球队B之间的足球比赛事件建立服务进程,使得用户可以在该服务进程的用户界面中查看该场比赛的进度、针对该场比赛进行聊天等。尽管在图1中仅示出了一个域服务平台,但是应当理解,可以有不同数量的域服务平台连接到网络110。
在网络110上还可以连接有域信息源130。域信息源130可以是能够提供特定域内的各种相关信息的平台、服务器、网站等。域信息源130所提供的信息可以包括在该域内针对各种事件、实体等的介绍、评论、报道等。以域信息源130是足球域的门户网站为例,该域信息源130可以提供与足球比赛有关的各种信息,例如,球队和球员介绍、球队和球员状态更新、球员和教练转会信息、足球比赛的预测和评论、等等。应当理解,尽管图1中将域信息源130示出为与域服务平台120相分离,域信息源130也可以被包含在域服务平台120中。
在图1中示例性地示出了终端设备140和终端设备150连接到网络110,这些终端设备可以是能够访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备140和150可以是台式计算机、笔记本电脑、平板电脑、智能电话、AI终端等。尽管在图1中仅示出了两个终端设备,但是应当理解,可以有不同数量的终端设备连接到网络110。用户142和用户152可以分别经由终端设备140和终端设备150来访问域服务平台120,以便参与到域服务平台120中的事件服务进程。例如,用户142和用户152可以通过事件1服务进程122的用户界面来参与在关于该事件1的聊天室中的会话。
在图1中示例性地示出了用于提供聊天机器人服务的聊天机器人服务器160。聊天机器人服务器160可以经由网络110访问域服务平台120,以便参与到域服务平台120中的事件服务进程。例如,聊天机器人服务器160所提供的聊天机器人可以通过事件1服务进程122的用户界面来参与在关于该事件1的聊天室中的会话,如与用户142和用户152进行聊天等。
聊天机器人服务器160可以连接到或包含数据库162。数据库162可以包括可由聊天机器人服务器160用于生成响应的各种信息。数据库162可以包括根据在特定域内的语料而建立的索引集,其可以由聊天机器人用于进行基于域的聊天。数据库162可以包括根据在特定域内的、与特定事件相关的语料而建立的索引集,其可以由聊天机器人用于提供针对该事件的专业性评论,该专业性评论可以作为聊天机器人所进行的基于域的聊天的一部分。数据库162可以包括关于特定事件所涉及的实体的背景信息,其可以用于提供具有新鲜度的响应。数据库162可以包括针对特定域所建立的知识图谱,其可以用于识别来自用户的消息中的实体、对消息进行扩展等。例如,可以从该特定域内的大量语料中提取不同级别的文本段,例如实体、短语、话题等,并且基于词语的共同出现来将这些文本段关联起来,以形成知识图谱。知识图谱将有助于提高在聊天机器人提供的响应与来自用户的消息之间的相关性等。此外,数据库162还可以包括各种其它可用于生成响应的信息。
应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,应用场景100中可以涉及任何其它网络实体。
图2示出了根据实施例的由聊天机器人在关于事件的会话中提供响应的示例性架构200。例如,该架构200可以是基于检索的响应提供架构。
聊天机器人可以持续地检测在该会话中来自至少一个其他参与者的消息210。在一种实施方式中,聊天机器人并不需要对所有的消息210都进行响应,而是可以选择性地对一部分消息进行响应。
聊天机器人可以包括消息理解模块220。消息理解模块220可以用于对消息220中依赖于上下文的消息进行语义补全。例如,如果一个消息为“他摔倒了”,该消息中的代词“他”将导致该消息是依赖于上下文的,即,需要根据上下文来确定“他”具体指哪个人。如果根据前面的消息判断“他”指代“球员M”,则消息理解模块220可以将该消息在语义上补全为“球员M摔倒了”,以便于后续的处理。此外,消息理解模块220可以用于根据预定的策略来从消息210中滤除不希望进行响应的消息,例如,包含广告的消息、包含风险性表述的消息、与聊天机器人无关的纯聊天消息等。
聊天机器人可以包括纯聊天模块230,其用于针对与事件无关、但与聊天机器人有关的纯聊天消息进行响应。纯聊天模块230可以采用在通用域内训练的响应生成架构。可以利用来自例如社交网络的数据来建立纯聊天索引集232,纯聊天索引集232中的索引项可以采用查询-响应(QR)对的形式、仅响应的形式等。当输入消息时,纯聊天模块230可以通过与纯聊天索引集232中的索引项的匹配来产生针对该消息的响应。例如,假定一个参与者给聊天机器人发送消息“你是男的还是女的?”,该消息被确定为是与聊天机器人有关的纯聊天消息,则聊天机器人可以利用纯聊天模块230来生成响应“我是个漂亮的姑娘”。
聊天机器人可以包括域聊天模块240,其用于针对与事件有关的消息进行响应。域聊天模块240可以采用根据本公开的在特定域内训练的响应生成架构。在一种实施方式中,可以根据在事件所关联的域内的语料来建立域数据索引集242。该域数据索引集242包括从该域内的各种语料中提取的索引项,所述语料包括例如在该域内针对各种事件的实体和事实等的介绍、评论、报道等,以及特别针对该会话的事件中涉及的实体等的介绍、评论、报道等。当输入消息时,域聊天模块240可以通过将消息与域数据索引集242中的索引项进行匹配来产生基于该域内的语料的、针对该消息的响应。例如,假定一个参与者发送了消息“球员M表现太棒了”,该消息被确定为是与事件有关的消息,特别是与事件涉及的实体“球员M”有关的消息,则域聊天模块240可以利用域数据索引集242来生成响应“球员M是球队A的核心人物”,该响应可以基于域数据索引集242中的在足球域里对球员M和球队A的介绍性语料。在一种实施方式中,可以根据与该会话的事件相关的语料来建立事件数据索引集244。该事件数据索引集244包括从与该事件相关的各种语料中提取的索引项,所述语料可以包括关于该事件的一些专业性的评论或前瞻性文章等。当输入消息时,域聊天模块240可以基于消息与事件数据索引集244中的索引项来产生包括针对该事件的专业性评论的响应。例如,假定一个参与者发送了消息“球队A的进攻比球队B强多了”,该消息被确定为是与事件“球队A与球队B的足球比赛”有关的消息,则域聊天模块240可以利用事件数据索引集244来生成响应“球队A进攻速度快,球员配合默契,而球队B难以组织有效进攻。球队A大概率将赢得比赛”,该响应可以基于事件数据索引集244中的在这场比赛之前获得的针对这场比赛的预测文章中的语料。
在一些实施方式中,对于一个与事件有关的消息,域聊天模块240可以尝试从域数据索引集242和事件数据索引集244中分别检索候选响应,然后再选择出最终的响应。在选择时,可以对来自不同索引集的候选响应给予不同的权重。例如,由于事件数据索引集244中的索引项倾向于给出专业性评论,而这可能是所期望的,因此,可以对来自事件数据索引集244的候选响应给予较高的权重。
应当理解,域数据索引集242和事件数据索引集244可以是根据来自例如图1中的域信息源130的信息来构建的,并且可以被保存在例如图1中的数据库162中。
通过聊天机器人中的纯聊天模块230或域聊天模块240,可以生成针对经过消息理解模块220处理后的消息的响应250。聊天机器人可以进而在该关于事件的会话中提供响应250。
应当理解,图2中所示的架构200是示例性的,根据具体的应用需求,可以对架构200进行任何形式的改变。例如,可以将纯聊天模块230从聊天机器人中省略,从而使得该聊天机器人专门用于进行基于域的聊天。例如,尽管域数据索引集242和事件数据索引集244被示出为两个单独的索引集,但是也可以将这两个索引集合并成一个索引集,从而域聊天模块240可以在不区分域数据索引项和事件数据索引项的情况下从合并的索引集中检索候选响应并最终确定响应250。例如,在所述事件关联于两个或更多的域的情况下,也可能预先建立了相应的两个或更多的域数据索引集,从而图2中的域数据索引集242实际上也可以表示这些域数据索引集中的任意一个或多个域数据索引集,或者由这些域数据索引集中的任意一个或多个组合而成的单个域数据索引集。
图3示出了根据实施例的由聊天机器人在关于事件的会话中提供实时事件内容的示例性架构300。
聊天机器人可以获得关于该事件的实时信息310。实时信息310可以包括关于该事件的最新进展的各种信息。例如,在足球比赛事件中,实时信息可以包括当前进球信息、当前犯规信息等。聊天机器人可以从不同的源获得实时信息310。在一种实施方式中,可以从会话中某个参与者发送的消息中获得实时信息。例如,在关于足球比赛的聊天室中通常会有一个主持人,该主持人将会及时地向聊天室中的其他参与者播报比赛的实时信息,例如,当球队A进球时,主持人会立即发送消息“球队A进球了,比分变为1:0”。来自主持人的该消息可以被聊天机器人作为实时信息310。在另一种实施方式中,聊天机器人可以从用于该事件的实时更新的事件数据库中获取实时信息310。例如,在进行足球比赛时,通常赛事的组织方会实时地发布场上信息,例如,当球队A的球员M进球时,组织方会立即发布信息“上半场第31分钟,球队A的球员M进球”,这些信息可被存放在实时更新的事件数据库中,聊天机器人可以访问该事件数据库中的信息以作为实时信息310。
聊天机器人可以包括事件内容生成模块320,其可以用于根据实时信息310来生成实时事件内容330。在一种实施方式中,事件内容生成模块320可以利用语料库322中存储的针对不同场景的各种表述模板来生成实时事件内容330。事件内容生成模块320可以首先从实时信息310中识别出涉及的实体以及相关联的事实,例如,从实时信息“球队A进球了,比分变为1:0”中识别出实体“球队A”以及事实“进球”。然后,事件内容生成模块320可以从语料库322中检索涉及事实“进球”的候选模板并从中选择将要使用的模板,例如“太棒了!<实体>攻入重要一球!”,其中“<实体>”指示实现进球的球队。事件内容生成模块320可以使用从实时信息310中识别的实体来对模板进行填充,从而得到实时事件内容“太棒了!球队A攻入重要一球!”。
聊天机器人可以在所述关于事件的会话中提供所生成的实时事件内容330,以使得其他参与者能够及时地得知该事件的最新进展。
图4示出了根据实施例的用于在关于事件的会话中提供响应的示例性过程400。该会话可以位于聊天机器人与至少一个参与者之间。过程400可以由聊天机器人执行用于与至少一个参与者进行基于域的聊天。
聊天机器人可以在会话中检测来自至少一个参与者的至少一个消息。聊天机器人可以持续地在会话中检测消息,并针对所检测的消息执行后续的处理。假设在过程400中当前检测到了消息410。
在420处,可以对消息410执行消息理解。该消息理解可以由例如图2中的消息理解模块220来执行。在420处的消息理解可以包括以下操作中的至少一个:上下文依赖消息检测422,对包含广告的消息的检测424、对包含风险性表述的消息的检测426、以及纯聊天消息检测428。
在上下文依赖消息检测422中,可以检测消息410是否是依赖于上下文的消息。如果是,则可以对该依赖于上下文的消息进行语义补全,以便于后续处理。
在对包含广告的消息的检测424中,可以检测消息410是否是意图在该会话中发布广告的消息。例如,该会话的某个参与者可能并非真的想要与其他参与者进行针对该事件的聊天,而是想要在该会话中发布商业目的的广告。例如,在关于足球比赛的会话中,如果一个参与者发布了消息“商店S目前正在特价处理一批球鞋,地址XXXX”,该消息可以被检测为是包含广告的消息。聊天机器人将要避免对包含广告的消息做出响应,因此可以滤除或忽略该包含广告的消息。在一种实施方式中,可以采用基于梯度提升决策树模型的广告分类器,来将消息410分类成广告或非广告。可以预先收集来自开放域的评论数据等,并将其标注为广告或非广告,以作为训练数据。广告分类器所采用的特征可以包括文本分词后的词袋(例如,使用N-gram的TF-IDF值)。
在对包含风险性表述的消息的检测426中,可以检测消息410是否包含风险性表述。在本文中,风险性表述可以指涉及政治、辱骂、不文明行为等的表述。例如,在关于足球比赛的会话中,如果一个参与者发布了消息“球员M跑的像个乌龟”,该消息可以被检测为是包含例如辱骂球员的风险性表述的消息。聊天机器人将要避免对包含风险性表述的消息做出响应,因此可以滤除或忽略包含风险性表述的消息。在一种实施方式中,可以预先建立一个风险性关键词/短语列表,如果检测出一个消息包括该列表中的一个或多个词语,则可以将该消息确定为是包含风险性表述的消息。在另一种实施方式中,可以采用基于梯度提升决策树模型的风险性表述分类器,来将消息分类成包括风险性表述或不包括风险性表述。可以预先收集来自开放域的评论数据等,并将其标注为有风险或无风险,以作为训练数据。风险性表述分类器所采用的特征可以包括文本分词后的词袋(例如,使用N-gram的TF-IDF值)、基于情感词典确定的负面词语及其出现频次、例如问号和感叹号等特殊符号的出现频次等等。
在纯聊天消息检测428中,可以检测消息410是否是与聊天机器人无关的纯聊天消息,例如与聊天机器人无关的且与该事件无关的消息等。例如,在关于足球比赛的会话中,如果一个参与者发布了消息“谁现在想吃炸鸡?”,该消息可以被检测为是与聊天机器人无关的纯聊天消息。聊天机器人可以避免或较少地对与其无关的纯聊天消息做出响应,因此可以滤除或忽略与聊天机器人无关的纯聊天消息。在一种实施方式中,可以采用基于梯度提升决策树模型的纯聊天分类器,来将消息410分类成纯聊天或非纯聊天。可以预先收集来自开放域的新闻聊天数据等,并将其标注为是否是纯聊天,以作为训练数据。纯聊天分类器所采用的特征可以包括文本分词后的词袋(例如,使用N-gram的TF-IDF值)、文本长度、文本向量表征、文本中的实体及其数量等等。如果消息410被纯聊天分类器确定为是纯聊天消息,则可以进而确定该消息410是否与聊天机器人相关。例如,可以检测该消息410是否是“回复”给聊天机器人的、是否包含涉及聊天机器人的内容等。如果确定消息410是与聊天机器人无关的纯聊天消息,可以滤除或忽略消息410。
在消息理解420之后,可以在430处对消息410执行消息处理。在一种实施方式中,消息处理430可以包括对消息410执行消息改善432。在消息改善432中,可以从消息410中去除停用词、疑问词等。在一种实施方式中,消息处理430可以包括对消息410执行实体提取434。在实体提取434中,可以识别消息410中包含的实体等。例如,可以通过与预先建立的知识图谱进行匹配,来从消息410中识别出实体。该知识图谱可以是以上结合图1中的数据库162所讨论的针对当前事件所关联的域所建立的知识图谱。以足球域的知识图谱为例,该知识图谱可以包括球员、球队、教练等大量的实体。例如,在关于足球比赛的会话中,如果一个参与者发布了消息“球员M太累了,跑不动了”,则通过与足球域的知识图谱的匹配,可以从该消息中识别出实体“球员M”。从消息410中所识别出的实体可在后续的检索中使用。
在440处,可以根据从消息处理430输出的消息410,从基于当前事件所关联的域的索引集446中检索一组候选响应。索引集446可以是图2中的域数据索引集242和事件数据索引集244中的至少一个。可以通过计算消息410与索引集446中的索引项的相关性,来从索引集446中提取出满足相关性阈值的一组候选响应。在一种实施方式中,检索440可以包括对消息410进行消息扩展442。消息扩展442可以对消息410中的实体进行扩展,例如,从消息410中通过实体提取434所提取的实体“球员M”扩展到球员M特有的昵称“奔跑的狮子”,等。消息扩展442还可以对消息410的表述进行释义或改写,例如,将消息410“球员M来自蓝黑军团”改写为“球员M来自国际米兰俱乐部”,其中,“国际米兰俱乐部”是对“蓝黑军团”的释义。通过对消息执行消息扩展442,可以便于在索引集446中进行更高相关性、更全面的检索。在一种实施方式中,检索440可以是基于实体强制444的。例如,如果通过实体提取434而从消息410中提取了实体E,则可以在检索440中要求来自索引集446的候选响应均包含该实体E或者该实体E的扩展E’,其中,扩展E’可以是通过消息扩展442而基于实体E获得的。通过实体强制444,可以使得聊天机器人最终提供的响应包含与消息410相同的实体,从而提高了响应与消息的相关性。
在450处,可以根据至少一个预定标准对通过检索440所获得的一组候选响应进行过滤,以便优化所述一组候选响应。通过该优化,可以从所述一组候选响应中滤除可能会降低过程400所提供的最终响应的质量的候选响应,使得经过滤的或经优化的所述一组候选响应可以避免包括不适当的表述、前后矛盾的表述、缺少时效性的表述等。由于最终的响应是在经过滤的候选响应中选定的,因此,上述的优化过程可以有效地改进最终响应的质量。所述预定标准可以包括以下各项中的至少一个:关于滤除依赖于上下文的候选响应的标准451、关于滤除包含广告的候选响应的标准452、关于滤除包含风险性表述的候选响应的标准453、关于保持立场一致性的标准454、关于保持观点一致性的标准455、关于观点遵循的标准456、关于确保新鲜度的标准457、关于滤除重复的标准458等。
在关于滤除依赖于上下文的候选响应的标准451中,过滤450可以检测所述一组候选响应中是否包括依赖于上下文的候选响应,并且从所述一组候选响应中滤除这些依赖于上下文的候选响应。从而,可以避免最终的响应是语义不完整的。
在关于滤除包含广告的候选响应的标准452中,过滤450可以检测所述一组候选响应中是否包括意图发布广告的候选响应,并且从所述一组候选响应中滤除这些包含广告的候选响应。可以采用与上述对包含广告的消息的检测424相类似的方式,确定一个候选响应是否是包含广告的候选响应。
在关于滤除包含风险性表述的候选响应的标准453中,过滤450可以检测所述一组候选响应中是否包括包含风险性表述的候选响应,并且从所述一组候选响应中滤除这些包含风险性表述的候选响应。可以采用与上述对包含风险性表述的消息的检测426相类似的方式,确定一个候选响应是否是包含风险性表述的候选响应。
在关于保持立场一致性的标准454中,过滤450可以从所述一组候选响应中滤除具有与聊天机器人的预定立场不一致的立场的候选响应,而保留具有该预定立场的候选响应。预定立场可以是预先为聊天机器人设置的对该事件中涉及的特定实体的喜好、支持度等。例如,在参与关于足球比赛的会话之前,可以将聊天机器人的预定立场设置为支持或喜欢参加该比赛的一支球队或者某个球员。过滤450可以首先确定所述一组候选响应中每个候选响应对所述特定实体的立场。在一种实施方式中,可以通过关键词或模式匹配来确定一个候选响应的立场。关键词或模式匹配旨在用于识别违背预定立场的候选响应。可以预先收集一组关键词,这些关键词表达出对特定实体的否定观点。例如,假定预定立场是支持球员“马拉多纳”,则可以将包含对马拉多纳的轻蔑含义的词语“上帝之手”列为关键词,如果一个候选响应中出现了针对实体马纳多纳的关键词“上帝之手”,则可以认为该候选响应具有与预定立场不一致的立场。可以预先收集一组表达模式,这些表达模式表达出对特定实体的否定观点。例如,模式“<实体>难以赢得比赛”表达出对该<实体>的否定观点。假定预定立场是支持球队A,并且候选响应为“球队A难以赢得比赛”,则可以确定该包含实体A的候选响应与上述模式“<实体>难以赢得比赛”相匹配,从而具有与预定立场不一致的立场。在另一种实施方式中,可以通过预先训练的立场分类器来确定一个候选响应针对特定实体的立场。立场分类器可以采用各种模型,例如,基于BERT的模型等。可以预先收集来自特定实体所关联的域的聊天数据等,将这些数据整理成<特定实体,评论>的形式,并为每一条数据标注上指示了评论对特定实体的立场的否定标记、中性标记或肯定标记。将进行了标注的数据作为训练数据来训练立场分类器。训练好的立场分类器可以对一个候选响应针对特定实体的支持程度进行评分,该评分反映了该候选响应针对该特定实体的否定立场、中性立场和肯定立场。在一种情况下,如果候选响应中包含两个或更多实体,则立场分类器可以被训练为对该候选响应针对每一个实体的支持程度分别进行评分,并且将最高评分所对应的实体作为候选响应所实际支持的实体。
在关于保持观点一致性的标准455中,过滤450可以从所述一组候选响应中滤除具有与聊天机器人针对特定事实的先前观点不一致的观点的候选响应,而保留具有该先前观点的候选响应。例如,如果对于事实“球员N得到了黄牌”,聊天机器人在之前的响应中表达的先前观点是“球员N应当被出示红牌”,则过滤450可以保留所述一组候选响应中仍然持有该先前观点的候选响应。在一种实施方式中,可以通过预先训练的观点分类器来确定一个候选响应是否具有针对特定事实的先前观点。观点分类器可以采用各种模型,例如,基于BERT的模型等。可以预先收集来自特定实体所关联的域的聊天数据等,将这些数据整理成<特定事实,评论1,评论2>的形式,并为每一条数据标注上指示了评论1与评论2是否具有对特定事实相同观点的矛盾标记或不矛盾标记。将进行了标注的数据作为训练数据来训练观点分类器。训练好的观点分类器可以确定一个候选响应是否与先前的响应具有相同的观点。例如,可以将候选响应与先前响应提供给观点分类器,观点分类器可以确定两个响应的观点是否矛盾。
在关于观点遵循的标准456中,过滤450可以确定会话中其他参与者对特定事实的普遍或主流观点,从所述一组候选响应中滤除具有针对该特定事实的与该普遍观点不一致的观点的候选响应,而保留具有该普遍观点的候选响应。例如,如果对于事实“球员N得到了黄牌”,多数其他参与者在消息中表达了观点“球员N应当被出示红牌”,则过滤450可以保留所述一组候选响应中也持有该普遍观点的候选响应。在一种实施方式中,可以通过类似的方式使用前面所讨论的观点分类器来确定一个候选响应是否具有普遍观点。例如,可以将候选响应与一个或多个持有普遍观点的消息提供给观点分类器,观点分类器可以确定候选响应与这些消息是否具有相同的观点。
在关于确保新鲜度的标准457中,过滤450可以获得关于当前事件中的特定实体的最新背景信息459,并且保留所述一组候选响应中符合该特定实体的最新背景信息459的候选响应。可以从如图1所示的域信息源130处获得关于特定实体的最新背景信息459,例如,关于球员M的最新转会信息等。可以确定所述最新背景信息459的时间点,并且保留所述一组候选响应中具有晚于所述时间点的时间标记的、关于该特定实体的候选响应。以关于球队A与球队B之间的足球比赛的事件为例,如果已经获知球员N已在比赛前7天从球队C转会到球队B,则可以保留所述一组候选响应中具有7天以内的时间标记的关于该球员N的候选响应,而滤除具有7天以前的时间标记的、可能涉及球员N在球队C的表现的候选响应。
在关于滤除重复的标准458中,过滤450可以检测所述一组候选响应中是否包括之前在该会话中已被提供过的候选响应,并且从所述一组候选响应中滤除这些已被提供过的候选响应。例如,如果所述一组候选响应中的一个候选响应已经在前面的聊天中被聊天机器人作为响应而提供给了其他参与者,则过滤450可以滤除该候选响应,以便避免再次将该候选响应选择作为最终响应并在会话中提供的情况的发生。通过关于滤除重复的标准458,可以避免聊天机器人在会话中说出重复的话。
在过程400中,在执行了过滤450之后,可以进而从经过滤的所述一组候选响应中选择针对消息410的响应。在一种实施方式中,可以在460处对经过滤的所述一组候选响应进行排序。排序460可以是通过排序模型来执行的。排序模型可以基于例如BERT等。排序模型可以被训练用于在给定消息的情况下,基于与消息的相关性来对一组候选响应进行排序。可选地,为了增强排序模型在特定域下的排序性能,可以使用在当前事件所关联的域内的语料来对排序模型进行优化。例如,选取该域内的消息和响应数据作为优化训练数据,对排序模型进行优化。
在排序460之后,过程400可以选择排名最高的候选响应来作为最终的响应470,以在会话中提供。
应当理解,图4的过程400中所示的所有操作都是示例性的,并且根据具体的应用需求,可以对过程400中的操作进行添加、删除、替换、重调顺序等。例如,消息理解420和/或消息处理430也可以从过程400中省略。例如,以上结合过滤450所讨论的各种预定标准中的一个或多个也可以从过程400中省略。例如,在提供响应470之前,还可以执行用于控制聊天机器人在会话中发表响应的频率的响应频率控制,以避免聊天机器人过多地在会话中发表响应。此外,过程400可以是在会话期间随着检测到新的消息而不断循环执行的,从而,针对每一个检测到的消息,聊天机器人可以通过过程400确定是否要进行回复并进而生成响应。
图5示出了根据实施例的示例性会话窗口500。会话窗口500示出了关于球队A与球队B之间的足球比赛的会话。该会话可以位于例如在足球转播服务平台上的直播聊天室中。聊天机器人可以在该会话中与多个其他参与者进行聊天。
当检测到主持人发送了消息“比赛继续进行,比分仍然是1:0”时,聊天机器人可以将该消息作为实时信息,并且生成对应的实时事件内容“球队A仍然1:0领先,加油!”。聊天机器人可以将该实时事件内容作为实时播报而在会话中提供。此外,该实时事件内容也表明了聊天机器人的预定立场为<支持球队A>。
针对用户2发送的消息“实力相差悬殊。球队A的进攻很犀利!”,聊天机器人可以从事件数据索引集中检索出专业性评论,并提供作为针对该消息的响应,例如“球队A的进攻很有特色,速度快,……”。
由于用户3发送的消息“有没有人想吃炸鸡?”以及用户4发送的消息“炸鸡配啤酒,太爽了!”是与聊天机器人无关的纯聊天,聊天机器人可以不对这两个消息做出响应。
当用户1发送了消息“球员M表现太棒了”时,聊天机器人可以通过基于域的聊天机制来提供响应“球员M可是球队A的灵魂人物啊,超级巨星”。该响应也表明了聊天机器人对球员M的场上表现的观点,例如<球员M表现好>。
当聊天机器人从实时更新的比赛数据库中获知球队B的球员N刚刚对球队A的球员M犯规并拿到黄牌时,聊天机器人可以在会话中提供相应的实时播报,例如“天哪!球员M被恶意犯规了,球队B的球员N拿到了黄牌”。
接着,用户3、用户2与用户1的消息都表示了对这次犯规的一致观点,即,应该对球员N出示红牌。聊天机器人可以确定遵循该普遍观点,并且提供响应“裁判确实应该出示红牌”。
当用户5发送了消息“猜猜球员M还能进球么?”,聊天机器人可以通过基于域的聊天机制来提供响应“当然!超级巨星一定会再进球的。虽然球员M这个月才从伤病中重返赛场,但恢复的很好”。该响应表明了聊天机器人对球员M的表现的观点为<球员M表现好>,这与聊天机器人在之前的响应中针对球员M的观点一致。此外,聊天机器人可能已经获得了球员M的最新背景信息,例如,球员M在这个月之前都因伤不能参加任何比赛,而在这个月初重新开始参加比赛。因此,聊天机器人可以选择提供具有“这个月”的时间标记的关于球员M的响应,如“虽然球员M这个月才从伤病中重返赛场,但恢复的很好”,以便保持响应的新鲜度。
在用户6发送了消息“球队B还是有机会的”之后,聊天机器人可以提供响应“不可能!球队A必胜”。该响应具有与聊天机器人的预定立场<支持球队A>相一致的立场。
当用户6询问聊天机器人“你是男的还是女的?”时,可以确定该消息是与聊天机器人相关的纯聊天消息,则聊天机器人可以通过纯聊天机制来生成响应“我可是个漂亮的姑娘呢”。
应当理解,图5中所示的会话窗口500中的所有单元、布局和话语都是示例性的。根据具体的应用场景和应用需求,这些单元、布局和话语可能以各种方式发生改变。
图6示出了根据实施例的示例性会话窗口600。会话窗口600示出了关于球队C与球队D之间的足球比赛的会话。该会话可以位于例如在足球转播服务平台上的直播聊天室中。在该会话中包括示例性的两个聊天机器人。这两个聊天机器人可以具有不同的立场或观点。
聊天机器人1可以提供响应“球队C一定会先进球的,加油!”,该响应表明聊天机器人1的立场为<支持球队C>。
聊天机器人2可以对聊天机器人1做出回复,例如“错!球队D一定先进球。球队D必胜!”。该响应表明聊天机器人2的立场为<支持球队D>,其与聊天机器人1的立场相对立。
随后,聊天机器人1和聊天机器人2可以基于各自的立场继续聊天。
通过两个聊天机器人之间的对立立场的聊天,可以吸引其他参与者的关注并引导其他参与者进行讨论。如图所示,用户3、用户4和用户5继续针对“谁先进球”这个话题进行讨论。
应当理解,图6中所示的会话窗口600中的所有单元、布局和话语都是示例性的。根据具体的应用场景和应用需求,这些单元、布局和话语可能以各种方式发生改变。
图7示出了根据实施例的用于在关于事件的会话中提供响应的示例性方法700的流程图。所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者。
在710处,可以检测来自所述至少一个参与者的至少一个消息。
在720处,可以根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应。
在730处,可以通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应。
在740处,可以从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应。
在750处,可以在所述会话中提供所选择的响应。
在一种实施方式中,所述过滤可以包括:确定所述一组候选响应中每个候选响应对所述事件中的实体的立场;以及保留所述一组候选响应中具有对所述实体的预定立场的候选响应,所述预定立场是预先为所述电子对话代理设置的。每个候选响应对所述实体的立场可以是通过以下至少之一来确定的:关键词或模式匹配;以及预先训练的立场分类器。
在一种实施方式中,所述过滤可以包括:确定所述一组候选响应中每个候选响应对所述事件中的事实的观点;以及保留所述一组候选响应中具有与对所述事实的先前观点相同的观点的候选响应。
在一种实施方式中,所述过滤可以包括:确定所述至少一个消息对所述事件中的事实的观点;以及保留所述一组候选响应中具有对所述事实的所述观点的候选响应。
在一种实施方式中,所述过滤可以包括:获得关于所述事件中的实体的最新背景信息;确定所述最新背景信息的时间点;以及保留所述一组候选响应中具有晚于所述时间点的时间标记的、关于所述实体的候选响应。
在一种实施方式中,所述过滤可以包括从所述一组候选响应中滤除以下至少之一:包含广告的候选响应;包含风险性表述的候选响应;以及依赖于上下文的候选响应。
在一种实施方式中,方法700还可以包括从所述至少一个消息中滤除以下至少之一:包含广告的消息;包含风险性表述的消息;以及与所述电子对话代理无关的纯聊天消息。
在一种实施方式中,所述检索可以包括:识别所述至少一个消息中包含的实体;以及从所述索引集中检索包含所述实体的所述一组候选响应。所述识别可以包括:通过与知识图谱进行匹配,从所述至少一个消息中识别所述实体。
在一种实施方式中,所述索引集可以包括以下至少之一:根据在所述域内的语料而建立的索引集;以及根据在所述域内的、与所述事件相关的语料而建立的索引集。
在一种实施方式中,所述选择可以包括:对所述经过滤的一组候选响应进行排序;以及选择排名最高的候选响应作为针对所述至少一个消息的所述响应。所述排序可以包括:通过排序模型对所述经过滤的一组候选响应进行排序,其中,所述排序模型是至少利用在所述域内的语料来优化的。
在一种实施方式中,方法700还可以包括:获得关于所述事件的实时信息;根据所述实时信息生成实时事件内容;以及在所述会话中提供所述实时事件内容。所述实时信息可以是从以下至少之一中获得的:实时更新的事件数据库;以及所述至少一个参与者中的一个参与者在所述会话中提供的实时消息。
在一种实施方式中,所述至少一个参与者可以包括至少另一个电子对话代理。所述至少另一个电子对话代理与所述电子对话代理可以具有对所述事件中的实体的相同或不同的立场,和/或具有对所述事件中的事实的相同或不同的观点。
应当理解,方法700还可以包括根据上述本公开实施例的用于在关于事件的会话中提供响应的任何步骤/过程。
图8示出了根据实施例的用于在关于事件的会话中提供响应的示例性装置800。所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者。
装置800可以包括:消息检测模块810,用于检测来自所述至少一个参与者的至少一个消息;检索模块820,用于根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应;过滤模块830,用于通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应;选择模块840,用于从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应;以及响应提供模块850,用于在所述会话中提供所选择的响应。
在一种实施方式中,装置800还可以包括:实时信息获得模块,用于获得关于所述事件的实时信息;事件内容生成模块,用于根据所述实时信息生成实时事件内容;以及事件内容提供模块,用于在所述会话中提供所述实时事件内容。
此外,装置800还可以包括根据上述本公开实施例的被配置用于在关于事件的会话中提供响应的任何其它模块。
图9示出了根据实施例的用于在关于事件的会话中提供响应的示例性装置900。所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者。
装置900可以包括至少一个处理器910以及存储了计算机可执行指令的存储器920。当执行所述计算机可执行指令时,处理器910可以:检测来自所述至少一个参与者的至少一个消息;根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应;通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应;从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应;以及在所述会话中提供所选择的响应。此外,处理器900还可以执行根据上述本公开实施例的用于在关于事件的会话中提供响应的任何步骤/过程。
本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于在关于事件的会话中提供响应的方法的任何操作。
应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。
还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。
已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、DSP或其它适合的平台所执行的软件。
软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。
以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将由权利要求所覆盖。

Claims (20)

1.一种用于在关于事件的会话中提供响应的方法,所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者,所述方法包括:
检测来自所述至少一个参与者的至少一个消息;
根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应;
通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应;
从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应;以及
在所述会话中提供所选择的响应。
2.如权利要求1所述的方法,其中,所述过滤包括:
确定所述一组候选响应中每个候选响应对所述事件中的实体的立场;以及
保留所述一组候选响应中具有对所述实体的预定立场的候选响应,所述预定立场是预先为所述电子对话代理设置的。
3.如权利要求2所述的方法,其中,每个候选响应对所述实体的立场是通过以下至少之一来确定的:关键词或模式匹配;以及预先训练的立场分类器。
4.如权利要求1所述的方法,其中,所述过滤包括:
确定所述一组候选响应中每个候选响应对所述事件中的事实的观点;以及
保留所述一组候选响应中具有与对所述事实的先前观点相同的观点的候选响应。
5.如权利要求1所述的方法,其中,所述过滤包括:
确定所述至少一个消息对所述事件中的事实的观点;以及
保留所述一组候选响应中具有对所述事实的所述观点的候选响应。
6.如权利要求1所述的方法,其中,所述过滤包括:
获得关于所述事件中的实体的最新背景信息;
确定所述最新背景信息的时间点;以及
保留所述一组候选响应中具有晚于所述时间点的时间标记的、关于所述实体的候选响应。
7.如权利要求1所述的方法,其中,所述过滤包括:
从所述一组候选响应中滤除以下至少之一:包含广告的候选响应;包含风险性表述的候选响应;依赖于上下文的候选响应;以及之前在所述会话中已被提供过的候选响应。
8.如权利要求1所述的方法,还包括:
从所述至少一个消息中滤除以下至少之一:包含广告的消息;包含风险性表述的消息;以及与所述电子对话代理无关的纯聊天消息。
9.如权利要求1所述的方法,其中,所述检索包括:
识别所述至少一个消息中包含的实体;以及
从所述索引集中检索包含所述实体或所述实体的扩展的所述一组候选响应。
10.如权利要求9所述的方法,其中,所述识别包括:
通过与知识图谱进行匹配,从所述至少一个消息中识别所述实体。
11.如权利要求1所述的方法,其中,所述索引集包括以下至少之一:
根据在所述域内的语料而建立的索引集;以及
根据在所述域内的、与所述事件相关的语料而建立的索引集。
12.如权利要求1所述的方法,其中,所述选择包括:
对所述经过滤的一组候选响应进行排序;以及
选择排名最高的候选响应作为针对所述至少一个消息的所述响应。
13.如权利要求12所述的方法,其中,所述排序包括:
通过排序模型对所述经过滤的一组候选响应进行排序,其中,所述排序模型是至少利用在所述域内的语料来优化的。
14.如权利要求1所述的方法,还包括:
获得关于所述事件的实时信息;
根据所述实时信息生成实时事件内容;以及
在所述会话中提供所述实时事件内容。
15.如权利要求14所述的方法,其中,所述实时信息是从以下至少之一中获得的:
实时更新的事件数据库;以及
所述至少一个参与者中的一个参与者在所述会话中提供的实时消息。
16.如权利要求1所述的方法,其中,所述至少一个参与者包括至少另一个电子对话代理。
17.如权利要求16所述的方法,其中,所述至少另一个电子对话代理与所述电子对话代理具有对所述事件中的实体的相同或不同的立场,和/或具有对所述事件中的事实的相同或不同的观点。
18.一种用于在关于事件的会话中提供响应的装置,所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者,所述装置包括:
消息检测模块,用于检测来自所述至少一个参与者的至少一个消息;
检索模块,用于根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应;
过滤模块,用于通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应;
选择模块,用于从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应;以及
响应提供模块,用于在所述会话中提供所选择的响应。
19.如权利要求18所述的装置,还包括:
实时信息获得模块,用于获得关于所述事件的实时信息;
事件内容生成模块,用于根据所述实时信息生成实时事件内容;以及
事件内容提供模块,用于在所述会话中提供所述实时事件内容。
20.一种用于在关于事件的会话中提供响应的装置,所述事件关联于预定义的域,所述会话包括电子对话代理和至少一个参与者,所述装置包括:
一个或多个处理器;以及
存储器,其存储计算机可执行指令,当所述计算机可执行指令被执行时使所述一个或多个处理器:
检测来自所述至少一个参与者的至少一个消息,
根据所述至少一个消息,从基于所述域的索引集中检索一组候选响应,
通过根据预定标准过滤所述一组候选响应,优化所述一组候选响应,
从所述经过滤的一组候选响应中选择针对所述至少一个消息的响应,以及
在所述会话中提供所选择的响应。
CN201910468365.XA 2019-05-31 2019-05-31 在关于事件的会话中提供响应 Pending CN112015852A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910468365.XA CN112015852A (zh) 2019-05-31 2019-05-31 在关于事件的会话中提供响应
PCT/US2020/026462 WO2020242596A1 (en) 2019-05-31 2020-04-02 Providing responses in an event-related session
EP20722415.5A EP3977685A1 (en) 2019-05-31 2020-04-02 Providing responses in an event-related session
US17/606,857 US20220210098A1 (en) 2019-05-31 2020-04-02 Providing responses in an event-related session

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910468365.XA CN112015852A (zh) 2019-05-31 2019-05-31 在关于事件的会话中提供响应

Publications (1)

Publication Number Publication Date
CN112015852A true CN112015852A (zh) 2020-12-01

Family

ID=70471103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910468365.XA Pending CN112015852A (zh) 2019-05-31 2019-05-31 在关于事件的会话中提供响应

Country Status (4)

Country Link
US (1) US20220210098A1 (zh)
EP (1) EP3977685A1 (zh)
CN (1) CN112015852A (zh)
WO (1) WO2020242596A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220245338A1 (en) * 2021-01-29 2022-08-04 Ncr Corporation Natural Language and Messaging System Integrated Group Assistant
CN116821307A (zh) * 2023-08-21 2023-09-29 腾讯科技(深圳)有限公司 内容交互方法、装置、电子设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2598000A (en) * 2020-08-08 2022-02-16 Sony Interactive Entertainment Inc Content generation system and method
FR3124622A1 (fr) * 2021-06-28 2022-12-30 Orange Agent conversationnel dans une application de messagerie instantanée
US11962545B2 (en) * 2021-12-27 2024-04-16 Samsung Electronics Co., Ltd. Method and device for providing chatbot participating chat service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866990A (zh) * 2012-08-20 2013-01-09 北京搜狗信息服务有限公司 一种主题对话方法和装置
CN105915436A (zh) * 2015-02-13 2016-08-31 阿瓦亚公司 基于主题的即时消息隔离的系统和方法
US20180150524A1 (en) * 2016-11-28 2018-05-31 Facebook, Inc. Methods and Systems for Ranking Messaging Bots

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183306B2 (en) * 1998-12-18 2015-11-10 Microsoft Technology Licensing, Llc Automated selection of appropriate information based on a computer user's context
EP1365553A1 (en) * 2002-05-23 2003-11-26 Accenture Global Services GmbH Method and device for instant messaging
JP4629560B2 (ja) * 2004-12-01 2011-02-09 本田技研工業株式会社 対話型情報システム
US7814048B2 (en) * 2006-08-14 2010-10-12 Microsoft Corporation Knowledge extraction from online discussion forums
US20110125734A1 (en) * 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
US20150100581A1 (en) * 2013-10-08 2015-04-09 Chacha Search, Inc Method and system for providing assistance to a responder
US9703536B2 (en) * 2014-08-11 2017-07-11 International Business Machines Corporation Debugging code using a question and answer system based on documentation and code change records
US9721004B2 (en) * 2014-11-12 2017-08-01 International Business Machines Corporation Answering questions via a persona-based natural language processing (NLP) system
CN104573028B (zh) * 2015-01-14 2019-01-25 百度在线网络技术(北京)有限公司 实现智能问答的方法和系统
US20160217209A1 (en) * 2015-01-22 2016-07-28 International Business Machines Corporation Measuring Corpus Authority for the Answer to a Question
US11295736B2 (en) * 2016-01-25 2022-04-05 Sony Corporation Communication system and communication control method
US10585898B2 (en) * 2016-05-12 2020-03-10 International Business Machines Corporation Identifying nonsense passages in a question answering system based on domain specific policy
GB201616477D0 (en) * 2016-09-28 2016-11-09 Service Friendz Ltd Systems methods and computer-readable storage media for real- time automated conversational agent
JP6958573B2 (ja) * 2017-01-31 2021-11-02 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US11253778B2 (en) * 2017-03-01 2022-02-22 Microsoft Technology Licensing, Llc Providing content
US11729120B2 (en) * 2017-03-16 2023-08-15 Microsoft Technology Licensing, Llc Generating responses in automated chatting
KR102365688B1 (ko) * 2017-04-06 2022-02-22 삼성전자주식회사 자연어 이해에 기반한 콘텐트 제공 방법 및 이를 수행하는 전자 장치
US10742435B2 (en) * 2017-06-29 2020-08-11 Google Llc Proactive provision of new content to group chat participants
US11457863B1 (en) * 2017-10-27 2022-10-04 Verily Life Sciences Llc Virtual health coach based insulin titration platform
US10803247B2 (en) * 2017-12-12 2020-10-13 Hartford Fire Insurance Company Intelligent content detection
US10635861B2 (en) * 2017-12-29 2020-04-28 Facebook, Inc. Analyzing language units for opinions
US10978056B1 (en) * 2018-04-20 2021-04-13 Facebook, Inc. Grammaticality classification for natural language generation in assistant systems
AU2018428844A1 (en) * 2018-06-22 2021-01-14 Virtual Album Technologies Llc Multi-modal virtual experiences of distributed content
WO2020062006A1 (en) * 2018-09-28 2020-04-02 Entit Software Llc Intent and context-aware dialogue based virtual assistance
KR102599948B1 (ko) * 2018-11-16 2023-11-09 삼성전자주식회사 전자 장치 및 그의 와이파이 연결 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866990A (zh) * 2012-08-20 2013-01-09 北京搜狗信息服务有限公司 一种主题对话方法和装置
CN105915436A (zh) * 2015-02-13 2016-08-31 阿瓦亚公司 基于主题的即时消息隔离的系统和方法
US20180150524A1 (en) * 2016-11-28 2018-05-31 Facebook, Inc. Methods and Systems for Ranking Messaging Bots

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220245338A1 (en) * 2021-01-29 2022-08-04 Ncr Corporation Natural Language and Messaging System Integrated Group Assistant
US11790168B2 (en) * 2021-01-29 2023-10-17 Ncr Corporation Natural language and messaging system integrated group assistant
CN116821307A (zh) * 2023-08-21 2023-09-29 腾讯科技(深圳)有限公司 内容交互方法、装置、电子设备和存储介质
CN116821307B (zh) * 2023-08-21 2023-11-28 腾讯科技(深圳)有限公司 内容交互方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
WO2020242596A1 (en) 2020-12-03
EP3977685A1 (en) 2022-04-06
US20220210098A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
US11227342B2 (en) Recommending friends in automated chatting
Nakandala et al. Gendered conversation in a social game-streaming platform
US20240070458A1 (en) System to detect, assess and counter disinformation
CN112015852A (zh) 在关于事件的会话中提供响应
US11729120B2 (en) Generating responses in automated chatting
US20240020942A1 (en) Providing emotional care in a session
US11253778B2 (en) Providing content
Finch et al. Emora: An inquisitive social chatbot who cares for you
Olabenjo Applying naive bayes classification to google play apps categorization
Almerekhi et al. PROVOKE: Toxicity trigger detection in conversations from the top 100 subreddits
Arviv et al. It’sa thin line between love and hate: Using the echo in modeling dynamics of racist online communities
Harrison et al. Run like a girl! sports-related gender bias in language and vision
CN111767386A (zh) 对话处理方法、装置、电子设备及计算机可读存储介质
Shiratori et al. Detection of football spoilers on Twitter
WO2018072577A1 (zh) 一种文本生成方法及服务器
Clarke Linguistic variation across Twitter and Twitter trolling
CN110309415B (zh) 新闻信息生成方法、装置及电子设备可读存储介质
Aggarwal et al. Trawling for trolling: A dataset
Jin et al. MM-Soc: Benchmarking Multimodal Large Language Models in Social Media Platforms
Viljakainen " QUIT YOUR♥♥♥♥♥ ING AND PLAY THE GAME": Impoliteness in a gaming-oriented online discussion forum
CN115484465B (zh) 弹幕生成方法及装置、电子设备和存储介质
Wang et al. Multimodal depression detection model fusing emotion knowledge graph
TWI643080B (zh) 能對網路資料進行解析並據以模擬特定對象之方法
Gao Offensive Language Detection in Live Streaming Chats Using Active Learning
Lee et al. Trivia quiz mining using probabilistic knowledge

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