CN117009373A - 实体查询方法、查询端、请求端和电子设备 - Google Patents
实体查询方法、查询端、请求端和电子设备 Download PDFInfo
- Publication number
- CN117009373A CN117009373A CN202211429334.1A CN202211429334A CN117009373A CN 117009373 A CN117009373 A CN 117009373A CN 202211429334 A CN202211429334 A CN 202211429334A CN 117009373 A CN117009373 A CN 117009373A
- Authority
- CN
- China
- Prior art keywords
- entity
- dimension
- query
- statement
- content
- 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
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 72
- 238000012512 characterization method Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 230000000452 restraining effect Effects 0.000 claims description 11
- 238000005352 clarification Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 239000003550 marker Substances 0.000 claims description 5
- 238000003058 natural language processing Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000000556 factor analysis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种实体查询方法、查询端、请求端和电子设备,其涉及自然语言处理领域中的信息查询领域,该方法包括:接收请求端发送的自然语言查询语句;向该请求端发送追问语句;接收该请求端发送的追问回复语句;基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句;将该改写查询语句转换为SQL语句;基于该SQL语句查询内容实体并向该请求端发送查询回复语句。一方面,通过引入追问回复语句,能够丰富改写查询语句的信息,进而能够提升实体查询的准确度;另一方面,利用由改写查询语句转换的SQL语句进行查询,能够降低该SQL语句的转换准确度,能够提升实体查询的准确度。
Description
技术领域
本申请实施例涉及自然语言处理领域中的信息查询领域,并且更具体地,涉及实体查询方法、查询端、请求端和电子设备。
背景技术
自然语言到结构化查询语言(Natural Language to SQL,NL2SQL)技术用于:将自然语言问题转换为结构化查询语言(Structured Query Language,SQL)语言问题。通常情况下,将直接拼接的上下文问题(query)作为NL2SQL模型的输入,NL2SQL模型的输出即为SQL语言问题。
但是,直接拼接的上下文问题作为NL2SQL模型的输入时,期望每一轮用户提问都是明确且有答案的,下一轮用户继续追问其他信息,这种情况是比较理想化的,如果用户有表达错误或者用户的首次问询提供的信息不完整就会使得查询结果为不存在答案或信息错误冗余;此外,由于用户多轮提问中往往携带噪音,因此很难改写出信息完整正确的句子,降低了查询的查询准确度。
发明内容
本申请提供了一种实体查询方法、查询端、请求端和电子设备,能够提升实体查询的准确度。
第一方面,本申请提供了一种实体查询方法,包括:
接收请求端发送的自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
向该请求端发送追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
接收该请求端发送的追问回复语句;
基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句;
将该改写查询语句转换为结构化查询语言SQL语句;
基于该SQL语句,查询该第一内容实体并向该请求端发送查询回复语句,该查询回复语句包括该第一内容实体。
第二方面,本申请提供了一种实体查询方法,包括:
向查询端发送自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
接收该查询端发送的追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
向该查询端发送追问回复语句;
接收该自然语言查询语句的查询回复语句,该查询回复语句包括该第一内容实体。
第三方面,本申请实施例提供了一种查询端,包括:
接收单元,用于接收请求端发送的自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
发送单元,用于向该请求端发送追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
该接收单元还用于接收该请求端发送的追问回复语句;
改写单元,用于基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句;
转换单元,用于将该改写查询语句转换为结构化查询语言SQL语句;
查询单元,用于基于该SQL语句,查询该第一内容实体并向该请求端发送查询回复语句,该查询回复语句包括该第一内容实体。
第四方面,本申请实施例提供了一种请求端,包括:
发送单元,用于向查询端发送自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
接收单元,用于接收该查询端发送的追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
该发送单元还用于向该查询端发送追问回复语句;
该接收单元还用于接收该自然语言查询语句的查询回复语句,该查询回复语句包括该第一内容实体。
第五方面,本申请实施例提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上文涉及的第一方面或第二方面提供的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上文涉及的第一方面或第二方面提供的方法。
第七方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上文涉及的第一方面或第二方面提供的方法。
本申请实施例中,查询端在收到请求端发送的自然语言查询语句后,通过向请求端发送追问语句,并在收到请求端发送的追问回复语句后,基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句,然后利用由改写查询语句转换的SQL语句进行查询。一方面,通过向请求端发送追问语句,并获取请求端发送的追问回复语句,能够丰富改写查询语句的信息,进而利用由改写查询语句转换的SQL语句进行查询时,能够提升实体查询的准确度;另一方面,先对该自然语言查询语句进行改写得到改写查询语句,然后利用由改写查询语句转换的SQL语句进行查询,能够降低该SQL语句的转换准确度,能够提升实体查询的准确度。
附图说明
图1是本申请实施例提供的系统框架的示例。
图2是本申请实施例提供的实体查询方法的示意性流程图。
图3是本申请实施例提供的数据表的示例。
图4是本申请实施例提供的系统框架的另一示例。
图5是本申请实施例提供的对话树的示例。
图6是本申请实施例提供的追问语句的示例。
图7是本申请实施例提供的回复语句和追问回复语句的示例。
图8是本申请实施例提供的存在澄清消息交互的实体查询方法的示意性流程图。
图9是本申请实施例提供的用于将改写查询语句转换为SQL语句的模型的示例。
图10是本申请实施例提供的起始位置和结束位置的示例。
图11是本申请实施例提供的实体查询方法的另一示意性流程图。
图12是本申请实施例提供的查询端的示意性框图。
图13是本申请实施例提供的请求端的示意性框图。
图14是本申请实施例提供的电子设备的示意性框图。
具体实施方式
本申请实施例提供的实体查询方法涉及自然语言处理技术领域。例如,查询端可以利用自然语言处理技术将用户输入的自然语言查询语句转换为SQL语句进行信息查询。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究内容将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
此外,本申请实施例提供的实体识别方法还可涉及语音技术,例如查询端可以针对用户输入的查询语音进行信息查询。
其中,语音技术(Speech Technology)的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音为被看好的人机交互方式之一。
另外,本申请还涉及机器学习技术领域。例如,查询端可以利用机器学习技术将用户输入的自然语言查询语句转换为SQL语句,进而利用SQL语句进行信息查询。
其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
最后值得说明的是,本申请提供的实体查询方法还可涉及“云”技术领域。例如,本申请涉及的用于进行信息查询的查询端可以是能够进行云计算设备。再如,本申请涉及的数据表或数据库可以为云存储设备。
其中,云计算(cloud computing)指基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义的“云计算”指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
数据库(Database),简而言之可视为电子化的文件柜,即用于存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(Database Management System,DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型进行分类,例如关系式、可扩展标记语言(Extensible MarkupLanguage,XML);或依据所支持的计算机类型进行分类,例如服务器群集、移动电话;或依据所用查询语言进行分类,例如结构化查询语言(Structured Query Language,SQL)、XQuery;或依据性能冲量重点进行分类,例如最大规模、最高运行速度;或依据其他的分类方式进行分类。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
图1是本申请实施例提供的系统框架100的示例。
该系统框架100可以是一个应用程序系统,本申请实施例对该应用程序的具体类型不加以限定。该系统框架100包括:请求端110和查询端120。
请求端110可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP4播放器、MP4播放器和膝上型便携计算机中的至少一种。请求端110可以是客户端,其安装和运行有应用程序。该应用程序可以是在线视频程序、短视频程序、图片分享程序、声音社交程序、漫画程序、壁纸程序、新闻推送程序、供求信息推送程序、学术交流程序、技术交流程序、政策交流程序、包含评论机制的程序、包含观点发布机制的程序、知识分享程序中的任意一种。请求端110可以分别是用户使用的终端,请求端110中运行的应用程序内登录有用户的账号。
查询端120可以是一台服务器、多台服务器、“云”计算平台和虚拟化中心中的至少一种。查询端120用于为应用程序(例如请求端110和请求端110上的应用程序)提供后台服务。可选地,查询端120承担主要计算工作,请求端110承担次要计算工作;或者,查询端120承担次要计算工作,请求端110承担主要计算工作;或者,请求端110和查询端120之间采用分布式计算架构进行协同计算。
可选地,以系统框架100是网页浏览系统为例,该查询端120用于获取请求端110上安装的应用程序(例如搜索引擎)发送的自然语言查询语句,并基于该自然语言查询语句在数据库中进行数据查询,并将查询到的数据返回给请求端110。
自然语言到结构化查询语言(Natural Language to SQL,NL2SQL)技术用于:将自然语言问题转换为结构化查询语言(Structured Query Language,SQL)语言问题。通常情况下,将直接拼接的上下文问题(query)作为NL2SQL模型的输入,NL2SQL模型的输出即为SQL语言问题。
但是,直接拼接的上下文问题作为NL2SQL模型的输入时,期望每一轮用户提问都是明确且有答案的,下一轮用户继续追问其他信息,这种情况是比较理想化的,如果用户有表达错误或者用户的首次问询提供的信息不完整就会使得查询结果为不存在答案或信息错误冗余;此外,由于用户多轮提问中往往携带噪音,因此很难改写出信息完整正确的句子,降低了查询的查询准确度。有鉴于此,本申请提供了一种实体查询方法、查询端、请求端和电子设备,能够提升实体查询的准确度。
为便于理解本申请提供的实体查询方法,下面对本申请涉及的相关术语进行说明。
表格问答(Table Questions and Answers,TableQA):将用户输入的自然问题转化为数据表格可操作的SQL查询语句。
NL2SQL(也称text-to-SQL):将自然语言对话问题转换为SQL查询语句。
结构化查询语言(Structured Query Language,SQL),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
seq2seq:输入一个序列,输出另一个序列。结合信息查询领域来说,其输入用户问句序列,输出为改写后的序列。
搜索引擎(Elastic Search,ES)是一个基于Lucene的搜索服务器,Lucene是一种java开源全文搜索引擎开发工具包。它提供了一个分布式多用户能力的全文搜索引擎,基于引擎接口能够达到实时搜索,稳定,可靠,快速,安装使用方便的效果。
来自转换的双向编码器表示(Bidirectional Encoder Representations fromTransformers,BERT)模型:是一种语言表示模型,BERT模型的目标是利用大规模无标注语料训练,进而能够获得文本的包含丰富语义信息的表征(Representation),即文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。
对话管理(DM)器:其内部又可分为对话状态预测(Dialogue status tracking,DST)和对话策略学习(Dialogue Policy Learning)。
实体识别(Named Entity Recognition,NER),也称为实体识别、实体分块和实体提取,用于将文本中的实体定位并分类为预先定义的类别,如用于表征数据表中的维度(即表头信息所在的维度)的维度实体以及用于表征数据表中的具体内容(例如枚举项)的内容实体等;结合本申请来说,通过对自然语言查询语句进行实体识别,可得到该自然语言查询语句中的维度实体和内容实体。当然,实体识别的任务也可以用于识别出待处理文本中三大类(实体类、时间类和数字类)和七小类(人名、机构名、地名、时间、日期、货币和百分比)实体,本申请对此不作具体限定。
槽位(slot):可用于填充内容实体的逻辑位置单元。
浅层网络(Fasttext):是开源的一个词向量计算和文本分类工具。其具有以下优点:在文本分类任务中,Fasttext能取得和深度网络相媲美的精度,却在训练时间上比深度网络快许多数量级。在标准的多核CPU上,能够训练10亿词级别语料库的词向量在10分钟之内,能够分类有着30万多类别的50多万句子在1分钟之内。
Cos:三角函数Cosine。
本申请实施例提供的实体识别方法可应用于对话系统中的表格问答,也应用于对话系统中的数据分析。需要针对某个领域构建基于表格的对话系统时,需要根据问题从表格中抽取出对应的内容。NL2SQL模型是将自然语言转换成SQL语句,提供了一种有效的表格信息抽取方式,该NL2SQL模型基于表格的对话系统中是极为重要的,本申请通过完善该NL2SQL模型的输入信息,能够保证实体查询的准确度。
图2示出了根据本申请实施例的实体查询200的示意性流程图,该方法200可以由任何具有数据处理能力的电子设备执行。例如,该方法200可以由图1所示的查询端120执行。为便于说明,下面以查询端为执行主体为例对该方法200进行说明。
如图2所示,该方法200可包括:
S210,查询端接收请求端发送的自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度。
示例性地,该第一内容实体为该自然语言查询语句的答案。
示例性地,该第一维度实体用于约束该第一内容实体所在的维度,或者说,该第一内容实体为该查询端在该第一维度实体表征的维度下查询得到的答案。
S220,该查询端向该请求端发送追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度。
示例性地,该追问语句用于在该第二维度实体下追问用于约束该第一内容实体的内容实体。
S230,该查询端接收该请求端发送的追问回复语句。
示例性地,该追问语句和该追问回复语句可用于在该第二维度实体下形成查找该第一内容实体的查找条件。
例如,该追问回复语句可以用于指示第二维度实体下的内容实体;此时,该第一内容实体的查找条件为:该第二维度实体为该追问回复语句指示的内容实体;换言之,该第一内容实体为:该查询端在该第一维度实体下,查找的满足该第一内容实体的查找条件(即该第二维度实体为该追问回复语句指示的内容实体)的内容实体。
S210,该查询端基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句。
示例性地,该查询端可以利用问题改写模型,将该自然语言查询语句、该追问语句以及该追问回复语句,改写为包括该第一内容实体的查找条件(即该第二维度实体为该追问回复语句指示的内容实体)和该第一内容实体的查询维度(即该第一维度实体)的一个查询语句,即该改写查询语句。
S240,该查询端将该改写查询语句转换为结构化查询语言SQL语句。
示例性地,该查询端可以利用语言转换模型将该改写查询语句转化为SQL语句。
当然,在其他可替代实施例中,也可以直接基于该自然语言查询语句、该追问语句以及该追问回复语句得到SQL语句,还可以将该改写查询语句转化为其他能够直接用于数据库查询的语句,例如,可根据数据库的类型确定用于数据库查询的语句,本申请对此不作具体限定。
S250,该查询端基于该SQL语句,查询该第一内容实体并向该请求端发送查询回复语句,该查询回复语句包括该第一内容实体。
示例性地,该查询端可以在该第一内容实体使用的数据表征,基于该SQL语句查询该第一内容实体。
本申请实施例中,查询端在收到请求端发送的自然语言查询语句后,通过向请求端发送追问语句,并在收到请求端发送的追问回复语句后,基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句,然后利用由改写查询语句转换的SQL语句进行查询。一方面,通过向请求端发送追问语句,并获取请求端发送的追问回复语句,能够丰富改写查询语句的信息,进而利用由改写查询语句转换的SQL语句进行查询时,能够提升实体查询的准确度;另一方面,先对该自然语言查询语句进行改写得到改写查询语句,然后利用由改写查询语句转换的SQL语句进行查询,能够降低该SQL语句的转换准确度,能够提升实体查询的准确度。
结合技术领域来说,本申请实施例提供的实体识别方法,主要解决对话场景下的表格问答信息不完整的情况。在金融、汽车等常见表格问答应用场景中,用户在表述想咨询的问题是常常存在信息表达不完整、信息表述错误的情况,该情况下,需要对话系统通过追问的方式让用户澄清用户想问的信息,然后基于澄清的内容再进行相应的搜索,进而能够提升信息搜索的搜索准确度。
图3是本申请实施例提供的数据表的示例。
如图3所示,该数据包可以为电力风险表,用户可以通过编辑基础信息的方式配置或设置该电力风险表,该电力风险表可包括表头信息和内容信息。其中,该表头信息包括序号、电压等级、作业范围、作业内容、分级以及操作,该内容信息包括多个行信息,每一行信息代表序号的值、电压等级的值、作业范围的具体范围、作业内容的具体内容、分级的值以及操作的具体类型之间的对应关系。序号的值可以包括:1~4;电压等级的值可以包括:1000kV;作业范围的具体范围包括:整串停电、单母线与出线、单变压器间隔停电、单GIL(不含分支母线)停电;作业内容的具体内容可包括:串内组合电器A类检修、A类检修、变压器A/B类(核心部棒)检修、集中检修。该操作的具体类型可包括编辑和删除;用户通过点击“编辑”所在的区域,可以实现对其所在的行的其他列的信息进行编辑,用户通过点击“删除”所在的区域,可以删除其所在的行。
此外,该表头信息的顶部还可显示有以下标记:添加行、编辑属性列、导入、导出以及删除。在具体实现中,用户通过点击“添加行”所在的区域,可以实现对行的添加,用户通过点击“编辑属性列”所在的区域,可以实现对该电力风险表中的列中的信息进行编辑,用户通过点击“导入”,可以导入已经编辑好的风险表文件,用户通过点击“导出”所在的区域,可以将该电力风险表转换为风险表文件,用户通过点击“删除”所在的区域,可以删除该电力风险表。
值得注意的是,为了便于方案的描述,本申请将该电力风险表中表头信息中的各个项统称为用于表征维度的维度实体,即该电力风险表中的维度实体包括:序号、电压等级、作业范围、作业内容、分级以及操作。此外,将内容信息中的各个项统称为用于表征具体内容的内容实体。例如,以作业范围为例,该作业范围下的内容实体包括:整串停电、单母线与出线、单变压器间隔停电、单GIL(不含分支母线)停电。
结合该电力风险表而言,假设该自然语言查询语句为“集中检修的风险等级?”,即该第一维度实体为该电力风险表中的“分级”,即查询端在该“分级”下查询得到该第一内容实体为“I”或“II”。
进一步的,假设该追问语句包括“您问的作业范围是什么?”以及“您问的电压等级是什么?”;即该第二维度实体包括作业范围和电压等级。该查询端对“您问的作业范围是什么?”的回复语句进行实体识别得到的内容实体为“单GIL(不含分支母线)停电”,并对“您问的电压等级是什么?”的回复语句进行实体识别得到的内容实体为“1000kV”。此时,该查询端可以基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到以下改写查询语句:作业范围是单GIL(不含分支母线)停电,电压等级是1000kV,作业内容是集中检修的分级是什么?进而可以将该改写查询语句转换为以下SQL语句:select分级from电力表where作业范围=单GIL(不含分支母线)停电and电压等级=1000kVand作业内容=集中检修,然后该查询端基于该SQL语句查询得到“II”,并向该请求端发送查询回复语句,例如该查询回复语句可以为:风险等级是II级。
图4是本申请实施例提供的系统框架的另一示例。
如图4所示,该系统框架包括语音识别模块、自然语言理解模型、对话管理器、表格问答模块、自然语言生成模型以及语音合成模块。
其中,语音识别模型用于将用户输入的语音识别为自然语言查询语句,并将识别的自然语言查询语句输入至自然语言理解模型。
示例性地,该自然语言理解模型可以先对该自然语言查询语句进行语言理解。例如,可以对该自然语言查询语句的领域(domain)和目的(intent)进行识别,进而可基于该自然语言查询语句的领域,确定与该自然语言查询语句相关的数据表。接着可以基于该自然语言查询语句的目的和相关的数据表,确定当前系统是否支持该自然语言查询语句的查询。然后在确定当前系统支持对该自然语言查询语句的查询时,获取该自然语言查询语句的相关数据表中的实体,并将其填充至该自然语言查询语句的槽位。
举例来说,假设该自然语言查询语句为“集中检修的风险等级?”,可对该自然语言查询语句的领域进行识别,得到该自然语言查询语句的领域为施工风险领域,进而基于该自然语言查询语句的领域,确定该自然语言查询语句使用的数据表为与施工风险相关的数据表,例如上文涉及的电力风险表。接着可以对该自然语言查询语句的目的进行识别,得到该自然语言查询语句的目的为等级判断,并基于该电力风险表,可确定当前系统是否支持该自然语言查询语句的查询。然后在确定当前系统支持对该自然语言查询语句的查询时,获取该电力风险表的相关实体,并将其填充至该自然语言查询语句的槽位。
当然,在其他可替代实施例中,该自然语言查询语句的目的也可称为查询意图,其包括数据查询、数据统计和数据分析,其中,数据查询是直接对数据库中的数据进行统计,而数据分析则需要获取到数据库中的数据,并通过对应的数据分析接口对该数据进行分析,得到分析结论。上述数据分析包括因子分析、相关性分析、归因分析、趋势预测等。如果查询语句中含有例如“为什么上升”、“为什么下降”、“下一年的增长趋势”等信息,则可以确定查询的意图是数据分析。
示例性地,对话管理(DM)器可分为对话状态预测(Dialogue status tracking,DST)和对话策略学习(Dialogue Policy Learning)。其中,DST可用于触发追问语句,例如,DST触发的追问语句包括“您问的作业范围是什么?”以及“您问的电压等级是什么?”。
示例性地,该表格问答模块可以包括问题改写模型和NL2SQL模型,其中,该问题改写模型用于将该自然语言查询语句、DST触发的追问语句以及针对追问语句收到的追问回复语句,改写为改写查询语句,并将改写后的改写查询语句输入至NL2SQL模型,以便NL2SQL模型将输入的改写查询语句转换为SQL查询语句,该表格问答模块得到SQL查询语句后,可基于SQL查询语句查询该自然语言查询语句的答案,并将得到的答案传递给对话管理器,以便对话管理器基于该自然语言查询语句的答案进行对话策略学习,例如学习该自然语言查询语句的追问语句的触发策略学习。
示例性地,该对话管理器将收到的答案转发给自然语言生成模型,该自然语言生成模型收到对话管理器发送的答案后,将该答案转换为自然语言答案,例如该自然语言答案可以为:风险等级是II级。进一步的,该自然语言生成模型还可将该自然语言答案输入到语音合成模块,以便语音合成模块将该自然语言答案转换为语音输出给用户。
在一些实施例中,该S220可包括:
对该自然语言查询语句进行分析,确定数据表;该数据表包括用于表征至少一个维度的维度实体和该至少一个维度实体中各个维度实体的实体库;基于该数据表创建对话树;该对话树为至少一个槽位形成的树结构,该至少一个槽位包括与该至少一个维度实体除该第一维度实体之外的各个维度实体对应的槽位;若该至少一个槽位中的当前槽位关联的触发条件指示:该当前槽位为必填槽位,则向该请求端发送第一语句,并基于该第一语句的第一回复语句填充该当前槽位,直至该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体;其中,该第一语句用于在该当前槽位对应的维度实体下追问该当前槽位填充的内容实体,该追问语句包括该第一语句。
示例性地,该至少一个槽位中当前槽位关联的触发条件用于指示当前槽位是否必填槽位;若该当前槽位关联的触发条件指示该当前槽位为必填槽位,则触发查询端向请求端追问在该当前槽位填充的内容实体,若该当前槽位关联的触发条件指示当前槽位为选填槽位,则可以不触发查询端向请求端发送追问语句。
图5是本申请实施例提供的对话树的示例。
如图5所示,该对话树中的槽位包括槽位1、槽位2以及槽位3,其中槽位1关联的触发条件为必填,槽位1对应的实体库1包括实体1、实体2以及实体3等,槽位2关联的触发条件为必填,槽位2对应的实体库2包括实体a、实体b以及实体c等,槽位3的触发条件为选填。这种情况下,查询端可以将槽位1对应的维度实体以及槽位2对应的维度实体作为该第二维度实体,向请求端发送两轮追问语句。
结合上文描述的电力风险表来说,假设该自然语言查询语句为“集中检修的风险等级?”,即该第一维度实体为该电力风险表中的“分级”,此时,除分级之外的维度实体可包括序号、电压等级、作业范围、作业内容以及操作,即该至少一个槽位可以是序号、电压等级、作业范围、作业内容以及操作中的一项或多项对应的槽位。例如,假设槽位1为该作业范围对应的槽位,则实体库1中的实体可包括:整串停电、单母线与出线、单变压器间隔停电、单GIL(不含分支母线)停电;假设该槽位为电压等级对应的槽位,则实体库2中的内容实体可包括:1000kV。由于槽位1、槽位2均为必填槽位,因此触发查询端向请求端发送的追问语句可包括“您问的作业范围是什么?”以及“您问的电压等级是什么?”。
在一些实施例中,该方法200还可包括:
若该当前维度实体对应的实体库中包括该第一回复语句指示的内容实体,则将该第一回复语句指示的内容实体填充至该当前槽位,并继续遍历该当前槽位的下一槽位,直至该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体。
本实施例中,该当前维度实体对应的实体库中包括该第一回复语句指示的内容实体,说明该第一回复语句足够准确,此时,即便直接将该第一回复语句指示的内容实体填充至该当前槽位,也可以保证该当前槽位中填充的内容实体的准确度。
在一些实施例中,该方法200还可包括:
若该当前维度实体对应的实体库中不包括该第一回复语句指示的内容实体,则计算该当前维度实体对应的实体库中各个内容实体与该第一回复语句指示的内容实体之间的相似度,并按照相似度由大到小的顺序对该当前维度实体对应的实体库中的内容实体进行排序,得到该当前维度实体对应的实体库中内容实体的排列顺序;向该请求端发送澄清消息,该澄清消息包括该排列顺序中排序靠前的至少一个内容实体;接收该请求端发送的确认消息,该确认消息用于指示该至少一个内容实体中确认的内容实体;将该确认的内容实体填充至该当前槽位,并继续遍历该当前槽位的下一槽位,直至该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体。
简言之,该查询端可以在澄清阶段使用相似度匹配(也可称为QQ匹配)模型,将相似度高的传递给请求端,以便请求端可以显示给用户,进而由用户进行选择确认。
示例性地,该查询端可以利用浅层网络(Fasttext)先提取该当前维度实体对应的实体库中各个内容实体的表征向量与该第一回复语句指示的内容实体的表征向量,然后基于该当前维度实体对应的实体库中各个内容实体的表征向量与该第一回复语句指示的内容实体的表征向量,计算该当前维度实体对应的实体库中各个内容实体与该第一回复语句指示的内容实体之间的相似度。
示例性地,该查询端可以基于以下公式计算该当前维度实体对应的实体库中各个内容实体与该第一回复语句指示的内容实体之间的相似度:
Sim=Cos(Q,Qm);
其中,Sim表示该当前维度实体对应的实体库中各个内容实体与该第一回复语句指示的内容实体之间的相似度,Q表示该第一回复语句指示的内容实体的表征向量,Qm表示该当前维度实体对应的实体库中各个内容实体的表征向量。
举例来说,假设该追问语句为“您问的作业范围是什么?”,该查询端针对“您问的作业范围是什么?”收到的回复语句如果为“单GIL停电”,由于作业范围的对应的实体库中没有“单GIL停电”,此时,该查询端可以基于相似度匹配的方式,在作业范围对应的实体库中匹配出与“单GIL停电”相似度最高的两个内容实体。即该查询端可以利用浅层网络(Fasttext)先对“单GIL停电”(即Q)和作业范围下的各个内容实体(即Qm)进行特征提取并得到“单GIL停电”(即Q)的表征向量和作业范围下的各个内容实体(即Qm)的表征向量,然后通过cos计算其相似度Sim,对按照由大到小的顺序相似度对作业范围下的各个内容实体(即Qm)进行排序,然后取其中的topN,将其作为待确认的内容实体。
本实施例中,该当前维度实体对应的实体库中不包括该第一回复语句指示的内容实体,说明该第一回复语句不够准确,此时,通过向请求端发送该澄清消息并接收请求端发送的该确认消息,将该确认消息确认的内容实体填充到该当前槽位,可以保证该当前槽位中填充的内容实体的准确度。
图6是本申请实施例提供的追问语句的示例。
如图6所示,结合该电力风险表而言,假设该自然语言查询语句为“集中检修的风险等级?”。
进一步的,假设该追问语句包括“您问的作业范围是什么?”;则该查询端可以在发送“您问的作业范围是什么?”后,获取与作用范围相关的槽位,进而在收到针对“您问的作业范围是什么?”的回复语句后,基于相关槽位确定是否发送澄清消息。类似的,假设该追问语句包括“您问的电压等级是什么?”;则该查询端可以在发送“您问的电压等级是什么?”后,获取与作用等级相关的槽位,进而在收到针对“您问的电压等级是什么?”的回复语句后,基于相关槽位确定是否发送澄清消息。然后,在获取“您问的作业范围是什么?”的准确回复以及“您问的电压等级是什么?”的准确回复后,可执行候选的表格问答流程,即通过引用其他问答引擎在数据库中查询“集中检修的风险等级?”的答案。
图7是本申请实施例提供的回复语句和追问回复语句的示例。
如图7所示,对查询端而言,收到的针对“您问的作业范围是什么?”的回复语句如果为“单GIL停电”,由于作业范围的对应的实体库中没有“单GIL停电”,此时,该查询端可以基于相似度匹配的方式,在作业范围对应的实体库中匹配出与“单GIL停电”相似度最高的两个内容实体,并向请求端发送澄清消息,例如其可以是:“为您找到以下相似,您问的是哪个?单GIL(不含分支母线)停电、单变压器间隔停电。”,请求端在收到该澄清消息后显示给用户,用户针对“单GIL(不含分支母线)停电”执行确认操作,该确认操作触发请求端向该查询端发送确认消息,例如,该澄清消息可以是用于指示“单GIL(不含分支母线)停电”的消息,基于此,该查询端可以结束针对作业范围的追问流程。此外,收到的针对“您问的电压等级是什么?”的回复语句如果为“一千”,由于电压等级的对应的实体库中有“1000”,此时,该查询端可以结束针对电压等级的追问流程。
图8是本申请实施例提供的存在澄清消息交互的实体查询方法的示意性流程图。
如图8所示,结合该电力风险表而言,假设该自然语言查询语句为“集中检修的风险等级?”,此时,查询端可以通过实体识别得到维度实体,其包括“作业内容”和“分级”,“作业内容”下的内容实体为“集中检修”。假设“分级”下的对话树中与“作业范围”对应的槽位和与“电压等级”对应的槽位为必填槽位,则可以触发该查询端向请求端发送追问语句,其可以包括“您问的作业范围是什么?”以及“您问的电压等级是什么?”。
对查询端而言,收到的针对“您问的作业范围是什么?”的回复语句如果为“单GIL停电”,由于作业范围的对应的实体库中没有“单GIL停电”,此时,该查询端可以基于相似度匹配的方式,在作业范围对应的实体库中匹配出与“单GIL停电”相似度最高的两个内容实体,并向请求端发送澄清消息,例如其可以是:“为您找到以下相似,您问的是哪个?单GIL(不含分支母线)停电、单变压器间隔停电。”,请求端在收到该澄清消息后显示给用户,用户针对“单GIL(不含分支母线)停电”执行确认操作,该确认操作触发请求端向该查询端发送确认消息,例如,该澄清消息可以是用于指示“单GIL(不含分支母线)停电”的消息,基于此,该查询端可以结束针对作业范围的追问流程。此外,收到的针对“您问的电压等级是什么?”的回复语句如果为“一千”,由于电压等级的对应的实体库中有“1000”,此时,该查询端可以结束针对电压等级的追问流程。
进一步的,该查询端可以基于该自然语言查询语句、该追问语句、该追问回复语句、澄清消息以及确认消息,对该自然语言查询语句进行改写,得到以下改写查询语句:作业范围是单GIL(不含分支母线)停电,电压等级是1000kV,作业内容是集中检修的分级是什么?进而,该查询端可以将该改写查询语句转换为以下SQL语句:select分级from电力表where作业范围=单GIL(不含分支母线)停电and电压等级=1000kVand作业内容=集中检修,然后该查询端基于该SQL语句查询得到“II”,并向该请求端发送查询回复语句,例如该查询回复语句可以为:风险等级是II级。
在一些实施例中,该S220之前,该方法200还可包括:
对该自然语言查询语句进行分析,得到用于在第三维度实体下约束该第一内容实体的第二内容实体;将该第二内容实体填充至该至少一个槽位中与该第三维度实体对应的槽位。
结合上文描述的电力风险表而言,假设该自然语言查询语句为“集中检修的风险等级?”,则该第二维度实体为作业内容,且该第二内容实体为集中检修。
在一些实施例中,该S240可包括:
基于该自然语言查询语句、该追问语句以及该追问回复语句,确定输入序列;以该输入序列为输入,利用基于序列到序列Seq2Seq结构的改写模型得到输出序列;将该输出序列确定为该改写查询语句。
示例性地,该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体,该查询端可以基于该自然语言查询语句、该追问语句以及该追问回复语句,确定输入序列。
示例性地,该查询端可以该自然语言查询语句、该追问语句以及该追问回复语句,确定输入序列进行实体识别,并将识别到的实体进行拼接得到拼接文本,然后以该拼接文本为输入,利用Seq2Seq结构的改写模型得到输出序列。例如,该查询端通过追问语句在所有的必填槽位中填充内容实体后,可以将所有的必填槽位中填充内容实体发送至表格问答模块,以便表格问答模块基于所有的必填槽位中填充内容实体得到该改写查询语句,进而基于将改写查询语句后送入NL2SQL模型进行解析并得到SQL语句,实现表格答案的查询。
在一些实施例中,该S240可包括:
对该自然语言查询语句、该追问语句以及该追问回复语句进行关键字提取,得到多个关键词;对该多个关键词进行拼接,得到该改写查询语句。
示例性地,该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体,该查询端可以对该自然语言查询语句、该追问语句以及该追问回复语句进行关键字提取,得到多个关键词;对该多个关键词进行拼接,得到该改写查询语句。
本实施例中,直接通过拼接多个关键词得到该改写查询语句,可以降低该改写查询语句的改写复杂度并降低了改写能耗。
在一些实施例中,该S250可包括:
对该改写查询语句和至少一个维度实体进行编码,得到起始标记符号的表征向量、该改写查询语句中各个词的表征向量、该至少一个维度实体中各个维度实体中各个词的表征向量、以及终止标记符号的表征向量;该至少一个维度实体包括查询该第一内容实体使用的数据表中用于表征至少一个维度的维度实体;基于该起始标记符号的表征向量,预测第一数量和第二数量;该第一数量表示该SQL语句中选择子句的数量,该第二数量表示该SQL语句中条件子句的数量;对该各个维度实体中各个词的表征向量进行融合,得到该各个维度实体的表征向量;基于该各个维度实体的表征向量、该第一数量以及该第二数量,预测该至少一个维度实体中用于构建该选择子句的第四维度实体和该至少一个维度实体中用于构建该条件子句的第五维度实体;基于该第四维度实体的表征向量,预测该第五维度实体的逻辑运算符,该第五维度实体的逻辑运算符为用于连接该第五维度实体和该第五维度实体下的内容实体的逻辑运算符;基于该改写查询语句中各个词的表征向量,预测该第五维度实体下的内容实体在该改写查询语句中的起始位置和结束位置;基于该第四维度实体、该第五维度实体、该第五维度实体的逻辑运算符、以及该第五维度实体下的内容实体在该改写查询语句中的起始位置和结束位置,构建该SQL语句。
在一些实施例中,基于该各个维度实体的表征向量,对该各个维度实体作为该选择子句的概率进行预测,得到与该至少一个维度实体对应的至少一个第一概率;对该至少一个第一概率按照由大到小的顺序进行排序,并将位置靠前的且数量为该第一数量的第一概率所对应的维度实体,确定为该第四维度实体;基于该各个维度实体的表征向量,对该各个维度实体作为该条件子句的概率进行预测,得到与该至少一个维度实体对应的至少一个第二概率;对该至少一个第二概率按照由大到小的顺序进行排序,并将位置靠前的且数量为该第二数量的第二概率所对应的维度实体,确定为该第五维度实体。
在一些实施例中,用于构建该条件子句的第五维度实体为多个第五维度实体时,该方法200还可包括:
基于该SQL语句相邻的任意两个第五维度实体的表征向量进行处理,得到处理后的表征向量;基于该处理后的表征向量,预测该任意两个第五维度实体之间的连接运算符;其中,该S250可包括:基于该第四维度实体、该第五维度实体、该第五维度实体的逻辑运算符、该第五维度实体下的内容实体在该改写查询语句中的起始位置和结束位置、以及该任意两个第五维度实体之间的连接运算符,构建该SQL语句。
图9是本申请实施例提供的用于将改写查询语句转换为SQL语句的模型的示例。
如图9所示,用于将改写查询语句转换为SQL语句的模型可以是查询端基于业务场景确定的BERT模型,BERT模型的输入文本可以为改写查询语句和电力风险表的各个维度实体拼接后的文本。该改写查询语句可以为“作业范围是单GIL(不含分支母线)停电,电压等级是1000kV,作业内容是集中检修的分级是什么?”,该电力风险表的各个维度实体可以包括:序号、电压等级、作业范围、作业内容、分级以及操作。
其中,BERT模型收到该输入文本后,可通过三层处理得到SQL语句。
对于第一层,该BERT模型收到该输入文本后,可利用编码器得到该输入文本中的各个词(或符号)的词嵌入(word embedding),其可包括令牌嵌入(token embedding),位置嵌入(position embedding)以及段嵌入(segment embedding)。其中,各个词(或符号)的令牌嵌入为各个词(或符号)的编码向量,各个词(或符号)的位置嵌入为表征各个词(或符号)在令牌嵌入中的位置,各个词(或符号)的段嵌入用于表征各个词(或符号)为改写查询语句中的词(或符号)还是维度实体中的词(或符号)。其中,本申请涉及的符号包括改写查询语句之前的起始标记符号[CLS]、该改写查询语句后的终止标记符号[SEP]、以及各个维度实体之后的终止标记符号[SEP]。
对于第二层,该BERT模型可基于各个词(或符号)的令牌嵌入,位置嵌入以及段嵌入,得到各个词(或符号)的表征(representation)向量。例如即h1为[CLS]的表征向量,h2为“作”的表征向量,h1+2为“序”的表征向量。
对于第三层,该BERT模型各个词(或符号)的表征向量后,可利用任务模型进行多个子任务预测,包括:
1、使用首位CLS的表征向量预测select个数(即表示选择子句的第一数量)和where个数(即表示条件子句的第二数量)。
2、将维度实体中各个词的表征向量进行向量聚合(例如进行向量平均运算),得到维度实体的表征向量,进一步的,以各个维度实体的表征向量为输入,预测各个维度实体属于select的维度实体(即用于构建选择子句的第四维度实体)还是属于where的维度实体(即用于构建条件子句的第五维度实体),同时将所有的预测结果排序,根据select个数和where个数选取其中的topN。
3、对于属于where的维度实体,还可以基于维度实体的表征向量继续预测其逻辑运算符(即第五维度实体逻辑运算符),即逻辑运算符是=、>、或<等逻辑符号。
4、如果存在多个属于where的维度实体,则对任意两个属于where的维度实体的表征向量取平均后,用其预测这两个属于where的维度实体之间的连接运算符(即任意两个第五维度实体之间的连接运算符),其可以是and或or等连接符号。
5、针对各个维度实体下的内容实体,可基于该改写查询语句的各个词的表征向量预测其where value的起始位置和结束位置(即第五维度实体下的内容实体在改写查询语句中的起始位置和结束位置)。例如,在预测where value时,通过两个学习器,分别学习where value的起始位置和终止位置。进一步的,通过预测where value的起始位置和终止位置,将初始位置和终止位置之间的值作为where value。
图10是本申请实施例提供的起始位置和结束位置的示例。
如图10所示,针对“作业范围”,可以预测得到其起始位置为第5位,其终止位置为第19位;类似的,针对“电压等级”,可以预测得到其起始位置为第26位,其终止位置为第31位;针对“电压等级”,可以预测得到其起始位置为第39位,其终止位置为第42位。
基于此,通过上述各个预测任务可构建出SQL语句中的选择子句和条件子句。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上文涉及的实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上文涉及的具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上文涉及的各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图2至图10,从查询端的角度详细描述了根据本申请实施例提供的实体查询方法,下面将结合图11,从请求端的角度描述根据本申请实施例提供的实体查询方法。
图11是本申请实施例提供的实体查询方法300的示意性流程图。
如图11所示,该方法300可包括:
S310,向查询端发送自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
S320,接收该查询端发送的追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
S330,向该查询端发送追问回复语句;
S340,接收该自然语言查询语句的查询回复语句,该查询回复语句包括该第一内容实体。
应当理解,该方法300的中的步骤可以参考方法200中的相应步骤,为了简洁,在此不再赘述。
上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
图12是本申请实施例提供的查询端400的示意性框图。
如图12所示,该查询端400可包括:
接收单元410,用于接收请求端发送的自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
发送单元420,用于向该请求端发送追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
该接收单元410还用于接收该请求端发送的追问回复语句;
改写单元430,用于基于该自然语言查询语句、该追问语句以及该追问回复语句,对该自然语言查询语句进行改写,得到改写查询语句;
转换单元440,用于将该改写查询语句转换为结构化查询语言SQL语句;
查询单元450,用于基于该SQL语句,查询该第一内容实体并向该请求端发送查询回复语句,该查询回复语句包括该第一内容实体。
在一些实施例中,该发送单元420具体用于:
对该自然语言查询语句进行分析,确定数据表;该数据表包括用于表征至少一个维度的维度实体和该至少一个维度实体中各个维度实体的实体库;
基于该数据表创建对话树;该对话树为至少一个槽位形成的树结构,该至少一个槽位包括与该至少一个维度实体除该第一维度实体之外的各个维度实体对应的槽位;
若该至少一个槽位中的当前槽位关联的触发条件指示:该当前槽位为必填槽位,则向该请求端发送第一语句,并基于该第一语句的第一回复语句填充该当前槽位,直至该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体;其中,该第一语句用于在该当前槽位对应的维度实体下追问该当前槽位填充的内容实体,该追问语句包括该第一语句。
在一些实施例中,该发送单元420具体用于:
若该当前维度实体对应的实体库中包括该第一回复语句指示的内容实体,则将该第一回复语句指示的内容实体填充至该当前槽位,并继续遍历该当前槽位的下一槽位,直至该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体。
在一些实施例中,该发送单元420具体用于:
若该当前维度实体对应的实体库中不包括该第一回复语句指示的内容实体,则计算该当前维度实体对应的实体库中各个内容实体与该第一回复语句指示的内容实体之间的相似度,并按照相似度由大到小的顺序对该当前维度实体对应的实体库中的内容实体进行排序,得到该当前维度实体对应的实体库中内容实体的排列顺序;
向该请求端发送澄清消息,该澄清消息包括该排列顺序中排序靠前的至少一个内容实体;
接收该请求端发送的确认消息,该确认消息用于指示该至少一个内容实体中确认的内容实体;
将该确认的内容实体填充至该当前槽位,并继续遍历该当前槽位的下一槽位,直至该至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体。
在一些实施例中,该发送单元420向该请求端发送追问语句之前,还用于:
对该自然语言查询语句进行分析,得到用于在第三维度实体下约束该第一内容实体的第二内容实体;
将该第二内容实体填充至该至少一个槽位中与该第三维度实体对应的槽位。
在一些实施例中,该改写单元430具体用于:
基于该自然语言查询语句、该追问语句以及该追问回复语句,确定输入序列;
以该输入序列为输入,利用基于序列到序列Seq2Seq结构的改写模型得到输出序列;
将该输出序列确定为该改写查询语句。
在一些实施例中,该改写单元430具体用于:
对该自然语言查询语句、该追问语句以及该追问回复语句进行关键字提取,得到多个关键词;
对该多个关键词进行拼接,得到该改写查询语句。
在一些实施例中,该转换单元440具体用于:
对该改写查询语句和至少一个维度实体进行编码,得到起始标记符号的表征向量、该改写查询语句中各个词的表征向量、该至少一个维度实体中各个维度实体中各个词的表征向量、以及终止标记符号的表征向量;该至少一个维度实体包括查询该第一内容实体使用的数据表中用于表征至少一个维度的维度实体;
基于该起始标记符号的表征向量,预测第一数量和第二数量;该第一数量表示该SQL语句中选择子句的数量,该第二数量表示该SQL语句中条件子句的数量;
对该各个维度实体中各个词的表征向量进行融合,得到该各个维度实体的表征向量;
基于该各个维度实体的表征向量、该第一数量以及该第二数量,预测该至少一个维度实体中用于构建该选择子句的第四维度实体和该至少一个维度实体中用于构建该条件子句的第五维度实体;
基于该第四维度实体的表征向量,预测该第五维度实体的逻辑运算符,该第五维度实体的逻辑运算符为用于连接该第五维度实体和该第五维度实体下的内容实体的逻辑运算符;
基于该改写查询语句中各个词的表征向量,预测该第五维度实体下的内容实体在该改写查询语句中的起始位置和结束位置;
基于该第四维度实体、该第五维度实体、该第五维度实体的逻辑运算符、以及该第五维度实体下的内容实体在该改写查询语句中的起始位置和结束位置,构建该SQL语句。
在一些实施例中,该转换单元440具体用于:
基于该各个维度实体的表征向量,对该各个维度实体作为该选择子句的概率进行预测,得到与该至少一个维度实体对应的至少一个第一概率;
对该至少一个第一概率按照由大到小的顺序进行排序,并将位置靠前的且数量为该第一数量的第一概率所对应的维度实体,确定为该第四维度实体;
基于该各个维度实体的表征向量,对该各个维度实体作为该条件子句的概率进行预测,得到与该至少一个维度实体对应的至少一个第二概率;
对该至少一个第二概率按照由大到小的顺序进行排序,并将位置靠前的且数量为该第二数量的第二概率所对应的维度实体,确定为该第五维度实体。
在一些实施例中,用于构建该条件子句的第五维度实体为多个第五维度实体时,该转换单元440还用于:
基于该SQL语句相邻的任意两个第五维度实体的表征向量进行处理,得到处理后的表征向量;
基于该处理后的表征向量,预测该任意两个第五维度实体之间的连接运算符;
其中,该查询单元450具体用于:
基于该第四维度实体、该第五维度实体、该第五维度实体的逻辑运算符、该第五维度实体下的内容实体在该改写查询语句中的起始位置和结束位置、以及该任意两个第五维度实体之间的连接运算符,构建该SQL语句。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,查询端400可以对应于执行本申请实施例的方法200中的相应主体,并且查询端400中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
图13是本申请实施例提供的请求端500的示意性框图。
如图13所示,该请求端500可包括:
发送单元510,用于向查询端发送自然语言查询语句;该自然语言查询语句用于在第一维度实体下请求查询第一内容实体,该第一内容实体用于表征待查询信息,该第一维度实体用于表征该第一内容实体所在的维度;
接收单元520,用于接收该查询端发送的追问语句;该追问语句用于在第二维度实体下追问用于约束该第一内容实体的内容实体,该第二维度实体表征的维度不同于该第一维度实体表征的维度;
该发送单元510还用于向该查询端发送追问回复语句;
该接收单元520还用于接收该自然语言查询语句的查询回复语句,该查询回复语句包括该第一内容实体。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,请求端500可以对应于执行本申请实施例的方法300中的相应主体,并且请求端500中的各个单元分别为了实现方法300中的相应流程,为了简洁,在此不再赘述。
还应当理解,本申请实施例涉及的查询端400或请求端500中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上文涉及的单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该查询端400或请求端500也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的查询端400或请求端500,以及来实现本申请实施例提供的方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相应方法。
换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上文涉及的方法实施例中的步骤。
图14是本申请实施例提供的电子设备600的示意结构图。
如图14所示,该电子设备600至少包括处理器610以及计算机可读存储介质620。其中,处理器610以及计算机可读存储介质620可通过总线或者其它方式连接。计算机可读存储介质620用于存储计算机程序621,计算机程序621包括计算机指令,处理器610用于执行计算机可读存储介质620存储的计算机指令。处理器610是电子设备600的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器610也可称为中央处理器(Central Processing Unit,CPU)。处理器610可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立元件门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质620可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器610的计算机可读存储介质。具体而言,计算机可读存储介质620包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
如图14所示,该电子设备600还可以包括收发器630。
其中,处理器610可以控制该收发器630与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器630可以包括发射机和接收机。收发器630还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备600中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。值得注意的是,该电子设备600可以是任意一种具有数据处理能力的电子设备;该计算机可读存储介质620中存储有第一计算机指令;由处理器610加载并执行计算机可读存储介质620中存放的第一计算机指令,以实现方法200中的相应步骤;具体实现中,计算机可读存储介质620中的第一计算机指令由处理器610加载并执行相应步骤;类似的,该计算机可读存储介质620中存储有第二计算机指令;由处理器610加载并执行计算机可读存储介质620中存放的第二计算机指令,以实现方法300中的相应步骤;具体实现中,计算机可读存储介质620中的第二计算机指令由处理器610加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备600中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质620。可以理解的是,此处的计算机可读存储介质620既可以包括电子设备600中的内置存储介质,当然也可以包括电子设备600所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备600的操作系统。并且,在该存储空间中还存放了适于被处理器610加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序621(包括程序代码)。
根据本申请的另一方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序621。此时,数据处理设备600可以是计算机,处理器610从计算机可读存储介质620读取该计算机指令,处理器610执行该计算机指令,使得该计算机执行上文涉及的各种可选方式中提供的各种方法。换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种实体查询方法,其特征在于,包括:
接收请求端发送的自然语言查询语句;所述自然语言查询语句用于在第一维度实体下请求查询第一内容实体,所述第一内容实体用于表征待查询信息,所述第一维度实体用于表征所述第一内容实体所在的维度;
向所述请求端发送追问语句;所述追问语句用于在第二维度实体下追问用于约束所述第一内容实体的内容实体,所述第二维度实体表征的维度不同于所述第一维度实体表征的维度;
接收所述请求端发送的追问回复语句;
基于所述自然语言查询语句、所述追问语句以及所述追问回复语句,对所述自然语言查询语句进行改写,得到改写查询语句;
将所述改写查询语句转换为结构化查询语言SQL语句;
基于所述SQL语句,查询所述第一内容实体并向所述请求端发送查询回复语句,所述查询回复语句包括所述第一内容实体。
2.根据权利要求1所述的方法,其特征在于,所述向所述请求端发送追问语句,包括:
对所述自然语言查询语句进行分析,确定数据表;所述数据表包括用于表征至少一个维度的维度实体和所述至少一个维度实体中各个维度实体的实体库;
基于所述数据表创建对话树;所述对话树为至少一个槽位形成的树结构,所述至少一个槽位包括与所述至少一个维度实体除所述第一维度实体之外的各个维度实体对应的槽位;
若所述至少一个槽位中的当前槽位关联的触发条件指示:所述当前槽位为必填槽位,则向所述请求端发送第一语句,并基于所述第一语句的第一回复语句填充所述当前槽位,直至所述至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体;其中,所述第一语句用于在所述当前槽位对应的维度实体下追问所述当前槽位填充的内容实体,所述追问语句包括所述第一语句。
3.根据权利要求2所述的方法,其特征在于,所述直至所述至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体,包括:
若所述当前维度实体对应的实体库中包括所述第一回复语句指示的内容实体,则将所述第一回复语句指示的内容实体填充至所述当前槽位,并继续遍历所述当前槽位的下一槽位,直至所述至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体。
4.根据权利要求2所述的方法,其特征在于,所述直至所述至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体,包括:
若所述当前维度实体对应的实体库中不包括所述第一回复语句指示的内容实体,则计算所述当前维度实体对应的实体库中各个内容实体与所述第一回复语句指示的内容实体之间的相似度,并按照相似度由大到小的顺序对所述当前维度实体对应的实体库中的内容实体进行排序,得到所述当前维度实体对应的实体库中内容实体的排列顺序;
向所述请求端发送澄清消息,所述澄清消息包括所述排列顺序中排序靠前的至少一个内容实体;
接收所述请求端发送的确认消息,所述确认消息用于指示所述至少一个内容实体中确认的内容实体;
将所述确认的内容实体填充至所述当前槽位,并继续遍历所述当前槽位的下一槽位,直至所述至少一个槽位中触发条件指示填充内容实体的槽位均填充有内容实体。
5.根据权利要求2所述的方法,其特征在于,所述向所述请求端发送追问语句之前,所述方法还包括:
对所述自然语言查询语句进行分析,得到用于在第三维度实体下约束所述第一内容实体的第二内容实体;
将所述第二内容实体填充至所述至少一个槽位中与所述第三维度实体对应的槽位。
6.根据权利要求1所述的方法,其特征在于,所述基于所述自然语言查询语句、所述追问语句以及所述追问回复语句,对所述自然语言查询语句进行改写,得到改写查询语句,包括:
基于所述自然语言查询语句、所述追问语句以及所述追问回复语句,确定输入序列;
以所述输入序列为输入,利用基于序列到序列Seq2Seq结构的改写模型得到输出序列;
将所述输出序列确定为所述改写查询语句。
7.根据权利要求1所述的方法,其特征在于,所述基于所述自然语言查询语句、所述追问语句以及所述追问回复语句,对所述自然语言查询语句进行改写,得到改写查询语句,包括:
对所述自然语言查询语句、所述追问语句以及所述追问回复语句进行关键字提取,得到多个关键词;
对所述多个关键词进行拼接,得到所述改写查询语句。
8.根据权利要求1所述的方法,其特征在于,所述将所述改写查询语句转换为结构化查询语言SQL语句,包括:
对所述改写查询语句和至少一个维度实体进行编码,得到起始标记符号的表征向量、所述改写查询语句中各个词的表征向量、所述至少一个维度实体中各个维度实体中各个词的表征向量、以及终止标记符号的表征向量;所述至少一个维度实体包括查询所述第一内容实体使用的数据表中用于表征至少一个维度的维度实体;
基于所述起始标记符号的表征向量,预测第一数量和第二数量;所述第一数量表示所述SQL语句中选择子句的数量,所述第二数量表示所述SQL语句中条件子句的数量;
对所述各个维度实体中各个词的表征向量进行融合,得到所述各个维度实体的表征向量;
基于所述各个维度实体的表征向量、所述第一数量以及所述第二数量,预测所述至少一个维度实体中用于构建所述选择子句的第四维度实体和所述至少一个维度实体中用于构建所述条件子句的第五维度实体;
基于所述第四维度实体的表征向量,预测所述第五维度实体的逻辑运算符,所述第五维度实体的逻辑运算符为用于连接所述第五维度实体和所述第五维度实体下的内容实体的逻辑运算符;
基于所述改写查询语句中各个词的表征向量,预测所述第五维度实体下的内容实体在所述改写查询语句中的起始位置和结束位置;
基于所述第四维度实体、所述第五维度实体、所述第五维度实体的逻辑运算符、以及所述第五维度实体下的内容实体在所述改写查询语句中的起始位置和结束位置,构建所述SQL语句。
9.根据权利要求8所述的方法,其特征在于,所述基于所述各个维度实体的表征向量、所述第一数量以及所述第二数量,预测所述至少一个维度实体中用于构建所述选择子句的第四维度实体和所述至少一个维度实体中用于构建所述条件子句的第五维度实体,包括:
基于所述各个维度实体的表征向量,对所述各个维度实体作为所述选择子句的概率进行预测,得到与所述至少一个维度实体对应的至少一个第一概率;
对所述至少一个第一概率按照由大到小的顺序进行排序,并将位置靠前的且数量为所述第一数量的第一概率所对应的维度实体,确定为所述第四维度实体;
基于所述各个维度实体的表征向量,对所述各个维度实体作为所述条件子句的概率进行预测,得到与所述至少一个维度实体对应的至少一个第二概率;
对所述至少一个第二概率按照由大到小的顺序进行排序,并将位置靠前的且数量为所述第二数量的第二概率所对应的维度实体,确定为所述第五维度实体。
10.根据权利要求8所述的方法,其特征在于,用于构建所述条件子句的第五维度实体为多个第五维度实体时,所述方法还包括:
基于所述SQL语句相邻的任意两个第五维度实体的表征向量进行处理,得到处理后的表征向量;
基于所述处理后的表征向量,预测所述任意两个第五维度实体之间的连接运算符;
其中,所述基于所述第四维度实体、所述第五维度实体、所述第五维度实体的逻辑运算符、以及所述第五维度实体下的内容实体在所述改写查询语句中的起始位置和结束位置,构建所述SQL语句,包括:
基于所述第四维度实体、所述第五维度实体、所述第五维度实体的逻辑运算符、所述第五维度实体下的内容实体在所述改写查询语句中的起始位置和结束位置、以及所述任意两个第五维度实体之间的连接运算符,构建所述SQL语句。
11.一种实体查询方法,其特征在于,包括:
向查询端发送自然语言查询语句;所述自然语言查询语句用于在第一维度实体下请求查询第一内容实体,所述第一内容实体用于表征待查询信息,所述第一维度实体用于表征所述第一内容实体所在的维度;
接收所述查询端发送的追问语句;所述追问语句用于在第二维度实体下追问用于约束所述第一内容实体的内容实体,所述第二维度实体表征的维度不同于所述第一维度实体表征的维度;
向所述查询端发送追问回复语句;
接收所述自然语言查询语句的查询回复语句,所述查询回复语句包括所述第一内容实体。
12.一种查询端,其特征在于,包括:
接收单元,用于接收请求端发送的自然语言查询语句;所述自然语言查询语句用于在第一维度实体下请求查询第一内容实体,所述第一内容实体用于表征待查询信息,所述第一维度实体用于表征所述第一内容实体所在的维度;
发送单元,用于向所述请求端发送追问语句;所述追问语句用于在第二维度实体下追问用于约束所述第一内容实体的内容实体,所述第二维度实体表征的维度不同于所述第一维度实体表征的维度;
所述接收单元还用于接收所述请求端发送的追问回复语句;
改写单元,用于基于所述自然语言查询语句、所述追问语句以及所述追问回复语句,对所述自然语言查询语句进行改写,得到改写查询语句;
转换单元,用于将所述改写查询语句转换为结构化查询语言SQL语句;
查询单元,用于基于所述SQL语句,查询所述第一内容实体并向所述请求端发送查询回复语句,所述查询回复语句包括所述第一内容实体。
13.一种请求端,其特征在于,包括:
发送单元,用于向查询端发送自然语言查询语句;所述自然语言查询语句用于在第一维度实体下请求查询第一内容实体,所述第一内容实体用于表征待查询信息,所述第一维度实体用于表征所述第一内容实体所在的维度;
接收单元,用于接收所述查询端发送的追问语句;所述追问语句用于在第二维度实体下追问用于约束所述第一内容实体的内容实体,所述第二维度实体表征的维度不同于所述第一维度实体表征的维度;
所述发送单元还用于向所述查询端发送追问回复语句;
所述接收单元还用于接收所述自然语言查询语句的查询回复语句,所述查询回复语句包括所述第一内容实体。
14.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1至10中任一项所述的方法或实现权利要求11所述的方法。
15.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行权利要求1至10中任一项所述的方法或执行权利要求11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211429334.1A CN117009373A (zh) | 2022-11-15 | 2022-11-15 | 实体查询方法、查询端、请求端和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211429334.1A CN117009373A (zh) | 2022-11-15 | 2022-11-15 | 实体查询方法、查询端、请求端和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009373A true CN117009373A (zh) | 2023-11-07 |
Family
ID=88562486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211429334.1A Pending CN117009373A (zh) | 2022-11-15 | 2022-11-15 | 实体查询方法、查询端、请求端和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009373A (zh) |
-
2022
- 2022-11-15 CN CN202211429334.1A patent/CN117009373A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yen et al. | Ranking metrics and search guidance for learning object repository | |
CN111368048B (zh) | 信息获取方法、装置、电子设备及计算机可读存储介质 | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
CN116244418B (zh) | 问题解答方法、装置、电子设备及计算机可读存储介质 | |
JP7295200B2 (ja) | 汎化処理方法、装置、デバイス、コンピュータ記憶媒体及びプログラム | |
CN116244344B (zh) | 基于用户需求的检索方法、装置以及电子设备 | |
CN113988071A (zh) | 一种基于金融知识图谱的智能对话方法及装置、电子设备 | |
CN113656561A (zh) | 实体词识别方法、装置、设备、存储介质及程序产品 | |
Wang et al. | Data set and evaluation of automated construction of financial knowledge graph | |
CN114860916A (zh) | 知识检索方法及装置 | |
Liang et al. | KG4Py: A toolkit for generating Python knowledge graph and code semantic search | |
CN117609479B (zh) | 一种模型处理方法、装置、设备、介质及产品 | |
Tao et al. | Multi‐head attention graph convolutional network model: End‐to‐end entity and relation joint extraction based on multi‐head attention graph convolutional network | |
CN117473076B (zh) | 基于大数据挖掘的知识点生成方法及系统 | |
Li et al. | Neural factoid geospatial question answering | |
Sun | A natural language interface for querying graph databases | |
CN113010771B (zh) | 搜索引擎中的个性化语义向量模型的训练方法及装置 | |
CN111126073B (zh) | 语义检索方法和装置 | |
CN117473054A (zh) | 基于知识图谱的通用智能问答方法及装置 | |
Fu et al. | Enhancing Semantic Search of Crowdsourcing IT Services using Knowledge Graph. | |
CN116974554A (zh) | 代码数据处理方法、装置、计算机设备和存储介质 | |
CN116861913A (zh) | 基于gpt大模型的立场检测方法及相关设备 | |
CN117009373A (zh) | 实体查询方法、查询端、请求端和电子设备 | |
CA3104292C (en) | Systems and methods for identifying and linking events in structured proceedings | |
Tian et al. | Semantic similarity measure of natural language text through machine learning and a keyword‐aware cross‐encoder‐ranking summarizer—A case study using UCGIS GIS &T body of knowledge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |