CN109964223B - 会话信息处理方法及其装置、存储介质 - Google Patents
会话信息处理方法及其装置、存储介质 Download PDFInfo
- Publication number
- CN109964223B CN109964223B CN201780054093.8A CN201780054093A CN109964223B CN 109964223 B CN109964223 B CN 109964223B CN 201780054093 A CN201780054093 A CN 201780054093A CN 109964223 B CN109964223 B CN 109964223B
- Authority
- CN
- China
- Prior art keywords
- analyzed
- sentence
- statement
- sentences
- word
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000011218 segmentation Effects 0.000 claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 116
- 230000006870 function Effects 0.000 claims description 58
- 230000009466 transformation Effects 0.000 claims description 47
- 230000015654 memory Effects 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 244000062793 Sorghum vulgare Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 235000012907 honey Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 235000019713 millet Nutrition 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Segmentation; Word boundary detection
- G10L15/05—Word boundary detection
-
- 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/1822—Parsing for meaning understanding
-
- 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
- G10L19/135—Vector sum excited linear prediction [VSELP]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种会话信息处理方法及装置、存储介质,该方法包括:从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;对所述待分析语句和所述预设数量的所述上文语句进行分词处理,得到包括多个第一特征的第一特征集合;从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别。
Description
技术领域
本申请涉及人工智能术领域,尤其是涉及一种会话信息处理方法及装置、存储介质。
背景技术
人工智能(AI,Artificial Intelliuigence)技术是指利用计算机等现代化工具来模拟人类的思维和行动的技术。随着人工智能技术的日渐进步,人工智能技术已被应用于生产生活的各个方面,例如,对话系统。在对话系统中,AI对话机器人会对会话中的语句进行语义分析再做出相应的回复。
发明内容
本申请实例提供了一种会话信息处理方法及装置、存储介质。
本申请实例提供的会话信息处理方法包括:
从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
对所述待分析语句和所述预设数量的所述上文语句进行分词处理,得到包括多个第一特征的第一特征集合;
从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
本申请实例提供的会话信息处理方法,包括:
接收一个会话中的一个语句并将其作为待分析语句;
采用上述方法确定所述待分析语句的类别;
若所述待分析语句属于所述第一类别,则根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
若所述待分析语句属于所述第二类别,则根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
根据所述待分析语句的语义执行相应的操作。
在一些实施例中,所述若所述待分析语句属于所述第二类别,则根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义,包括:
根据所述上文语句对所述待分析语句进行补全,得到补全语句,所述补全语句为第一类别;并对所述补全语句进行语义分析,得到所述待分析语句的语义。
在一些实施例中,所述根据所述上文语句对所述待分析语句进行补全,包括:
采用映射模型,确定所述待分析语句对应的补全语句;
其中,所述映射模型为采用自编码器预先构建,所述映射模型的输入信息为所述待分析语句和所述上文语句,所述映射模型的输出信息为所述补全语句。
在一些实施例中,所述根据所述待分析语句的语义执行相应的操作,包括:
根据所述待分析语句的语义,采用槽位系统设置相应的槽位;针对所述待分析语句向用户回复信息获取语句,以获取所述槽位所需的信息;根据所述槽位所需的信息,执行相应的操作。
本申请实例提供的会话信息处理方法,由电子设备执行,方法包括:
从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
对所述待分析语句和所述预设数量的所述上文语句进行分词处理,得到包括多个第一特征的第一特征集合;
从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
本申请实例提供的会话信息处理方法,由电子设备执行,方法包括:
接收一个会话中的一个语句并将其作为待分析语句;
采用上述方法确定所述待分析语句的类别;
若所述待分析语句属于所述第一类别,则根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
若所述待分析语句属于所述第二类别,则根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
根据所述待分析语句的语义执行相应的操作。
本申请实例提供的会话信息处理装置包括:
一个或多个存储器;
一个或多个处理器;其中,
所述一个或多个存储器存储有一个或多个指令单元,经配置由所述一个或多个处理器执行;其中,
所述一个或多个指令单元包括:
第一提取单元,从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
分词单元,对所述待分析语句和所述预设数量的所述上文语句进行分词处理,得到包括多个第一特征的第一特征集合;
第二提取单元,从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
确定单元,根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
本申请实例提供的会话信息处理装置,包括:
一个或多个存储器;
一个或多个处理器;其中,
所述一个或多个存储器存储有一个或多个指令模块,经配置由所述一个或多个处理器执行;其中,
所述一个或多个指令模块包括:
接收模块,接收一个会话中的一个语句并将其作为待分析语句;
确定模块,确定所述待分析语句的类别;
第一分析模块,在所述待分析语句属于所述第一类别时,根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
第二分析模块,在所述待分析语句属于所述第二类别时,根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
执行模块,根据所述待分析语句的语义执行相应的操作。
本申请实例提供的非易失性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的步骤。
本申请实例提供的会话信息处理方法,在对待分析语句进行分类时,不仅依据待分析语句进行分类,还依据待分析语句的上文语句,相对于仅依据待分析语句进行分类的方式,语境信息量比较丰富,可以提高分类的准确性。而且,该方法不需要构造分类规则,从而减少或避免因分类规则覆盖不全面而造成的召回率较低的问题,也即提高了对待分析语句所属类别进行确定的准确性和召回率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实例涉及的一种系统架构图;
图2是本申请实例中一种会话信息处理方法的流程示意图;
图3是本申请实例中会话信息处理装置的结构框图;
图4是本申请实例中一会话的界面示意图;
图5是本申请实例中一会话的界面示意图;
图6是本申请实例中一智能音箱的使用场景图;
图7是本申请实例中会话信息处理装置的结构框图;
图8是本申请实例中计算机设备的结构框图。
具体实施方式
本申请提出了一种会话信息处理方法,该方法适用的系统架构如图1所示。该系统架构包括:客户端设备(例如,图1中的101a~101d)和服务器102,客户端设备和服务器102之间通过通信网络103连接,其中:
上述客户端设备可以是用户的电脑101a或智能手机101b,其上安装有各种应用软件的客户端软件,用户可以通过上述客户端设备登录并使用各种应用软件的客户端,该应用软件的客户端可以包括具有人工智能功能的购物客户端,例如,天猫(人工智能工具-阿里小蜜)、京东(智能客服-JIMI智能机器人),该应用软件的客户端也可以包括社交客户端,例如,微信(贤二机器僧的公众号)等,当然该应用软件的客户端还可以是其他能够提供人工智能服务的客户端。上述客户端设备除了可以为智能手机、电脑等设备外,还可以是智能音箱101c(例如,能查询机票/外卖的问问音箱、能语音购物下单的天猫精灵、能查询天气的小米AI音箱等)、智能机器人101d(例如,贤二机器僧)等硬件设备。
上述服务器102可以是一台服务器,也可以是服务器集群,与客户端设备上安装的客户端相对应,可以为客户端设备提供相应的服务。
上述通信网络103可以局域网(Local Area Network,LAN)、城域网(MetropolitanArea Network,MAN)、广域网(Wide Area Network,WAN)、移动网络、有线网络或者无线网络、专用网络等。
当用户使用上述客户端设备时,客户端设备能通过上述通信网络103与服务器102交互数据,服务器102执行本申请实例提供的会话信息处理方法,进而使用户享受人工智能服务。也就是说,上述客户端设备处于联网状态时,可以为用户提供人工智能服务。当然,本申请实例提供的会话信息处理方法不仅仅可以由上述场景中的服务器执行,也可以由直接面对用户且可以提供人工智能服务的硬件设备执行。这里,将可执行本申请实例提供的会话信息处理方法的后台服务器或者直接面对用户且可以提供人工智能服务的硬件设备统称为电子设备。
本申请实例提供一种会话信息处理方法,该方法可以由上述电子设备执行,如图2所示,具体包括:
S201、从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
可理解的是,上文语句指的是在会话中,待分析语句的上文中的语句。为了更好的理解待分析语句,可以选择与待分析语句相邻的几个上文语句。预设数量,可以根据需要进行选择,例如,2。
举例来说,在一个对话中包括以下几个语句:
A:白马寺
B:很悠久的寺院
A:去过吗?
其中,“去过吗?”为待分析语句,可以选择前两句“白马寺”、“很悠久的寺院”作为上文语句。
S202、对所述待分析语句和所述预设数量的所述上文语句进行分词处理,得到包括多个第一特征的第一特征集合;
可理解的是,这里对待分析语句和上文语句进行分词的目的是得到待分析语句和上文语句的各个第一特征。
其中,对待分析语句和上文语句进行分词的方式有多种,例如,可以利用N元模型(N-gram)算法进行分词,得到的词可以称为N-gram特征。具体分词过程包括:将所述待分析语句和所述预设数量的上文语句按照会话中的语句先后顺序进行拼接,得到拼接语句;相邻的上文语句之间采用第一字符分隔,所述待分析语句和与其相邻的上文语句之间采用第二字符分隔;从所述拼接语句中提取N-gram特征,并将所述N-gram特征作为所述第一特征形成所述第一特征集合;其中N为预设整数。
举例来说,上述N取3,第一字符为_EOS_,第二字符为_END_,以此来区分哪些语句是上文语句,哪些语句是待分析语句。对上述步骤S201中提供的对话进行拼接后得到的拼接语句为“白马寺_EOS_很悠久的寺院_END_去过吗”。然后对该拼接语句进行分词后得到:
1_gram:{白,马,寺,_EOS_,很,悠,久,的,寺,院,_END_,去,过,吗};
2_gram:{白马,马寺,寺_EOS_,_EOS很_,很悠,悠久,久的,的寺,寺院,院_END_,_END_去,去过,过吗};
3_gram:{白马寺,马寺_EOS_,寺_EOS_很,_EOS_很悠,很悠久,悠久的,久的寺,的寺院,寺院_END_,院_END_去,_END_去过,去过吗};
上述1_gram、2_gram和3_gram中的每一个特征称为N-gram特征,1_gram、2_gram和3_gram形成第一特征集合。
由于第一特征集合中的第一特征数量较多,可以采用自然数对其中的第一特征进行编号,例如,“白1”、“马2”等,进而实现对不同第一特征的区分。
S203、从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;
可理解的是,该步骤S203实际上是一个提取第二特征的过程,每一个第二特征包括第一词集合中的一个或多个词,也包括第二词集合中的一个或多个词,也就是说,第二特征即包括待分析语句中的词,也包括上文语句中的词,因此也可以将第二特征称之为交叉特征。该步骤的意义在于可以提取出有意义的语义片段。
第一词集合和第二词集合的形成过程可以参考第一特征集合的形成过程,具体为:对待分析语句进行利用N-gram算法进行分词,得到N-gram特征(这些N-gram特征可以称为第一词),这些N-gram特征形成第一词集合;同样的,对预设数量的上文语句中的各个上文语句也分别可以利用N-gram算法进行分词,得到N-gram特征(这些N-gram特征可以称为第二词),预设数量的上文语句分词得到的N-gram特征形成第二词集合。
举例来说,针对步骤S201中提供的对话,提取的第二特征可以包括:去过_白马寺、去过_悠久、去过_寺院,这些第二特征形成第二特征集合。
S204、根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
可理解的是,上述第一类别是指语句完整且语义不存在歧义。
举例来说:
A1:白马寺
B1:很悠久的寺院
A1:去过白马寺吗?
对于待分析语句“去过白马寺吗?”,其语句完整而且语义不存在歧义,因此该待分析语句属于第一类别。
上述第二类别是指语句不完整或者语义存在歧义。
举例来说:
A2:白马寺
B2:很悠久的寺院
A2:去过吗?
对于待分析语句“去过吗?”,其语句不完整,在理解其含义时需要结合上文进行分析,因此该待分析语句属于第二类别。
当然,语句类别不只是包括以上两种,例如,还包括第三类别,该类别的语句表示会话结束。
举例来说:
A3:我要睡觉了
B3:好好休息
A3:晚安
针对待分析语句“晚安”,其属于第三类别。
在会话系统中,进行语义分析时,首先要对语句进行分类,然后对不同类别的语句采用不同的方式进行语义分析。例如,对于第一类别的语句不需要进行意图继承,只需要依据待分析语句进行分析即可,而针对第二类别的语句则需要进行意图继承,即需要结合上文语句对待分析语句进行分析。对于第三类别的语句,可以不进行语义分析。
其中,该步骤S204确定所述待分析语句所属的语句类别的方式有多种,其中一种方式包括以下过程:
S2041、将所述第一特征集合和所述第二特征集合中每一个特征进行编码,得到该特征对应的第一向量,各个第一向量中元素的个数相同;
可理解的是,该步骤S2041实际上是一个特征向量化的过程,将特征转换为向量,进而便于执行后续的计算步骤。一个特征编码得到一个第一向量,各个第一向量的长度(即元素的个数)相同,而且可以根据需要预设,例如,将每一个特征编码成向量长度为100维的第一向量,所谓的100维是指第一向量中包括100个元素。在实际应用时,具体可以采用词嵌入(embedding)矩阵将每一个第一特征或第二特征转换为一个固定长度的第一向量。
S2042、根据各个所述第一向量,确定一个第二向量;所述第二向量为表示所述待分析语句和所述预设数量的上文语句的向量;
由于有一些第一向量是由待分析语句编码得到的,有一些第一向量是由上文语句编码得到的,而第二向量是依据各个第一特征而确定的,因此第二向量可以表示待分析语句和预设数量的上文语句,因此第二向量也可以称为待分析语句和上文语句的表示向量。
在实际应用时,第二向量的确定方法有多种,其中一种为:确定各个所述第一向量的平均向量,并将所述平均向量作为所述第二向量;其中,所述平均向量中每一元素为各个所述第一向量中对应位置的元素之和与所述第一向量的数量之间的比值。举例来说,第一向量有三个,而每一个第一向量中有2个元素,而且这三个第一向量为:(0.3,0.7)、(0.1,0.9)、(0.4,0.6),则第二向量为(0.27,0.73)。若采用这种方式计算第二向量,则第二向量中元素的个数与第一向量中元素的个数相同。
当然,采用向量平均法仅仅是确定第二向量的一种方式,还可以采用长短期记忆网络(Long Short-Term Memory,简称LSTM)、卷积神经网络(Convolutional NeuralNetwork,简称CNN)对各个第一向量进行处理,得到一个表示上文语句和待分析语句的第二向量。若采用LSTM或者CNN计算第二向量,得到的第二向量中元素的个数可以与第一向量中元素的个数相同,也可以与第一向量中元素的个数不同。
S2043、将所述第二向量输入预设分类器,得到所述待分析语句与各个语句类别之间的匹配度;
上述预设分类器,可以根据需要选择,例如,softmax分类器、支持向量机(SVM:Support Vector Machine)等。上述待分析语句与各个语句类别之间的匹配度可以理解为待分析语句属于各个语句类别的概率。
例如,若通过LSTM或者CNN计算得到的第二向量与语句类别的数量相同,则在该步骤S2043中可以通过softmax分类器输出待分析语句与各个语句类别之间的匹配度。具体为:将第二向量输入一softmax分类器中,该分类器采用以下公式(1)输出待分析语句与各个语句类别之间的匹配度:
式(1)中,y0,…,yn为第二向量中的各个元素。
从上述式(1)可知,Softmax分类器输出的向量中元素的个数与输入Softmax的向量中的元素的个数相同,因此在利用softmax分类器确定所述待分析语句与各个语句类别之间的匹配度时,输入向量中的元素个数需要与语句类别的个数相同。若采用其他分类器确定待分析语句与各个语句类别之间的匹配度时,则不需要使输入向量中的元素个数需要与语句类别的个数相同。
在实际应用时,为了增加本申请实例的会话信息处理方法的泛化能力,提高其非线性表达能力,还可以在将第二向量输入第二向量之前,利用变换函数对第二向量进行非线性变换,具体为:将所述第二向量输入变换模型,该变换模型包括第二预设数量的变换函数,所述变换函数能对输入数据进行非线性变换;其中,若所述第二预设数量大于或等于2,则相邻的两个变换函数中,前一个变换函数的输出数据为后一个变换函数的输入数据。这样,将变换模型的输出数据输入上述预设分类器,以获得待分析语句与各个语句类别之间的匹配度。此时,可以将上文语句的预设数量称之为第一预设数量。
可理解的是,由于前一个变化函数的输出数据为后一个变换函数的输入数据,因此上述第二预设数量的变换函数是依次连接的。第二预设数量的变换函数实际上是第二预设数量的隐层,每一隐层有一个变换函数。其中,能实现非线性变换的变换函数有多种,例如sigmoid函数。
为进一步提高泛化能力,变换函数在对输入数据进行非线性变换之前,还可以对输入数据进行一定的线性变换。举例来说,第i个变化函数可以采用以下公式(2):
hi=f2(Wi*hi-1+bi) (2)
式中,f2(x2)=1/(1+exp(-x2)),x2=Wi*hi-1+bi,Wi为权重系数,bi为偏置系数,hi-1为第i-1个变换函数的输出数据,当i为1时,h0为所述第二向量。
在上述式(2)中,利用Wi*hi-1+bi对输入数据hi-1进行线性变换,然后利用1/(1+exp(-x2))进行非线性变换。
可理解的是,如果将第二向量输入变换模型,并将变换模型的输出向量输入上述式(1)代表的softmax函数中,则y0,…,yn为变换模型的输出数据。
在实际应用时,经多次试验,第二预设数量为2时的泛化能力要比第二预设数量为1时好,如果第二预设数量大于2的话,计算量较大,而且泛化能力并没有相对于第二预设数量为2时有很大的提升,因此可以选择第二预设数量为2,当然也可以将第二预设数量设置为其他值。
在实际应用时,还可以将待输入预设分类器的向量(例如,第二向量或变换模型的输出向量)在输入预设分类器之前,先输入全连接层,全连接层的作用是把任意长度的向量转变成预设的长度,这样可以利用全连接层将待输入预设分类器的向量转换成长度与语句类别个数相同的向量,例如,语句类别的个数为3,则可以利用全连接层将待输入预设分类器的向量转换为一个有三个元素的向量,这样再将这具有三个元素的向量输入到预设分类器中,实现分类。这里,通过加入一个全连接层,利用全连接层中的转换函数实现向量的维度转换,从而可以将其转换长度与语句类别个数相同的向量。
S2044、根据所述待分析语句与各个语句类别之间的匹配度,确定所述待分析语句所属的语句类别。
在实际应用时,可以将所述待分析语句与各个语句类别之间的匹配度中最高的匹配度所对应的语句类别作为所述待分析语句所属的语句类别。
举例来说,步骤S2043中预设分类器输出向量为:(0.3,0.7),该向量中的第一个元素为待分析语句与第一类别的匹配度,第二个元素为待分析语句与第二类别的匹配度,由于0.7大于0.3,因此待分析语句属于第二类别。当然,步骤S2043输出的向量中不限于只有两个元素,元素的个数与类别的个数一致。
本申请实例提供的会话信息处理方法,实际上一个神经网络模型,而且是一个受监督的多层神经网络模型,可以实现对待分析语句所属类别的确定。在对待分析语句进行分类时,不仅依据待分析语句进行分类,还依据待分析语句的上文语句,相对于仅依据待分析语句进行分类的方式,语境信息量比较丰富,可以提高分类的准确性。而且,该方法不需要构造分类规则,从而减少或避免因分类规则覆盖不全面而造成的召回率较低的问题。总之,本申请实例提供的方法可以提高对待分析语句所属类别进行确定的准确性和召回率。
在一些实例中,由于在步骤S202中形成的第一特征集合中的第一特征的数量非常多,而且N值越大,第一特征的数量也越多,因此可以采取一定的措施减少特征的数量,然后再将第一特征编码成第一向量。其中一种减少特征数量的方式为:采用一个哈希函数,将海量的第一特征通过哈希函数离散到有限的哈希桶中,每一个哈希桶对应一个哈希值,相同哈希值的第一特征可以视为一个特征,进而达到减少特征数量的效果。具体过程可以包括:将每一个第一特征输入预设的哈希函数,得到该第一特征对应的哈希值;所述哈希函数能够将输入特征映射到预设区间的一个整数上。这样,在将第一特征编码成预设维度的第一向量时,可以将将哈希值相同的第一特征作为一个特征进行编码,得到对应的一个第一向量。例如,对于第一特征“白”和“白马”通过哈希函数会被分到编号为1的哈希桶中,进而可以将“白”和“白马”当做一个特征。
其中,哈希函数可以包括除留余数法构造的函数,具体公式如下(3):
f1(x1)=x1mod n (3)
式中,x1为所述哈希函数的输入特征;f1(x1)为哈希值,且为[0,n-1]中的整数,mod是求余数函数。
上述式(3)中的n可以根据需要选择,n值越大,哈希桶的个数越多。例如,当n=10时,可以将各个第一特征映射到0~9之间的整数上,也就是说,可以将各个第一特征分到编号为0~9的10个哈希桶里。
可见,上述利用哈希函数将第一特征映射到预设区间内的整数的过程实际上是一个聚类的过程,将比较相关或相似的特征合并为一个特征进行后续的处理。
对上述会话信息处理方法对应的,本申请实例还提供一种会话信息处理装置,该装置可以是任何执行上述会话信息处理方法的电子设备,如图3所示,该装置300包括:
一个或多个存储器;
一个或多个处理器;其中,
所述一个或多个存储器存储有一个或多个指令模块,经配置由所述一个或多个处理器执行;其中,
所述一个或多个指令单元包括:
第一提取单元301,从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
分词单元302,对所述待分析语句和所述预设数量的所述上文语句进行分词处理,得到包括多个第一特征的第一特征集合;
第二提取单元303,从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
确定单元304,根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
可理解的是,上述各单元为上述会话信息处理方法的功能模块,其有关内容的解释、举例、有益效果等部分可以参考上述会话信息处理方法中的相应部分,这里不再赘述。
在一些实例中,分词单元可以具体包括:
拼接子单元,将所述待分析语句和所述预设数量的上文语句按照会话中的语句先后顺序进行拼接,得到拼接语句;相邻的上文语句之间采用第一字符分隔,所述待分析语句和与其相邻的上文语句之间采用第二字符分隔;
提取子单元,从所述拼接语句中提取N-gram特征,并将所述N-gram特征作为所述第一特征形成所述第一特征集合;其中N为预设整数。
在一些实例中,确定单元可以包括:
编码子单元,将所述第一特征集合和所述第二特征集合中每一个特征进行编码,得到该特征对应的第一向量,各个第一向量中元素的个数相同;
第一确定子单元,根据各个所述第一向量,确定一个第二向量;所述第二向量为表示所述待分析语句和所述预设数量的上文语句的向量;
输入子单元,将所述第二向量输入预设分类器,得到所述待分析语句与各个语句类别之间的匹配度;
第二确定子单元,根据所述待分析语句与各个语句类别之间的匹配度,确定所述待分析语句所属的语句类别。
在一些实例中,上述装置还可以包括:
哈希单元,用于在编码子单元将所述第一特征集合和所述第二特征集合中每一个特征进行编码之前,将每一个第一特征输入预设的哈希函数,得到该第一特征对应的哈希值;所述哈希函数能够将输入特征映射到预设区间的一个整数上;其中,编码子单元具体将哈希值相同的第一特征作为一个特征进行编码,得到对应的一个第一向量。
在一些实例中,所述哈希函数可以包括除留余数法构造的函数,具体公式如下:
f1(x1)=x1mod n
式中,x1为所述哈希函数的输入特征;f1(x1)为哈希值,且为[0,n-1]中的整数,mod是求余数函数。
在一些实例中,所述预设数量为第一预设数量;确定单元还可以包括:
变换子单元,在输入子单元在将所述第二向量输入预设分类器之前,将第二向量输入变换模型,该变换模型包括第二预设数量的变换函数,所述变换函数能对输入数据进行非线性变换;其中,若所述第二预设数量大于或等于2,则相邻的两个变换函数中,前一个变换函数的输出数据为后一个变换函数的输入数据;其中,输入子单元具体将所述变换模型的输出数据输入所述预设分类器。
在一些实例中,第i个变换函数可以为:
hi=f2(Wi*hi-1+bi)
式中,f2(x2)=1/(1+exp(-x2)),x2=Wi*hi-1+bi,Wi为权重系数,bi为偏置系数,hi-1为第i-1个变换函数的输出数据,当i为1时,h0为所述第二向量。
在一些实例中,第一确定子单元具体:确定各个所述第一向量的平均向量,并将所述平均向量作为所述第二向量;其中,所述平均向量中每一元素为各个所述第一向量中对应位置的元素之和与所述第一向量的数量之间的比值。
在一些实例中,所述预设分类器可以采用以下公式计算所述待分析语句与各个语句类别之间的匹配度:
式中,y0,…,yn为输入所述预设分类器的向量中的各个元素。
在一些实例中,第二确定子单元具体将所述待分析语句与各个语句类别之间的匹配度中最高的匹配度所对应的语句类别作为所述待分析语句所属的语句类别。
上述会话信息处理方法或装置可以对待分析语句进行分类,得知待分析语句所属的类别,基于分类结果,还可以对待分析语句进行进一步处理,例如进行语义分析,或者在语义分析的基础上执行某种操作,因此本申请实例提供另一种会话信息处理方法,该方法可以包括以下步骤:
S301、接收一个会话中的一个语句并将其作为待分析语句;
可理解的是,语句可以是用户进行文本输入的,也可以是将用户输入的语音数据转换得到的,当然,还可以是采用其他形式得到的。例如,如图4所示,当用户在手机上的某客户端上通过智能工具查询天气时,用户可以手动输入“北京明天的天气”,也可以语音输入“北京明天的天气”,然后智能工具对这一语句进行分析后查询当前的天气并发出所查询到的天气信息“天气晴朗,有北风”……。再例如,用户与某一机器人时,用户说“菩提本无树”,该机器人接收到这一语音后,将其转换为文本语句,进行分析后回复“明镜亦非台”。
S302、采用上述S201~S204确定所述待分析语句的类别;
S303、若所述待分析语句属于所述第一类别,则根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
若待分析语句为第一类别,说明待分析语句的语句完整且语义不存在歧义,因此依据待分析语句本身进行分析,即可以知道语义。
举例来说,针对以下对话:
A1:白马寺
B1:很悠久的寺院
A1:去过白马寺吗?
待分析语句“去过白马寺吗?”为第一类别,则可以直接根据“去过白马寺吗?”这句话本身分析语义即可。
S304、若所述待分析语句属于所述第二类别,则根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
若待分析语句为第二类别,说明待分析语句不完整或者语义存在歧义,因此需要结合上文语句对待分析语句进行语义分析。
举例来说,针对以下对话:
A2:白马寺
B2:很悠久的寺院
A2:去过吗?
待分析语句“去过吗?”为第二类别,则需要结合上文语句“白马寺”、“很悠久的寺院”对待分析语句的含义进行分析,得知其含义是“去过白马寺吗?”。
当在获知待分析语句属于所述第二类别,则可以采用补全技术,对待分析语句进行补全。所谓的补全是抽取上文中的一些词或者短语,加入待分析语句中,形成一个流场无歧义的语句,从而将多轮对话压缩成一个单轮语句。也就是说,根据所述上文语句对所述待分析语句进行补全,得到补全语句,所述补全语句为第一类别;然后就可以对所述补全语句进行语义分析,得到所述待分析语句的语义。
举例来说:
用户A:讲个故事给我听;
机器人:等我学会了给你讲哦。
用户A:我等着。
上述补全的目的将是将“我等着”结合上文改写成“我等着听故事”。这样对于语义的分析更加有利。
实现语句补全可以采用以下方式:
q’=F(q|C)
输入中的C是上文语句,即前几轮对话,q是待分析语句,q’是补全后的语句,具有完整的语义,F是构造的一个映射模型,根据输入的上文语句和待分析语句即可以输出补全后的语句。
映射模型的构建可以抽象为一个翻译问题,对于上面的举例来说,可以将多轮对话视为一种表述繁杂的语言A,而我们的目标是将其翻译为表达简洁紧凑的语言B。具体可以采用自编码器实现,即encoder-decoder架构进行端对端的建模,可以自动根据上文语句与有信息缺失的待分析语句生成语义完整的语句。在该框架中,编码部分可以采用LSTM对输入进行编码,解码部分可以采用RNN进行输出语句的生成,同时为了加强上文语句中相关词对生成输出语句的影响,可以采用注意力机制来加强关键部分的影响,减弱无关信息的影响。
具体建模过程可以包括:将输入的上文语句与输入的待分析语句拼接在一起,得到一个拼接语句。在编码过程中,采用双向LSTM以每个字为中心,抽取整个拼接语句的嵌入(即embedding)。然后根据解码器的隐层和编码器中的嵌入计算注意力权重值,并以此权重值对抽取的嵌入计算加权和,得到当前重要词下全局的向量表达,将该向量与解码器的隐层、上一个生成的字一起输入解码器,得到下一个要生成的字在字典中的概率分布,并取概率最大的一个字作为输出。重复以上过程,直至生成结束符。由此,得到完整的语句并输出。
S305、根据所述待分析语句的语义执行相应的操作。
举例来说,如图5所示,用户在某一客户端的智能客服上输入“订飞机票”,用户通过智能客服等进行下单的对话实际上是需要精确控制的任务型对话,对于这种类型的对话,可以采用槽位系统来进行对话管理,也就是说,通过槽位系统配置对话和流程,预设需要填入的信息作为槽位,对于信息缺失的槽位,需要通过向用户发问来获取对应的信息。也就是说,智能客服根据所述待分析语句的语义,采用槽位系统设置相应的槽位;针对所述待分析语句向用户回复信息获取语句,以获取所述槽位所需的信息;根据所述槽位所需的信息,执行相应的操作。就这个例子而言,用户在某智能客服上输入“订飞机票”,由于订飞机票需要出发地、目的地、出发时间、订票人信息等,通过槽位系统配置相关的槽位,针对每一个信息缺失的槽位,都会向用户发问。因此,智能客服回复“您想要从哪里出发呀?”,然后用户输入“北京”,然后智能客服回复“您想从北京到哪个城市呢?”,以此类推,通过不断的发问,从用户的回答中获取所需的信息,填入相应的槽位,在获取完整信息后便可以进行订票操作。当然,已经填好信息的槽位也可以进行信息更改,例如,在智能客服回复“您想从北京到哪个城市呢?”之后,用户输入了“换出发地”,智能客服的服务器接收到这一语句后,确定其类别为第二类别,需要结合上文理解,经分析得知其语义是:更换飞机票的出发地,进而执行以下操作:回复用户“您想更换为哪个城市呢?”,并在输入框的下方提供了几个可能的更换城市:上海、广州、深圳、青岛。在用户输入更换城市后,智能客服便将对应的槽位进行信息替换,实现信息修改。可见,
在上一举例中,执行的相应操作是回复一条语句。当然执行的相应操作不限于回复一条语句,还可以是对播放歌曲、查询新闻信息、下单等。例如,如图6所示,若用户发出语音“播放歌曲《新不了情》”,智能音箱接收到这一条语音后,播放该歌曲,具体的实现过程大致为:智能音箱通过通信网络与后台的服务器处于连接状态,当智能音箱在接收到语音后,会将语音发送至后台的服务器,然后后台的服务器转换为文本语句,对其进行分析获知其语义后,服务器执行以下操作:在歌曲库中查询《新不了情》,并将音频流发送给智能音箱,以使智能音箱进行播放该歌曲。
与该会话信息处理方法对应的,本申请实例还提供一种会话信息处理装置,如图7所示,该装置700包括:
一个或多个存储器;
一个或多个处理器;其中,
所述一个或多个存储器存储有一个或多个指令模块,经配置由所述一个或多个处理器执行;其中,
所述一个或多个指令模块包括:
接收模块701,接收一个会话中的一个语句并将其作为待分析语句;
确定模块702,包括上述装置300中的所述一个或多个指令单元,以确定所述待分析语句的类别;
第一分析模块703,在所述待分析语句属于所述第一类别时,根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
第二分析模块704,在所述待分析语句属于所述第二类别时,根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
执行模块705,根据所述待分析语句的语义执行相应的操作。
可理解的是,上述各单元为上述会话信息处理方法S301~S305的功能模块,其有关内容的解释、举例、有益效果等部分可以参考上述会话信息处理方法中的相应部分,这里不再赘述。
本申请实例还提供一种非易失性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一方法(例如,S201~S204或者S301~S305)的步骤。
本申请实例还提供一种计算机设备,该计算机设备可以为上述电子设备,如图8所示,该计算机设备包括一个或者多个处理器(CPU)802、通信模块804、存储器806、用户接口810,以及用于互联这些组件的通信总线808,其中:
处理器802可通过通信模块804接收和发送数据以实现网络通信和/或本地通信。
用户接口810包括一个或多个输出设备812,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口810也包括一个或多个输入设备814,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器806可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器806存储处理器802可执行的指令集,包括:
操作系统816,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用818,包括用于会话信息处理的各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括会话信息处理装置中的部分或者全部指令模块或单元。处理器802通过执行存储器806中各单元中至少一个单元中的机器可执行指令,进而能够实现上述各单元或模块中的至少一个模块的功能。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实例也可以体现为软件产品。
各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和/或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
图8模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。
以上所述仅为本申请的较佳实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (15)
1.一种会话信息处理方法,其特征在于,包括:
从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
将所述待分析语句和所述预设数量的上文语句按照会话中的语句先后顺序进行拼接,得到拼接语句;相邻的上文语句之间采用第一字符分隔,所述待分析语句和与其相邻的上文语句之间采用第二字符分隔;
从所述拼接语句中提取第一N-gram特征,并将从所述拼接语句提取的所述第一N-gram特征作为第一特征形成第一特征集合;
对所述待分析语句进行分词,得到第二N-gram特征,并将根据所述待分析语句得到的所述第二N-gram特征作为第一词形成第一词集合;
对所述预设数量的上文语句中的各个上文语句进行分词,得到第三N-gram特征,并将根据所述预设数量的上文语句得到的所述第三N-gram特征作为第二词形成第二词集合,其中N为预设整数;
从所述待分析语句对应的所述第一词集合和所述预设数量的所述上文语句对应的所述第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别,包括:
将所述第一特征集合和所述第二特征集合中每一个特征进行编码,得到该特征对应的第一向量,各个第一向量中元素的个数相同;
根据各个所述第一向量,确定一个第二向量;所述第二向量为表示所述待分析语句和所述预设数量的上文语句的向量;
将所述第二向量输入预设分类器,得到所述待分析语句与各个语句类别之间的匹配度;
根据所述待分析语句与各个语句类别之间的匹配度,确定所述待分析语句所属的语句类别。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一特征集合和所述第二特征集合中每一个特征进行编码之前,所述方法还包括:
将每一个第一特征输入预设的哈希函数,得到该第一特征对应的哈希值;所述哈希函数能够将输入特征映射到预设区间的一个整数上;
其中,所述将所述第一特征集合和所述第二特征集合中每一个特征进行编码,得到该特征对应的预设维度的第一向量,包括:
将哈希值相同的第一特征作为一个特征进行编码,得到对应的一个第一向量。
4.根据权利要求3所述的方法,其特征在于,所述哈希函数包括:
f1(x1)=x1 mod n
式中,x1为所述哈希函数的输入特征;f1(x1)为哈希值,且为[0,n-1]中的整数。
5.根据权利要求2所述的方法,其特征在于,所述预设数量为第一预设数量;所述将所述第二向量输入预设分类器之前,所述方法还包括:
将所述第二向量输入变换模型,该变换模型包括第二预设数量的变换函数,所述变换函数能对输入数据进行非线性变换;其中,若所述第二预设数量大于或等于2,则相邻的两个变换函数中,前一个变换函数的输出数据为后一个变换函数的输入数据;
其中,所述将所述第二向量输入预设分类器,包括:
将所述变换模型的输出数据输入所述预设分类器。
6.根据权利要求5所述的方法,其特征在于,第i个变换函数为:
hi=f2(Wi*hi-1+bi)
式中,f2(x2)=1/(1+exp(-x2)),x2=Wi*hi-1+bi,Wi为权重系数,bi为偏置系数,hi-1为第i-1个变换函数的输出数据,当i为1时,h0为所述第二向量。
7.根据权利要求2~6任一项所述的方法,其特征在于,所述根据各个所述第一向量,确定一个第二向量,包括:
确定各个所述第一向量的平均向量,并将所述平均向量作为所述第二向量;其中,所述平均向量中每一元素为各个所述第一向量中对应位置的元素之和与所述第一向量的数量之间的比值。
9.根据权利要求2~6任一项所述的方法,其特征在于,所述根据所述待分析语句与各个语句类别之间的匹配度,确定所述待分析语句所属的语句类别,包括:
将所述待分析语句与各个语句类别之间的匹配度中最高的匹配度所对应的语句类别作为所述待分析语句所属的语句类别。
10.一种会话信息处理方法,其特征在于,包括:
接收一个会话中的一个语句并将其作为待分析语句;
采用权利要求1~9任一项所述的方法确定所述待分析语句的类别;
若所述待分析语句属于所述第一类别,则根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
若所述待分析语句属于所述第二类别,则根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
根据所述待分析语句的语义执行相应的操作。
11.一种会话信息处理方法,其特征在于,由电子设备执行,该方法包括:
从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
将所述待分析语句和所述预设数量的上文语句按照会话中的语句先后顺序进行拼接,得到拼接语句;相邻的上文语句之间采用第一字符分隔,所述待分析语句和与其相邻的上文语句之间采用第二字符分隔;
从所述拼接语句中提取第一N-gram特征,并将从所述拼接语句提取的所述第一N-gram特征作为第一特征形成第一特征集合;
对所述待分析语句进行分词,得到第二N-gram特征,并将根据所述待分析语句得到的所述第二N-gram特征作为第一词形成第一词集合;
对所述预设数量的上文语句中的各个上文语句进行分词,得到第三N-gram特征,并将根据所述预设数量的上文语句得到的所述第三N-gram特征作为第二词形成第二词集合,其中N为预设整数;
从所述待分析语句对应的所述第一词集合和所述预设数量的所述上文语句对应的所述第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
12.一种会话信息处理方法,其特征在于,由电子设备执行,该方法包括:
接收一个会话中的一个语句并将其作为待分析语句;
采用权利要求11所述的方法确定所述待分析语句的类别;
若所述待分析语句属于所述第一类别,则根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
若所述待分析语句属于所述第二类别,则根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
根据所述待分析语句的语义执行相应的操作。
13.一种会话信息处理装置,其特征在于,包括:
一个或多个存储器;
一个或多个处理器;其中,
所述一个或多个存储器存储有一个或多个指令单元,经配置由所述一个或多个处理器执行;其中,
所述一个或多个指令单元包括:
第一提取单元,从一个会话中提取待分析语句和预设数量的所述待分析语句的上文语句;
分词单元,将所述待分析语句和所述预设数量的上文语句按照会话中的语句先后顺序进行拼接,得到拼接语句;相邻的上文语句之间采用第一字符分隔,所述待分析语句和与其相邻的上文语句之间采用第二字符分隔;从所述拼接语句中提取第一N-gram特征,并将从所述拼接语句提取的所述第一N-gram特征作为第一特征形成第一特征集合;
第二提取单元,对所述待分析语句进行分词,得到第二N-gram特征,并将根据所述待分析语句得到的所述第二N-gram特征作为第一词形成第一词集合;对所述预设数量的上文语句中的各个上文语句进行分词,得到第三N-gram特征,并将根据所述预设数量的上文语句得到的所述第三N-gram特征作为第二词形成第二词集合,其中N为预设整数;从所述待分析语句对应的第一词集合和所述预设数量的所述上文语句对应的第二词集合中提取包括一个或多个第二特征的第二特征集合;其中,一个第二特征包括第一词和第二词组成的词组或语句,所述第一词为所述第一词集合中的一个或者多个词,所述第二词为所述第二词集合中的一个或多个词;及
确定单元,根据所述第一特征集合和所述第二特征集合,确定所述待分析语句所属的语句类别;所述语句类别包括表示语句完整且语义不存在歧义的第一类别或表示语句不完整或者语义存在歧义的第二类别。
14.一种会话信息处理装置,其特征在于,包括:
一个或多个处理器;其中,
所述一个或多个存储器存储有一个或多个指令模块,经配置由所述一个或多个处理器执行;其中,
所述一个或多个指令模块包括:
接收模块,接收一个会话中的一个语句并将其作为待分析语句;
确定模块,采用权利要求12所述的方法确定所述待分析语句的类别;
第一分析模块,在所述待分析语句属于所述第一类别时,根据所述待分析语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;
第二分析模块,在所述待分析语句属于所述第二类别时,根据所述待分析语句和所述预设数量的上文语句,对所述待分析语句的语义进行分析得到所述待分析语句的语义;及
执行模块,根据所述待分析语句的语义执行相应的操作。
15.一种非易失性计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1~9任一所述方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/107269 WO2019079922A1 (zh) | 2017-10-23 | 2017-10-23 | 会话信息处理方法及其装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109964223A CN109964223A (zh) | 2019-07-02 |
CN109964223B true CN109964223B (zh) | 2020-11-13 |
Family
ID=66247106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780054093.8A Active CN109964223B (zh) | 2017-10-23 | 2017-10-23 | 会话信息处理方法及其装置、存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10971141B2 (zh) |
CN (1) | CN109964223B (zh) |
WO (1) | WO2019079922A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102608469B1 (ko) * | 2017-12-22 | 2023-12-01 | 삼성전자주식회사 | 자연어 생성 방법 및 장치 |
CN110489761B (zh) * | 2018-05-15 | 2021-02-02 | 科大讯飞股份有限公司 | 一种篇章级文本翻译方法及装置 |
US11600194B2 (en) * | 2018-05-18 | 2023-03-07 | Salesforce.Com, Inc. | Multitask learning as question answering |
US11768874B2 (en) * | 2018-12-19 | 2023-09-26 | Microsoft Technology Licensing, Llc | Compact entity identifier embeddings |
CN110427625B (zh) * | 2019-07-31 | 2022-12-27 | 腾讯科技(深圳)有限公司 | 语句补全方法、装置、介质及对话处理系统 |
CN110879938A (zh) * | 2019-11-14 | 2020-03-13 | 中国联合网络通信集团有限公司 | 文本情感分类方法、装置、设备和存储介质 |
CN110808031A (zh) * | 2019-11-22 | 2020-02-18 | 大众问问(北京)信息科技有限公司 | 一种语音识别方法、装置和计算机设备 |
CN111400475A (zh) * | 2020-03-24 | 2020-07-10 | 联想(北京)有限公司 | 信息处理方法、装置和电子设备 |
CN111583919B (zh) * | 2020-04-15 | 2023-10-13 | 北京小米松果电子有限公司 | 信息处理方法、装置及存储介质 |
CN111507088B (zh) * | 2020-04-15 | 2022-12-16 | 深圳前海微众银行股份有限公司 | 语句补全方法、设备及可读存储介质 |
CN111538823A (zh) * | 2020-04-26 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 信息处理方法、模型训练方法、装置、设备及介质 |
CN111639163A (zh) * | 2020-04-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 问题生成模型的训练方法、问题生成方法及其相关设备 |
CN113806469B (zh) * | 2020-06-12 | 2024-06-11 | 华为技术有限公司 | 语句意图识别方法及终端设备 |
CN111737990B (zh) * | 2020-06-24 | 2023-05-23 | 深圳前海微众银行股份有限公司 | 一种词槽填充方法、装置、设备及存储介质 |
CN111783429B (zh) * | 2020-07-31 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、电子设备以及存储介质 |
CN112818699A (zh) * | 2021-03-03 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 风险分析方法、装置、设备及计算机可读存储介质 |
CN113095087B (zh) * | 2021-04-30 | 2022-11-25 | 哈尔滨理工大学 | 一种基于图卷积神经网络的中文词义消歧方法 |
CN113691686A (zh) * | 2021-09-17 | 2021-11-23 | 杭州一知智能科技有限公司 | 一种基于微信的智能语音外呼系统及方法 |
US11941345B2 (en) * | 2021-10-26 | 2024-03-26 | Grammarly, Inc. | Voice instructed machine authoring of electronic documents |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892488B2 (en) * | 2011-06-01 | 2014-11-18 | Nec Laboratories America, Inc. | Document classification with weighted supervised n-gram embedding |
CN104598445A (zh) * | 2013-11-01 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 自动问答系统和方法 |
CN106547735A (zh) * | 2016-10-25 | 2017-03-29 | 复旦大学 | 基于深度学习的上下文感知的动态词或字向量的构建及使用方法 |
CN106997342A (zh) * | 2017-03-27 | 2017-08-01 | 上海奔影网络科技有限公司 | 基于多轮交互的意图识别方法和装置 |
CN107133345A (zh) * | 2017-05-22 | 2017-09-05 | 北京百度网讯科技有限公司 | 基于人工智能的交互方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050043940A1 (en) * | 2003-08-20 | 2005-02-24 | Marvin Elder | Preparing a data source for a natural language query |
US20180096203A1 (en) * | 2004-04-12 | 2018-04-05 | Google Inc. | Adding value to a rendered document |
US8713418B2 (en) * | 2004-04-12 | 2014-04-29 | Google Inc. | Adding value to a rendered document |
CN105701088B (zh) * | 2016-02-26 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 从机器对话切换到人工对话的方法和装置 |
DK179745B1 (en) * | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
US10404636B2 (en) * | 2017-06-15 | 2019-09-03 | Google Llc | Embedded programs and interfaces for chat conversations |
US10348658B2 (en) * | 2017-06-15 | 2019-07-09 | Google Llc | Suggested items for use with embedded applications in chat conversations |
US11382543B2 (en) * | 2018-06-11 | 2022-07-12 | Edwards Lifesciences Corporation | Tubing system for use in a blood sampling-blood pressure monitoring system |
US10388272B1 (en) * | 2018-12-04 | 2019-08-20 | Sorenson Ip Holdings, Llc | Training speech recognition systems using word sequences |
-
2017
- 2017-10-23 WO PCT/CN2017/107269 patent/WO2019079922A1/zh active Application Filing
- 2017-10-23 CN CN201780054093.8A patent/CN109964223B/zh active Active
-
2019
- 2019-10-31 US US16/670,822 patent/US10971141B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892488B2 (en) * | 2011-06-01 | 2014-11-18 | Nec Laboratories America, Inc. | Document classification with weighted supervised n-gram embedding |
CN104598445A (zh) * | 2013-11-01 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 自动问答系统和方法 |
CN106547735A (zh) * | 2016-10-25 | 2017-03-29 | 复旦大学 | 基于深度学习的上下文感知的动态词或字向量的构建及使用方法 |
CN106997342A (zh) * | 2017-03-27 | 2017-08-01 | 上海奔影网络科技有限公司 | 基于多轮交互的意图识别方法和装置 |
CN107133345A (zh) * | 2017-05-22 | 2017-09-05 | 北京百度网讯科技有限公司 | 基于人工智能的交互方法和装置 |
Non-Patent Citations (1)
Title |
---|
克服过拟合和提高泛化能力的20条技巧和诀窍;starzhou;《CSDN博客-https://blog.csdn.net/starzhou/article/details/52754436》;20161008;第1-14页 * |
Also Published As
Publication number | Publication date |
---|---|
US10971141B2 (en) | 2021-04-06 |
WO2019079922A1 (zh) | 2019-05-02 |
CN109964223A (zh) | 2019-07-02 |
US20200066262A1 (en) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109964223B (zh) | 会话信息处理方法及其装置、存储介质 | |
CN111739521B (zh) | 电子设备唤醒方法、装置、电子设备及存储介质 | |
US20210232948A1 (en) | Question responding apparatus, question responding method and program | |
CN110288980A (zh) | 语音识别方法、模型的训练方法、装置、设备及存储介质 | |
CN112100349A (zh) | 一种多轮对话方法、装置、电子设备及存储介质 | |
CN115309877B (zh) | 对话生成方法、对话模型训练方法及装置 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN112632244A (zh) | 一种人机通话的优化方法、装置、计算机设备及存储介质 | |
CN111783429B (zh) | 信息处理方法、装置、电子设备以及存储介质 | |
CN113887237A (zh) | 多意图文本的槽位预测方法、装置及计算机设备 | |
CN118043885A (zh) | 用于半监督语音识别的对比孪生网络 | |
CN113705315A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN115394321A (zh) | 音频情感识别方法、装置、设备、存储介质及产品 | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及系统 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN112800339B (zh) | 信息流搜索方法、装置及设备 | |
CN111898363B (zh) | 文本长难句的压缩方法、装置、计算机设备及存储介质 | |
CN115101075B (zh) | 一种语音识别的方法以及相关装置 | |
WO2023137903A1 (zh) | 基于粗糙语义的回复语句确定方法、装置及电子设备 | |
CN116976346A (zh) | 一种文本识别的方法、装置、电子设备和存储介质 | |
CN115620726A (zh) | 语音文本生成方法、语音文本生成模型的训练方法、装置 | |
CN114333772A (zh) | 语音识别方法、装置、设备、可读存储介质及产品 | |
CN114333790A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN110347813B (zh) | 一种语料处理方法、装置、存储介质及电子设备 | |
CN113420869A (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 |