CN109408622B - 语句处理方法及其装置、设备和存储介质 - Google Patents
语句处理方法及其装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109408622B CN109408622B CN201811289512.9A CN201811289512A CN109408622B CN 109408622 B CN109408622 B CN 109408622B CN 201811289512 A CN201811289512 A CN 201811289512A CN 109408622 B CN109408622 B CN 109408622B
- Authority
- CN
- China
- Prior art keywords
- input
- candidate
- sentence
- determining
- candidate answer
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims description 58
- 238000012549 training Methods 0.000 claims description 28
- 238000011156 evaluation Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 239000012634 fragment Substances 0.000 claims description 6
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 239000013598 vector Substances 0.000 description 14
- 238000000605 extraction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000002372 labelling Methods 0.000 description 9
- 238000012163 sequencing technique Methods 0.000 description 8
- 238000003066 decision tree Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010380 label transfer Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例公开了一种语句处理方法及其装置、设备和存储介质,其中,所述方法包括:将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;确定所述候选答案的特征;在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;根据所述排序的结果,从所述候选答案中选择满足排序条件的候选答案;将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种语句处理方法及其装置、设备和存储介质。
背景技术
在对话系统中,语义解析包括意图分类和槽位抽取。意图分类是指对用户的意图进行判断,常见的意图有天气查询、音乐点播和视频点播等。槽位抽取是指在特定的意图下,抽取对应的实体来进一步精确解析语义以确定用户的指令。如天气查询意图中,槽位可以是城市名和时间;音乐点播意图中,槽位可以是歌曲、歌手、专辑名和歌曲类型等;视频点播意图中,槽位可以是视频名称、导演和演员等。
相关技术中,在对输入语句进行语句处理时,通过条件随机场(conditionalrandom field algorithm,CRF)、循环神经网络(Recurrent Neural Network,RNN)的方法进行确定输入语句的槽位中所填充的命名实体,得到用户的指令。
发明内容
有鉴于此,本申请实施例期望提供一种语句处理方法及其装置、设备和存储介质,能够优化槽位中所填充的命名实体,提高语义解析结果的准确度。
本申请实施例的技术方案是这样实现的:
一方面,本申请实施例提供一种语句处理方法,所述方法包括:
将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;
确定所述候选答案的特征;
在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;
根据所述排序的结果,从所述候选答案中选择满足排序条件的候选答案;
将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
另一方面,本申请实施例提供一种语句处理装置,所述装置包括:
第一确定模块,将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;
第二确定模块,用于确定所述候选答案的特征;
排序模块,用于在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;
目标模块,用于根据所述排序的结果,从所述候选答案中选择满足排序条件的候选答案;
所述目标模块,还用于将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
又一方面,本申请实施例提供一种语句处理设备,所述设备至少包括:存储器、通信总线和处理器,其中:
所述存储器,用于存储语句处理程序;
所述通信总线,用于实现处理器和存储器之间的连接通信;
所述处理器,用于执行存储器中存储的语句处理程序,以实现以下操作:
将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;
确定所述候选答案的特征;
在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;
根据所述排序的结果,从所述候选答案中选择满足排序条件的候选答案;
将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
再一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述的语句处理方法。
本申请实施例具有以下有益效果:
通过确定表征输入语句的所有可能的槽位填充结果的候选答案,提取候选答案的特征,并通过排序模型对所有可能的候选答案进行相关度的排序,以选择合适的候选答案的方式来识别指令,克服了现有技术进行槽位填充时存在的语义歧义的问题,优化了槽位填充结果的准确度。
附图说明
图1是本申请实施例语句处理方法的网络架构示意图一;
图2是本申请实施例语句处理方法的网络架构示意图二;
图3是本申请实施例语句处理方法的实现流程示意图一;
图4是本申请实施例排序模型的训练方法的流程示意图一;
图5是本申请实施例语句处理方法的实现流程示意图二;
图6是本申请实施例信息检索系统的架构示意图;
图7是本申请实施例语句处理方法的实现流程示意图三;
图8是本申请实施例实体、实体组合和候选答案示意图;
图9是本申请实施例语句处理方法的实现流程示意图四;
图10是本申请实施例语句处理装置的组成结构示意图;
图11是本申请实施例语句处理设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的技术方案做详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
对本申请进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)用户意图,本文中简称为意图,即用户通过语句所表达的请求或者目的,例如用户的语句为“今天天气怎么样”,用户意图就是“查询天气”;再例如用户的语句为“我想叫辆出租车”,意图就是“打车”。
2)命名实体(Named Entity,NE),本文中也简称为实体,是人名、机构名、地名以及其他所有以名称为标识的实体;更广泛的实体还包括数字、日期、货币、地址等等;命名实体的不同类型可以使用标签来进行区分,例如标签可以为“歌曲”、“城市”等。
3)槽(Slot),也称为槽位,用于表示将语句所表达的用户意图转化为明确的用户指令时,语句中的实体所对应的属性。
例如,语句的意图为“天气查询”时,语句中的实体对应的槽位可以包括“城市名”和“时间”;当语句的意图为“音乐点播”时,语句中的实体对应的槽位可以包括“歌曲名”,“歌手名”,“专辑名”和“歌曲类型”等;当语句的意图“视频点播”意图中,对应的槽位可以包括“视频名称”,“导演”和“演员”等。
4)槽位填充(Slot Filling),也称为槽位抽取,识别语句中的实体被明确定义的属性(Slot types)的值(Slot Fillers)的过程。
例如,从用户的语句“我要在五点打车从体育馆到电影院”识别出用户意图为“打车”,“打车”的用户意图涉及的槽位(即实体的属性)包括出发地点、目的地、出发时间,对应上述语句而言,实体“体育馆”为对应“出发地点”的属性值、实体“电影院”为对应“目的地”的属性值,实体“五点”为对应“出发时间”属性值。
5)候选答案,同一语句的可能的槽位填充的结果,候选答案包括从语句中识别出的与槽位对应的命名实体(即槽位的属性所约束的属性值),且对于同一语句的一个候选答案来说,所填充的命名实体在语句中的位置不重合。
例如,对于语句为“play you are my sunshine by johnny cash”时,对应的意图为“音乐点播”,包括有同一位置的命名实体“you are my sunshine”和“sunshine”,根据槽位“歌曲SONG”的不同填充方式,得到的候选答案的示例为:候选答案1:槽位“SONG”填充“you are my sunshine”,候选答案2:槽位“SONG”填充“sunshine”;候选答案还可以为空(Null)。
6)评价指标,即候选答案在槽位填充中命名实体的评价指标,包括:
准确率,正确填充的槽位的数量占所有槽位的数量的比例;
召回率,正确填充的槽位的数量占所有可能正确填充的槽位的数量的比例;其中,所述可能正确填充的槽位是指已经找到的正确填充的槽位的总数。
F1值,基于准确率和召回率的联合评价指标,例如,F1=(2*准确率*召回率)/(准确率+召回率)。
7)相关程度,(也称为相关度),与候选答案对应,用于表示候选答案与语句所表达的意图相符合的程度。
本申请实施例可提供为语句处理方法以及装置,实际应用中,语句处理装置中的各功能模块可以由设备(如终端设备、服务器或服务器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
当然,本申请实施例不局限于提供为方法和硬件,还可有多种实现方式,例如提供为存储介质(存储有用于执行本申请实施例提供的语句处理方法的指令),以下再对不同的实现方式举例说明。
一、移动端应用程序及模块
本申请实施例可提供为使用C/C++、Java等编程语言设计的软件模块,嵌入到基于Android或iOS等系统的各种移动端Apps中(例如百度等)(以可执行指令的存储在移动端的存储介质中,由移动端的处理器执行),从而直接使用移动端自身的计算资源完成相关的数据挖掘任务,并且定期或不定期地通过各种网络通信方式将数据、中间结果或最终结果传送给远程的服务器,或者在移动端本地保存。
二、服务器应用程序及平台
本申请实施例可提供使用C/C++、Java等编程语言设计的应用软件或大型软件系统中的专用软件模块,运行于服务器端(以可执行指令的方式在服务器端的存储介质中存储,并由服务器端的处理器运行),将接收到的来自其它设备的各种原始数据、各级中间数据和最终结果中的至少一种,与服务器上已有的某些数据或结果综合起来计算得到更新的结果,然后实时或非实时地输出给其他应用程序或模块使用,也可以写入服务器端数据库或文件进行存储。
本申请实施例还可以提供为在多台服务器构成的分布式、并行计算平台上,搭载定制的、易于交互的网络(Web)界面或其他各用户界面(UI,User Interface),形成供个人、群体或企业使用的语句处理平台等。使用者可以将已有的数据包批量上传给此平台以获得各种计算结果,也可以将实时的数据流传输给此平台来实时计算和刷新各级结果。
三、服务器端应用程序接口(API,Application Program Interface)及插件
本申请实施例可提供为实现服务器端的API、软件开发套件(SDK,SoftwareDevelopment Toolkit)或插件,供其他的服务器端应用程序开发人员调用,并嵌入到各类应用程序中。
四、移动设备客户端API及插件
本申请实施例还可提供为移动设备端的API、SDK或插件,供其他的移动端应用程序开发人员调用,并嵌入到各类应用程序中。
五、云端开放服务
本申请实施例可提供为语句处理平台,本申请实施例还可提供为语句处理平台的API、SDK及插件等,打包封装成可供企业内外人员开放使用的云服务,或者将各种结果(检索结果)以适当形式展示在各种终端显示设备上,供个人、群体或企事业单位查询。
图1为本申请实施例语句处理方法的一种网络架构的示意图,如图1所示,该网络架构包括客户端11和服务器12,其中,客户端11中安装有对话App,可以通过对话App来触发对输入语句进行语义解析的对话请求,并将对话请求发送至服务器12,以请求服务器12作为语义解析设备来确定用于输入语句所表达的指令。服务器12可以为对话App对应的服务器。
首先,客户端11通过对话App接收用户输入的输入语句,基于输入语句触发携带输入语句的对话请求。然后,客户端11向服务器12发送对话请求,以请求服务器12作为语句处理设备,对输入语句进行语义解析,并根据语义解析结果进行响应。服务器12接收到对话请求后,确定输入语句对应的多个候选答案,并抽取每个候选答案的特征,在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序,并根据排序结果靠前的候选答案的槽位中所填充的命名实体组合确定输入语句所表达的指令,并根据候选答案的槽位中所填充的命名实体组合得到输入语句的对话结果。服务器12确定对话结果后,将对话结果作为输入语句的响应,通过对话响应发送至客户端11,完成一次对话。其中,对话结果可为一个语句或者检索信息等。
这里,排序模型为基于学习排序算法得到的模型,采用的学习排序算法可包括RankNet、LambdaRank、LambdaMART等排序算法。
图1所示的网络结构可应用于对话系统,其中,客户端11作为对话系统的客户端,接收用户的输入语句,服务器12作为对话系统的服务端,接收客户端11发送的输入语句,对接收的输入语句进行语句处理,得到输入语句所表达的指令,并基于输入语句所表达的指令得到对话结果,向客户端11返回输入语句对应的对话结果。
对话系统可包括:基于框架的目标导向系统(The Frame-based DialogueSystems)和交互式问答系统The Question-Answering Based Dialogue System)。
基于框架的目标导向系统,根据框架向用户提出一系列预定义的问题,如果客户提供答案,则转向下一个问题;如果客户提供的不是答案,则忽略客户的任何事情。在对话过程中,可允许系统和用户之间的对话的主动性在各个点上移动。
交互式问答系统,能够对用户输入的语句进行分析,确定用户的用户意图,并基于用户意图反馈回复语句或回复信息,比如:用户在聊天系统中输入的输入语句为“你好”时,确定用户意图为打招呼时,向用户反馈回复语句“我也向你问个好”。又比如,用户在聊天系统中输入的输入语句为“显示未接来电”时,确定用户意图为查询未接来电信息时,向用户反馈回复信息“您有2条未接来电,为号码1和号码2”。
当图1所示的对话系统应用于信息检索时,如图2所示,该网络架构包括客户端11和服务器12,其中,客户端11中安装有能够进行信息检索的对话App,可以通过对话App来接收用户输入的输入语句,并触发基于输入语句进行信息检索的检索请求,并将检索请求发送至服务器12,以请求服务器12作为语义解析设备来确定用于输入语句所表达的指令。服务器12可以为对话App对应的服务器。
当用户在在客户端11中输入表征用户的意图的输入语句,客户端11接收到用户输入的输入语句“play you are my sunshine by johnny cash”,并将输入语句携带在检索请求中通过网络发送至服务器12。
服务器12作为语句处理设备,接收到客户端11发送的检索请求后,确定检索请求携带的输入语句“play you are my sunshine by johnny cash”的不同的命名实体组合,根据不同的命名实体组合得到所有的候选答案,并确定各候选答案的特征。服务器在确定各候选答案的特征后,在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;根据排序结果确定在槽位:SONG和SINGER中分别填充“you are my sunshine”和“johnny cash”,从而确定输入语句所表达的指令为SONG为“you are my sunshine”且SINGER为“johnny cash”。此时,服务器12根据SONG为“you aremy sunshine”且SINGER为“johnny cash”进行信息的检索,得到检索结果,并将检索结果返回给客户端11中的对话App。
下面,结合图1和图2所示的网络架构示意图,对语句处理方法及其装置、设备的各实施例进行说明。
本实施例提供一种语句处理方法,应用于语句处理设备。图3为本申请实施例语句处理方法的实现流程示意图,如图3所示,所述方法包括以下步骤:
S301、将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;
所述语句处理设备可以是任何具有信息处理能力的电子设备,在一种实施例中,语句处理设备可以是智能终端,例如可以是移动电话(手机)、iPad、笔记本等具有无线通信能力的移动终端。在另一种实施例中,语句处理设备还可以是不便移动的具有计算功能的终端设备,比如台式计算机、桌面电脑等。
语句处理设备中可安装有对话App,用户可基于对话App进行聊天、信息查询、信息检索、终端控制等与语音控制相关的处理。用户可通过对话App的输入操作输入输入语句。对话App可将用户输入的输入语句呈现在语句处理设备的显示界面上。语句处理设备接收到输入语句时,触发对话请求。
语句处理设备可通过文本框的方式接收用户在文本框中输入的输入语句,可通过语音接收的方式接收用户输入的输入语句,也可基于用户的字符选择操作确定输入语句。
当语句处理设备通过语音接收的方式接收用户输入的输入语句时,语句处理设备接收用户输入的语音,将接收的语音转换为文本信息,将转换得到的文本信息作为输入语句。
当语句处理设备基于用户的字符选择操作确定输入语句时,用户当前浏览的界面上可设置对话控件,当对话控件被触发且检测到选择的文本信息时,将所选择的文本信息作为输入语句。
语句处理设备可与对话发送设备连接,并接收对话发送设备发送的输入语句。当语句处理设备从对话发送设备接收输入语句,对话发送设备中安装有对话App,通过对话App接收用户输入的输入语句,自动触发基于输入语句进行对话的对话请求,并将输入语句携带在对话请求中发送至语句处理设备。
这里,对话发送设备可为语句处理设备以外的终端设备。比如,语句处理设备为图1所示的网络结构中的服务器12,对话发送设备为图1所示的网络结构中的客户端11。
在实现过程中,输入语句中可包括中字字符、英文字符、空格、标点符号等能够表征用户输入内容的字符。
语句处理设备对对话请求携带的输入语句进行命名实体的识别,确定输入语句的命名实体,并根据输入的命名实体构成输入语句所包括的所有可能的命名实体组合,并将所有的命名实体组合填充到所述输入语句的槽位中,得到所有可能的候选答案。
比如:输入语句为“play you are my sunshine”,命名实体组合包括:组合1、“NULL(空)”、组合2、“you are my sunshine”,组合3、“sunshine”,对应的槽位为“SONG”,则候选答案包括:候选答案1:“you are my sunshine,SONG:NULL”,候选答案2:“you are my<>,SONG:sunshine”和候选答案3:“<>,SONG:you are my sunshine”。其中,“you are mysunshine”和“sunshine”为输入语句的命名实体。输入语句中的“<>”表示填充的命名实体在输入语句中的位置。
又比如:输入语句“play you are my sunshine by johnny cash”的命名实体组合:组合1、NULL;组合2、you are my sunshine;组合3、sunshine;组合4、johnny cash;组合5、you are my sunshine,johnny cash;组合6、sunshine,johnny cash;其中,“you are mysunshine”、“sunshine”和“johnny cash”为输入语句的命名实体,you are my sunshine和sunshine的标签为歌曲song,johnny cash的标签为歌手singer,输入语句的槽位包括歌曲SONG和歌手SINGER,因此,将标签song对应的命名实体填充到槽位SONG中,将标签singer对应的命名实体填充到槽位SINGER中,得到候选答案包括:
候选答案1:NULL
候选答案2:play<strong_song>by johnny cash,SONG:strong_song:you are mysunshine;
候选答案3:play you are my<weak_song>by johnny cash,SONG:weak_song:sunshine;
候选答案4:play you are my sunshine by<strong_singer>,SINGER:strong_singer:johnny cash;
候选答案5:play<strong_song>by<strong_singer>,SONG:strong_song:you aremy sunshine,SINGER:strong_singer:johnny cash;
候选答案6:play you are my<weak_song>by<strong_singer>,SONG:weak_song:sunshine,SINGER:strong_singer:johnny cash。
这里,各候选答案中的“<>”表示各命名实体在输入语句中的位置。不同的候选答案所填充的命名实体中,至少包括一个不同的命名实体。
需要说明的是,根据各命名实体的标签,将命名实体组合填充到对应的槽位中,也就是说,根据各命名实体的标签和该输入语句的槽位之间的约束关系,将各命名实体组合填充到对应的槽位中。
在其他实施例中,所述方法还包括:
S1、识别所述输入语句包括的命名实体;
S2、以任一个命名实体组合中的命名实体的位置不重合为条件,将所识别的命名实体进行组合,构成所述不同的命名实体组合。
在S1中,通过命名实体识别算法对输入语句进行命名实体识别,得到输入语句包括的所有的命名实体集合。比如:输入语句为:play you are my sunshine by johnnycash,通过命名实体识别算法对输入语句进行命名实体识别,得到输入语句的命名实体包括:you are my sunshine、sunshine和johnny cash。
在其他实施例中,识别所述输入语句包括的命名实体,包括以下至少之一:将所述输入语句与词典进行匹配得到所述输入语句的命名实体;基于序列标注模型对所述输入语句进行序列标注,得到所述输入语句中的命名实体。
将所述输入语句与词典进行匹配得到所述输入语句的命名实体时,采用词典匹配算法对所述输入语句进行命名实体的识别。在基于序列标注模型,对所述输入语句进行序列标注,得到所述输入语句中识别命名实体时,序列标注模型的算法为序列标注算法,也就是说,采用序列匹配算法对所述输入语句进行命名实体的识别。
下面,对词典匹配算法和序列标注分别进行说明。
第一、词典匹配算法
基于设定的策略,将所述输入语句的词语与词典中的词条进行匹配;将与所述词典中的词条匹配的词语确定为所述输入语句的命名实体,并根据所述词条的词条信息确定所述实体的标签。其中,设定的策略可为:正向最大匹配、逆向最大匹配、正向最小匹配等匹配规则。其中,词典中词条的词条信息可为:表征类型的标签、使用频次等表征与词条相关的信息。
也就是说,通过词典匹配算法进行命名实体的识别时,将输入语句中的词语与词典中的词条进行匹配,从而确定输入语句所包括的命名实体,并根据词典中词条的词条信息确定各命名实体的标签。
比如:当输入语句为“play you are my sunshine”时,将输入语句中的“play”、“you”、“are”、“my”、“sunshine”、“you are”……“you are my sunshine”以及“play youare my sunshine”这些词语与词典中的词条进行匹配,其中,词典中的词条包括有“sunshine”和“you are my sunshine”,因此,确定输入语句play you are my sunshine”的命名实体包括“sunshine”和“you are my sunshine”,且词典中,“sunshine”的标签为“weak_song”,“you are my sunshine”的标签为“strong_song”,则确定输入语句的实体“sunshine”和“you are my sunshine”的标签分别为“weak_song”和“strong_song”。
其中,“weak_song”和“strong_song”为标签歌曲(song)下的不同优先级的命名实体,以对标签song对应的不同命名实体进行区分。
第二、序列标注算法
提取所述输入语句的特征,根据输入语句的特征,确定所述输入语句对应的多个可选的标注序列;确定每一个可选的标注序列的概率,将概率最高的可的选标注序列确定为最终的标注序列;根据最终的标注序列所标注的命名实体,确定输入语句所包括的命名实体。
序列标注算法可为CRF、RNN等算法。
CRF定义一个特征函数集合,用这个特征函数集合来确定一个可选标注序列的概率,并据确定的概率选出概率最高即最靠谱的标注序列,也就是说,每一个特征函数都可以用来为一个可选的标注序列打分,把特征函数集合中所有的特征函数根据可选标注序列的序列特征对同一个可选标注序列的评分综合起来,就是这个可选标注序列的最终的评分值,即概率。CRF的评分值的数学表示为:
其中,Fj(Q,Y)和λj分别表示第j个特征函数以及对应的权重,Z(Q,Θ)表示归一化项。其中,可选标注序列的序列特征的选择对CRF的评分结果有很大的作用,常见的输入语句的特征有N-grams、标签转移等,这些特征一般是稀疏的。
RNN的输出层也是CRF,跟CRF区别主要是序列特征的不同,CRF是稀疏的人为构造的序列特征,RNN是通过双向长短期记忆网络(Long Short-Term Memory,LSTM)自动抽取的稠密的序列特征。
RNN在数学上可以表示为:
在S2中,根据S1中得到所有的命名实体确定所有可能的命名实体组合。其中,在确定命名实体组合时,根据一个命名实体组合中的命名实体的位置不重合为条件,对所有的命名实体进行组合。其中,不同的命名实体组合包括至少一个不同的命名实体。这里,命名实体的位置可以理解为命名实体的标签,也就是说,在命名实体组合中,不包括同一个标签对应的两个不同的命名实体。
比如:输入语句“play you are my sunshine by johnny cash”的命名实体包括:you are my sunshine、sunshine和johnny cash,其中,命名实体“you are my sunshine”和“sunshine”的标签相同,则这两个命名实体的位置存在重合。根据一个命名实体组合中的命名实体的位置不重合为条件,对命名实体进行组合,得到的命名实体组合包括:组合1、NULL;组合2、you are my sunshine;组合3、sunshine;组合4、johnny cash;组合5、you aremy sunshine,johnny cash;组合6、sunshine,johnny cash。
在其他实施例中,所述方法还包括:识别所述输入语句所表达的意图,并确定与所述意图所对应的所述槽位。
语句处理设备接收到输入语句后,对输入语句进行意图识别,确定输入语句所表达的意图,根据输入语句所表达的意图确定输入语句所包括的槽位。比如,当语句处理设备接收到的输入语句是:明天早上从北京到上海的机票,识别到的输入语句所表达的意图为定机票,此时,输入语句所包括的槽位有:出发地、目的地、时间等槽位。又比如:输入语句为:play you are my sunshine by johnny cash,识别到的输入语句所表达的意图为音乐点播,此时,输入语句所包括的槽位有:歌曲、歌手、专辑名和歌曲类型等槽位。
这里,可通过意图识别模型对输入语句所表达的意图进行识别。意图识别模型可为通过训练文本进行训练而得到神经网络。
S302、确定所述候选答案的特征;
这里,可设置特征抽取模型,通过特征抽取模型抽取各候选答案的特征,也可基于语料库中各命名实体的统计特征确定各候选答案的特征。
在其他实施例中,所述确定所述候选答案的特征,包括:根据所述候选答案中所填充的命名实体组合,确定所述候选答案中所填充的命名实体与对应的槽位之间的第一共现关系;将所述第一共现关系作为所述候选答案的特征。
比如,对于候选答案“play<strong_song>by johnny cash,SONG:strong_song:you are my sunshine”,该候选答案中所填充的命名实体为you are my sunshine,且命名实体you are my sunshine所填充的槽位为SONG,则根据语料库中you are my sunshine填充到槽位SONG中的概率,得到命名实体you are my sunshine与对应的槽位SONG的第一共现关系。
在其他实施例中,所述确定所述候选答案的特征,还包括:根据所述候选答案中所填充的命名实体组合,确定所述候选答案中所填充的命名实体、命名实体来源与对应的槽位之间的第二共现关系;将所述第二共现关系作为所述候选答案的特征。其中,命名实体来源为得到命名实体的方式,比如:如词典匹配,CRF或者RNN。
比如,对于候选答案“play<strong_song>by johnny cash,SONG:strong_song:you are my sunshine”,该候选答案中所填充的命名实体为you are my sunshine,命名实体you are my sunshine由词典匹配识别到,且命名实体you are my sunshine所填充的槽位为SONG,则根据语料库中从词典匹配得到的you are my sunshine填充到槽位SONG中的概率,得到命名实体you are my sunshine、命名实体来源词典匹配与对应的槽位SONG的第二共现关系。
需要说明的是,在确定第一共现关系和第二共现关系时,也可通过卷积网络确定,本申请实施例中对第一共现关系和第二共现关系的具体确定方式不进行限定。
在其他实施例中,所述确定所述候选答案的特征,还包括:根据所述候选答案中所填充的命名实体组合,确定所述候选答案的序列片段;所述序列片段包括以下至少之一:所述候选答案中所填充的命名实体的开始位置的邻近位置、或结束位置的邻近位置的N个词语,所述候选答案中所填充的命名实体的N个词语,所述候选答案的N个词语;N为大于或等于1的整数;确定所述序列片段是语句的概率;将所述序列片段是语句的概率作为所述候选答案的特征。。
这里,得到的候选答案的特征为序列语法特征,序列语法特征包括以下至少之一:所述候选答案中所填充的命名实体的开始位置的邻近位置、或结束位置的邻近位置的序列语法特征,所述候选答案中所填充的命名实体组合的序列语法特征,所述候选答案的序列语法特征;其中,所述序列语法特征用于表示N个词语所构成的序列是语句的概率,N为大于或等于1的整数。
在其他实施例中,所述确定所述候选答案的特征,还包括以下至少之一:根据所述候选答案中所填充的命名实体组合,确定所述候选答案所填充的命名实体的长度;根据所述候选答案中所填充的命名实体组合,确定所述候选答案所填充的所有命名实体的长度占所述输入语句的长度的比例;根据所述候选答案中所填充的命名实体组合,所述候选答案的所填充的命名实体之间的包含关系。
这里,得到的候选答案的特征为长度、覆盖度或包含特征。其中,长度,表征所述候选答案所填充的命名实体的长度;覆盖度,表征所述候选答案所填充的所有命名实体的长度占所述输入语句的长度的比例;包含特征,表征所述候选答案的命名实体是否包含其他命名实体或者被其他命名实体包含。
在其他实施例中,所述确定所述候选答案的特征,还包括:将所述候选答案作为语言模型的输入,得到所述语言模型输出的所述候选答案的得分;其中,所述语言模型包括以下至少之一:RNN语言模型和N-gram语言模型。
这里,得到的候选答案的特征为RNN语言模型和N-gram语言模型。其中,RNN语言模型特征,表征所述候选答案在RNN语言模型中的分数;N-gram语言模型特征,表征括所述候选答案的N-gram语言模型中的分数。
这里,分别对上述第一共现关系、第二共现关系、序列语法特征、长度、覆盖度、RNN语言模型特征、N-gram语言模型特征、以及包含特征这八个维度的特征进行说明。
第一、第一共现关系:候选答案中所填充的命名实体与槽位之间的共现关系。
第二、第二共现关系:所述候选答案中所填充的命名实体、命名实体来源与对应的槽位之间的共现关系,命名实体来源为得到命名实体的方式,比如:如词典,CRF或者RNN。
第三、序列语法特征,即N-grams特征,所述N-grams特征包括以下至少之一:(1)所述候选答案中所填充的命名实体组合的N-grams特征;(2)候选答案的N-grams特征;(3)对候选答案所填充的命名实体的开始位置的邻近位置、或结束位置的邻近位置抽取的N-grams特征。
这里,N-grams特征的抽取过程为:通过大小为N的窗口对抽取对象进行gram切分,得到多个gram片段,并得到各gram片段的频度,选择频度大于设定阈值的gram片段作为特征向量。其中,每个gram片段就是一个维度,形成特征向量表,即N-grams特征。
第四、长度,所述候选答案所填充的命名实体的长度,即一个候选答案中每个槽位所填充的命名实体的长度;
第五、覆盖度,所述候选答案所填充的所有命名实体的长度占所述输入语句的长度的比例,即一个候选答案中所有槽位所填充的命名实体的长度占整个输入语句的长度的比例。
第六、RNN语言模型特征,所述候选答案在RNN语言模型中的分数;
第七、N-gram语言模型特征,所述候选答案在N-gram语言模型中的分数;
第八、包含特征,候选答案所填充的命名实体是否包含其他命名实体或者被其他命名实体包含。
在实际应用中,可由多维的特征构成特征向量,作为输入语句的特征向量。
S303、在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;
将S302中得到的候选答案的特征后,调用排序模型,将候选答案的特征或特征向量输入排序模型,排序模型具有对输入的不同候选答案的特征根据相关度进行排序的特性。其中,排序模型可为基于学习排序算法得到的模型。排序模型采用的学习排序算法可包括RankNet、LambdaRank、LambdaMART等排序算法。
需要说明的是,本申请实施例中排序模型所使用的排序算法不进行任何的限定。
在实际应用中,所述步骤S203可通过至少三种方式实现:
第一种,当排序模型采用RankNet算法,从概率的角度来解决排序问题。
把候选答案两两组成一个语句对,将排序问题转化为多个语句对的排序问题,比较候选答案di排在候选答案dj之前的概率。从而对至少两个候选答案进行排序。其中,RankNet可基于神经网络实现。其中,di为第i个候选答案,dj为第j个候选答案,i<j。
第二种,当排序模型采用LambdaRank算法,把候选答案两两组成一个语句对,并计算每个语句对中的语句的损失,根据损失调整各候选答案的梯度,其中,梯度表征了下一次调整的方向和强度,从而对至少两个候选答案进行排序。
第三种,当排序模型采用LambdaMART算法,以输入的特征作为决策树的父节点的输入,得到决策树的叶子节点输出的数值。根据每个候选答案的输出数值进行排序。
这里,排序模型进行排序的依据可为表征每一个候选答案的评价指标的相关程度,此时,排序模型具有对输入的特征根据评价指标进行排序的特性。
S304、根据排序的结果,从所述候选答案中选择满足排序条件的候选答案;
排序模型输出的每个候选答案的输出结果为该候选答案与输入语句的相关度,根据各候选答案对应的相关度的排序,选取满足排序条件的候选答案。其中,排序条件可为排在最前面的也就是相关度最高的候选答案。这里,相关度表征每个候选答案与用户意图相符合的程度。
在实现过程中,在对排序模型进行训练时,以样本语句的候选答案的特征作为训练模型的输入,以各候选答案的相关度作为训练模型的输出,对排序模型进行训练,使得排序模型对输入的多个候选答案进行排序时,输出为各候选答案与输入语句的相关度。
这里,候选答案对应的相关度可与各候选答案的评价指标呈线性关系,使得相关度的排序能够反映评价指标的排序。
S305、将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
语句处理设备确定满足排序条件的候选答案后,根据选择的满足条件的候选答案确定输入语句所表达的指令,
比如:输入语句为:play you are my sunshine by johnny cash时,候选答案包括:
候选答案1:NULL
候选答案2:play<strong_song>by johnny cash,SONG:strong_song:you are mysunshine;
候选答案3:play you are my<weak_song>by johnny cash,SONG:weak_song:sunshine;
候选答案4:play you are my sunshine by<strong_singer>,SINGER:strong_singer:johnny cash;
候选答案5:play<strong_song>by<strong_singer>,SONG:strong_song:you aremy sunshine,SINGER:strong_singer:johnny cash;
候选答案6:play you are my<weak_song>by<strong_singer>,SONG:weak_song:sunshine,SINGER:strong_singer:johnny cash。
根据排序结果选择的候选答案为候选答案5“play<strong_song>by<strong_singer>,SONG:strong_song:you are my sunshine,SINGER:strong_singer:johnnycash”时,将候选答案为的槽位SONG和SINGER中填充的命名实体组合“strong_song:youare my sunshine,strong_singer:johnny cash”标记为输入语句“play you are mysunshine by johnny cash”所表达的指令,即输入语句“play you are my sunshine byjohnny cash”所表达的指令为SONG为you are my sunshine且SINGER为johnny cash。
在确定输入语句所表达的指令后,执行输入语句所表达的指令对应的操作得到回复信息,或基于输入语句所表达的指令得到响应输入语句的回复语句,将回复信息或回复语句作为对话结果显示在用户界面上,或发送给对话发送设备。
在本申请实施例中,输入语句为“play you are my sunshine”时,识别的命名实体包括“you are my sunshine”和“sunshine”,基于“you are my sunshine”的优先级高于“sunshine”的优先级,可确定“you are my sunshine”和“sunshine”的标签分别为“strong_song”和“weak_song”,“strong_song”和“weak_song”为标签song的不同优先级的标签,则输入语句的命名实体组合包括:组合1“NULL”,组合2“weak_song:sunshine”和组合3“strong_song:you are my sunshine”。输入语句的槽位包括歌曲SONG,槽位SONG与标签song之间具有约束关系,将各命名实体组合填充到对应的槽位中,得到的候选答案包括:候选答案1“NULL”,候选答案2“play you are my<weak_song>,SONG:weak_song:sunshine”、和候选答案3“play<strong_song>,SONG:strong_song:you are my sunshine”。抽取各候选答案的特征,将各候选答案的特征输入排序模型,得到的排序模型输出的排序结果:候选答案3“play<strong_song>,SONG:strong_song:you are my sunshine”,候选答案2“playyou are my<weak_song>,SONG:weak_song:sunshine”,候选答案1:“play you are mysunshine,SONG:NULL”。此时,选择候选答案3“play<strong_song>,SONG:strong_song:youare my sunshine”在槽位SONG中所填充的命名实体组合“you are my sunshine”,作为输入语句“play you are my sunshine”所表达的指令。
本申请实施例提供的语句处理方法可应用于信息提取、问答系统、句法分析、机器翻译等应用领域,对其具体的应用领域不进行任何的限定
本申请实施例中,将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;确定所述候选答案的特征;在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;根据排序的结果,从所述候选答案中选择满足排序条件的候选答案;将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。如此,通过确定表征输入语句的所有可能的槽位填充结果的候选答案,提取候选答案的特征,并通过排序模型对所有可能的候选答案进行相关度的排序,以选择合适的候选答案的方式来识别指令,克服了现有技术进行槽位填充时存在的语义歧义的问题,优化了槽位填充结果的准确度。
如图4所示,本申请实施例中,排序模型的训练方法包括:
S401、确定样本语句的候选答案的特征、以及所述样本语句与所述样本语句的候选答案的相关度;
这里,在S401之前,确定样本语句的候选答案,包括:
S411、识别所述样本语句包括的命名实体;
S412、以任一个命名实体组合中的命名实体的位置不重合为条件,对所识别的命名实体进行组合,构成所述不同的命名实体组合;
S413、将从样本语句中识别的不同的命名实体组合,填充到所述样本语句的槽位中,对应得到不同的候选答案。
这里,样本语句与S301中的输入语句的区别在于:样本语句的各候选答案的相关度,即各候选答案的排序已知,以用来对排序模型进行训练,输入语句的各候选答案的相关度未知,需要通过排序模型对各候选答案进行排序。输入语句的候选答案的确定过程同样本语句的候选答案的确定过程,因此,确定样本语句的候选答案的实现可参见S301。
在S401中,抽取每一候选答案的特征,并确定每一个候选答案的相关度。
需要说明的是,样本语句的候选答案可包括满足排序条件的正确答案,也可包括不满足排序条件的错误答案。
这里,候选答案的特征包括以下至少之一:
第一共现关系,表征所述候选答案中所填充的命名实体与对应的槽位之间的共现关系;
第二共现关系,表征所述候选答案中所填充的命名实体、命名实体来源与对应的槽位之间的共现关系;
序列语法特征,包括以下至少之一:所述候选答案中所填充的命名实体的开始位置的邻近位置、或结束位置的邻近位置的序列语法特征,所述候选答案中所填充的命名实体组合的序列语法特征,所述候选答案的序列语法特征;其中,所述序列语法特征用于表示N个词语所构成的序列是语句的概率,N为大于或等于1的整数;
长度,表征所述候选答案所填充的命名实体的长度;
覆盖度,表征所述候选答案所填充的所有命名实体的长度占所述输入语句的长度的比例;
循环神经网络RNN语言模型特征,表征所述候选答案在RNN语言模型中的分数;
N-gram语言模型特征,表征所述候选答案在N-gram语言模型中的分数;
包含特征,表征所述候选答案的命名实体的包含关系和被包含关系。
在其他实施例中,所述确定所述样本语句与所述样本语句的候选答案的相关度,包括:确定所述候选答案的评价指标;基于所述评价指标与相关度之间的对应关系,确定所述候选答案的评价指标所对应的相关度。
这里,通过对语料库中各答案中填充的命名实体和槽位的统计,确定各答案的评价指标。其中,评价指标可为F1分数。
F1分数的数学表达式如下:
其中,precision为准确率,recall为召回率。
确定F1分数后,基于F1分数与相关度之间的对应关系,确定每一样本答案对应的相关度。
其中,所述评价指标与所述相关度之间可呈线性关系,比如:在F1分数与相关度之间的对应关系中,F1值为0,对应的相关度为0,如果F1值为1,对应的相关度为5,其他相关度根据F1分数在[1,4]之间线性划分。
本申请实施例中,对评价指标与相关度之间的对应关系不进行任何的限定,可根据实际需求进行设置。
S402、将所述样本语句的候选答案的特征、以及所述样本语句与相应的候选答案相关度对所述输入模型进行训练,以更新所述输入模型的参数。
在确定每一候选答案的特征和各候选答案的相关度后,将每一候选答案的特征和对应的相关度送入排序模型,以对排序模型进行训练,更新排序模型的参数。其中,排序模型的参数可包括:网络结构的系数、函数的系数等参数。
排序模型采用的排序算法可包括RankNet、LambdaRank、LambdaMART等学习排序算法。
RankNet以概率损失函数来学习排序函数(Ranking Function),并应用RankingFunction对候选答案进行排序。这里的Ranking Function可以是任意对参数可微的模型,也就是说,该概率损失函数并不依赖于特定的机器学习模型。其中,RankNet可基于神经网络实现。
LambdaRank是一个经验算法,分析排序问题需要的梯度的物理意义,直接定义梯度,即Lambda梯度,Lambda梯度更关注位置靠前的优质候选答案的排序位置的提升。有效的避免了下调位置靠前优质的候选答案的位置这种情况的发生。LambdaRank相比RankNet的优势在于分解因式后训练速度变快,同时考虑了评价指标,直接对问题求解,效果更明显。
LambdaMART是直接在函数空间对函数进行求解,模型结果由许多棵树组成,每棵树的拟合目标是Lambda。LambdaMART的学习过程包括:
S431、计算deltaNDCG以及lambda;
S432、以lambda作为标注(label)训练一棵决策树(regression tree);
S433、在树的每个叶子节点通过预测的regression lambda值还原出gamma,即最终输出得分;
S434、用S433的模型预测所有训练集合上的得分,然后用这个得分对训练结合中的每个样本语句的结果排序,计算新的每个样本语句的NDCG,以此为基础回到S431,组成森林。
其中,在LambdaMART模型的训练过程中,在S331中,通过相关度计算deltaNDCG。
在实现过程中,将每一候选答案的特征和相关度送入排序模型时,可将每一候选答案的特征和相关度送入轻量梯度提升树算法(light Gradient boosting machine,lightGBM)去排序,以对LightGBM中的排序模型LambdaMART进行训练。
LightGBM,是一个实现梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法的框架,支持高效率的并行训练,并且具有以下优点:更快的训练速度、更低的内存消耗、更好的准确率和分布式支持,能够快速处理海量数据。
LightGBM以直方图(Histogram)做差加速,在构造一个叶子的直方图后,可以用非常微小的代价得到它兄弟叶子的直方图,在速度上可以提升一倍。LightGBM优化了对类别特征的支持,可以直接输入类别特征,并在决策树算法上增加了类别特征的决策规则。
在本申请实施例提供的语句处理方法中,语句处理设备接收到输入语句后,对输入语句进行意图识别,确定输入语句所表达的意图,根据输入语句所表达的意图确定输入语句所包括的槽位。其中,所述识别所述输入语句所表达的用户意图,包括以下至少之一:将所述输入语句与不同类型的意图对应的词典进行匹配,根据匹配程度确定所述输入语句对应的意图;在分类器模型中提取所述输入语句的特征,基于所述输入语句的特征确定所述输入语句对应不同的意图的概率,并确定满足概率条件的意图。
在不同类型的意图对应的词典中记录有各类型意图对应的语句所包括的词语,比如:订票意图对应的词典中包括有:北京到上海的飞机票、西宁到上海的火车票等语句所包括的词语,查询天气意图对应的词典中包括有:今天的天气如何、明天北京的天气怎样等语句的词语,音乐点播的词典中的词语为包括歌手和歌曲名的语句中的词语。
将所述输入语句与不同类型的意图对应的词典进行匹配时,得到输入语句与各类型意图对应匹配概率,将概率最高的意图确定为输入语句的意图。比如:输入语句为“playyou are my sunshine by johnny cash”时,将输入语句分别与订票、音乐点播类型的两个词典进行匹配时,得到的订票的匹配概率小于音乐点播的匹配概率,则确定输入语句所表达的意图为“音乐点播”。
这种方法的对比较明确的规则性强的方式有精确的识别度,缺点是覆盖度低,用户查询稍作变换可能就不匹配了,另外规则的发现和制定主要靠人工进行。
在分类器模型中提取所述输入语句的特征,基于所述输入语句的特征确定所述输入语句对应不同的意图的概率,并确定满足概率条件的意图时,可将概率最高的意图作为输入语句所表达的意图。
其中,分类器模型所提取的输入语句的特征可包括:输入语句的长度、输入语句的频次、输入语句的首字、尾字等。特征还可包括输入语句特征词汇,输入语句在相同会话中的共现关系,以及输入语句之间的子串包含关系等特征。
在分类器模型的框架Ensemble框架,在Ensemble框架下的分类器可为支持向量机(SVMs)和深度神经网络。
在Ensemble框架下,分类器分为两个层(Level):L1层和L2层。L1层是基础分类器,L2层基于L1层,将L1层的分类结果形成特征向量,再组合一些其他的特征后,形成L2层分类器(如SVM)的输入,其中,用于L2层的训练的样本必须没有在训练L1层时使用过。
在实际应用中,在本申请实施例提供的语句处理方法中,可如图5所示,训练数据501包括样本语句1即Q1、样本语句2即Q2和样本语句2即Q2的答案。其中,Q1对应4个答案,4个答案分别为D11、D12、D13和D14,根据答案与样本语句的相关度对应的排序顺序为:3、2、4和1;Q2对应5个答案,5个答案分别为D21、D22、D23、D24和D25,根据答案与样本语句的相关度对应的排序顺序为:3、5、2、1和4;Q3对应3个答案,3个答案分别为D31、D32和D33,根据答案与样本语句的相关度对应的排序顺序为:3、2和1。
基于学习排序算法,通过对包括Q1、Q2和Q3的训练数据501的学习,得到排序模型502。其中,在训练时,抽取各样本语句的答案的特征,将各样本语句的答案的特征输入排序模型,以对排序模型进行训练。
当接收到输入语句Q4时,确定Q4对应4个候选答案,这4个候选答案分别为D41、D42、D43和D44,确定D41、D42、D43和D44的特征,将D41、D42、D43和D44的特征输入排序模型502,得到排序结果:D41、D42、D43和D44的排序顺序为:D43、D41、D42和D44,则确定槽位填充结果为候选答案D43。
这里,将本申请实施例提供的语句处理方法应用于图6所示的信息检索系统中,以实现用户的信息检索。
如图6所示,信息检索系统包括:前端601、语句处理602和搜索引擎603三部分。其中,信息检索系统还涉及日志数据604、机器学习605和其他数据606。其中,其他数据606可包括:语料库、词典等与机器学习605相关的数据。
前端601,用于与用户进行交互,接收用户输入的输入语句,并显示用户的输入语句,在得到输入语句对应的检索信息时,显示检索信息。
其中,前端601与用户进行信息交互时,记录交互的信息,得到日志数据604。日志数据可包括:用户输入的输入语句,各输入对应的检索信息、用户的信息等与检索过程相关的信息。
语句处理602,对前端601接收的输入语句进行语句处理,对用户的输入语句进行理解,得到输入语句所表达的指令。这里,首先,语句处理602对前端601接收的输入语句进行命名实体的识别,得到数据语句的命名实体;然后,将从输入语句的命名实体所构成的不同的命名实体组合,填充到输入语句的槽位中,对应得到不同的候选答案;再者,确定候选答案的特征,在排序模型中接收所述不同候选答案的特征,并确定不同的候选答案与所述输入语句的相关度的排序;根据排序的结果,从候选答案中选择满足排序条件的候选答案,将所选择的候选答案在相应槽位填充的命名实体组合,标记为输入语句所表达的指令。
语句处理602得到输入语句所表达的指令时,将输入语句所表达的指令发送至搜索引擎603。
语句处理602所涉及的部分处理过程,比如:排序模型,可通过机器学习605训练得到,机器学习605进行学习时,所采用的训练数据包括有前端601所记录的日志数据602以及其他数据606。
搜索引擎603,基于语句解析602的输入语句所表达的指令,为用户提供检索服务,得到用户检索相关的检索信息。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。
其中,搜索引擎603能够根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,并将用户检索相关的检索信息通过前端601展示给用户。
下面,以输入语句(称为Q)为“play you are my sunshine by johnny cash”为例,对本申请实施例提供的语句处理方法进行进一步说明,如图7所示,包括:
S701、识别输入语句的命名实体;
S702,根据命名实体,生成候选答案;
S703、对候选答案进行特征抽取,得到特征向量;
S704,将特征向量输入排序模型,得到排序结果。
其中,S701和S702用于候选答案的生成。
S701中,对输入的Q所识别出的所有的实体Q{e},以任实体组合中的命名实体的位置不重合为条件,产生所有可能的实体组合{Q(e)}。
Q为“play you are my sunshine by johnny cash”时,如图6所示,Q{e}包括:
strong_song:you are my sunshine;
weak_song:sunshine;
strong_singer:johnny cash。
其中,strong_song、weak_song和strong_singer分别为命名实体you are mysunshine、sunshine和johnny cash的标签。“strong_song:you are my sunshine”和“weak_song:sunshine”为同一标签的不同优先级的实体,即存在位置重合的实体。
{Q(e)}包括:
NULL(空);
strong_song:you are my sunshine;
weak_song:sunshine;
strong_singer:johnny cash;
strong_song:you are my sunshine,strong_singer:johnny cash;
weak_song:sunshine,strong_singer:johnny cash。
S702中,将每个实体组合中的实体填充到对应的槽位中去,也就是将每个实体组合中的实体作为与槽位的属性所对应的属性值,针对每个实体组合产生一个对应的槽位填充结果,产生所有可能的槽位填充结果(即候选答案){Q(s)}。
如图8,{Q(s)}包括:
play you are my sunshine by johnny cash,NULL(空);
play<strong_song>by johnny cash,SONG:strong_song:you are my sunshine;
play you are my<weak_song>by johnny cash,SONG:weak_song:sunshine;
play you are my sunshine by<strong_singer>,SINGER:strong_singer:johnny cash;
play<strong_song>by<strong_singer>,SONG:strong_song:you are mysunshine,SINGER:strong_singer:johnny cash;
play you are my<weak_song>by<strong_singer>,SONG:weak_song:sunshine,SINGER:strong_singer:johnny cash。
其中,SONG和SINGER为Q所包括的槽位。
需要说明的是,在训练排序模型的时候,根据人工标注候选答案的方式,对每个候选答案进行相关程度的打分,从而以候选答案的特征和对应的相关程度作为训练样本,来训练排序模型。
这里,以Q为训练文本时,在S701中,产生了所有实体可能的组合{Q(e)},每个实体组合中的实体在输入语句中的位置都是不重合的,不使用任何实体(NULL)也是一种可能的实体组合。在S702中,将各实体组合的实体填到槽位中去,产生所有的候选答案{Q(s)},并计算各候选答案的F1值。
这里,如图8所示,正确答案即槽位填充结果为“SONG:strong_song:you are mysunshine”和“SINGER:strong_singer:johnny cash”。所以第三个候选答案的F1值为1.0。而第一个候选答案只抽取出了“SONG:strong_song:you are my sunshine”一个槽位,所以相应的F1值为0.667。
在S703中,对于候选答案的特征的抽取,抽取以下九种特征,以构成特征向量{fi},i表示第i个候选答案。
第一、实体-槽位的共现关系(Entity-Slot co-occurrence),表征实体(entity)和槽位(slot)的共现关系;
第二、实体-实体源-槽位的共现关系(Entity-EntityOrigin-Slot co-occurrence),实体源(entity origin)表示entity的来源,如词典,CRF或者RNN;
第三、槽位长度(Slot length),将每个填到slot的entity的长度作为特征;
第四、标记N-grams(Token N-grams),对{Q(e))}和{Q(s)}抽取N-grams特征;
第五、序列覆盖度(Query coverage),表示一个候选答案中所有槽位的填充值的长度占整个query的长度的比例;
第六、包含特征(Contains/IsContained),填到槽位中的entity是否包含其他entity或者被其他entity包含;
第七、实体N-grams(Entity N-grams),对填到槽位中的entity的开始或结束位置附近抽取N-grams特征;
第八、RNN分数,将RNN语音模型的分数作为特征;
第九、N-gram分数,将N-gram语言模型的分数作为特征。
在S704中,采用LightGBM来进行排序。在正确答案预测的时候,对每个候选答案抽取特征向量,然后送到训练好的LightGBM框架中的LambdaMART模型中去,预测相关程度,最后选取相关程度最高的候选答案作为预测结果,得到正确答案。
需要说明的是,在训练的时候,根据各候选答案的F1值计算各候选答案的相关程度。如果F1值为0,相关程度为0,如果F1值为1,相关程度为5。其他相关程度会根据F1值在[1,4]之间线性划分。对于每个Q,会得到特征向量{fi}和相关程度{ri},i表示第i个候选答案。然后,将{fi,ri}送到LightGBM中去训练LambdaMART的排序模型。
本申请实施例提供的基于排序的语句处理方法中的输入语句所表达的指令的确定方法,对比相关技术中的槽位抽取方法,在准确率上有明显的提升。
当选取“音乐点播”的数据来进行实验,通过以下两个评价指标来衡量最终的准确率:语句精确率(Sentence accuracy)和槽位的F1分数(Slot F1)。其中,在sentenceaccuracy上,CRF是83.43%,RNN是82.37%,本申请基于排序的语句处理方法的准确率为85.03%,比CRF调高了1.6个百分点,比RNN提高了2.6个百分点。在slot F1上,CRF是87.11%,RNN是86.55%,本申请基于排序的语句处理方法为88.22%,比CRF提高了1.11个百分点,比RNN提高了1.67个百分点。
本申请实施例提供的语句处理方法,如图9所示,包括:
S901、根据输入语句生成候选答案;
S902、对候选答案进行特征抽取,得到特征向量;
S903、通过排序模型对候选答案进行排序。
在S901中,一个输入语句经过命名实体识别产生所有可能的实体,其中,进行命名实体识别的算法可包括词典匹配,CRF和RNN等命名实体识别算法。然后,生成所有可能的候选答案。
本申请实施例提供的语句处理方法,具有以下技术优势:
1、通过排序的方法对所有可能的槽位组合进行排序,由于实体包括有来自词典匹配的实体,对于词典匹配的实体不会存在边界上的错误,且将CRF和RNN抽取的实体同时作为排序模型的输入,一起进行排序,能够优化的槽位的F1值。
2、利用不同的命名实体算法,提高最终检索的准确率。
3、抽取候选答案的多个特征,能够显著提高最终的排序结果。
本申请实施例还提供一种语句处理装置1000,如图10所示,所述语句处理装置包括:
第一确定模块1001,用于将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;
第二确定模块1002,用于确定所述候选答案的特征;
排序模块1003,用于在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;
目标模块1004,用于根据排序的结果,从所述候选答案中选择满足排序条件的候选答案;
目标模块1004,还用于将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
在其他实施例中,装置1000还包括:
实体识别模块,用于识别所述输入语句包括的命名实体;
组合模块,用于以任一个命名实体组合中的命名实体的位置不重合为条件,将所识别的命名实体进行组合,构成所述不同的命名实体组合。
在其他实施例中,实体识别模块,用于以下至少之一:
将所述输入语句与词典进行匹配得到所述输入语句的命名实体;
基于序列标注模型对所述输入语句进行序列标注,得到所述输入语句中的命名实体。
在其他实施例中,所述第二确定模块,用于:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案中所填充的命名实体与对应的槽位之间的第一共现关系;
将所述第一共现关系作为所述候选答案的特征。
在其他实施例中,所述第二确定模块,还用于:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案中所填充的命名实体、命名实体来源与对应的槽位之间的第二共现关系;
将所述第二共现关系作为所述候选答案的特征。
在其他实施例中,所述第二确定模块,还用于:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案的序列片段;所述序列片段包括以下至少之一:所述候选答案中所填充的命名实体的开始位置的邻近位置、或结束位置的邻近位置的N个词语,所述候选答案中所填充的命名实体的N个词语,所述候选答案的N个词语;N为大于或等于1的整数;
确定所述序列片段是语句的概率;
将所述序列片段是语句的概率作为所述候选答案的特征.
在其他实施例中,所述第二确定模块,还用于以下至少之一:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案所填充的命名实体的长度;
根据所述候选答案中所填充的命名实体组合,确定所述候选答案所填充的所有命名实体的长度占所述输入语句的长度的比例;
根据所述候选答案中所填充的命名实体组合,所述候选答案的所填充的命名实体之间的包含关系。
在其他实施例中,所述第二确定模块,还用于以下至少之一:
将所述候选答案作为语言模型的输入,得到所述语言模型输出的所述候选答案的得分;其中,所述语言模型包括以下至少之一:循环神经网络RNN语言模型和N-gram语言模型。
在其他实施例中,装置1000还包括:
参数确定模块,用于确定样本语句对应答案的特征、以及所述样本语句与所述样本语句的候选答案的相关度;
训练模块,用于将所述样本语句的候选答案的特征、以及所述样本语句与相应的候选答案相关度对所述输入模型进行训练,以更新所述输入模型的参数。
在其他实施例中,参数确定模块,用于:
确定所述候选答案的评价指标;
基于所述评价指标与相关度之间的对应关系,确定所述候选答案的评价指标所对应的相关度。
在其他实施例中,装置1000还包括:
意图识别模块,用于识别所述输入语句所表达的意图;
槽位模块,用于确定与所述意图所对应的所述槽位。
在其他实施例中,意图识别模块,用于以下至少之一:
将所述输入语句与不同类型的意图对应的词典进行匹配,根据匹配程度确定所述输入语句对应的意图;
在分类器模型中提取所述输入语句的特征,基于所述输入语句的特征确定所述输入语句对应不同的意图的概率,并确定满足概率条件的意图。
在实际应用中,参数确定模块的功能可由第一确定模块和第二确定模块实现。本申请实施例提供的语句处理装置中的第一确定模块、第二确定模块、排序模块、目标模块、实体识别模块、组合模块、训练模块、意图识别模块以及槽位模块可通过语句处理设备的处理器实现。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种语句处理设备,图11为本申请实施例语句处理设备的组成结构示意图,如图11所示,所述设备1100包括:一个处理器1101、至少一个通信总线1102、用户接口1103、至少一个外部通信接口1104和存储器1105。其中,通信总线1102配置为实现这些组件之间的连接通信。其中,用户接口1103可以包括显示屏,外部通信接口1104可以包括标准的有线接口和无线接口。其中所述处理器1101,配置为执行存储器中存储的计算机程序,以实现以下步骤:
将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;
确定所述候选答案的特征;
在排序模型中接收所述不同候选答案的特征,并确定所述不同的候选答案与所述输入语句的相关度的排序;
根据排序的结果,从所述候选答案中选择满足排序条件的候选答案;
将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
相应地,本申请实施例再提供一种存储介质,也就是计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述的语句处理方法的步骤。
以上语句处理装置、语句处理设备和计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请语句处理装置、语句处理设备和计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例中,如果以软件功能模块的形式实现上述的语句处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在其他实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种语句处理方法,其特征在于,所述方法包括:
将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;在所述输入语句包括的命名实体中,不同优先级的命名实体使用不同优先级的标签进行区分;
确定所述候选答案的特征;
在排序模型中接收所述不同的候选答案的特征,并基于标签的优先级确定所述不同的候选答案与所述输入语句的相关度的排序;
根据排序的结果,从所述候选答案中选择满足排序条件的候选答案;
将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
识别所述输入语句包括的命名实体;
以任一个命名实体组合中的命名实体的位置不重合为条件,将所识别的命名实体进行组合,构成所述不同的命名实体组合。
3.根据权利要求2所述的方法,其特征在于,识别所述输入语句包括的命名实体,包括以下至少之一:
将所述输入语句与词典进行匹配得到所述输入语句的命名实体;
基于序列标注模型对所述输入语句进行序列标注,得到所述输入语句中的命名实体。
4.根据权利要求1所述的方法,其特征在于,所述确定所述候选答案的特征,包括:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案中所填充的命名实体与对应的槽位之间的第一共现关系;
将所述第一共现关系作为所述候选答案的特征。
5.根据权利要求1所述的方法,其特征在于,所述确定所述候选答案的特征,包括:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案中所填充的命名实体、命名实体来源与对应的槽位之间的第二共现关系;
将所述第二共现关系作为所述候选答案的特征。
6.根据权利要求1所述的方法,其特征在于,所述确定所述候选答案的特征,包括:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案的序列片段;所述序列片段包括以下至少之一:所述候选答案中所填充的命名实体的开始位置的邻近位置、或结束位置的邻近位置的N个词语,所述候选答案中所填充的命名实体的N个词语,所述候选答案的N个词语;N为大于或等于1的整数;
确定所述序列片段是语句的概率;
将所述序列片段是语句的概率作为所述候选答案的特征。
7.根据权利要求1所述的方法,其特征在于,所述确定所述候选答案的特征,包括以下至少之一:
根据所述候选答案中所填充的命名实体组合,确定所述候选答案所填充的命名实体的长度;
根据所述候选答案中所填充的命名实体组合,确定所述候选答案所填充的所有命名实体的长度占所述输入语句的长度的比例;
根据所述候选答案中所填充的命名实体组合,所述候选答案的所填充的命名实体之间的包含关系。
8.根据权利要求1所述的方法,其特征在于,所述确定所述候选答案的特征,包括:
将所述候选答案作为语言模型的输入,得到所述语言模型输出的所述候选答案的得分;其中,所述语言模型包括以下至少之一:循环神经网络RNN语言模型和N-gram语言模型。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定样本语句对应答案的特征、以及所述样本语句与所述样本语句的候选答案的相关度;
将所述样本语句的候选答案的特征、以及所述样本语句与相应的候选答案相关度对所述输入模型进行训练,以更新所述输入模型的参数。
10.根据权利要求9所述的方法,其特征在于,所述确定所述样本语句与所述样本语句的候选答案的相关度,包括:
确定所述候选答案的评价指标;
基于所述评价指标与相关度之间的对应关系,确定所述候选答案的评价指标所对应的相关度。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:
识别所述输入语句所表达的意图;
确定与所述意图所对应的所述槽位。
12.根据权利要求11所述的方法,所述识别所述输入语句所表达的意图,包括以下至少之一:
将所述输入语句与不同类型的意图对应的词典进行匹配,根据匹配程度确定所述输入语句对应的意图;
在分类器模型中提取所述输入语句的特征,基于所述输入语句的特征确定所述输入语句对应不同的意图的概率,并确定满足概率条件的意图。
13.一种语句处理装置,其特征在于,所述装置包括:
第一确定模块,将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;在所述输入语句包括的命名实体中,不同优先级的命名实体使用不同优先级的标签进行区分;
第二确定模块,用于确定所述候选答案的特征;
排序模块,用于在排序模型中接收所述不同的候选答案的特征,并基于标签的优先级确定所述不同的候选答案与所述输入语句的相关度的排序;
目标模块,用于根据所述排序的结果,从所述候选答案中选择满足排序条件的候选答案;
所述目标模块,还用于将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
14.一种语句处理设备,其特征在于,所述设备包括:存储器、通信总线和处理器,其中:
所述存储器,用于存储语句处理程序;
所述通信总线,用于实现处理器和存储器之间的连接通信;
所述处理器,用于执行存储器中存储的语句处理程序,以实现以下操作:
将输入语句的命名实体所构成的不同的命名实体组合,填充到所述输入语句的槽位中,对应得到不同的候选答案;在所述输入语句包括的命名实体中,不同优先级的命名实体使用不同优先级的标签进行区分;
确定所述候选答案的特征;
在排序模型中接收所述不同的候选答案的特征,并基于标签的优先级确定所述不同的候选答案与所述输入语句的相关度的排序;
根据所述排序的结果,从所述候选答案中选择满足排序条件的候选答案;
将所选择的候选答案在相应槽位填充的命名实体组合,标记为所述输入语句所表达的指令。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至12任一项中所述的语句处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811289512.9A CN109408622B (zh) | 2018-10-31 | 2018-10-31 | 语句处理方法及其装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811289512.9A CN109408622B (zh) | 2018-10-31 | 2018-10-31 | 语句处理方法及其装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408622A CN109408622A (zh) | 2019-03-01 |
CN109408622B true CN109408622B (zh) | 2023-03-10 |
Family
ID=65470984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811289512.9A Active CN109408622B (zh) | 2018-10-31 | 2018-10-31 | 语句处理方法及其装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408622B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188360B (zh) * | 2019-06-06 | 2023-04-25 | 北京百度网讯科技有限公司 | 模型训练方法和装置 |
CN110321559B (zh) * | 2019-06-24 | 2024-09-24 | 腾讯科技(深圳)有限公司 | 自然语言问题的答案生成方法、装置及存储介质 |
CN112256947B (zh) * | 2019-07-05 | 2024-01-26 | 北京猎户星空科技有限公司 | 一种推荐信息的确定方法、装置、系统、设备及介质 |
CN110728317A (zh) * | 2019-09-30 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 决策树模型的训练方法、系统、存储介质及预测方法 |
CN110795547B (zh) * | 2019-10-18 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 文本识别方法和相关产品 |
CN110827831A (zh) * | 2019-11-15 | 2020-02-21 | 广州洪荒智能科技有限公司 | 基于人机交互的语音信息处理方法、装置、设备及介质 |
CN111159526B (zh) * | 2019-12-26 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 查询语句处理方法、装置、设备及存储介质 |
CN111274368B (zh) * | 2020-01-07 | 2024-04-16 | 北京声智科技有限公司 | 槽位填充方法及装置 |
CN111339770B (zh) * | 2020-02-18 | 2023-07-21 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN111563361B (zh) * | 2020-04-01 | 2024-05-14 | 北京小米松果电子有限公司 | 文本标签的提取方法及装置、存储介质 |
CN111813903B (zh) * | 2020-05-25 | 2023-10-20 | 车智互联(北京)科技有限公司 | 一种问句匹配方法和计算设备 |
CN111737559B (zh) * | 2020-05-29 | 2024-05-31 | 北京百度网讯科技有限公司 | 资源排序方法、训练排序模型的方法及对应装置 |
CN113204976B (zh) * | 2021-04-19 | 2024-03-29 | 北京大学 | 一种实时问答方法及系统 |
CN113657100B (zh) * | 2021-07-20 | 2023-12-15 | 北京百度网讯科技有限公司 | 实体识别方法、装置、电子设备及存储介质 |
CN114676691B (zh) * | 2022-05-27 | 2022-09-09 | 深圳市人马互动科技有限公司 | 一种识别方法、系统、设备以及计算机可读存储介质 |
CN115358241B (zh) * | 2022-10-20 | 2023-04-04 | 科大讯飞股份有限公司 | 基于人机交互的标注方法及相关装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360994A (zh) * | 2014-12-04 | 2015-02-18 | 科大讯飞股份有限公司 | 自然语言理解方法及系统 |
CN104536991A (zh) * | 2014-12-10 | 2015-04-22 | 乐娟 | 答案抽取方法及装置 |
CN105426539A (zh) * | 2015-12-23 | 2016-03-23 | 成都电科心通捷信科技有限公司 | 一种基于词典的lucene中文分词方法 |
CN108268442A (zh) * | 2017-12-19 | 2018-07-10 | 芋头科技(杭州)有限公司 | 一种语句意图预测方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6516585B2 (ja) * | 2015-06-24 | 2019-05-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 制御装置、その方法及びプログラム |
-
2018
- 2018-10-31 CN CN201811289512.9A patent/CN109408622B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360994A (zh) * | 2014-12-04 | 2015-02-18 | 科大讯飞股份有限公司 | 自然语言理解方法及系统 |
CN104536991A (zh) * | 2014-12-10 | 2015-04-22 | 乐娟 | 答案抽取方法及装置 |
CN105426539A (zh) * | 2015-12-23 | 2016-03-23 | 成都电科心通捷信科技有限公司 | 一种基于词典的lucene中文分词方法 |
CN108268442A (zh) * | 2017-12-19 | 2018-07-10 | 芋头科技(杭州)有限公司 | 一种语句意图预测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109408622A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408622B (zh) | 语句处理方法及其装置、设备和存储介质 | |
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
US11599714B2 (en) | Methods and systems for modeling complex taxonomies with natural language understanding | |
US12120070B2 (en) | Providing local service information in automated chatting | |
US9336298B2 (en) | Dialog-enhanced contextual search query analysis | |
US7627466B2 (en) | Natural language interface for driving adaptive scenarios | |
US9846836B2 (en) | Modeling interestingness with deep neural networks | |
US10217058B2 (en) | Predicting interesting things and concepts in content | |
US20190065576A1 (en) | Single-entity-single-relation question answering systems, and methods | |
US20170337261A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
CN107256267A (zh) | 查询方法和装置 | |
WO2010014082A1 (en) | Method and apparatus for relating datasets by using semantic vectors and keyword analyses | |
US20220121668A1 (en) | Method for recommending document, electronic device and storage medium | |
US20210374168A1 (en) | Semantic cluster formation in deep learning intelligent assistants | |
US12032605B2 (en) | Searchable data structure for electronic documents | |
CN112926308B (zh) | 匹配正文的方法、装置、设备、存储介质以及程序产品 | |
US20220147719A1 (en) | Dialogue management | |
CN118035487A (zh) | 视频索引生成和检索方法、装置、电子设备及存储介质 | |
CN115617944A (zh) | 内容推荐方法、装置、存储介质及电子设备 | |
CN114328820A (zh) | 信息搜索方法以及相关设备 | |
CN113672700A (zh) | 内容项的搜索方法、装置、电子设备以及存储介质 | |
CN114942981A (zh) | 问答查询方法、装置、电子设备及计算机可读存储介质 | |
Sheikh et al. | Improved neural bag-of-words model to retrieve out-of-vocabulary words in speech recognition | |
CN116991969B (zh) | 可配置语法关系的检索方法、系统、电子设备及存储介质 | |
CN115809334B (zh) | 事件关联性分类模型的训练方法、文本处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |