用于对话理解的会话方面情感分析的制作方法
未命名
07-12
阅读:250
评论:0

用于对话理解的会话方面情感分析
相关申请的交叉引用
1.本技术要求于2021年10月18日向美国专利商标局提交的美国申请第17/503,584号的优先权,该美国申请的公开内容通过引用整体并入本文。
技术领域
2.本公开内容的实施方式涉及情感分析领域。更具体地,本公开内容涉及对话理解例如对话响应生成和会话问题回答。
背景技术:
3.建模聊天对话是重要的领域,因为其在促进人机通信方面具有潜力。迄今为止,大多数研究集中在设计仅消耗表面特征的端到端神经网络。然而,这些模型在多轮会话场景中并不令人满意。具体地,这些模型存在一些问题,例如在会话期间的被动行为以及经常彼此不连贯的多轮响应。
4.为了产生有意义的响应,已经研究了知识图(knowledge graph,kg)、常识知识、个性和情绪的影响。然而,这样的知识例如相关的kg通常不在对话中明确地表达,并且因此为了有意义,需要人类注释以及基准数据集。另外,由于kg很难在真实世界场景中获得,并且通常需要将实体链接作为先决步骤,因此使用相关的kg可能会引入附加的错误。
技术实现要素:
5.本公开内容解决了一个或更多个技术问题。本公开内容提出了从对话中提取内部知识的方法和/或装置,其可以用于理解细粒度情感信息并且有助于对话理解。本公开内容将基于方面的情感分析适用于会话场景情感分析。作为示例,根据本公开内容的实施方式,会话方面情感分析可以从对话中提取用户观点、极性和对应的提及。基于对人类经常表达与他们正在谈论的实体相关的情绪的理解,提取情感、极性和提及可以提供有用的特征和一般的领域理解。更具体地,从人们的对话中准确地提取他们的情绪和对应的实体可能有助于聊天机器人规划后续话题,并且使聊天机器人在多轮会话中更活跃。显式提取情感和提及的另一优点包括减轻数据稀疏性,因为相同的情感和提及对可能出现在各种文本中,并且增加了模型可解释性,使得更容易将该知识与其他知识(例如,kg)相结合。
6.本公开内容包括一种用于多轮会话的情感分析的方法和装置,包括存储器:该存储器被配置成存储计算机程序代码;以及一个或更多个处理器,所述一个或更多个处理器被配置成访问计算机程序代码并且如计算机程序代码所指示的进行操作。该计算机程序代码包括:第一获取代码,该第一获取代码被配置成使至少一个处理器获取输入对话;第一提取代码,该第一提取代码被配置成使至少一个处理器基于与输入对话对应的句子嵌入来提取情感表达;第一生成代码,该第一生成代码被配置成使至少一个处理器基于与输入对话对应的句子嵌入来生成极性值;以及第一确定代码,该第一确定代码被配置成使至少一个处理器基于情感表达和句子嵌入来确定与情感表达中的至少一个相关联的目标提及,其
中,第一确定代码包括:第二生成代码,该第二生成代码被配置成使至少一个处理器基于句子嵌入和情感表达来生成丰富的上下文表示;以及第二确定代码,该第二确定代码被配置成使至少一个处理器基于计算的边界来确定目标提及,其中,计算的边界是使用丰富的上下文表示来生成的。
7.根据实施方式,第二生成代码包括:第三生成代码,该第三生成代码被配置成使至少一个处理器基于句子嵌入来生成话轮式距离;第四生成代码,该第四生成代码被配置成使至少一个处理器基于句子嵌入来生成说话者信息,其中,说话者信息指示输入对话是否来自同一说话者;以及第一连结代码,该第一连结代码被配置成使至少一个处理器连结话轮式距离、说话者信息和情感表达。
8.根据实施方式,第二确定代码包括:第五生成代码,该第五生成代码被配置成使至少一个处理器使用一个或更多个注意力层基于丰富的上下文表示和情感表达来生成分布;以及第三确定代码,该第三确定代码被配置成使至少一个处理器基于分布的边界来确定目标提及。
9.根据实施方式,其中,生成分布包括确定一个或更多个注意力层中的每个注意力层的分布的乘积。
10.根据实施方式,其中,基于分布的边界确定目标提及包括基于多个得分中的最高得分来选择分布的边界,其中,多个得分是通过确定一个或更多个注意力层中的每个注意力层的分布的乘积来生成的。
11.根据实施方式,第一提取代码包括:第六生成代码,该第六生成代码被配置成使至少一个处理器使用预训练的机器学习模型来生成多个标签;以及第一推断代码,该第一推断代码被配置成使至少一个处理器基于多个标签来推断情感表达。
12.根据实施方式,第一生成代码包括:第六生成代码,该第六生成代码被配置成使至少一个处理器使用预训练的机器学习模型来生成多个标签;以及第一推断代码,该第一推断代码被配置成使至少一个处理器基于多个标签来推断情感表达。
13.根据实施方式,其中,极性值为正性、负性或中性之一。
14.根据实施方式,其中,基于输入对话来生成句子嵌入。
附图说明
1.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将变得更加明显,在附图中:
1.图1是根据实施方式的可以实现本文所描述的方法、装置和系统的环境的图。
2.图2是图1的一个或更多个设备的示例部件的图。
15.图3是示出根据本公开内容的实施方式的用于情感提取的模型的简化框图。
16.图4是示出根据本公开内容的实施方式的用于提及提取的模型的简化框图。
17.图5是根据本公开内容的实施方式的用于会话方面情感分析的简化流程图。
18.图6是根据本公开内容的实施方式的用于会话方面情感分析的简化流程图。
19.图7是根据本公开内容的实施方式的用于会话方面情感分析的简化流程图。
具体实施方式
20.本公开内容涉及从对话中提取内部知识,其可以用于理解细粒度情感信息并且有助于对话理解。本公开内容将基于方面的情感分析适用于会话场景情感分析。作为示例,根据本公开内容的实施方式,会话方面情感分析可以从对话中提取用户观点、极性和对应的提及(mention)。基于对人类经常表达与他们正在谈论的实体相关的情绪的理解,提取情感、极性和提及可以提供有用的特征和一般的领域理解。更具体地,从人们的对话中准确地提取他们的情绪和对应的实体可能有助于聊天机器人规划后续话题,并且使聊天机器人在多轮会话中更活跃。显式提取情感和提及的另一优点包括减轻数据稀疏性,因为相同的情感和提及对可能出现在各种文本中,并且增加了模型可解释性,使得更容易将该知识与其他知识(例如,kg)相结合。
21.考虑表1中的示例多轮会话。表1:
22.从人们的对话中准确地提取他们的情绪和对应的实体可能有助于聊天机器人规划后续话题,并且使聊天机器人在多轮会话中更活跃。作为示例,如果用户提到他/她是足球运动员“里奥
·
梅西”的超级粉丝,则聊天机器人可能会提到梅西的最近新闻。此外,由于明确的情感、极性和/或提及提取可以包括理解整个对话历史,因此可以更容易地使提取与其他知识(例如,外部kg)相结合,使得模型更易解释。继续以“里奥
·
梅西”为例,通过将情感和模型提取的解析结果与外部kg相结合,聊天机器人甚至可以推荐梅西的足球俱乐部“巴塞罗那足球俱乐部”最近的比赛。
23.在可用的数据集中,情感分析包含非常有限数目的实例,并且它们仅覆盖少数领域(例如,酒店和餐厅的评论),而日常会话是开放领域的。另外,在这些数据集中,情感表达通常接近于其对应的方面或在短句内的提及。然而,实际上,情感表达及其提及或方面可能是若干不同的陈述,其中省略和回指引入了更复杂的推理。作为示例,考虑表1中的句子:提及“梅西”出现在第三个话语中,而对应的情感词“太棒了”出现在第五个话语中。此外,“内马尔”作为一个非常令人困惑的候选提名带来了进一步的挑战。这仅是3轮的实例,更不用说随着更多轮而增加的复杂性。
24.根据实施方式,情感提取可以从最后的用户话语中找到所有情感表达,并且确定每个提取的情感表达的极性。根据实施方式,提及提取可以针对每个情感表达从对话历史中提取对应的提及。提及提取可以包括理解整个对话历史,使用丰富的特征例如关于句子的说话者和说话者id的信息,以帮助对长距离依赖性的建模。
25.在一些实施方式中,可以手动注释示例或训练数据集。作为示例,数据集可以包括
来自多个数据集的许多对话,其中每个对话可以包括多个句子。作为第一步,可以要求人类和/或专家注释者注释和/或标记每个对话。在一些实施方式中,可以要求他们基于根据现有技术的指南进行注释。注释可以不仅包括句子中的情感表达,而且还包括每次提及的极性值。注释可以遵循其他指南。作为示例,带注释的提及必须具体;对于与同一实体对应的多个提及,仅最具体的提及必须被注释;并且仅具有对应情感表达的提及可以被注释,以便根据明确的用户观点对模型进行训练。
26.下面讨论的所提出的特征可以单独使用或者以任何顺序组合使用。此外,实施方式可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
27.图1是根据实施方式的可以实现本文所描述的方法、装置和系统的环境100的图。
28.如图1所示,环境100可以包括用户设备110、平台120和网络130。环境100的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合来互连。
29.用户设备110包括能够接收、生成、存储、处理和/或提供与平台120相关联的信息的一个或更多个设备。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一副智能眼镜或者智能手表)或者类似设备。在一些实现方式中,用户设备110可以从平台120接收信息以及/或者向平台120发送信息。
30.平台120包括如本文其他地方描述的一个或更多个设备。在一些实现方式中,平台120可以包括云服务器或一组云服务器。在一些实现方式中,平台120可以被设计成模块化的,使得软件部件可以被换入或换出。因此,平台120可以被容易地和/或快速地重新配置成用于不同用途。
31.在一些实现方式中,如所示出的,平台120可以被托管在云计算环境122中。值得注意的是,虽然本文所描述的实现方式将平台120描述为托管在云计算环境122中,但是在一些实现方式中,平台120可以不是基于云的(即,可以在云计算环境的外部实现)或者可以是部分基于云的。
32.云计算环境122包括托管平台120的环境。云计算环境122可以提供计算、软件、数据访问、存储等服务,所述服务不需要终端用户(例如,用户设备110)了解托管平台120的系统和/或设备的物理位置和配置。如所示出的,云计算环境122可以包括一组计算资源124(统称为“计算资源124”并且单独称为“计算资源124”)。
33.计算资源124包括一个或更多个个人计算机、工作站计算机、服务器设备或者其他类型的计算和/或通信设备。在一些实现方式中,计算资源124可以托管平台120。云资源可以包括在计算资源124中执行的计算实例、在计算资源124中提供的存储设备、由计算资源124提供的数据传输设备等。在一些实现方式中,计算资源124可以经由有线连接、无线连接或者有线连接和无线连接的组合与其他计算资源124通信。
34.如图1进一步所示,计算资源124包括一组云资源,例如一个或更多个应用(“application,app”)124-1、一个或更多个虚拟机(“virtual machine,vm”)124-2、虚拟化存储装置(“virtualized storage,vs”)124-3、一个或更多个管理程序(“hypervisor,hyp”)124-4等。
35.应用124-1包括可以提供给用户设备110和/或平台120或者可以由用户设备110
和/或平台120访问的一个或更多个软件应用。应用124-1可以消除在用户设备110上安装和执行软件应用的需要。例如,应用124-1可以包括与平台120相关联的软件和/或能够经由云计算环境122提供的任何其他软件。在一些实现方式中,一个应用124-1可以经由虚拟机124-2向一个或更多个其他应用124-1发送信息或者从一个或更多个其他应用124-1接收信息。
36.虚拟机124-2包括像物理机器那样的执行程序的机器(例如,计算机)的软件实现方式。虚拟机124-2可以是系统虚拟机或过程虚拟机,这取决于虚拟机124-2对任何真实机器的使用和对应程度。系统虚拟机可以提供支持完整操作系统(“os”)的执行的完整系统平台。过程虚拟机可以执行单个程序,并且可以支持单个过程。在一些实现方式中,虚拟机124-2可以代表用户(例如,用户设备110)执行,并且可以管理云计算环境122的基础架构,例如数据管理、同步或长持续时间数据传输。
37.虚拟化存储装置124-3包括在计算资源124的存储系统或设备内使用虚拟化技术的一个或更多个存储系统和/或一个或更多个设备。在一些实现方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以是指逻辑存储从物理存储的提取(或分离),使得可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员在管理员如何针对终端用户管理存储方面的灵活性。文件虚拟化可以消除以文件级别访问的数据与物理地存储文件的位置之间的依赖性。这可以使得能够优化存储使用、服务器整合和/或无中断文件迁移的性能。
38.管理程序124-4可以提供允许多个操作系统(例如,“客户操作系统”)在诸如计算资源124的主计算机上同时执行的硬件虚拟化技术。管理程序124-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化的硬件资源。
39.网络130包括一个或更多个有线网络和/或无线网络。例如,网络130可以包括蜂窝网络(例如,第五代(fifth generation,5g)网络、长期演进(long-term evolution,lte)网络、第三代(third generation,3g)网络、码分多址(code division multiple access,cdma)网络等)、公共陆地移动网络(public land mobile network,plmn)、局域网(local area network,lan)、广域网(wide area network,wan)、城域网(metropolitan area network,man)、电话网络(例如,公共交换电话网络(public switched telephone network,pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等、以及/或者这些或其他类型的网络的组合。
40.图1所示的设备和网络的数目和布置作为示例被提供。在实践中,与图1所示的设备和网络相比,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以实现为多个分布式设备。另外或替选地,环境100的一组设备(例如,一个或更多个设备)可以执行被描述为由环境100的另一组设备执行的一个或更多个功能。
41.图2是图1的一个或更多个设备的示例部件的框图。
42.设备200可以对应于用户设备110和/或平台120。如图2所示,设备200可以包括总线210、处理器220、存储器230、存储部件240、输入部件250、输出部件260和通信接口270。
43.总线210包括允许设备200的部件之间通信的部件。处理器220以硬件、固件或者硬件和软件的组合来实现。处理器220是中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)、加速处理单元(accelerated processing unit,apu)、微处理器、微控制器、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、专用集成电路(application-specific integrated circuit,asic)或其他类型的处理部件。在一些实现方式中,处理器220包括能够被编程以执行功能的一个或更多个处理器。存储器230包括随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)以及/或者存储供处理器220使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
44.存储部件240存储与设备200的操作和使用相关的信息和/或软件。例如,存储部件240可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、致密盘(compact disc,cd)、数字通用盘(digital versatile disc,dvd)、软盘、盒式磁带、磁带和/或另一类型的非暂态计算机可读介质以及对应的驱动器。
45.输入部件250包括允许设备200例如通过用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)接收信息的部件。另外或替选地,输入部件250可以包括用于感测信息的传感器(例如,全球定位系统(gps)部件、加速度计、陀螺仪和/或致动器)。输出部件260包括提供来自设备200的输出信息的部件(例如,显示器、扬声器和/或一个或更多个发光二极管(led))。
46.通信接口270包括使得设备200能够例如经由有线连接、无线连接或者有线连接和无线连接的组合与其他设备通信的类似收发器的部件(例如,收发器和/或单独的接收器和发送器)。通信接口270可以允许设备200从另一设备接收信息和/或向另一设备提供信息。例如,通信接口270可以包括以太网接口、光学接口、同轴接口、红外接口、射频(radio frequency,rf)接口、通用串行总线(universal serial bus,usb)接口、wi-fi接口、蜂窝网络接口等。
47.设备200可以执行本文所描述的一个或更多个处理。设备200可以响应于处理器220执行由诸如存储器230和/或存储部件240的非暂态计算机可读介质存储的软件指令来执行这些处理。计算机可读介质在本文中被限定为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或者分布在多个物理存储设备上的存储器空间。
48.可以经由通信接口270从另一计算机可读介质或从另一设备将软件指令读入存储器230和/或存储部件240中。存储在存储器230和/或存储部件240中的软件指令在被执行时可以使处理器220执行本文所描述的一个或更多个处理。另外或替选地,可以使用硬连线电路系统来代替软件指令或者与软件指令相结合以执行本文所描述的一个或更多个处理。因此,本文所描述的实现方式不限于硬件电路系统和软件的任何特定组合。
49.图2所示的部件的数目和布置作为示例被提供。在实践中,与图2所示的部件相比,设备200可以包括附加的部件、更少的部件、不同的部件或不同地布置的部件。另外或替选地,设备200的一组部件(例如,一个或更多个部件)可以执行被描述为由设备200的另一组部件执行的一个或更多个功能。
50.图3是示出根据本公开内容的实施方式的用于情感提取的示例性模型300的简化
图。
51.根据实施方式,对用于理解多轮会话的会话方面情感分析的输入可以是一个或更多个输入对话。多轮会话可以是包括来自一个或更多个说话者的一个或更多个句子的对话话语。作为示例,多轮会话可以是来回会话,其中前一问题和/或句子的上下文影响应答或下一问题和/或句子。输入对话可以包括一个或更多个句子。在一些实施方式中,对用于理解多轮会话的会话方面情感分析的输入可以是一个或更多个输入对话和/或分解成词的句子。作为示例,对话话语的列表可以包括x1,x2,...,xi,其中xi是对话话语中的句子并且其中表示最近对话话轮中的输入词(310)并且ni表示xi的长度。
52.情感提取可以包括从输入对话中提取所有情感表达。极性提取可以包括提取与每个情感对应的极性值。作为示例,情感和/或极性提取(360)可以包括从xi中提取所有情感表达{s1,...,sm}及其极性值{p1,...,pm}(情感提取,se)。在一些实施方式中,每个情感表达可以是输入对话中的词和/或短语。作为示例,情感表达sj可以是话轮xi内的词或短语,并且其极性值pj选自三个可能的值:-1(负性)、0(中性)和+1(正性)。
53.在一些实施方式中,句子编码器(320)可以用于从输入对话中识别情感表达和极性。作为示例,可以使用句子编码器(320),其中句子编码器(320)可以被建模为将提取情感表达和检测其极性视为序列标记任务。在一些实施方式中,句子编码器(320)可以采用预训练的模型例如预训练的bert模型以针对输入词(310)生成上下文敏感嵌入。在一些实施方式中,句子编码器(320)可以采用多个自注意力层以针对输入句子生成上下文敏感嵌入(330)。上下文敏感句子嵌入(330)的生成可以使用可以如下的式(1)来表示:
54.在一些实施方式中,上下文敏感句子嵌入(330)可以被输入至神经网络和/或机器学习模型(340)中,以针对每个输入词、句子和/或对话生成多个标签。作为示例,上下文敏感句子嵌入(330)可以被输入至具有多个输出单元和softmax激活的多层感知器(multi-layer perceptron,mlp)中,以预测每个输入词(310)(例如,)的一个或更多个标签(350)。然后,可以根据一个或更多个标签推断句子表达及其极性。作为示例,该模型应该针对表1中的句子“他的整体表现太棒了!”生成标签“o o o o o pos-b o”,并且然后从标签中检测到正面情感表达“太棒了”。
55.图4是示出根据本公开内容的实施方式的用于提及提取的示例性模型400的简化图。
56.在一些实施方式中,情感表达及其极性可以被输入至提及提取器模型中,以提取针对至少一个情感表达的对应提及。在一些实施方式中,可以采用提及编码器(420)以提取针对每个情感表达sj的对应提及mj。在一些实施方式中,提及提取可以基于情感表达和上下文敏感句子嵌入。在一些实施方式中,提及提取可以基于根据情感表达和上下文嵌入的输入连结(410)。作为示例,所有对话话轮和相关联的表达sj的连结可以用作到
提及编码器(420)的输入。在一些实施方式中,提及编码器(420)可以基于自注意力和/或预训练的bert使用一个或更多个编码器来实现,以获得上下文嵌入。上下文嵌入的生成可以使用如下的式(2)来表示:
57.其中表示情感表达sj的词元(token),并且[sep]可以是用于分离上下文和情感表达的人工词元。在一些实施方式中,最后的子词单元的向量可以用于获得词级表示。
[0058]
提及提取可能需要贯穿整个对话的更长距离的推理。在一些实施方式中,可以使用包括话轮式(turn-wise)距离和说话者信息的丰富特征来对跨句子相关性进行建模。在一些实施方式中,特征提取器(430)可以用于生成包括话轮式距离和说话者信息的丰富特征,以对跨句子相关性进行建模。在一些实施方式中,话轮式距离可以是当前话轮的被分成[0,1,2,3,4,5+,8+,10+]的相对距离。说话者信息可以是指示对话历史中的词元是否来自与当前话轮相同的说话者的二进制特征。两种类型的信息都可以由嵌入来表示。作为示例,和可以对应于针对词元的距离嵌入(话轮式距离)和说话者嵌入(说话者信息)。距离嵌入、说话者嵌入、句子嵌入和/或上下文嵌入可以与编码器输出(即,)连结,以获得丰富的上下文表示(440):
[0059]
其中表示连结操作。在一些实施方式中,可以使用丰富的上下文表达(440)来生成连结的对话历史表示。连结的对话历史表示可以被表达为输入对话中的所有句子的丰富上下文表达的连结。
[0060]
在一些实施方式中,可以通过对情感表达sj内的所有词元的上下文表示进行平均来生成表示整个情感表达sj的平均向量表示(450)。平均向量表示(450)可以使用式(5)来表示。
[0061]
其中l是sj的长度。使用用于情感表达的平均向量表示(450)和连结的对话历史表示作为查询和记忆,一个或更多个注意力模型(460)可以用于分别计算目标提及的开始(st)和结束(ed)边界的分布(470)。如果使用两个注意力模型,则目标提及的总体分布(470)可以被限定为两个分布的乘积:
φ=φ
st
φ
ed
…………
式(8)
[0062]
根据实施方式,目标提及(st,ed)可以通过选择从φ[st,ed]中产生的最高得分的边界st和ed两者来产生,其中st≤ed并且st和ed可以在同一话语中。
[0063]
图5是示出根据本公开内容的实施方式的用于会话方面情感分析的示例过程500的简化流程图。
[0064]
在操作510处,可以从与输入对话、句子和/或词对应的句子嵌入中提取情感表达。作为示例,输入词(310)可以用于提取情感表达。在一些示例中,可以使用编码器从输入对话、句子和/或词中提取情感表达。作为示例,句子编码器(320)可以用于提取情感表达。在一些实施方式中,可以使用特定的句子编码器。在一些实施方式中,任何方法和/或模型都可以用作编码器。
[0065]
在一些实施方式中,可以存在在提取情感表达之前执行的先前操作,包括获得输入对话、句子和/或词。在一些实施方式中,提取情感表达可以包括使用预训练的机器学习模型来生成多个标签,并且基于多个标签来推断情感表达。作为示例,提取情感表达可以包括使用预训练的机器学习模型(340)来生成一个或更多个标签(350),并且基于多个标签来推断情感表达。作为示例,预训练的bert模型和/或注意力层可以用于生成多个标签,并且根据标签推断情感表达。
[0066]
在操作520处,可以从与输入的对话、句子和/或词对应的句子嵌入中提取极性值。作为示例,输入词(310)可以用于提取极性值。极性值可以与一个或更多个情感表达相关联。在一些实施方式中,每个极性值可以与情感表达相关联。在一些示例中,可以使用编码器从输入对话、句子和/或词中提取极性值。作为示例,句子编码器(320)可以用于提取极性值。在一些实施方式中,可以使用特定的句子编码器。在一些实施方式中,任何方法和/或模型都可以用作编码器。
[0067]
在操作530处,可以基于情感表达、极性值和/或句子嵌入来确定目标提及。在一些实施方式中,目标提及可以与至少一个情感表达相关联。在540处,确定情感表达的目标提及可以包括基于句子嵌入和情感表达来生成丰富的上下文表示。在550处,确定情感表达的目标提及还可以包括基于计算的边界来确定目标提及,其中计算的边界是使用丰富的上下文表示生成的。作为示例,可以使用距离嵌入、说话者嵌入、句子嵌入以及/或者由提及编码器(420)和/或特征提取器(430)生成的上下文嵌入来生成丰富的上下文表示(440)。在一些实施方式中,丰富的上下文表示(440)和平均向量表示(450)可以用作到一个或更多个注意力模型(460)的输入,以计算边界。
[0068]
图6是示出根据本公开内容的实施方式的用于会话方面情感分析的示例过程600的简化流程图。
[0069]
在操作610处,可以获得输入对话。输入对话可以包括一个或更多个句子和/或词。在一些实施方式中,输入对话可以包括与一个或更多个说话者的多轮对话。
[0070]
在操作620处,可以使用句子编码器来生成句子嵌入。作为示例,可以使用句子编码器(320)来生成句子嵌入。作为示例,可以使用句子编码器(320),其中句子编码器(320)可以被建模为将提取情感表达和检测其极性视为序列标记任务。在一些实施方式中,句子
编码器(320)可以采用预训练的模型例如预训练的bert模型以针对输入词(310)生成上下文敏感嵌入。在一些实施方式中,句子编码器(320)可以采用多个自注意力层以针对输入句子生成上下文敏感嵌入(330)。
[0071]
在一些实施方式中,在操作630处,可以使用预训练的模型基于句子嵌入来生成一个或更多个标签。作为示例,上下文敏感句子嵌入(330)可以被输入至神经网络和/或机器学习模型(340)中,以针对每个输入单词、句子和/或对话生成多个标签。在一些实施方式中,上下文敏感句子嵌入(330)可以被输入至具有多个输出单元和softmax激活的多层感知器(mlp)中,以预测每个输入单词(310)(例如,)的一个或更多个标签(350)。然后,可以分别在操作640和650处根据一个或更多个标签推断句子表达及其极性。
[0072]
图7是示出根据本公开内容的实施方式的用于会话方面情感分析的示例过程700的简化流程图。
[0073]
在操作710处,情感表达和句子嵌入可以被输入至一个或更多个模型中。作为示例,情感表达和句子嵌入可以被输入至提及编码器(420)和/或特征提取器(430)中。
[0074]
在操作720处,可以使用情感表达和句子嵌入来生成丰富的上下文表示。在一些实施方式中,可以使用一个或更多个模型基于情感表达和句子嵌入来生成丰富的上下文表示。作为示例,可以使用提及编码器(420)和/或特征提取器(430)基于情感表达和句子嵌入来生成丰富的上下文表示。
[0075]
在一些实施方式中,基于句子嵌入和情感表达生成丰富的上下文表示可以包括基于句子嵌入生成话轮式距离,基于句子嵌入生成说话者信息,以及连结话轮式距离、说话者信息和情感表达以生成丰富的上下文表示。在一些实施方式中,说话者信息可以指示输入对话是否来自同一说话者。在一些实施方式中,丰富的上下文信息的生成还可以包括通过对情感表达内的所有词元的上下文表示进行平均来生成表示整个情感表达的平均向量表示。
[0076]
在一些实施方式中,提及编码器(420)可以基于自注意力和/或预训练的bert使用一个或更多个编码器来实现,以获得上下文嵌入。在一些实施方式中,特征提取器(430)可以基于自注意力和/或预训练的bert使用一个或更多个编码器来实现,以获得上下文嵌入。
[0077]
在操作730处,可以基于丰富的上下文信息使用至少两个注意力层和/或注意力模型来生成分布。作为示例,丰富的上下文表示(440)和平均向量表示(450)可以被输入至一个或更多个注意力模型(460)中,以获得一个或更多个分布。
[0078]
在操作740处,可以确定来自一个或更多个注意力层中的每个注意力层的所生成的分布的乘积。在一些实施方式中,确定所生成的分布的乘积可以包括生成多个得分。
[0079]
在操作750处,可以基于分布的边界来确定与至少一个情感表达提及相关联的目标。在一些实施方式中,确定目标提及可以包括基于多个得分中的最高得分来选择分布的边界。在一些实施方式中,确定目标提及可以包括基于多个得分中的最高得分来选择分布的边界,其中通过确定一个或更多个注意力层中的每个注意力层的分布的乘积来生成多个得分。作为示例,目标提及可以通过从每个注意力模型中选择边界来产生,该边界从分布的乘积中产生最高得分。在一些实施方式中,来自一个注意力模型的所选择的边界可以小于来自另一注意力模型的所选择的边界。在一些实施方式中,两个边界可以属于同一话语。
[0080]
本公开内容的示例优点可以描述如下。
[0081]
表2显示了本公开内容的实施方式的性能。如表2所示,使用bert模型的本公开内容在识别多轮会话中的情感和提及方面提供了最佳得分。表2
[0082]
表3显示了本公开内容的实施方式的性能。如表3所示,使用一个或更多个转换器的本公开内容在识别多轮会话中的情感和提及方面提供了最佳得分。表3表3
[0083]
如表3所示,在列“avg.kn len.”中展示了所用知识的平均长度。使用完整的新闻文档使bleu得分略有增加,但输出的多样性降低,如由不同的得分所指示的。根据本公开内容的实施方式,仅采取所选择的片段改善了关于不同得分的多样性,并且示出了可比较的bleu得分。更重要的是,本公开内容的实施方式平均仅选择29个汉语字符,而全文档基线使用765个字符。这表明本公开内容的实施方式可以节省96%的用于表示相关知识的存储器使用。
[0084]
尽管图5至图7示出了过程500、600和700的示例块,但在实施方式中,过程500、600和700可以包括与图5至图7所描绘的那些块相比的附加块、更少的块、不同的块或不同地布置的块。在实施方式中,过程500、600和700的任何块可以根据需要以任何数目或顺序组合或布置。在实施方式中,可以并行地执行过程500、600和700的两个或更多个块。
[0085]
上述技术可以被实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中,或者可以通过专门配置的一个或更多个硬件处理器来实现。例如,图1示出了适于实现各种实施方式的环境100。
[0086]
可以使用任何合适的机器代码或计算机语言来对计算机软件进行编码,机器代码或计算机语言可以经受汇编、编译、链接或类似机制,以创建包括可以由计算机中央处理单元(computer central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解释、微代码执行等执行的指令的代码。
[0087]
所述指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例
如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
[0088]
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同方案。因此,应当理解,本领域技术人员将能够设想出多种系统和方法,尽管所述多种系统和方法在本文中没有明确示出或描述,但是体现了本公开内容的原理并且因此在本公开内容的精神和范围内。
技术特征:
1.一种用于多轮会话的情感分析的方法,所述方法包括:获得输入对话;基于与所述输入对话对应的句子嵌入来提取情感表达;基于与所述输入对话对应的所述句子嵌入来生成极性值;以及基于所述情感表达和所述句子嵌入来确定与所述情感表达中的至少一个相关联的目标提及,其中,所述目标提及的确定包括:基于所述句子嵌入和所述情感表达来生成丰富的上下文表示;以及基于计算的边界来确定所述目标提及,其中,所述计算的边界是使用所述丰富的上下文表示生成的。2.根据权利要求1所述的方法,其中,基于所述句子嵌入和所述情感表达生成所述丰富的上下文表示包括:基于所述句子嵌入来生成话轮式距离;基于所述句子嵌入来生成说话者信息,其中,所述说话者信息指示所述输入对话是否来自同一说话者;以及连结所述话轮式距离、所述说话者信息和所述情感表达。3.根据权利要求1所述的方法,其中,基于计算的边界确定所述目标提及包括:使用一个或更多个注意力层基于所述丰富的上下文表示和所述情感表达来生成分布;以及基于所述分布的边界来确定所述目标提及。4.根据权利要求3所述的方法,其中,所述分布的生成包括确定所述一个或更多个注意力层中的每个注意力层的分布的乘积。5.根据权利要求3所述的方法,其中,所述目标提及的确定包括基于多个得分中的最高得分来选择所述分布的边界,其中,所述多个得分是通过确定所述一个或更多个注意力层中的每个注意力层的分布的乘积来生成的。6.根据权利要求1所述的方法,其中,基于所述输入对话来生成所述句子嵌入。7.根据权利要求1所述的方法,其中,从所述句子嵌入中提取所述情感表达包括:使用预训练的机器学习模型来生成多个标签;以及基于所述多个标签来推断所述情感表达。8.根据权利要求1所述的方法,其中,从所述句子嵌入中生成所述极性值包括:使用预训练的机器学习模型来生成多个标签;以及基于所述多个标签来推断所述极性值。9.根据权利要求1所述的方法,其中,所述极性值是正性、负性或中性之一。10.一种用于多轮会话的情感分析的装置,所述装置包括:至少一个存储器,所述至少一个存储器被配置成存储计算机程序代码;至少一个处理器,所述至少一个处理器被配置成访问所述计算机程序代码并且如所述计算机程序代码所指示的进行操作,所述计算机程序代码包括:第一获得代码,所述第一获得代码被配置成使所述至少一个处理器获得输入对话;第一提取代码,所述第一提取代码被配置成使所述至少一个处理器基于与所述输入对
话对应的句子嵌入来提取情感表达;第一生成代码,所述第一生成代码被配置成使所述至少一个处理器基于与所述输入对话对应的所述句子嵌入来生成极性值;以及第一确定代码,所述第一确定代码被配置成使所述至少一个处理器基于所述情感表达和所述句子嵌入来确定与所述情感表达中的至少一个相关联的目标提及,其中,所述第一确定代码包括:第二生成代码,所述第二生成代码被配置成使所述至少一个处理器基于所述句子嵌入和所述情感表达来生成丰富的上下文表示;以及第二确定代码,所述第二确定代码被配置成使所述至少一个处理器基于计算的边界来确定所述目标提及,其中,所述计算的边界是使用所述丰富的上下文表示生成的。11.根据权利要求10所述的装置,其中,所述第二生成代码包括:第三生成代码,所述第三生成代码被配置成使所述至少一个处理器基于所述句子嵌入来生成话轮式距离;第四生成代码,所述第四生成代码被配置成使所述至少一个处理器基于所述句子嵌入来生成说话者信息,其中,所述说话者信息指示所述输入对话是否来自同一说话者;以及第一连结代码,所述第一连结代码被配置成使所述至少一个处理器连结所述话轮式距离、所述说话者信息和所述情感表达。12.根据权利要求10所述的装置,其中,所述第二确定代码包括:第五生成代码,所述第五生成代码被配置成使所述至少一个处理器使用一个或更多个注意力层基于所述丰富的上下文表示和所述情感表达来生成分布;以及第三确定代码,所述第三确定代码被配置成使所述至少一个处理器基于所述分布的边界来确定所述目标提及。13.根据权利要求12所述的装置,其中,生成所述分布包括确定所述一个或更多个注意力层中的每个注意力层的分布的乘积。14.根据权利要求12所述的装置,其中,基于所述分布的边界确定所述目标提及包括基于多个得分中的最高得分来选择所述分布的边界,其中,所述多个得分是通过确定所述一个或更多个注意力层中的每个注意力层的分布的乘积来生成的。15.根据权利要求10所述的装置,其中,所述第一提取代码包括:第六生成代码,所述第六生成代码被配置成使所述至少一个处理器使用预训练的机器学习模型来生成多个标签;以及第一推断代码,所述第一推断代码被配置成使所述至少一个处理器基于所述多个标签来推断所述情感表达。16.根据权利要求10所述的装置,其中,所述第一生成代码包括:第六生成代码,所述第六生成代码被配置成使所述至少一个处理器使用预训练的机器学习模型来生成多个标签;以及第一推断代码,所述第一推断代码被配置成使所述至少一个处理器基于所述多个标签来推断所述情感表达。17.根据权利要求10所述的装置,其中,所述极性值是正性、负性或中性之一。18.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储有使计算机执行处
理的程序,所述处理包括:获得输入对话;基于与所述输入对话对应的句子嵌入来提取情感表达;基于与所述输入对话对应的所述句子嵌入来生成极性值;以及基于所述情感表达和所述句子嵌入来确定与所述情感表达中的至少一个相关联的目标提及,其中,所述目标提及的确定包括:基于所述句子嵌入和所述情感表达来生成丰富的上下文表示;以及基于计算的边界来确定所述目标提及,其中,所述计算的边界是使用所述丰富的上下文表示生成的。19.根据权利要求18所述的非暂态计算机可读介质,其中,基于所述句子嵌入和所述情感表达生成所述丰富的上下文表示包括:基于所述句子嵌入来生成话轮式距离;基于所述句子嵌入来生成说话者信息,其中,所述说话者信息指示所述输入对话是否来自同一说话者;以及连结所述话轮式距离、所述说话者信息和所述情感表达。20.根据权利要求18所述的非暂态计算机可读介质,其中,基于计算的边界确定所述目标提及包括:使用一个或更多个注意力层基于所述丰富的上下文表示和所述情感表达来生成分布;以及基于所述分布的边界来确定所述目标提及。
技术总结
包括用于多轮会话的情感分析的方法和装置,包括计算机代码以进行如下操作:获得输入对话;基于与输入对话对应的句子嵌入来提取情感表达;基于与输入对话对应的句子嵌入来生成极性值;以及基于情感表达和句子嵌入来确定与情感表达中的至少一个相关联的目标提及,其中目标提及的确定包括:基于句子嵌入和情感表达来生成丰富的上下文表示;以及基于计算的边界来确定目标提及,其中,计算的边界是使用丰富的上下文表示生成的。的上下文表示生成的。的上下文表示生成的。
技术研发人员:宋林峰
受保护的技术使用者:腾讯美国有限责任公司
技术研发日:2022.08.25
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/