CN117015781A - 从图形用户界面生成自然语言界面 - Google Patents
从图形用户界面生成自然语言界面 Download PDFInfo
- Publication number
- CN117015781A CN117015781A CN202280020229.4A CN202280020229A CN117015781A CN 117015781 A CN117015781 A CN 117015781A CN 202280020229 A CN202280020229 A CN 202280020229A CN 117015781 A CN117015781 A CN 117015781A
- Authority
- CN
- China
- Prior art keywords
- intent
- program instructions
- nli
- computer
- examples
- 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
Links
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000009471 action Effects 0.000 claims description 41
- 238000003860 storage Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000002085 persistent effect Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
公开了一种直接从图形用户界面(GUI)代码自动生成自然语言界面(NLI)的方法。该方法通过使用GUI组件到预定义的NLI组件之间的映射来从GUI代码表示生成必要的NLI组件(例如,意图示例、实体等)。该方法可利用预定义的模式为每一种NLI组件生成这些意图示例。所创建的NLI对话可以与GUI同时使用或作为独立的特征使用。
Description
技术领域
本发明一般涉及GUI(图形用户界面),并且更具体地涉及从GUI生成自然语言界面。
背景技术
用户当前与应用交互的主要方式是通过GUI(图形用户界面)。尽管越来越普遍的做法是尝试构建也与NLI(自然语言界面)一起工作的应用。当今使用的一些app和网页在某些情况下,如果这些app和网页具备NLI功能,可能会更容易使用。例如在杂货店时与杂货店购物清单一起工作。
即使已经构建了GUI,从头开始构建NLI也是一项大量的工作,并且需要会话设计中的知识,而这在应用开发者之间是不常见的。这意味着想要将NLI添加到其app的公司或开发者将需要投入大量时间来研究和实现该界面。此外,它们必须保持它们的两个界面同步,即一个界面的改变可能要求另一个界面的改变。
发明内容
本发明的各方面公开了一种用于从GUI(图形用户界面)代码创建NLI(自然语言)对话的计算机实现方法、计算机系统和计算机程序产品。该计算机实现方法可以由一个或多个计算机处理器实现,并且可以包括:接收应用的GUI代码表示;将GUI代码表示映射到一个或多个NLI组件;基于一个或多个NLI组件确定预定义的意图模式;基于预定义的意图模式创建一个或多个意图示例;基于一个或多个意图示例创建一个或多个实体;将动作函数映射到一个或多个NLI组件的后端操作;以及基于一个或多个意图示例、一个或多个实体、映射的动作函数和预定义的对话组件生成NL(自然语言)对话。
根据本发明的另一实施例,提供了一种计算机系统。该计算机系统包括处理单元;以及存储器,其耦合到处理单元并且在其上存储指令。当由处理单元执行时,该指令执行根据本发明实施例的方法的动作。
根据本发明的又一实施例,提供了一种计算机程序产品,其被有形地存储在非暂时性机器可读介质上并且包括机器可执行指令。当在设备上执行时,该指令使得该设备执行根据本发明实施例的方法的动作。
附图说明
现在将参考以下附图仅通过示例方式描述本发明的优选实施例,其中:
图1是示出根据本发明实施例的被表示为100的自然语言环境的功能框图。图1包括根据本发明实施例的自然语言组件111的展开图,其特征在于其中包含的若干子组件;
图2A是根据本发明实施例的样本应用的主屏幕的屏幕截图;
图2B是根据本发明实施例的样本应用(来自图2A)的配置屏幕的屏幕截图;
图2C是根据本发明实施例的例示用于样本应用(来自图2A)的GUI到NLI映射的示例;
图2D是根据本发明实施例的会话和对应逻辑的样本;
图2E是根据本发明实施例的会话和对应逻辑的另一个样本;
图3是示出根据本发明实施例的被表示为300的自然语言组件111的操作的高级流程图;以及
图4描绘了根据本发明实施例的能够在图1的自然语言环境内执行自然语言组件111的被表示为400的服务器计算机的组件的框图。
具体实施方式
本发明的实施例认识到当前技术状态的缺陷,并提供一种直接从GUI(图形用户界面)代码自动生成NLI(自然语言界面)的方法。实施例通过使用GUI组件到预定义的NLI组件之间的映射来生成必要的例如单选、多选、自由文本等)以及意图和实体示例。该方法可以利用预定义的模式来生成NLI组件的每个预定义的意图的意图示例。NLI将使用相同的操作和示例。例如,预定义的意图(即,“报告”意图)作为预定义的NLI组件的一部分存在,预定义的模式用于生成这些意图的训练示例(即,“我希望报告{X}是{Y}”,其中X和Y将由从GUI提取的实际值替换)。
该方法可以简要概括为以下步骤:i)将GUI组件映射到对应的NLI组件(即,下拉选择被映射到单选输入NLI组件),ii)利用预定义的模式为每一种NLI组件创建意图和实体示例,iii)映射动作组件,以及iv)生成应用的自然语言对话表示。
可以进一步描述意图、实体和动作。每个NLI组件具有与该NLI组件和预定义的意图模式对应的预定义的“意图”。意图基于代码中GUI组件的名称和ID(标识),可以用作从预定义的模式创建意图示例的基础。实体基于从GUI代码表示解析的组件,实体可以使用一些GUI组件的名称和ID作为实体和同义词。作为上述映射的一部分,动作是对GUI代码表示中的动作的调用(即,按钮的onClick回调函数)到NL(自然语言)组件后端操作之间的映射。另外,映射可以在还寻找对动作的任何限制(即,下拉组件可以具有预定义的允许值)的同时发生,这些限制将需要在NLI中考虑。注意,所创建的自然语言对话可以与GUI同时使用或作为独立特征使用。
本发明的其它实施例可以解决现有技术中的缺陷并提供以下优点:i)创建完全不同的界面而完全无需改变现有GUI,ii)从图形用户界面自动创建自然语言界面,iii)利用不同类型的GUI和NLI组件,iv)利用训练不同的意图和实体,v)NLI将自动寻找GUI以及已知的会话组件来创建新界面。
说明书中对“一个实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不一定包括该特定特征、结构或特性。此外,这些短语不一定是指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合其它实施例来实现这种特征、结构或特性是在本领域技术人员的知识范围内,而不管是否明确描述。
应当理解,附图仅仅是示意性的,并且不是按比例绘制的。还应当理解,在所有附图中使用相同的附图标记来表示相同或相似的组件。
图1是示出根据本发明实施例的表示为100的自然语言环境的功能框图。图1仅提供了一种实现的例示,并且不暗示对其中可实现不同实施例的环境的任何限制。本领域技术人员可以对所描述的环境进行许多修改,而不脱离权利要求所陈述的本发明的范围。
自然语言环境100包括产品网络101、计算设备102和服务器110。
网络101可以是例如电信网络、局域网(LAN)、诸如因特网的广域网(WAN)或这三者的组合,并且可以包括有线、无线或光纤连接。网络101可以包括能够接收和发送数据、语音和/或视频信号的一个或多个有线和/或无线网络,包括多媒体信号,多媒体信号包括语音、数据和视频信息。通常,网络101可以是能够支持服务器110、计算设备102和自然语言环境100内的其他计算设备(未示出)之间的通信的连接和协议的任何组合。注意,其它计算设备可以包括但不限于计算设备102和能够执行一系列计算指令的任何机电设备。
计算设备102可以包括终端用户机器和软件编程平台的集群。计算设备102为用户(即程序员)提供了从GUI组件创建NLI对话的能力。
服务器110和计算设备102可以是独立的计算设备、管理服务器、web服务器、移动计算设备、或能够接收、发送和处理数据的任何其他电子设备或计算系统。在其他实施例中,服务器110和计算设备102可以表示利用多个计算机作为服务器系统的服务器计算系统,诸如在云计算环境中。在另一实施例中,服务器110和计算设备102可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、桌上型计算机、个人数字助理(PDA)、智能电话、或能够经由网络101与自然语言环境100内的其他计算设备(未示出)通信的任何其他可编程电子设备。在另一实施例中,服务器110和计算设备102表示利用集群的计算机和组件(例如,数据库服务器计算机、应用服务器计算机等)的计算系统,当在自然语言环境100内被访问时,集群的计算机和组件充当单个无缝资源池。
本发明的实施例可以驻留在服务器110上。服务器110包括自然语言组件111和数据库116。本发明的其它实施例可以驻留在计算设备102上。
自然语言组件111提供从GUI代码表示生成必要的NLI组件(例如,意图、实体等)的能力。自然语言组件111可以(通过利用机器学习)解析GUI代码表示,并提取用于NLI的所有相关信息。在提取之后,自然语言组件111可以使用预定义的模式(通过利用机器学习)来为每种NLI组件生成意图示例(附加地,基于意图示例的实体)。基于所生成的意图、实体和其他组件,自然语言组件111可以创建(通过利用机器学习)NLI对话框和/或其他NLI组件。
数据库116是由自然语言组件111使用的数据的储存库。数据库116可以用能够存储可由服务器110访问和利用的数据和配置文件的任何类型的存储设备来实现,诸如数据库服务器、硬盘驱动器或闪存。数据库116使用本领域已知的多种技术中的一种或多种来存储多个信息。在所描绘的实施例中,数据库116驻留在服务器110上。在另一实施例中,数据库116可以驻留在自然语言环境100内的其他地方,只要自然语言组件111可以访问数据库116。数据库116就可以存储与预定义的意图示例、预定义的特定对话组件、NLI组件到GUI组件之间的先前存储的映射信息、用于帮助从软件源代码确定GUI代码的信息以及用于动作的调用和其它GUI组件的一般映射信息相关联的信息,但不限于此。
在所描绘的实施例中,自然语言组件111包括组件映射组件121、意图和实体组件122、动作映射组件123和生成组件124。
如下面进一步描述的,本发明的组件映射组件121提供将GUI组件映射到NLI组件的能力。例如(参见图2C),在接收到将被解析的应用/网站的GUI代码表示时,每个GUI组件(例如,按钮、下拉、单选按钮、图表等)将通过其在代码中的声明来识别,然后被映射到对应的NLI组件(例如,下拉选择将被映射到单选输入NLI组件)。注意,GUI代码表示可以从app/网站的软件的主源代码导出(即,从用户手动地确定或自动地确定)。
解析GUI代码表示可以涉及提取用于NLI的所有相关信息。用于NLI的所有相关信息可以包括但不限于:i)实体,ii)实体同义词,iii)GUI组件到NLI组件之间的映射,iv)动作(即,按钮的onClick方法)和v)可能与NLI相关的任何其它信息。
如以下进一步描述的,本发明的意图和实体组件122提供创建意图/意图示例和实体的能力。意图/意图示例是从输入表达的目的或目标,诸如“报告字段”或“查询值”,系统使用预定义的模式和从GUI提取的示例来训练NLU(自然语言理解),以在从用户接收到输入时更好地识别这些意图。
另外,本发明的意图和实体组件122具有创建新的预定义的模式和/或编辑现有预定义的模式的能力。预定义的模式(即,如模板)是具有用于实体的占位符的意图示例,这些意图示例可以用于生成多个意图示例。例如,如果系统查看“报告”意图的模式,则这将发生:
″The value of{field-name}is{ifeld-value}″(“{字段名}的值是{字段值}”)。
系统将从该模式创建许多意图示例,用从代码自动提取的值来替换{字段名}和{字段值}。在图2A中,“站点id”和“工作通知单id”是{字段名}值的示例,{字段值}示例将必须从代码中定义或推断。例如,对于“站点id”,对应的{字段值}可以是“任何数字值”。用户可以基于应用的需要来编辑现有的预定义的意图模式。
存在两种选择来确定这些预定义的模式。第一选项是使用已经在系统中定义的模式的“分组”(即,系统已经具有的用于“报告”意图的模式),开发者可以从该列表添加/移除模式。模式的分组可以从数据库(即,数据库106)检索或可从另一服务器检索。第二种选项是开发者可以创建他自己的模式和意图列表。例如,实施例可以确定用于特定意图的模式的意图的基本集合(即,“报告”意图)。实施例可以使用基本模式集,或者开发者可以编辑/修改现有基本模式以适合当前提取。
对于每个意图(即,“报告”意图),可以有预定义的实体(对于“报告”,这些将是“字段”和“值”),仅提取这些实体的训练示例(例如,对于“值”,其可以是像“低”、“高”等的示例)。
实体表示用户输入中与用户目的相关的信息,例如,当用户想要报告字段时,系统需要识别意图(“报告字段”)以及用户想要报告哪个字段(实体)。例如,“将油位设置为低”,在该示例中,意图将是“报告值”,“字段名称”实体将是“油位”,并且“字段值”实体将是“低”。在图2C中,所有“字段”和“固定数据”都是实体。在另一示例中,“检查表-单选”,在这个示例中,“字段名称”实体是“检查表”并且“字段值”实体将具有从代码生成的值(来自原始下拉的所有可能的回答)。“单选”部分指的是GUI组件被映射到的NLU组件类型,在这种情况下,“下拉”被映射到“单选”。
在备选实施例中,意图和实体组件122可以利用NLI组件来作为实体使用(即,单选字段NLI组件将需要值实体)。对于这些NLI组件,实施例可填充必要的实体。填充过程可以以与意图示例提取类似的方式进行,但是它将考虑组件类型(即,封闭的单选字段NLI组件将需要可能值的固定列表)。
如以下进一步描述的,本发明的动作映射组件123提供能力映射动作(例如,提取、回调等)。作为动作映射的一部分,动作映射包括对GUI代码表示中的动作的调用(例如,按钮的“onClick”回调函数)与NL组件的后端操作之间的映射。在动作映射期间,动作映射组件123可以搜索和识别将需要在NLI中考虑的对动作的任何限制(即,下拉组件可以具有预定义的允许值)。
动作映射意味着每个回调或提取的代码(GUI组件具有的)将在对应的NLI组件中被引用,并且将与NLI组件返回值一起使用。
动作映射组件123的附加功能包括构造预定义的特定对话组件。预定义的特定对话组件是用于构造对话的对话构建块(这些不被用户看到)。它们可以被看作GUI中的组件类的等同物(例如,下拉菜单的类)。为了构建整个会话蓝图,实施例使用这些通用块(例如,“报告单个字段”或“查询字段值”)。
如下面进一步描述的,本发明的生成组件124提供了基于来自组件映射组件121、意图和实体组件122以及动作映射组件123的结果生成自然对话的能力。生成组件124可以使用NLI组件、意图、实体和动作以及预定义的域特定对话组件来生成自然语言对话文件。
图2A是根据本发明实施例的样本应用的主屏幕的屏幕截图。示出了用于具有语音输入和/或命令的工作通知单检查系统的虚拟应用(即,Maximo检查屏幕仅用于说明性目的,而不是该实施例的实际屏幕截图)。图2B是根据本发明实施例的虚拟应用(来自图2A)的配置屏幕的屏幕截图。
图2C是根据本发明实施例的例示用于示例应用(来自图2A)的GUI到NLI映射的示例。图2C示出了所有“字段”和“固定数据”作为实体的示例。因此,“下拉”被映射到“单选”。
图2D是根据本发明实施例的会话和对应逻辑的样本。图2E是根据本发明实施例的会话和对应逻辑的另一个样本。这两个图(图2D和图2E)都提供了虚拟应用的可能的NLU/NLI对话表示。
图3是示出根据本发明另一实施例的表示为300的自然语言组件111的操作的流程图。
自然语言组件111接收GUI代码表示(步骤302)。在一个实施例中,自然语言组件111接收要被解析的应用/网站的GUI代码表示。例如,(参照图2A),将使用用于工作通知单检查的样本应用来说明这些步骤。自然语言组件111检索工作通知单检查应用的主源代码。自然语言组件111可以从app的主源代码确定GUI代码。另外,自然语言组件111可以从待分析的app检索所有相关和必要的信息(即,与主源代码不相关)。
自然语言组件111映射GUI代码表示(步骤304)。在一个实施例中,自然语言组件111通过组件映射组件121将GUI代码表示映射到一个或多个NLI组件。例如,每个GUI组件(例如,按钮、下拉、单选按钮、图表等)将通过其在代码中的声明来识别,并且然后被映射到对应的NLI组件(即,下拉选择将被映射到单个选择输入NLI组件)。
自然语言组件111确定预定义的意图模式(步骤306)。在一个实施例中,自然语言组件111通过意图和实体组件122基于一个或多个NLI组件来确定预定义的意图模式。
自然语言组件111创建意图示例(步骤308)。在一个实施例中,自然语言组件111通过意图和实体组件122基于预定义的意图模式来创建意图示例。例如,每个NLI组件具有对应于该NLI组件的预定义的意图和预定义的意图模式。对于每个匹配的组件,自然语言组件111从GUI代码中提取对应的标签、ID和名称。自然语言组件111通过意图和实体组件122(即,意图模式)创建用于必要意图的意图示例。如果用户想要报告字段,则它可以将意图标识为“报告字段”(来自图2C)。
自然语言组件111创建实体(步骤310)。在一个实施例中,自然语言组件111通过意图和实体组件122创建基于意图示例的实体。NLI组件中的一些也将使用实体(即,单选字段NLI组件将需要值实体)。对于那些NLI组件,实施例需要以类似于意图示例提取的方式填充必要实体,但是将考虑组件类型(即,封闭的单选字段NLI组件将需要可能值的固定列表)。例如,(参考先前的步骤308),基于“报告字段”的意图,实体可以是“字段”和“固定数据”(参见图2C)。在另一示例中,仍然使用“报告”意图,可以存在诸如“字段”和“值”的预定义的实体。然而,仅提取这些实体的训练示例(即,对于“值”,其可以是如“低”、“高”等的示例)。
此外,自然语言组件111通过动作映射组件123可以映射GUI组件的动作(步骤312)。GUI组件具有的每个回调或代码提取将在对应的NLI组件中被引用,并且将与NLI组件返回值一起使用。最后,自然语言组件111通过动作映射组件123可以创建预定义的特定对话组件。预定义的特定对话组件是用于构造对话的对话构建块(这些不被用户看到)。它们可以被看作GUI中的组件类(即,用于下拉菜单的类)的等同物。为了构建整个会话蓝图,实施例使用这些通用块(例如,“报告单个字段”或“查询字段值”)。
自然语言组件111生成自然语言对话(步骤314)。在一个实施例中,自然语言组件111通过生成组件124基于意图、实体、映射的动作和预定义的特定对话组件来生成自然语言对话。例如,(参考图2D和图2E),存在基于意图、示例、映射的动作和预定义的特定对话组件的两个可能生成的对话框。
图4表示为400,描述了根据本发明的说明性实施例的自然语言组件111应用的组件的框图。应当理解,图4仅提供了一种实现的说明,而不暗示对其中可实现不同实施例的环境的任何限制。可以对描述的环境进行许多修改。
图4包括处理器401、高速缓存403、存储器402、永久性存储装置405、通信单元407、输入/输出(I/O)界面406和通信结构404。通信结构404提供高速缓存403、存储器402、永久性存储装置405、通信单元407和输入/输出(I/O)界面406之间的通信。通信结构404可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其它硬件组件之间传递数据和/或控制信息的任何体系架构来实现。例如,通信结构404可以用一个或多个总线或交叉式开关来实现。
存储器402和永久性存储装置405是计算机可读存储介质。在该实施例中,存储器402包括随机存取存储器(RAM)。通常,存储器402可以包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存403是通过保存来自存储器402的最近访问的数据和最近访问的数据附近的数据来增强处理器401的性能的快速存储器。
用于实践本发明实施例的程序指令和数据(例如软件和数据X10)可以存储在永久性存储装置405和存储器402中,以便由一个或多个相应处理器401经由高速缓存403执行。在一个实施例中,永久性存储装置405包括磁硬盘驱动器。作为磁硬盘驱动器的替代或补充,永久性存储装置405可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或数字信息的任何其它计算机可读存储介质。
永久性存储装置405所使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储装置405。其它示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便传送到也是永久性存储装置405的一部分的另一计算机可读存储介质上。自然语言组件111可以存储在永久性存储装置405中,以便由一个或多个相应的处理器401经由高速缓存403访问和/或执行。
在这些示例中,通信单元407提供与其他数据处理系统或设备的通信。在这些示例中,通信单元407包括一个或多个网络界面卡。通信单元407可以通过使用物理和无线通信链路中的一种或两种来提供通信。用于实践本发明实施例的程序指令和数据(例如,自然语言组件111)可以通过通信单元407下载到永久性存储装置405。
I/O界面406允许与可连接到每个计算机系统的其它设备输入和输出数据。例如,I/O界面406可以提供到外部设备408的连接,外部设备诸如键盘、小键盘、触摸屏和/或一些其它合适的输入设备。外部设备408还可以包括便携式计算机可读存储介质,诸如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实践本发明实施例的程序指令和数据(例如,自然语言组件111)可以存储在这样的便携式计算机可读存储介质上,并且可以经由I/O界面406加载到永久性存储装置405上。I/O界面406还连接到显示器409。
显示器409向用户提供用于显示数据的机制并且可以是例如计算机监视器。
本文描述的程序是基于在本发明的特定实施例中实现它们的应用来标识的。然而,应当理解,本文的任何特定程序术语仅是为了方便而使用,因此本发明不应限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络界面从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中表示的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中表示的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中表示的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现表示的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行表示功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离本发明范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或为了使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (20)
1.一种用于从图形用户界面(GUI)代码创建自然语言(NL)对话的计算机实现方法,所述计算机方法包括:
接收应用的GUI代码表示;
将所述GUI代码表示映射到一个或多个自然语言界面(NLI)组件;
基于所述一个或多个NLI组件确定预定义的意图模式;
基于所述预定义的意图模式创建一个或多个意图示例;
基于所述一个或多个意图示例创建一个或多个实体;
将动作函数映射到一个或多个NLI组件的后端操作;以及
基于所述一个或多个意图示例、所述一个或多个实体、映射的动作函数和预定义的对话组件来生成NL对话。
2.根据权利要求1所述的计算机实现方法,其中接收所述应用的GUI代码表示还包括:
识别所述应用的源代码;
从所述应用检索相关信息;以及
从所述应用的所述源代码检索所述GUI代码。
3.根据权利要求1所述的计算机实现方法,其中将所述GUI代码表示映射到所述一个或多个NLI组件还包括:
确定所述GUI代码的一个或多个声明;以及
将所述GUI代码的所述一个或多个声明关联到所述一个或多个NLI组件。
4.根据权利要求1所述的计算机实现方法,其中基于所述一个或多个NLI组件确定所述预定义的意图模式还包括:
从数据库检索模式的分组;以及
基于用户的要求修改模式的所述分组。
5.根据权利要求1所述的计算机实现方法,其中,基于所述预定义的意图模式创建所述一个或多个意图示例还包括:
为每个匹配的NLI组件提取GUI代码表示、对应的标签、ID和名称;以及
基于所述GUI代码表示、所述对应的标签、所述ID和所述名称来生成所述一个或多个意图示例。
6.根据权利要求1所述的计算机实现方法,其中,基于所述一个或多个意图示例创建所述一个或多个实体还包括:
基于所述一个或多个意图示例和所述一个或多个意图示例的组件类型来生成所述一个或多个实体。
7.根据权利要求1所述的计算机实现方法,其中将动作函数映射到所述一个或多个NLI组件的所述后端操作还包括:
识别对动作的所述一个或多个调用的任何限制;以及
将对来自所述GUI代码的动作的调用与所识别的限制一起关联到后端NL组件操作。
8.一种用于从图形用户界面(GUI)代码创建自然语言(NL)对话的计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质和存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:
用于接收应用的GUI代码表示的程序指令;
用于将所述GUI代码表示映射到一个或多个自然语言界面(NLI)组件的程序指令;
用于基于所述一个或多个NLI组件确定预定义的意图模式的程序指令;
用于基于所述预定义的意图模式创建一个或多个意图示例的程序指令;
用于基于所述一个或多个意图示例创建一个或多个实体的程序指令;
用于将动作函数映射到一个或多个NLI组件的后端操作的程序指令;以及
用于基于所述一个或多个意图示例、所述一个或多个实体、映射的动作函数和预定义的对话组件来生成NL对话的程序指令。
9.根据权利要求8所述的计算机程序产品,其中接收所述应用的所述GUI代码表示还包括:
用于识别所述应用的源代码的程序指令;
用于从所述应用检索相关信息的程序指令;以及
用于从所述应用的所述源代码检索所述GUI代码的程序指令。
10.根据权利要求8所述的计算机程序产品,其中将所述GUI代码表示映射到所述一个或多个NLI组件还包括:
用于确定所述GUI代码的一个或多个声明的程序指令;以及
用于将所述GUI代码的所述一个或多个声明关联到所述一个或多个NLI组件的程序指令。
11.根据权利要求8所述的计算机程序产品,其中基于所述一个或多个NLI组件确定所述预定义的意图模式还包括:
用于从数据库检索模式的分组的程序指令;以及
用于基于用户的要求来修改模式的所述分组的程序指令。
12.根据权利要求8所述的计算机程序产品,其中,基于所述预定义的意图模式创建所述一个或多个意图示例还包括:
用于为每个匹配的NLI组件提取GUI代码表示、对应的标签、ID和名称的程序指令;以及
用于基于所述GUI代码表示、所述对应的标签、所述ID和所述名称来生成所述一个或多个意图示例的程序指令。
13.根据权利要求8所述的计算机程序产品,其中,基于所述一个或多个意图示例创建所述一个或多个实体还包括:
用于基于所述一个或多个意图示例和所述一个或多个意图示例的组件类型来生成所述一个或多个实体的程序指令。
14.根据权利要求8所述的计算机程序产品,其中将动作函数映射到所述一个或多个NLI组件的所述后端操作还包括:
用于识别对所述动作的一个或多个调用的任何限制的程序指令;以及
用于将对来自GUI代码的动作的调用与所识别的限制一起关联到后端NL组件操作的程序指令。
15.一种用于从图形用户界面(GUI)代码创建自然语言(NL)对话的计算机系统,所述计算机系统包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;
存储在所述一个或多个计算机可读存储介质上以供所述一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,所述程序指令包括:
用于接收应用的GUI代码表示的程序指令;
用于将所述GUI代码表示映射到一个或多个自然语言界面(NLI)组件的程序指令;
用于基于所述一个或多个NLI组件确定预定义的意图模式的程序指令;
用于基于所述预定义的意图模式创建一个或多个意图示例的程序指令;
用于基于所述一个或多个意图示例创建一个或多个实体的程序指令;
用于将动作函数映射到一个或多个NLI组件的后端操作的程序指令;以及
用于基于所述一个或多个意图示例、所述一个或多个实体、映射的动作函数和预定义的对话组件来生成NL对话的程序指令。
16.根据权利要求15所述的计算机系统,其中接收所述应用的所述GUI代码表示还包括:
用于识别所述应用的源代码的程序指令;
用于从所述应用检索相关信息的程序指令;以及
用于从所述应用的所述源代码检索所述GUI代码的程序指令。
17.根据权利要求15所述的计算机系统,其中将所述GUI代码表示映射到所述一个或多个NLI组件还包括:
用于确定所述GUI代码的一个或多个声明的程序指令;以及
用于将所述GUI代码的所述一个或多个声明关联到所述一个或多个NLI组件的程序指令。
18.根据权利要求15所述的计算机系统,其中基于所述一个或多个NLI组件确定所述预定义的意图模式还包括:
用于从数据库检索模式的分组的程序指令;以及
用于基于用户的要求来修改模式的所述分组的程序指令。
19.根据权利要求15所述的计算机系统,其中,基于所述预定义的意图模式创建所述一个或多个意图示例还包括:
用于为每个匹配的NLI组件提取GUI代码表示、对应的标签、ID和名称的程序指令;以及
用于基于所述GUI代码表示、所述对应的标签、所述ID和所述名称来生成所述一个或多个意图示例的程序指令。
20.根据权利要求15所述的计算机系统,其中,基于所述一个或多个意图示例创建所述一个或多个实体还包括:
用于基于所述一个或多个意图示例和所述一个或多个意图示例的组件类型来生成所述一个或多个实体的程序指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/198,951 | 2021-03-11 | ||
US17/198,951 US11966562B2 (en) | 2021-03-11 | 2021-03-11 | Generating natural languages interface from graphic user interfaces |
PCT/IB2022/051964 WO2022189925A1 (en) | 2021-03-11 | 2022-03-06 | Generating natural languages interface from graphic user interfaces |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117015781A true CN117015781A (zh) | 2023-11-07 |
Family
ID=83194908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280020229.4A Pending CN117015781A (zh) | 2021-03-11 | 2022-03-06 | 从图形用户界面生成自然语言界面 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11966562B2 (zh) |
JP (1) | JP2024508412A (zh) |
CN (1) | CN117015781A (zh) |
WO (1) | WO2022189925A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966562B2 (en) | 2021-03-11 | 2024-04-23 | International Business Machines Corporation | Generating natural languages interface from graphic user interfaces |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8532978B1 (en) | 2008-10-31 | 2013-09-10 | Afrl/Rij | Natural language interface, compiler and de-compiler for security policies |
US9886950B2 (en) * | 2013-09-08 | 2018-02-06 | Intel Corporation | Automatic generation of domain models for virtual personal assistants |
US9613020B1 (en) | 2014-09-15 | 2017-04-04 | Benko, LLC | Natural language user interface for computer-aided design systems |
US20170308571A1 (en) | 2016-04-20 | 2017-10-26 | Google Inc. | Techniques for utilizing a natural language interface to perform data analysis and retrieval |
US10083106B2 (en) * | 2016-05-09 | 2018-09-25 | College Of William & Mary | Computer aided bug reporting system for GUI applications |
US10951552B2 (en) * | 2017-10-30 | 2021-03-16 | International Business Machines Corporation | Generation of a chatbot interface for an application programming interface |
EP3704689A4 (en) | 2017-11-05 | 2021-08-11 | Walkme Ltd. | CHAT-BASED APPLICATION INTERFACE FOR AUTOMATION |
US10210244B1 (en) | 2018-02-12 | 2019-02-19 | Asapp, Inc. | Updating natural language interfaces by processing usage data |
US10360304B1 (en) | 2018-06-04 | 2019-07-23 | Imageous, Inc. | Natural language processing interface-enabled building conditions control system |
US10902045B2 (en) | 2018-09-18 | 2021-01-26 | Tableau Software, Inc. | Natural language interface for building data visualizations, including cascading edits to filter expressions |
US10922496B2 (en) | 2018-11-07 | 2021-02-16 | International Business Machines Corporation | Modified graphical user interface-based language learning |
CN110162297A (zh) | 2019-05-07 | 2019-08-23 | 山东师范大学 | 一种源代码段自然语言描述自动生成方法及系统 |
US11966562B2 (en) | 2021-03-11 | 2024-04-23 | International Business Machines Corporation | Generating natural languages interface from graphic user interfaces |
-
2021
- 2021-03-11 US US17/198,951 patent/US11966562B2/en active Active
-
2022
- 2022-03-06 WO PCT/IB2022/051964 patent/WO2022189925A1/en active Application Filing
- 2022-03-06 CN CN202280020229.4A patent/CN117015781A/zh active Pending
- 2022-03-06 JP JP2023549049A patent/JP2024508412A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022189925A1 (en) | 2022-09-15 |
US20220291788A1 (en) | 2022-09-15 |
US11966562B2 (en) | 2024-04-23 |
JP2024508412A (ja) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10366160B2 (en) | Automatic generation and display of context, missing attributes and suggestions for context dependent questions in response to a mouse hover on a displayed term | |
CN107924483B (zh) | 通用假设排序模型的生成与应用 | |
CN109002510B (zh) | 一种对话处理方法、装置、设备和介质 | |
US11036937B2 (en) | Contraction aware parsing system for domain-specific languages | |
US9645989B2 (en) | Techniques to generate custom electronic forms using custom content | |
US11468881B2 (en) | Method and system for semantic intelligent task learning and adaptive execution | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
CN110321544B (zh) | 用于生成信息的方法和装置 | |
WO2008127939A1 (en) | Input method editor integration | |
JP2022019524A (ja) | モデリングパラメータの設定方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム | |
CN112015468A (zh) | 一种接口文档处理方法、装置、电子设备以及存储介质 | |
US10956239B1 (en) | Utilizing source context and classification in a copy operation | |
CN118202344A (zh) | 用于从文档中提取嵌入式数据的深度学习技术 | |
CN116360735A (zh) | 一种表单生成方法、装置、设备和介质 | |
Vu et al. | Voicify Your UI: Towards Android App Control with Voice Commands | |
CN118502857A (zh) | 用户界面的交互处理方法、装置、设备、介质及程序产品 | |
CN112329429B (zh) | 文本相似度学习方法、装置、设备以及存储介质 | |
CN117015781A (zh) | 从图形用户界面生成自然语言界面 | |
CN113342399B (zh) | 应用项目的结构配置方法、装置及可读存储介质 | |
US20170024405A1 (en) | Method for automatically generating dynamic index for content displayed on electronic device | |
CN113706209B (zh) | 运营数据处理方法及相关装置 | |
US20230134149A1 (en) | Rule-based techniques for extraction of question and answer pairs from data | |
CN112947846B (zh) | 对象存储系统的批处理任务执行方法、装置及电子设备 | |
JP2024540113A (ja) | データからの質問と回答の対の抽出のためのルールに基づく技術 | |
WO2024215309A1 (en) | Task completion using a language model neural network |
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 |