CN106710596A - 回答语句确定方法及装置 - Google Patents
回答语句确定方法及装置 Download PDFInfo
- Publication number
- CN106710596A CN106710596A CN201611161666.0A CN201611161666A CN106710596A CN 106710596 A CN106710596 A CN 106710596A CN 201611161666 A CN201611161666 A CN 201611161666A CN 106710596 A CN106710596 A CN 106710596A
- Authority
- CN
- China
- Prior art keywords
- sentence
- statement
- matching
- probability
- prediction
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000008569 process Effects 0.000 claims abstract description 61
- 230000007935 neutral effect Effects 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 16
- 239000000203 mixture Substances 0.000 claims description 9
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 206010063385 Intellectualisation Diseases 0.000 abstract 1
- 230000015654 memory Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 21
- 239000013598 vector Substances 0.000 description 14
- 230000036541 health Effects 0.000 description 13
- 230000000670 limiting effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000006854 communication Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 206010019332 Heat exhaustion Diseases 0.000 description 2
- 206010019345 Heat stroke Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 210000004218 nerve net Anatomy 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种回答语句确定方法及装置,属于自然语言处理领域。该方法包括:将待处理语句与多个词进行匹配;每一次匹配时,根据N个第一预测语句对应的多个中间语句的第一匹配概率,从多个中间语句中确定N个第二预测语句;如果第二预测语句包括语句结束符号,将第二预测语句确定为回答语句,否则将该第二预测语句进行下一次匹配,直至确定的预测语句均包括语句结束符号为止;根据匹配确定的M个回答语句的第一匹配概率和第二匹配概率,从M个回答语句中确定目标回答语句。对于匹配过程所确定的多个回答语句,能够结合回答语句的第一匹配概率和第二匹配概率确定目标回答语句,目标回答语句与待处理语句更符合上下文语境,提高了智能性。
Description
技术领域
本发明涉及自然语言处理领域,特别涉及一种回答语句确定方法及装置。
背景技术
聊天机器人是自然语言处理领域的一项重要应用,聊天机器人可以根据用户输入的语句,输出相应的回答语句,以达到人机对话的目的。其中,用户可以输入任意语句,比如用户可以输入“最近太热了”,聊天机器人可以输出“是的”作为回答。
现有技术中,通常采用sequence2sequence(序列到序列)模型实现聊天机器人的功能来确定回答语句,sequence2sequence模型包括编码器和解码器,该编码器和解码器都可以通过大量自然语言的样本语句对循环神经网络训练得到。在人机对话过程中,编码器可以将用户输入的语句编码为一个语句向量,然后,将该语句向量输入解码器,解码器将该语句向量与词库中的每个词进行匹配,在第一次匹配的过程中,计算词库中每个词与该语句向量的匹配概率,获取匹配概率最高的预测词。在之后的每一次匹配的过程中,将之前匹配概率最高的所有预测词和该语句向量作为本次匹配的输入,计算词库中每个词与该语句向量的匹配概率,再获取本次匹配概率最高的预测词,直至获取到的匹配概率最高的预测词为语句结束符号为止,将每一次匹配概率最高的预测词组成语句,作为最终回答语句。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于在人与人的实际对话过程中,回答者在给出答复的时候,不仅要考虑提问者说的内容,而且提问者在说话的时候,也会考虑回答者的身份、他可能回答的内容。也即是,一组提问语句A和回答语句B对应一种上下文语境,其中,对于提问语句A,回答语句B是最符合该上下文语境的回答,对于回答语句B,提问语句A最符合该上下文语境的提问。而上述过程中没有考虑输入语句以及回答语句是否符合上下文语境,因此,人机对话过程中获取回答语句的智能性较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种回答语句确定方法及装置。所述技术方案如下:
一方面,提供了一种回答语句确定方法,所述方法包括:
将获取的待处理语句与预设词库中的多个词进行匹配;
在每一次匹配的过程中,对于上一次匹配所确定的N个第一预测语句,根据多个中间语句的第一匹配概率,从所述多个中间语句中确定N个第二预测语句,每个中间语句由任一个第一预测语句和所述多个词中任一个词组成,每个中间语句的第一匹配概率用于指示输入所述待处理语句时输出所述中间语句的概率;对于所述N个第二预测语句中的每个第二预测语句,如果所述第二预测语句包括语句结束符号,则将所述第二预测语句确定为回答语句,如果所述第二预测语句不包括语句结束符号,则将所述第二预测语句作为下一次匹配的输入,继续进行匹配,直至匹配过程所输出的第二预测语句中均包括语句结束符号为止;
根据通过匹配所得到的M个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从所述M个回答语句中确定目标回答语句,所述回答语句的第二匹配概率用于指示当输入所述回答语句时输出所述待处理语句的概率;
其中,所述M为大于1的整数,所述N为小于或者等于M的整数。
另一方面,提供了一种回答语句确定装置,所述装置包括:
匹配模块,用于将获取的待处理语句与预设词库中的多个词进行匹配;
第一确定模块,用于在每一次匹配的过程中,对于上一次匹配所确定的N个第一预测语句,根据多个中间语句的第一匹配概率,从所述多个中间语句中确定N个第二预测语句,每个中间语句由任一个第一预测语句和所述多个词中任一个词组成,每个中间语句的第一匹配概率用于指示输入所述待处理语句时输出所述中间语句的概率;对于所述N个第二预测语句中的每个第二预测语句,如果所述第二预测语句包括语句结束符号,则将所述第二预测语句确定为回答语句,如果所述第二预测语句不包括语句结束符号,则将所述第二预测语句作为下一次匹配的输入,继续进行匹配,直至匹配过程所输出的第二预测语句中均包括语句结束符号为止;
第二确定模块,用于根据通过匹配所得到的M个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从所述M个回答语句中确定目标回答语句,所述回答语句的第二匹配概率用于指示当输入所述回答语句时输出所述待处理语句的概率;
其中,所述M为大于1的整数,所述N为小于或者等于M的整数。
本发明实施例提供的技术方案带来的有益效果是:
对于匹配过程所确定的多个回答语句,可以结合输入待处理语句输出回答语句的第一匹配概率和输入回答语句输出待处理语句的第二匹配概率,来确定最终的目标回答语句,使得目标回答语句与待处理语句更加符合上下文语境,使得在回答语句多样化的同时,提高了回答语句确定的智能性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种回答语句确定方法的流程图;
图2A是本发明实施例提供的一种神经网络训练原理图;
图2B是本发明实施例提供的一种回答语句确定过程的示例图;
图3是本发明实施例提供的一种回答语句确定装置的框图;
图4是本发明实施例提供的一种终端的结构示意图;
图5是本发明实施例提供的一种回答语句确定装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本实施例提供的回答语句确定方法的应用场景可以为人机聊天场景,也可以为智能问答***,比如垂直领域的智能客服***等,本实施例对此不作限定。其中,当应用场景为智能问答***时,针对用户提问的问题,还可以确定多个目标回答语句,此时一个目标回答语句可以代表一个答案。
图1是本发明实施例提供的一种回答语句确定方法的流程图,参见图1,本发明实施例提供的方法流程包括:
101、获取待处理语句。
其中,待处理语句可以为一句话,也可以为一个字或者一个词等,待处理语句对应的语言种类可以为汉语、英语、法语等任一语言,本实施例对待处理语句的内容和所属语言种类不作限定。
本实施例中,终端可以提供人机对话界面,在该人机对话界面中,用户可以在输入框中输入任意内容,比如任何字词或语句等,内容的形式可以为文字、图片或语音等,本实施例对此不作限定。终端在检测到输入确认操作后,将用户在输入框中输入的内容获取为待处理语句。之后,终端可以通过网络将该待处理语句发送至服务器,使得服务器能够获取到该待处理语句,并执行下述步骤102至107以确定该待处理语句的目标回答语句。
需要说明的是,终端在获取到待处理语句后,也可以在本端执行下述步骤102至107以确定该待处理语句的目标回答语句,并在人机对话界面输出该目标回答语句,以完成一次人机对话的过程。本实施例仅以服务器为执行主体为例进行介绍,对执行主体并不限定。
102、将获取的待处理语句与预设词库中的多个词进行匹配,该匹配过程包括下述步骤103至步骤107:
其中,预设词库用于存储自然语言中所涉及的多个词,该多个词的数量级可以为十万级甚至百万级等。该预设词库的一个词可以为单个字或者为词组等,本实施例中统称为词。比如,某个词可以为“吃”、“东西”等。另外,预设词库中还可以包括符号,比如各种标点符号、表情符号或者语句结束符号等。
本实施例中,服务器通过预设神经网络执行将获取的待处理语句与预设词库中的多个词进行匹配的过程。在该匹配的过程中,服务器先将该待处理语句转换为相应的语句向量,该转换过程可以为:将待处理语句进行分词处理,得到多个分词,根据预设编码方式,将每个分词编码为一个词向量,得到多个词向量,然后根据预设转换函数,将该多个词向量转换为该语句向量。后续根据该语句向量进行匹配。需要说明的是,本实施例中涉及语句和词的处理过程,均为对语句对应的语句向量或词对应的词向量的处理过程。其中,预设编码方式和预设转换函数可以进行预先设置或修改,本实施例对此不作限定。
其中,预设神经网络的节点与预设词库所存储的每个词之间具有一一映射的关系。比如,当预设词库包括20万个词时,预设神经网络的中间匹配输出层可以包括20万个节点。
其中,该预设神经网络可以为LSTM(Long Short-Term Memory,时间递归神经网络),由于神经网络的层数越多输出结果越准确,但会导致运算速度降低,因此为了在满足要求的输出准确度的前提下提高运算速度,本实施例采用了4层LSTM,当然随着设备处理性能的提升,还可以采用大于4层的LSTM。
本实施例中,在采用预设神经网络对用户输入的待处理语句进行回复之前,需要通过大量样本数据对该预设神经网络进行训练,以优化该预设神经网络中各个节点的参数。具体地,服务器上可以部署多个GPU(Graphics Processing Unit,图形处理器),每个GPU上均部署有该预设神经网络。服务器可以将大量样本数据分割成相应的多个样本数据集,将该多个样本数据集分别分配给该多个GPU进行处理,从而实现对样本数据的并行处理,从而大大提升预设神经网络的训练效率,也即是,提升了预设神经网络中各个节点所对应参数的优化效率。需要说明的是,本实施例所涉及的一个样本数据为一对自然语言对话的语句对。
图2A为该预设神经网络训练的原理图,如图2A所示,包括CPU和多个GPU。其中,CPU存储有预设神经网络的各个节点所对应的参数,每个GPU均部署有预设神经网络(模型),具体地的参数优化过程可以为:每个GPU通过预设神经网络对输入的样本数据进行处理,根据预设目标函数,确定输出与输入的差异(loss),根据预设梯度函数,计算该差异的梯度(gradients);每个GPU将计算出的梯度发送至CPU,CPU计算接收到的多个梯度的梯度平均值。之后,服务器根据该梯度平均值对多个GPU上配置的预设神经网络的节点参数进行调整,该调整过程可以为:CPU根据该梯度平均值对存储的预设神经网络的节点参数进行更新,之后将预设神经网络更新后的节点参数发送至每个GPU,使得GPU对配置的预设神经网络的参数进行调整。其中,对于任一节点,节点的参数包括节点在预设神经网络中的位置和参数值,对于任一节点,更新后的节点参数值等于更新前的节点参数值与梯度平均值的差值。其中,预设目标函数和预设梯度函数可以根据实际需求进行设置或修改,本实施例对此不作限定。
需要说明的是,本实施例中,每个GPU可以一次性对一个样本数据集进行处理,比如,该一个样本数据集可以包括60对自然语言对话,每个GPU可以将该60对自然语言对话一同作为预设神经网络的输入,相应的,计算出的梯度为该一个样本数据集的整体梯度,从而可以提高对样本数据进行处理的速率。
需要说明的是,图2A中仅以2个GPU为例进行说明,当然GPU的个数还可以为3个、4个等,本实施例对此不作限定。图2A所示的是采用数据并行化对预设神经网络训练的方式。在另一实施例中,还可以采用模型并行化的方式对预设神经网络进行训练,以预设神经网络为4层LSTM为例,可以将该预设神经网络的每一层按照输入层至输出层的顺序依次配置在不同的4个GPU上,利用这4个GPU分别对每一层的节点的参数进行优化。其中,每个GPU可以设置一个预设缓存区,该预设缓存区用于存储需要与其他GPU进行交换的数据,从而提高预设神经网络各层之间的交换速率,其中,该与其他GPU进行交换的数据可以为当前GPU对应层的输出结果。
103、在第一次匹配的过程中,根据该多个词的第一匹配概率,从多个词中确定M个预测词,将每个预测词作为一个预测语句。
其中,该多个词中每个词的第一匹配概率用于指示输入待处理语句时输出该词的概率。M为大于1的整数,M可以根据需要进行预先设置或更改,比如M可以为3、4、5等,本实施例对此不作限定。由于在一次匹配过程中可以确定多个预测词,使得回答语句的组成具有更多的可能性,扩大了回答语句的匹配范围,提高输出结果的多样性。
本实例中可以采用如下两种方式确定该M个预测词:
第一种方式、按照每个词的第一匹配概率的高低,从该多个词中确定M个预测词。
在该种方式中,对于该多个词中的每个词,将待处理语句作为输入,获取该词的输出概率,将该词的输出概率作为该词的第一匹配概率。按照每个词的第一匹配概率从高到低的顺序,从该多个词中获取M个预测词。
需要说明的是,预设神经网络中每个词对应的节点均对应一个预设函数,该预设函数用于根据输入计算输出该节点所对应词的概率。该预设函数可以根据需要进行预先设置或修改,本实施例对此不作限定。
第二种方式、按照每个词的第一匹配概率和第二匹配概率的和值高低,从该多个词中确定M个预测词。
在该种方式中,对于该多个词中的每个词,将待处理语句作为输入,将输出该词的概率确定为该词的第一匹配概率。之后,将该词作为输入,将输出待处理语句的概率确定为该词的第二匹配概率。获取每个词的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从多个词中确定M个预测词。其中,该获取每个词的第一匹配概率和第二匹配概率的和值的过程可以看作是为每个词进行打分的过程,该打分的分值为第一概率和第二概率的和值,某个词的打分分值越高指示输出该词的概率越高,从而可以根据打分来确定输出概率最高的M个预测词。
其中,将多个词中的一个词作为输入,输出待处理语句的概率是指输出组成该待处理语句的多个分词的概率的和。例如,假设该待处理语句为“你好”,组成该待处理语句的分词为“你”和“好”,则输出该处理语句的概率为输出“你”的概率与输出“好”的概率的和。
需要说明的是,该第二种方式在确定M个预测词时,不仅考虑了输入待处理语句时输出每个词的概率,还考虑了输入每个词时输出该待处理语句的概率,使得确定的M个预测词与该待处理语句更加符合上下文语境,可以提高人机对话的智能性。本实施例中将确定的每个预测词均作为一个预测语句,以便于对后续匹配过程的描述。
对于第一次匹配之后的每一次匹配过程,执行下述步骤104至步骤106。
104、对于上一次匹配所确定的N个第一预测语句,根据多个中间语句的第一匹配概率,从多个中间语句中确定N个第二预测语句。
其中,每个中间语句由任一个第一预测语句和多个词中的任一个词组成。例如,第一预测语句的个数为3个,该多个词的个数为10个,则一个第一预测语句与该10个词可以组成10个中间语句,三个第一预测语句可以分别与该10个词组成30个中间语句。
其中,第一预测语句是指不包括语句结束符号的预测语句。当一个预测语句包含语句结束符号时,表示该预测语句为一个回答语句,针对该预测语句的匹配过程结束。
其中,N为小于或者等于M的整数。具体地,N为M与上一次匹配过程确定的回答语句个数的差值。其中,为了能够有输出结果,第一次匹配确定的预测词应当不为语句结束符号,因此,针对第二次匹配,回答语句的个数为0,N等于M,这样N个第一预测语句即为M个预测词所对应的预测语句。例如,在第一次匹配过程中确定了3个预测词,每个预测词作为一个预测语句,一共3个预测语句,该3个预测语句即为第二次匹配过程中的3个第一预测语句。而假设在第二次匹配过程中确定了一个回答语句,则在第三次匹配的过程中回答语句的个数为1,相应地第一预测语句的个数便为2。
本实施例中,从多个中间语句中确定N个第二预测语句的过程可以包括如下两种方式:
第一种方式、按照每个中间语句第一匹配概率的高低,从该多个中间语句中确定N个第二预测语句。
在该种方式中,对于每个中间语句,将该中间语句对应的第一预测语句和待处理语句作为输入,将输出该中间语句的概率确定为该中间语句的第一匹配概率。之后,按照第一匹配概率从高到低的顺序,从多个中间语句中确定N个第二预测语句。
其中,输出中间语句的概率是指输入第一预测语句和待处理语句时,输出组成该中间语句的最后一个词的概率。例如,假设第一预测语句为a1,预设词库包括10个词,分别为w1至w10其中,则a1和w1组成的中间语句为a1w1,则输出a1w1的概率是指输入待处理语句和a1时,输出w1的概率。
在具体实施时,该确定N个第二预测语句的过程可以为:针对每个第一预测语句,根据第一匹配概率从高到低的顺序,从该第一预测语句对应的中间语句中确定N个中间语句,对应每个第一预测语句均得到N个中间语句,一共得到N*N个中间语句,再按照第一匹配概率从高到低的顺序,从该N*N个中间语句中确定N个第二预测语句。其中,“*”表示乘号。
第二种方式、按照每个中间语句的第一匹配概率和第二匹配概率的和值高低,从该多个中间语句中确定N个第二预测语句。
在该种方式中,对于每个中间语句,将该中间语句对应的第一预测语句和待处理语句作为输入,将输出该中间语句的概率确定为该中间语句的第一匹配概率;将该中间语句作为输入,将输出待处理语句的概率确定为该中间语句的第二匹配概率;获取每个中间语句的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从多个中间语句中确定N个第二预测语句。
其中,该获取每个中间语句的第一匹配概率和第二匹配概率的和值的过程可以看作是为每个中间语句进行打分的过程,该打分的分值为第一概率和第二概率的和值,某个中间语句的打分分值越高指示输出该中间语句的概率越高,从而可以根据打分来确定输出概率最高的M个预测语句。
其中,将中间语句作为输入,输出待处理语句的概率是指输出组成该待处理语句的多个分词的概率的和,将该多个分词的概率的和作为该中间语句的第二匹配概率。该过程与上述步骤103中确定每个词的第二匹配概率的过程同理,在此不做赘述。假设待处理语句为X,某个中间语句为Y,则Y的第一匹配概率可以表示为P(Y|X),Y的第二匹配概率可以表示为P(X|Y),则根据和值对Y进行打分可以表示为:SCOREY=P(Y|X)+P(X|Y)。其中,P()仅表示概率,不表示概率的实际计算方式。
在具体实施时,该确定N个第二预测语句的过程可以为:针对每个第一预测语句,根据和值从高到低的顺序,从该第一预测语句对应的中间语句中确定N个中间语句,对应每个第一预测语句均得到N个中间语句,一共得到N*N个中间语句,再按照和值从高到低的顺序,从该N*N个中间语句中确定N个第二预测语句。其中,“*”表示乘号。
需要说明的是,该第二种方式在确定N个预测语句时,不仅考虑了输入待处理语句时输出每个预测语句的概率,还考虑了输入每个预测语句时输出该待处理语句的概率,使得确定的N个预测语句与该待处理语句更加符合上下文语境,可以提高人机对话的智能性。
需要说明的是,本实施例中每一次匹配过程是指在上一次匹配得到的预测语句的基础上在向后匹配下一个预测词的过程,该匹配下一个预测词的过程可以采用上述两种方式,其中,本次匹配的预测词与上一次匹配得到预测语句组成本次的预测语句。例如,假设待处理语句为“最近真的要热晕了”,某个第一预测语句为“注意身体”,则本次匹配过程便为基于该待处理语句和第一预测语句,在第一预测语句的基础上向后匹配下一个预测词。假设本次匹配的预测词为“哦”,在本次匹配的预测语句为“注意身体哦”。
本实施例中,在确定了N个第二预测语句之后,可以根据第二预测语句中是否包括语句结束符号来确定针对该第二预测语句的匹配过程是否结束,其中,对于N个第二预测语句中的每个第二预测语句,当该第二预测语句包括语句结束符号时执行步骤105,否则执行步骤106。
105、对于N个第二预测语句中的每个第二预测语句,如果第二预测语句包括语句结束符号,则将第二预测语句确定为回答语句。
例如,第一预测语句为“注意身体”,假设在该第一预测语句基础上向后匹配的一个预测词为语句结束符号,则该第一预测语句和该语句结束符号组成的第二预测语句便为一个回答语句,也即是,无需针对该第二预测语句在向后进行匹配。
106、对于N个第二预测语句中的每个第二预测语句,如果该第二预测语句不包括语句结束符号,则将该第二预测语句作为下一次匹配的输入,继续执行步骤104,直至匹配过程所输出的第二预测语句中均包括语句结束符号为止,得到M个回答语句。
例如,第一预测语句为“注意身体”,假设在该第一预测语句基础上向后匹配的一个预测词为“哦”,则该第一预测语句和预测词组成的第二预测语句“注意身体哦”,由于该第二预测语句不包括语句结束符号,则基于该第二预测语句继续执行步骤104,在该第二预测语句的基础上再向后进行匹配,如果下一次匹配的预测词为语句结束符号,则将预测语句“注意身体哦”和语句结束符号组成回答语句“注意身体哦”。
需要说明的是,服务器在第一次匹配过程确定M个预测词之后,便在该M个预测词的基础上,进行后续的匹配过程,从而得到M个回答语句,下面结合图2B,通过举例来更好地说明通过匹配确定M个回答语句的过程,该过程在确定预测语句时均采用了步骤104中第二种方式,其中,待处理语句为“最近真的要热晕了”,M为3,在第一次匹配过程中确定了3个预测语句分别为“是”、“热”、“注”,该3个预测语句为本次匹配过程的3个最优解;在第二次匹配过程中,针对每个预测语句再向后匹配3个预测词,比如,与“是”匹配的3个预测词分别为“a11”、“a12”和“啊”,与“热”匹配的3个预测词分别为“b11”、“b12”和“崩”,与“注”匹配的3个预测词分别为“c11”、“c12”和“意”,将预测语句和预测词分别组合得到9个筛选出来的中间语句,之后,对该9个中间语句进行排序,按照概率的和值从高到低的顺序,从该9个中间语句中确定多个最优解,比如确定的3个最优解对应的预测语句分别为“是啊”、“热崩”和“注意”,该3个预测语句为本次匹配过程输出的3个最优解;同理,在第三次匹配过程中,确定的3个预测语句分别为“是啊”(含语句结束符),“热崩溃”和“注意身”,从而确定“是啊”为一个回答语句。在第四次匹配过程中,针对“热崩溃”和“注意身”两个预测语句中的每个预测语句向后匹配2个预测词,最终在本次匹配过程中确定2个预测语句,假设该2个预测语句为“热崩溃”(含语句结束符)和“注意身体”,从而确定“热崩溃”为一个回答语句,在第五次匹配过程中针对“注意身体”一个预测语句向后匹配一个预测词,假设匹配的预测词为结束符号,则可以确定“注意身体”为一个回答语句,从而得到3个回答语句分别为“是啊”、“热崩溃”和“注意身体”。
107、根据M个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从M个回答语句中确定目标回答语句,回答语句的第二匹配概率用于指示当输入回答语句时输出待处理语句的概率。
其中,确定目标回答语句的过程可以为:获取M个回答语句中每个回答语句的第一匹配概率和第二匹配概率的和值;将和值最高的回答语句确定为目标回答语句。
本实施例中,可以根据多个回答语句的第一匹配概率和第二概率的和值,对该多个回答语句进行排序,然后,根据该多个回答语句的排列顺序,可以从该多个回答语句中确定和值最高的目标回答语句。以图2B所示的例子为例,假设图2B举例中输出的三个回答语句以及对应的和值分别为“是的”0.5,“热崩溃”0.8,“注意身体”0.9,则对该三个回答语句的排序可以如表1所示,由表1可知,采用回答语句的和值对回答语句进行排序,可以将与待处理语句符合上下文语境的回答语句排列不符合上下文语境的回答语句的前面,提高了目标语句确定的智能性。
表1
排序 | 回答语句 |
1 | 注意身体 |
2 | 热崩溃 |
3 | 是的 |
另外,当应用场景为智能问答***时,还可以确定多个目标回答语句,具体地,服务器可以根据和值从高到低的顺序,从多个回答语句中确定预设数目个目标回答语句。该预设数目可以预先进行设置或更改,本实施例对此不作限定。
需要说明的是,如果上述步骤104中采用第一种方式确定N个第二预测语句,则在该步骤中服务器获取M个回答语句中每个回答语句的第一匹配概率和第二匹配概率的和值之前,需要确定每个回答语句的第二匹配概率,也即是将该每个回答语句作为输入,确定输入该待处理语句的概率。而如果在步骤104中采用第二种方式确定N个第二预测语句,则由于步骤104中是根据第一匹配概率和第二匹配概率确定的预测语句,那么也就是根据第一匹配概率和第二匹配概率确定的回答语句,因此,在该步骤中直接获取每个回答语句的第一匹配概率和第二匹配概率的和值即可。
需要说明的是,当服务器为执行主体时,在确定目标回答语句之后,将该目标回答语句发送至终端,终端将该目标回答语句进行显示,比如将目标回答语句显示在人机对话界面中。而当以终端为执行主体时,终端在确定目标回答语句之后,可以直接将该目标回答语句显示在人机对话界面中。其中,输出该目标回答语句的输出形式可以为语音、文字或者图片,本实施例对此不作限定。当输出形式为语音时,将该目标回答语句转换为语音输出,当输出形式为图片时,则从图片和图片所指示文字的对应关系中,获取与该目标回答语句对应的图片,并输出该获取的图片。
为了进一步提高人机对话***的智能性,本实施例中还可以根据用户反馈,对预设神经网络进行继续学习,也即是对预设神经网络的节点参数进行调整,比如,用户反馈可以为诸如“你在说什么啊”、“答非所问”等表示否定输出的目标回答语句,则服务器可以统计该类用户反馈以及该用户反馈所指示的输入输出语句对,并根据统计的输入输出语句对,对预设神经网络进行反向训练。比如,统计的一个输入输出语句对为输入语句A和输出语句B,则在对预设神经网络进行训练时的目标为输入语句A时,输出语句B的概率为0。通过根据用户反馈对神经网络进行继续学习,提高了人机对话的学习能力,进一步提高了人机对话过程中确定回答语句的智能性。
本发明实施例提供的方法,对于匹配过程所确定的多个回答语句,可以结合输入待处理语句输出回答语句的第一匹配概率和输入回答语句输出待处理语句的第二匹配概率,来确定最终的目标回答语句,使得目标回答语句与待处理语句更加符合上下文语境,并且在每一次匹配的过程中可以确定多个预测语句,匹配过程结束后可以确定多个回答语句,使得在回答语句多样化的同时,提高了回答语句确定的智能性。进一步地,在每一次匹配过程中还可以根据中间语句的第一匹配概率和第二匹配概率来确定多个预测语句,使得每一次匹配过程均考虑了待处理语句和回答语句的上下文语境,进一步提高了回答语句确定的智能性。
图3是本发明实施例提供的一种回答语句确定装置的框图。参照图3,该装置包括匹配模块301,第一确定模块302和第二确定模块303。
其中,匹配模块301与第一确定模块302连接,用于将获取的待处理语句与预设词库中的多个词进行匹配;第一确定模块302与第二确定模块303,用于在每一次匹配的过程中,对于上一次匹配所确定的N个第一预测语句,根据多个中间语句的第一匹配概率,从该多个中间语句中确定N个第二预测语句,每个中间语句由任一个第一预测语句和该多个词中任一个词组成,每个中间语句的第一匹配概率用于指示输入该待处理语句时输出该中间语句的概率;对于该N个第二预测语句中的每个第二预测语句,如果该第二预测语句包括语句结束符号,则将该第二预测语句确定为回答语句,如果该第二预测语句不包括语句结束符号,则将该第二预测语句作为下一次匹配的输入,继续进行匹配,直至匹配过程所输出的第二预测语句中均包括语句结束符号为止;第二确定模块303,用于根据通过匹配所得到的该M个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从该M个回答语句中确定目标回答语句,该回答语句的第二匹配概率用于指示当输入该回答语句时输出该待处理语句的概率;其中,该M为大于1的整数,该N为小于或者等于M的整数。
在一种可能的实现方式中,该第一确定模块用于:
对于该每个中间语句,将该中间语句对应的第一预测语句和该待处理语句作为输入,将输出该中间语句的概率确定为该中间语句的第一匹配概率;按照第一匹配概率从高到低的顺序,从该多个中间语句中确定N个第二预测语句;或,
对于该每个中间语句,将该中间语句对应的第一预测语句和该待处理语句作为输入,将输出该中间语句的概率确定为该中间语句的第一匹配概率;将该中间语句作为输入,将输出该待处理语句的概率确定为该中间语句的第二匹配概率;获取该每个中间语句的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从该多个中间语句中确定该N个第二预测语句。
在一种可能的实现方式中,该第二确定模块用于获取该N个回答语句中每个回答语句的第一匹配概率和第二匹配概率的和值;将和值最高的回答语句确定为该目标回答语句。
在一种可能的实现方式中,该第一确定模块还用于如果本次匹配为第一次匹配,则根据该多个词的第一匹配概率,从该多个词中确定该M个预测词,将每个预测词作为一个预测语句,每个词的第一匹配概率用于指示输入该待处理语句时输出该词的概率。
在一种可能的实现方式中,该第一确定模块还用于:
对于该多个词中的每个词,将该待处理语句作为输入,将输出该词的概率确定为该词的第一匹配概率;按照第一匹配概率从高到低的顺序,从该多个词中确定该M个预测词;或,
对于该多个词中的每个词,将该待处理语句作为输入,将输出该词的概率确定为该词的第一匹配概率;将该词作为输入,将输出该待处理语句的概率确定为该词的第二匹配概率;获取该多个词的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从该多个词中确定该M个预测词。
在一种可能的实现方式中,该匹配模块用于通过预设神经网络将获取的待处理语句与预设词库中的多个词进行匹配。
在一种可能的实现方式中,该装置还包括:
处理模块,用于在对该预设神经网络进行训练的过程中,采用多个图形处理器GPU对样本数据进行并行处理,该多个GPU均配置有该预设神经网络;
第三确定模块,用于确定该多个GPU对样本数据处理所得到的梯度平均值;
调整模块,用于根据该梯度平均值对该多个GPU上配置的该预设神经网络的节点参数进行调整。
本公开实施例提供的装置,对于匹配过程所确定的多个回答语句,可以结合输入待处理语句输出回答语句的第一匹配概率和输入回答语句输出待处理语句的第二匹配概率,来确定最终的目标回答语句,使得目标回答语句与待处理语句更加符合上下文语境,使得在回答语句多样化的同时,提高了回答语句确定的智能性。
需要说明的是:上述实施例提供的回答语句确定装置在确定回答语句时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的回答语句确定装置与回答语句确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的一种终端的结构示意图,该终端可以用于执行上述各个实施例中提供的游戏视频录制方法。参见图4,该终端400包括:
终端400可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端400之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端400的通信。
WiFi属于短距离无线传输技术,终端400通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块170,但是可以理解的是,其并不属于终端400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含可执行指令,终端400被配置为执行指令,以执行上述回答语句确定方法实施例中终端所执行的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中回答语句确定方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图5是本发明实施例提供的一种回答语句确定装置的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理部件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述回答语句确定来电提示方法实施例中服务器所执行的方法。
装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器中的处理器执行以完成上述实施例中的回答语句确定数据处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种回答语句确定方法,其特征在于,所述方法包括:
将获取的待处理语句与预设词库中的多个词进行匹配;
在每一次匹配的过程中,对于上一次匹配所确定的N个第一预测语句,根据多个中间语句的第一匹配概率,从所述多个中间语句中确定N个第二预测语句,每个中间语句由任一个第一预测语句和所述多个词中任一个词组成,每个中间语句的第一匹配概率用于指示输入所述待处理语句时输出所述中间语句的概率;对于所述N个第二预测语句中的每个第二预测语句,如果所述第二预测语句包括语句结束符号,则将所述第二预测语句确定为回答语句,如果所述第二预测语句不包括语句结束符号,则将所述第二预测语句作为下一次匹配的输入,继续进行匹配,直至匹配过程所输出的第二预测语句中均包括语句结束符号为止;
根据通过匹配所得到的M个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从所述M个回答语句中确定目标回答语句,所述回答语句的第二匹配概率用于指示当输入所述回答语句时输出所述待处理语句的概率;
其中,所述M为大于1的整数,所述N为小于或者等于M的整数。
2.根据权利要求1所述的方法,其特征在于,所述根据多个中间语句的第一匹配概率,从所述多个中间语句中确定N个第二预测语句包括:
对于所述每个中间语句,将所述中间语句对应的第一预测语句和所述待处理语句作为输入,将输出所述中间语句的概率确定为所述中间语句的第一匹配概率;按照第一匹配概率从高到低的顺序,从所述多个中间语句中确定N个第二预测语句;或,
对于所述每个中间语句,将所述中间语句对应的第一预测语句和所述待处理语句作为输入,将输出所述中间语句的概率确定为所述中间语句的第一匹配概率;将所述中间语句作为输入,将输出所述待处理语句的概率确定为所述中间语句的第二匹配概率;获取所述每个中间语句的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从所述多个中间语句中确定所述N个第二预测语句。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述N个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从所述N个回答语句中确定目标回答语句包括:
获取所述N个回答语句中每个回答语句的第一匹配概率和第二匹配概率的和值;
将和值最高的回答语句确定为所述目标回答语句。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果本次匹配为第一次匹配,则根据所述多个词的第一匹配概率,从所述多个词中确定所述M个预测词,将每个预测词作为一个预测语句,每个词的第一匹配概率用于指示输入所述待处理语句时输出所述词的概率。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多个词的第一匹配概率,从所述多个词中确定所述M个预测词包括:
对于所述多个词中的每个词,将所述待处理语句作为输入,将输出所述词的概率确定为所述词的第一匹配概率;按照第一匹配概率从高到低的顺序,从所述多个词中确定所述M个预测词;或,
对于所述多个词中的每个词,将所述待处理语句作为输入,将输出所述词的概率确定为所述词的第一匹配概率;将所述词作为输入,将输出所述待处理语句的概率确定为所述词的第二匹配概率;获取所述多个词的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从所述多个词中确定所述M个预测词。
6.根据权利要求1所述的方法,其特征在于,所述将获取的待处理语句与预设词库中的多个词进行匹配包括:
通过预设神经网络将获取的待处理语句与预设词库中的多个词进行匹配。
7.根据权利要求6所述的方法,其特征在于,所述将获取的待处理语句与预设词库中的多个词进行匹配之前,所述方法还包括:
在对所述预设神经网络进行训练的过程中,采用多个图形处理器GPU对样本数据进行并行处理,所述多个GPU均配置有所述预设神经网络;
确定所述多个GPU对样本数据处理所得到的梯度平均值;
根据所述梯度平均值对所述多个GPU上配置的所述预设神经网络的节点参数进行调整。
8.一种回答语句确定装置,其特征在于,所述装置包括:
匹配模块,用于将获取的待处理语句与预设词库中的多个词进行匹配;
第一确定模块,用于在每一次匹配的过程中,对于上一次匹配所确定的N个第一预测语句,根据多个中间语句的第一匹配概率,从所述多个中间语句中确定N个第二预测语句,每个中间语句由任一个第一预测语句和所述多个词中任一个词组成,每个中间语句的第一匹配概率用于指示输入所述待处理语句时输出所述中间语句的概率;对于所述N个第二预测语句中的每个第二预测语句,如果所述第二预测语句包括语句结束符号,则将所述第二预测语句确定为回答语句,如果所述第二预测语句不包括语句结束符号,则将所述第二预测语句作为下一次匹配的输入,继续进行匹配,直至匹配过程所输出的第二预测语句中均包括语句结束符号为止;
第二确定模块,用于根据通过匹配所得到的M个回答语句中每个回答语句的第一匹配概率和第二匹配概率,从所述M个回答语句中确定目标回答语句,所述回答语句的第二匹配概率用于指示当输入所述回答语句时输出所述待处理语句的概率;
其中,所述M为大于1的整数,所述N为小于或者等于M的整数。
9.根据权利要求1所述的装置,其特征在于,所述第一确定模块用于:
对于所述每个中间语句,将所述中间语句对应的第一预测语句和所述待处理语句作为输入,将输出所述中间语句的概率确定为所述中间语句的第一匹配概率;按照第一匹配概率从高到低的顺序,从所述多个中间语句中确定N个第二预测语句;或,
对于所述每个中间语句,将所述中间语句对应的第一预测语句和所述待处理语句作为输入,将输出所述中间语句的概率确定为所述中间语句的第一匹配概率;将所述中间语句作为输入,将输出所述待处理语句的概率确定为所述中间语句的第二匹配概率;获取所述每个中间语句的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从所述多个中间语句中确定所述N个第二预测语句。
10.根据权利要求8或9所述的装置,其特征在于,所述第二确定模块用于获取所述N个回答语句中每个回答语句的第一匹配概率和第二匹配概率的和值;将和值最高的回答语句确定为所述目标回答语句。
11.根据权利要求8所述的装置,其特征在于,所述第一确定模块还用于如果本次匹配为第一次匹配,则根据所述多个词的第一匹配概率,从所述多个词中确定所述M个预测词,将每个预测词作为一个预测语句,每个词的第一匹配概率用于指示输入所述待处理语句时输出所述词的概率。
12.根据权利要求11所述的装置,其特征在于,所述第一确定模块还用于:
对于所述多个词中的每个词,将所述待处理语句作为输入,将输出所述词的概率确定为所述词的第一匹配概率;按照第一匹配概率从高到低的顺序,从所述多个词中确定所述M个预测词;或,
对于所述多个词中的每个词,将所述待处理语句作为输入,将输出所述词的概率确定为所述词的第一匹配概率;将所述词作为输入,将输出所述待处理语句的概率确定为所述词的第二匹配概率;获取所述多个词的第一匹配概率和第二匹配概率的和值;按照和值从高到低的顺序,从所述多个词中确定所述M个预测词。
13.根据权利要求8所述的装置,其特征在于,所述匹配模块用于通过预设神经网络将获取的待处理语句与预设词库中的多个词进行匹配。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
处理模块,用于在对所述预设神经网络进行训练的过程中,采用多个图形处理器GPU对样本数据进行并行处理,所述多个GPU均配置有所述预设神经网络;
第三确定模块,用于确定所述多个GPU对样本数据处理所得到的梯度平均值;
调整模块,用于根据所述梯度平均值对所述多个GPU上配置的所述预设神经网络的节点参数进行调整。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611161666.0A CN106710596B (zh) | 2016-12-15 | 2016-12-15 | 回答语句确定方法及装置 |
PCT/CN2017/109769 WO2018107921A1 (zh) | 2016-12-15 | 2017-11-07 | 回答语句确定方法及服务器 |
US16/360,000 US11416681B2 (en) | 2016-12-15 | 2019-03-20 | Method and apparatus for determining a reply statement to a statement based on a sum of a probability of the reply statement being output in response to the statement and a second probability in which the statement is output in response to the statement and further based on a terminator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611161666.0A CN106710596B (zh) | 2016-12-15 | 2016-12-15 | 回答语句确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106710596A true CN106710596A (zh) | 2017-05-24 |
CN106710596B CN106710596B (zh) | 2020-07-07 |
Family
ID=58937876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611161666.0A Active CN106710596B (zh) | 2016-12-15 | 2016-12-15 | 回答语句确定方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11416681B2 (zh) |
CN (1) | CN106710596B (zh) |
WO (1) | WO2018107921A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107921A1 (zh) * | 2016-12-15 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 回答语句确定方法及服务器 |
CN108897872A (zh) * | 2018-06-29 | 2018-11-27 | 北京百度网讯科技有限公司 | 对话处理方法、装置、计算机设备和存储介质 |
CN109918058A (zh) * | 2017-12-13 | 2019-06-21 | 富士通株式会社 | 信息处理装置和方法以及在编程环境中推荐代码的方法 |
CN109977428A (zh) * | 2019-03-29 | 2019-07-05 | 北京金山数字娱乐科技有限公司 | 一种答案获取的方法及装置 |
CN110473540A (zh) * | 2019-08-29 | 2019-11-19 | 京东方科技集团股份有限公司 | 语音交互方法及***、终端设备、计算机设备及介质 |
CN110502226A (zh) * | 2018-05-16 | 2019-11-26 | 富士通株式会社 | 在编程环境中推荐代码的方法和装置 |
CN110569030A (zh) * | 2018-06-06 | 2019-12-13 | 富士通株式会社 | 代码推荐方法及装置 |
WO2020042902A1 (zh) * | 2018-08-29 | 2020-03-05 | 深圳追一科技有限公司 | 语音识别的方法、***和存储介质 |
CN111428014A (zh) * | 2020-03-17 | 2020-07-17 | 北京香侬慧语科技有限责任公司 | 一种基于最大互信息的非自回归对话说生成方法及模型 |
CN112035627A (zh) * | 2020-07-27 | 2020-12-04 | 深圳技术大学 | 自动问答方法、装置、设备及存储介质 |
CN113506573A (zh) * | 2021-08-06 | 2021-10-15 | 百融云创科技股份有限公司 | 生成回复语音的方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073303B (zh) * | 2016-11-17 | 2021-11-30 | 北京搜狗科技发展有限公司 | 一种输入方法、装置及电子设备 |
US10956670B2 (en) | 2018-03-03 | 2021-03-23 | Samurai Labs Sp. Z O.O. | System and method for detecting undesirable and potentially harmful online behavior |
US10721190B2 (en) * | 2018-07-31 | 2020-07-21 | Microsoft Technology Licensing, Llc | Sequence to sequence to classification model for generating recommended messages |
US20200267165A1 (en) * | 2019-02-18 | 2020-08-20 | Fido Voice Sp. Z O.O. | Method and apparatus for detection and classification of undesired online activity and intervention in response |
US10834036B2 (en) | 2019-03-06 | 2020-11-10 | International Business Machines Corporation | Enhancement of real-time message verbosity |
US10956474B2 (en) | 2019-03-14 | 2021-03-23 | Microsoft Technology Licensing, Llc | Determination of best set of suggested responses |
CN110674256B (zh) * | 2019-09-25 | 2023-05-12 | 携程计算机技术(上海)有限公司 | Ota酒店的点评与回复的相关度的检测方法及*** |
US11914954B2 (en) * | 2019-12-08 | 2024-02-27 | Virginia Tech Intellectual Properties, Inc. | Methods and systems for generating declarative statements given documents with questions and answers |
CN112131362B (zh) * | 2020-09-22 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 对话语句生成方法和装置、存储介质及电子设备 |
CN113191146B (zh) * | 2021-05-26 | 2023-02-07 | 深圳赛安特技术服务有限公司 | 诉求数据的分配方法、装置、计算机设备和存储介质 |
CN113609843B (zh) * | 2021-10-12 | 2022-02-01 | 京华信息科技股份有限公司 | 一种基于梯度提升决策树的句词概率计算方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235689A1 (en) * | 2005-04-13 | 2006-10-19 | Fuji Xerox Co., Ltd. | Question answering system, data search method, and computer program |
US20070022099A1 (en) * | 2005-04-12 | 2007-01-25 | Fuji Xerox Co., Ltd. | Question answering system, data search method, and computer program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150370787A1 (en) * | 2014-06-18 | 2015-12-24 | Microsoft Corporation | Session Context Modeling For Conversational Understanding Systems |
US10013981B2 (en) * | 2015-06-06 | 2018-07-03 | Apple Inc. | Multi-microphone speech recognition systems and related techniques |
US11128579B2 (en) * | 2016-09-29 | 2021-09-21 | Admithub Pbc | Systems and processes for operating and training a text-based chatbot |
CN106710596B (zh) * | 2016-12-15 | 2020-07-07 | 腾讯科技(上海)有限公司 | 回答语句确定方法及装置 |
-
2016
- 2016-12-15 CN CN201611161666.0A patent/CN106710596B/zh active Active
-
2017
- 2017-11-07 WO PCT/CN2017/109769 patent/WO2018107921A1/zh active Application Filing
-
2019
- 2019-03-20 US US16/360,000 patent/US11416681B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070022099A1 (en) * | 2005-04-12 | 2007-01-25 | Fuji Xerox Co., Ltd. | Question answering system, data search method, and computer program |
US20060235689A1 (en) * | 2005-04-13 | 2006-10-19 | Fuji Xerox Co., Ltd. | Question answering system, data search method, and computer program |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11416681B2 (en) | 2016-12-15 | 2022-08-16 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for determining a reply statement to a statement based on a sum of a probability of the reply statement being output in response to the statement and a second probability in which the statement is output in response to the statement and further based on a terminator |
WO2018107921A1 (zh) * | 2016-12-15 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 回答语句确定方法及服务器 |
CN109918058B (zh) * | 2017-12-13 | 2022-08-12 | 富士通株式会社 | 信息处理装置和方法以及在编程环境中推荐代码的方法 |
CN109918058A (zh) * | 2017-12-13 | 2019-06-21 | 富士通株式会社 | 信息处理装置和方法以及在编程环境中推荐代码的方法 |
CN110502226B (zh) * | 2018-05-16 | 2023-06-09 | 富士通株式会社 | 在编程环境中推荐代码的方法和装置 |
CN110502226A (zh) * | 2018-05-16 | 2019-11-26 | 富士通株式会社 | 在编程环境中推荐代码的方法和装置 |
CN110569030A (zh) * | 2018-06-06 | 2019-12-13 | 富士通株式会社 | 代码推荐方法及装置 |
CN110569030B (zh) * | 2018-06-06 | 2023-04-07 | 富士通株式会社 | 代码推荐方法及装置 |
CN108897872B (zh) * | 2018-06-29 | 2022-09-27 | 北京百度网讯科技有限公司 | 对话处理方法、装置、计算机设备和存储介质 |
CN108897872A (zh) * | 2018-06-29 | 2018-11-27 | 北京百度网讯科技有限公司 | 对话处理方法、装置、计算机设备和存储介质 |
WO2020042902A1 (zh) * | 2018-08-29 | 2020-03-05 | 深圳追一科技有限公司 | 语音识别的方法、***和存储介质 |
CN109977428B (zh) * | 2019-03-29 | 2024-04-02 | 北京金山数字娱乐科技有限公司 | 一种答案获取的方法及装置 |
CN109977428A (zh) * | 2019-03-29 | 2019-07-05 | 北京金山数字娱乐科技有限公司 | 一种答案获取的方法及装置 |
CN110473540A (zh) * | 2019-08-29 | 2019-11-19 | 京东方科技集团股份有限公司 | 语音交互方法及***、终端设备、计算机设备及介质 |
CN111428014A (zh) * | 2020-03-17 | 2020-07-17 | 北京香侬慧语科技有限责任公司 | 一种基于最大互信息的非自回归对话说生成方法及模型 |
CN112035627A (zh) * | 2020-07-27 | 2020-12-04 | 深圳技术大学 | 自动问答方法、装置、设备及存储介质 |
CN112035627B (zh) * | 2020-07-27 | 2023-11-17 | 深圳技术大学 | 自动问答方法、装置、设备及存储介质 |
CN113506573B (zh) * | 2021-08-06 | 2022-03-18 | 百融云创科技股份有限公司 | 生成回复语音的方法及装置 |
CN113506573A (zh) * | 2021-08-06 | 2021-10-15 | 百融云创科技股份有限公司 | 生成回复语音的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190220513A1 (en) | 2019-07-18 |
US11416681B2 (en) | 2022-08-16 |
CN106710596B (zh) | 2020-07-07 |
WO2018107921A1 (zh) | 2018-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106710596A (zh) | 回答语句确定方法及装置 | |
US10956771B2 (en) | Image recognition method, terminal, and storage medium | |
CN107943860B (zh) | 模型的训练方法、文本意图的识别方法及装置 | |
CN104217717B (zh) | 构建语言模型的方法及装置 | |
CN106156807B (zh) | 卷积神经网络模型的训练方法及装置 | |
CN104239535B (zh) | 一种为文字配图的方法、服务器、终端及*** | |
CN108364644A (zh) | 一种语音交互方法、终端及计算机可读介质 | |
CN106778585A (zh) | 一种人脸关键点跟踪方法和装置 | |
US20170109756A1 (en) | User Unsubscription Prediction Method and Apparatus | |
CN104618223B (zh) | 一种信息推荐的管理方法、装置和*** | |
CN110162600B (zh) | 一种信息处理的方法、会话响应的方法及装置 | |
CN108984064A (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN104820546B (zh) | 功能信息展示方法和装置 | |
CN104699501B (zh) | 一种运行应用程序的方法及装置 | |
CN110110045A (zh) | 一种检索相似文本的方法、装置以及存储介质 | |
CN105302452A (zh) | 一种基于手势交互的操作方法及装置 | |
CN109543014B (zh) | 人机对话方法、装置、终端及服务器 | |
CN107885718B (zh) | 语义确定方法及装置 | |
CN113868427A (zh) | 一种数据处理方法、装置及电子设备 | |
CN108958629A (zh) | 分屏退出方法、装置、存储介质和电子设备 | |
CN109656510A (zh) | 一种网页中语音输入的方法及终端 | |
CN106486119A (zh) | 一种识别语音信息的方法和装置 | |
CN111553163A (zh) | 文本相关度的确定方法、装置、存储介质及电子设备 | |
CN107729104A (zh) | 一种显示方法、移动终端以及计算机存储介质 | |
CN107154262A (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 |