CN111767386A - 对话处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
对话处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111767386A CN111767386A CN202010756385.XA CN202010756385A CN111767386A CN 111767386 A CN111767386 A CN 111767386A CN 202010756385 A CN202010756385 A CN 202010756385A CN 111767386 A CN111767386 A CN 111767386A
- Authority
- CN
- China
- Prior art keywords
- sentences
- topic
- sentence
- conversation
- objects
- 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
- 238000003672 processing method Methods 0.000 title abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 53
- 239000013598 vector Substances 0.000 claims description 44
- 230000011218 segmentation Effects 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 20
- 238000001914 filtration Methods 0.000 claims description 17
- 238000012216 screening Methods 0.000 claims description 16
- 238000003199 nucleic acid amplification method Methods 0.000 claims 1
- 241000282414 Homo sapiens Species 0.000 abstract description 9
- 230000000977 initiatory effect Effects 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种对话处理方法、装置、电子设备及计算机可读存储介质;方法包括:响应于对话触发操作,呈现对话页面,其中,所述对话页面中参与有多个对象;呈现与所述多个对象匹配的第一话题相关的开场语句;接收所述多个对象在接收到所述开场语句之后发送的对话语句,并在所述对话页面中呈现所述多个对象之间的对话语句;在所述对话页面中呈现用于回复所述对话语句的回复语句。通过本申请,能够寻找合适的时机并以合适的话题/语句来发起对话/参与对话,实现高度模仿人类的对话智能性。
Description
技术领域
本申请涉及人工智能的技术领域,尤其涉及一种对话处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
其中,智能助手(也称为聊天机器人)作为自然语言处理技术中的一个非常重要的应用,也随着技术的逐渐成熟进入了一个新的发展阶段。然而,相关技术提供的智能助手的对话方式较为单一,即仍然缺乏相当的智能性。
发明内容
本申请实施例提供一种对话处理方法、装置、电子设备及计算机可读存储介质,能够寻找合适的时机并以合适的话题/语句来发起对话/参与对话,实现高度模仿人类的对话智能性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种对话处理方法,包括:
响应于对话触发操作,呈现对话页面,其中,所述对话页面中参与有多个对象;
呈现与所述多个对象匹配的第一话题相关的开场语句;
接收所述多个对象在接收到所述开场语句之后发送的对话语句,并在所述对话页面中呈现所述多个对象之间的对话语句;
在所述对话页面中呈现用于回复所述对话语句的回复语句。
上述方案中,在呈现与所述多个对象匹配的第一话题相关的开场语句之前,所述方法还包括:获取所述多个对象的共同标签,以确定为与所述多个对象匹配的第一话题;对所述共同标签进行扩写处理,得到包含所述共同标签的语句,以作为标签语句;从问答数据库中查询出用于答复所述标签语句的多个语句,从所述多个语句中确定与所述第一话题相关的开场语句。
上述方案中,所述从问答数据库中查询出用于答复所述标签语句的多个语句,包括:对所述标签语句进行分词处理,得到分词结果集,并针对所述分词结果集中的每个单词确定对应的权重值;从问答数据库中查询出与所述分词结果集匹配的多个语句,根据每个所述语句中所包括的单词对应的权重值,确定每个所述语句的权重值;对所述多个语句的权重值进行降序排序,将排序靠前的M个语句确定为用于答复所述标签语句的语句;其中,M为正整数且小于所述多个语句的总数。
上述方案中,所述从所述多个语句中确定与所述第一话题相关的开场语句,包括:确定所述标签语句对应的特征向量与所述M个语句分别对应的特征向量之间的相似度;根据所述相似度对所述M个语句进行降序排序,基于排序靠前的N个语句确定与所述第一话题相关的开场语句;其中,N为正整数,N小于M。
上述方案中,所述基于排序靠前的N个语句确定与所述第一话题相关的开场语句,包括:针对所述N个语句,执行以下至少一种筛选操作:删除句子长度短于第一长度阈值的语句、以及删除句子长度长于第二长度阈值的语句;对所述N个语句中包含的人称进行改写处理;删除包含敏感词、姓名、或者性别代指的语句;删除逆文档频率得分低于得分阈值的语句;删除不是问句的语句;基于所述筛选操作后剩余的语句确定与所述第一话题相关的开场语句。
上述方案中,所述基于所述筛选操作后剩余的语句确定与所述第一话题相关的开场语句,包括:根据所述共同标签对应的标签类别,获取与所述标签类别对应的话术;将所述话术和所述筛选操作后剩余的语句进行组合处理,将组合得到的语句确定为与所述第一话题相关的开场语句。
上述方案中,所述对所述共同标签进行扩写处理,包括:确定所述共同标签的类型;当所述共同标签为第一类标签时,直接对所述共同标签进行扩写处理;当所述共同标签为第二类标签时,获取与所述共同标签匹配的扩展标签,并对所述扩展标签进行扩写处理;其中,所述第一类标签为具有明确的话题指向的标签;所述第二类标签为能继续划分为不同话题的标签。
上述方案中,所述获取与所述共同标签匹配的扩展标签,包括:确定所述共同标签对应的词向量与候选词对应的词向量之间的相似度;将相似度大于相似度阈值的候选词,确定为与所述共同标签匹配的扩展标签。
上述方案中,所述将相似度大于相似度阈值的候选词,确定为与所述共同标签匹配的扩展标签,包括:对相似度大于相似度阈值的候选词中过滤掉特定类型的候选词,将经过所述过滤处理后剩余的候选词确定为与所述共同标签匹配的扩展标签。
本申请实施例提供一种对话处理装置,包括:
呈现模块,用于响应于对话触发操作,呈现对话页面,其中,所述对话页面中参与有多个对象;
所述呈现模块,还用于呈现与所述多个对象匹配的第一话题相关的开场语句;
接收模块,用于接收所述多个对象在接收到所述开场语句之后发送的对话语句;
所述呈现模块,还用于在所述对话页面中呈现所述多个对象之间的对话语句;
所述呈现模块,还用于在所述对话页面中呈现用于回复所述对话语句的回复语句。
上述方案中,所述呈现模块,还用于当呈现所述对话页面时,实时呈现与所述多个对象匹配的第一话题相关的开场语句;以及用于当有新对象加入所述对话页面时,呈现与所述新对象、在所述新对象之前加入所述对话页面的所述多个对象均匹配的第一话题相关的开场语句。
上述方案中,所述呈现模块,还用于响应于自动对话触发操作,呈现回复一个对话语句的回复语句,或呈现针对顺序接收的多个对话语句的回复语句,直至接收到自动对话结束操作;其中,所述回复语句的类型包括以下至少之一:提示所述多个对象继续进行对话的提示性用语;与区别于所述第一话题的第二话题相关的语句,且所述第二话题是与所述多个对象匹配的;与区别于所述第一话题的第三话题相关的语句,所述第三话题是所述多个对象之间的对话语句所聚焦的话题。
上述方案中,所述呈现模块,还用于在所述对话页面中呈现智能助手的形象,且所述开场语句以及所述回复语句是以所述智能助手的身份在所述对话页面中呈现的。
上述方案中,所述呈现模块,还用于自动在所述对话页面中呈现所述智能助手的形象,并在所述对话页面中始终呈现所述智能助手的形象;以及用于响应于针对所述智能助手的唤醒操作,在所述对话页面中呈现所述智能助手的形象,并响应于针对所述智能助手的隐藏操作,隐藏所述智能助手的形象;以及用于当所述对话页面中以所述智能助手的身份呈现所述开场语句时,呈现所述智能助手的形象;以及用于当呈现所述回复语句的数量超出数量阈值时,或响应于针对所述智能助手的隐藏操作时,隐藏所述智能助手的形象;以及用于当所述对话页面中以所述智能助手的身份呈现所述回复语句时,呈现所述智能助手的形象,并当在所述回复语句之后呈现新接收的对话语句时,隐藏所述智能助手的形象。
上述方案中,所述呈现模块,还用于当接收到任意一个所述对话语句,且在等待时间内没有接收到新的对话语句时,自动呈现用于回复所述对话语句的回复语句;其中,所述回复语句的类型包括以下至少之一:提示所述多个对象继续进行对话的提示性用语;与区别于所述第一话题的第二话题相关的语句,且所述第二话题是与所述多个对象匹配的话题;与区别于所述第一话题的第三话题相关的语句,所述第三话题是所述多个对象之间的对话语句所聚焦的话题。
上述方案中,所述装置还包括确定模块,用于对所述多个对象之间的对话语句进行语义分析,以确定所述多个对象之间的对话语句所聚焦的话题;所述呈现模块,还用于当所述多个对象之间的对话语句所聚焦的话题为所述第一话题,且所述多个对象针对所述第一话题的对话时长超出对话时长阈值时,呈现与区别于所述第一话题的第二话题相关的语句;以及用于当所述多个对象之间的对话语句所聚焦的话题为区别于所述第一话题的所述第三话题,且所述多个对象针对所述第三话题的对话时长低于对话时长阈值时,自动呈现与所述第三话题相关的回复语句。
上述方案中,所述确定模块,还用于获取多个对象的共同标签,以确定为与所述多个对象匹配的第一话题;以及用于对所述共同标签进行扩写处理,得到包含所述共同标签的语句,以作为标签语句;以及用于从问答数据库中查询出用于答复所述标签语句的多个语句,从所述多个语句中确定与所述第一话题相关的开场语句。
上述方案中,所述确定模块,还用于对所述标签语句进行分词处理,得到分词结果集,并针对所述分词结果集中的每个单词确定对应的权重值;从问答数据库中查询出与所述分词结果集匹配的多个语句,根据每个所述语句中所包括的单词对应的权重值,确定每个所述语句的权重值;对所述多个语句的权重值进行降序排序,将排序靠前的M个语句确定为用于答复所述标签语句的语句;其中,M为正整数且小于所述多个语句的总数。
上述方案中,所述确定模块,还用于确定所述标签语句对应的特征向量与所述M个语句分别对应的特征向量之间的相似度;根据所述相似度对所述M个语句进行降序排序,基于排序靠前的N个语句确定与所述第一话题相关的开场语句;其中,N为正整数,N小于M。
上述方案中,所述确定模块,还用于针对所述N个语句,执行以下至少一种筛选操作:删除句子长度短于第一长度阈值的语句、以及删除句子长度长于第二长度阈值的语句;对所述N个语句中包含的人称进行改写处理;删除包含敏感词、姓名、或者性别代指的语句;删除逆文档频率得分低于得分阈值的语句;删除不是问句的语句;基于所述筛选操作后剩余的语句确定与所述第一话题相关的开场语句。
上述方案中,所述确定模块,还用于根据所述共同标签对应的标签类别,获取与所述标签类别对应的话术;将所述话术和所述筛选操作后剩余的语句进行组合处理,将组合得到的语句确定为与所述第一话题相关的开场语句。
上述方案中,所述确定模块,还用于确定所述共同标签的类型;当所述共同标签为第一类标签时,直接对所述共同标签进行扩写处理;当所述共同标签为第二类标签时,获取与所述共同标签匹配的扩展标签,并对所述扩展标签进行扩写处理;其中,所述第一类标签为具有明确的话题指向的标签;所述第二类标签为能继续划分为不同话题的标签。
上述方案中,所述确定模块,还用于确定所述共同标签对应的词向量与候选词对应的词向量之间的相似度;将相似度大于相似度阈值的候选词,确定为与所述共同标签匹配的扩展标签。
上述方案中,所述确定模块,还用于对相似度大于相似度阈值的候选词中过滤掉特定类型的候选词,将经过所述过滤处理后剩余的候选词确定为与所述共同标签匹配的扩展标签。
本申请实施例提供又一种对话处理方法,包括:
获取对话页面中的多个对象的共同标签,以确定为与所述多个对象匹配的第一话题;
对所述共同标签进行扩写处理,得到包含所述共同标签的语句,以作为标签语句;
从问答数据库中查询出用于答复所述标签语句的多个语句;
从所述多个语句中确定与所述第一话题相关的开场语句。
本申请实施例提供又一种对话处理装置,包括:
确定模块,用于获取对话页面中的多个对象的共同标签,以确定为与所述多个对象匹配的第一话题;
所述确定模块,还用于对所述共同标签进行扩写处理,得到包含所述共同标签的语句,以作为标签语句;
所述确定模块,还用于从问答数据库中查询出用于答复所述标签语句的多个语句,从所述多个语句中确定与所述第一话题相关的开场语句。
上述方案中,所述确定模块,还用于对所述标签语句进行分词处理,得到分词结果集,并针对所述分词结果集中的每个单词确定对应的权重值;从问答数据库中查询出与所述分词结果集匹配的多个语句,根据每个所述语句中所包括的单词对应的权重值,确定每个所述语句的权重值;对所述多个语句的权重值进行降序排序,将排序靠前的M个语句确定为用于答复所述标签语句的语句;其中,M为正整数且小于所述多个语句的总数。
上述方案中,所述确定模块,还用于确定所述标签语句对应的特征向量与所述M个语句分别对应的特征向量之间的相似度;根据所述相似度对所述M个语句进行降序排序,基于排序靠前的N个语句确定与所述第一话题相关的开场语句;其中,N为正整数,N小于M。
上述方案中,所述确定模块,还用于针对所述N个语句,执行以下至少一种筛选操作:删除句子长度短于第一长度阈值的语句、以及删除句子长度长于第二长度阈值的语句;对所述N个语句中包含的人称进行改写处理;删除包含敏感词、姓名、或者性别代指的语句;删除逆文档频率得分低于得分阈值的语句;删除不是问句的语句;基于所述筛选操作后剩余的语句确定与所述第一话题相关的开场语句。
上述方案中,所述确定模块,还用于根据所述共同标签对应的标签类别,获取与所述标签类别对应的话术;将所述话术和所述筛选操作后剩余的语句进行组合处理,将组合得到的语句确定为与所述第一话题相关的开场语句。
上述方案中,所述确定模块,还用于确定所述共同标签的类型;当所述共同标签为第一类标签时,直接对所述共同标签进行扩写处理;当所述共同标签为第二类标签时,获取与所述共同标签匹配的扩展标签,并对所述扩展标签进行扩写处理;其中,所述第一类标签为具有明确的话题指向的标签;所述第二类标签为能继续划分为不同话题的标签。
上述方案中,所述确定模块,还用于确定所述共同标签对应的词向量与候选词对应的词向量之间的相似度;将相似度大于相似度阈值的候选词,确定为与所述共同标签匹配的扩展标签。
上述方案中,所述确定模块,还用于对相似度大于相似度阈值的候选词中过滤掉特定类型的候选词,将经过所述过滤处理后剩余的候选词确定为与所述共同标签匹配的扩展标签。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的对话处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的对话处理方法。
本申请实施例具有以下有益效果:
在开始对话时提供多个对象均感兴趣的话题来激发对话的兴趣,在后续的对话过程中,自动对多个对象之间的对话语句进行回复,避免了多个对象在对话过程中冷场情况的发生,模拟了真实人类的对话方式来参与对话进而促进了多个对象之间关系的进一步发展。
附图说明
图1是相关技术提供的破冰方案的应用场景示意图;
图2是本申请实施例提供的对话处理系统的架构示意图;
图3是本申请实施例提供的终端的结构示意图;
图4A是本申请实施例提供的对话处理方法的流程示意图;
图4B是本申请实施例提供的对话处理方法的流程示意图;
图4C是本申请实施例提供的对话处理方法的流程示意图;
图5A、图5B、图5C、图5D、图5E、图5F是本申请实施例提供的对话处理方法的应用场景示意图;
图6A、图6B是本申请实施例提供的对话处理方法的应用场景示意图;
图7是本申请实施例提供的对话处理方法的流程示意图;
图8是本申请实施例提供的扩展标签示意图;
图9是本申请实施例提供的对话系统架构示意图;
图10是本申请实施例提供的排序模型结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)对象,可以是用户,也可以是模拟人类的对话行为的程序,后者用于在智能助手的测试阶段测试智能助手与对象进行对话的能力。
2)开场语句,智能助手在多个对象开始对话前发送的与开场话题(即第一话题)相关的语句,可以有一个或者多个,这些语句都统称为开场语句。
3)对话语句,多个对象在对话期间会产生多个语句,这些语句都统称为对话语句。
4)回复语句,智能助手用于回复对话语句的语句,可以有一个或者多个,这些语句都统称为回复语句。
5)智能助手,又称聊天机器人,是指经由对话或者文字进行交谈的计算机程序。例如,智能助手能够在多个用户开始对话前抛出用户感兴趣的开场语句、以及对后续多个用户之间的对话语句进行回复。
陌生人线上交友是目前非常火热的场景,但是素不相识的两人在最初聊天时,往往存在缺乏话题、聊天尴尬等问题,阻碍了双方关系进一步的发展。
针对上述技术问题,目前关于破冰(即指消除缺乏话题和聊天尴尬的问题)的相关技术主要有以下两类:
1)根据双方的兴趣爱好、性格等标签,在对应的话题库中查找相关的话题作为破冰话题。
示例的,方案A提出了一种人工构建标签库和话题库之间映射关系的方法,来帮助两人聊天寻找话题。具体的,方案A通过构建一个话题库,并对每个话题人工分为了场景、关系、兴趣爱好和性格等4种属性。社交软件在获取了两人的标签后,根据相应的公式进行计算,最后按类别从话题库给两人提供需要的话题。
2)基于一些热门的话题或者小游戏,随机抛出相关的内容,帮助陌生的两人增进关系。
示例的,参见图1,图1是相关技术提供的破冰方案的应用场景示意图。如图1所示,当用户点击匹配按钮11时,服务器开始进行匹配。当两个陌生用户匹配到后,智能助手会抛出一个随机的话题12给匹配到的双方用户,帮助匹配的双方用户打开话匣子,缓解尴尬,从而进行下一步的聊天。
然而,在本申请实施例中发现,相关技术提供的上述两种方案存在以下问题:
1)方案A不仅需要人工构造话题库,对用户的标签也做了对应的规定,这种方法过于依赖人工的构建,而且只是找出了相应的话题,没有对话题进行下一步的改进。
2)方案B虽然在一定程度上帮助破冰,但模板痕迹太严重,不够自然。而且随机性太强,有的问题可能并不能够引起双方的兴趣,因此很多情况下也达不到破冰的效果。
鉴于此,本申请实施例提供一种对话处理方法、装置、电子设备和计算机可读存储介质,能够高效地帮助用户之间寻找话题,化解聊天过程中的尴尬情形,进而促进用户之间关系的进一步发展。
下面说明本申请实施例提供的对话处理方法的示例性应用,本申请实施例提供的对话处理方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器和终端协同实施。
接下来,以终端单独实施为例说明本申请实施例。
在一些实施例中,终端上运行有智能助手,其中,智能助手的实现形式可以是操作系统中集成的功能模块,也可以是独立的应用,还可以是应用中集成的应用编程接口(API,Application Programming Interface),用于供其他应用进行调用。本实施例中智能助手在终端中以离线的方式(即不依赖于服务器)实施对话处理方法,即开场语句以及回复语句的获取、以及显示全部是由终端中的智能助手单独完成的。
示例的,当终端响应于对话触发操作,呈现包括多个对象的对话页面时,以智能助手的身份在对话页面中呈现与多个对象匹配的开场话题相关的开场语句(将在下文具体描述智能助手获取开场语句的过程);接着,终端接收多个对象在接收到开场语句后发送的对话语句,并在对话页面中呈现。随后,以智能助手的身份在对话页面中呈现用于回复对话语句的回复语句。
再接下来,以由服务器和终端协同实施、且对象是用户为例说明本申请实施例,参见图2,图2是本申请实施例提供的对话处理系统100的架构示意图。其中,对话处理系统100包括有:服务器200、网络300、以及终端400(示例性示出了终端400-1和终端400-2),将分别进行说明。
服务器200用于将与终端400-1所关联的用户1和与终端400-2所关联的用户2匹配的开场语句分别发送至客户端410-1和客户端410-2。服务器200还用于获取用户1和用户2在后续对话过程中产生的对话语句,生成用于回复对话语句的回复语句,并将回复语句分别发送至客户端410-1和客户端410-2。
网络300,用于作为服务器200和终端400-1以及终端400-2之间通信的媒介,可以是广域网或者局域网,又或者是二者的组合。
终端400-1和终端400-2上分别运行有客户端410-1和客户端410-2,用于响应对话触发操作,以在客户端410-1和客户端410-2上呈现对话页面,对话页面中包括有用户1所关联的账号1和用户2所关联的账号2。客户端410-1和客户端410-2,用于接收服务器200发送的与用户1和用户2匹配的开场语句,以在用户1和用户2进行对话前,在对话页面中呈现开场语句,从而激发用户1和用户2的聊天兴趣,以及接收服务器200发送的针对用户1和用户2在后续对话过程中产生的对话语句进行回复的回复语句,并在对话页面中呈现回复语句,以避免用户1和用户2在聊天过程中冷场情况的发生。
需要说明的是,上述实施例是以两个用户进行对话为例进行说明的,在实际应用中,用户的数量不作限制,可以是三人对话(即对话页面中包括3个不同的账号),或者是四人对话,本申请实施例不作具体限制。
下面,对图2中的终端400的结构进行说明。参见图3,图3是本申请实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,RandomAccess Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的对话处理装置可以采用软件方式实现,图3示出了存储在存储器450中的对话处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:呈现模块4551、接收模块4552以及确定模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例,存储在存储器450中的对话处理装置455可以仅仅包括呈现模块4551和接收模块4552;或者,在这两个模块的基础上,还可以进一步包括确定模块4553;又或者,对话处理装置455可以仅仅包括确定模块4553。
下面将结合附图对本申请实施例提供的对话处理方法进行说明。以下是以终端为对话处理方法的执行主体进行说明,具体可由终端通过运行客户端执行对话处理方法,为了描述方便,下文中对终端和终端上运行的客户端在描述上不作具体区分。
作为示例,客户端可以是专用客户端,例如社交客户端;客户端也可以是浏览器,其通过网页的形式显示对话页面。此外,对于下文所涉及的智能助手,可以是集成在客户端上的一个功能模块;也可以是集成在终端的操作系统中的,可供客户端进行调用的功能模块,例如当客户端为浏览器时,浏览器通过调用操作系统中集成的对话处理功能模块(即智能助手),以在对话页面中呈现开场语句以及回复语句;还可以是集成在其他客户端中,用于供客户端调用的API。
参见图4A,图4A是本申请实施例提供的对话处理方法的流程示意图,将结合图4A示出的步骤进行说明。
在步骤S101中,响应于对话触发操作,呈现对话页面,其中,对话页面中参与有多个对象。
在一些实施例中,对话页面可以是通过以下方式建立和呈现的:服务器首先针对多个(即至少两个)对象建立社交关系(例如好友、点赞、关注等),并在多个对象之间的社交关系建立成功后,在终端中呈现包括多个对象的对话页面。
示例的,对话页面可以是客户端的后台服务器根据用户标签自动匹配(用户在客户端上注册账号时会选择相应的标签作为自身性格、兴趣爱好或者经历的描述),以寻找潜在好友(即具有相似标签的用户),建立好友关系,进而触发呈现的。例如,假设用户1的标签为“游戏”和“篮球”,后台服务器根据用户1的标签寻找具有相似标签的用户,假设用户2的标签也为“游戏”和“篮球”,则服务器建立用户1和用户2的好友关系,触发一个包括用户1和用户2的对话页面(即在用户1所关联的终端1上触发呈现包括用户1和用户2的对话页面,同时,在用户2所关联的终端2上也触发呈现包括用户1和用户2的对话页面)。
在一些实施例中,对话页面可以是通过以下方式触发呈现的:客户端接收用户输入的账号或昵称,通过账号查找、昵称请求服务器查找对应的用户,并请求发起建立不同用户之间的好友关系,当服务器建立成功后,根据用户的对话进而触发呈现相应的对话页面。
例如,当用户1想与用户2建立好友关系时,可以在客户端的图形界面中输入用户2的账号或者昵称,服务器在获取到用户1所关联的终端1发送的包含用户2的账号或者昵称的请求后,向用户2所关联的终端2发送相应的提醒消息,当用户2同意用户1的好友请求后,服务器建立用户1和用户2之间的好友关系,进而触发一个包括用户1和用户2的对话页面。
在一些实施例中,对话页面可以是由用户通过线下扫码的方式,建立与其他用户之间的社交关系,进而触发呈现的。例如用户1通过终端1扫描用户2所对应的条形码,此时,服务器向用户2所关联的终端2发送相应的提醒消息,在用户2同意用户1的好友请求后,服务器建立用户1和用户2之间的好友关系,触发一个包括用户1和用户2的对话页面。
在一些实施例中,对话页面可以是用户通过在客户端,例如社交应用(例如微博、博客、短视频平台和朋友圈等)的图形界面中触发针对其他用户的对话入口,进而触发呈现的。例如,用户1通过在社交应用中触发针对用户2的对话入口,得到一个包括用户1和用户2的对话页面。
需要说明的是,上述示例均是以建立两个用户之间的社交关系为例进行说明的,在实际应用中,还可以是建立三个或者更多个用户之间的社交关系,即对话页面中可以包括三个用户或者更多个用户,本申请实施例在此不作具体限制。
在另一些实施例中,对象也可以是用于模拟人类对话行为的计算机程序,用于测试智能助手的对话处理能力。
示例的,可以在包括有多个用于模拟人类对话行为的计算机程序的对话页面中加入智能助手,以测试智能助手在多个用于模拟人类对话行为的计算机程序进行对话的过程中的话题引导能力,例如测试智能助手能否针对多个用于模拟人类对话行为的计算机程序之间的对话语句进行回复等。
在步骤S102中,呈现与多个对象匹配的第一话题相关的开场语句。
在一些实施例中,与多个对象匹配的第一话题相关的开场语句(将在下文具体说明开场语句的获取过程)可以是以智能助手的身份(例如在开场语句前添加智能助手对应的头像或者名称)在对话页面中呈现。
示例的,参见图5A,在执行步骤S101建立用户1和用户2的社交关系51,并呈现对话页面后,首先以智能助手的身份(即在开场语句53前添加智能助手的形象52)在对话页面中呈现与用户1和用户2匹配的第一话题相关的开场语句53。
在一些实施例中,呈现与多个对象匹配的第一话题相关的开场语句可以通过以下方式:实时呈现与多个对象匹配的第一话题相关的开场语句,其中,开场语句可以是一个或者多个,或者,呈现与新对象、在新对象之前加入对话页面的多个对象均匹配的第一话题相关的开场语句,又或者,呈现与新对象、新对象加入对话页面时多个对象中的在线对象均匹配的第一话题相关的开场语句。其中,在线对象具体可以是活跃用户,活跃用户可以是加入对话页面中的多个用户中满足以下活跃条件的用户:在新对象加入对话页面前的窗口时间内发言,且发言次数高于发言次数阈值的用户,例如在新对象加入对话页面前的10分钟内发言次数高于5次的用户。当然,在线对象也可以是任意的在线用户,此时,智能助手可以在对话页面呈现与新对象、以及任意的在线用户均匹配的第一话题相关的开场语句。
示例的,参见图5A,假设用户1和用户2的标签均为“减肥”,则在呈现包括用户1和用户2的对话页面时,以智能助手的身份52在对话页面中实时呈现与用户1和用户2匹配的开场语句53“曾经减肥成功,看来两位同道中人呀,减了多少斤”,以激发用户1和用户2的聊天兴趣。
如图5B所示,当有新用户54,即用户3加入图5A所示的对话页面时,假设用户1、用户2和用户3的共同标签为“篮球”,则此时智能助手会在对话页面中呈现与用户1、用户2和用户3均匹配的开场语句55“大家篮球技术怎么样啊,我三分很准!”,以激发用户1、用户2和用户3的聊天兴趣。
本申请实施例通过在对话页面中以智能助手的形式呈现与多个对象匹配的第一话题相关的开场语句,例如,在陌生人的破冰场景中,智能助手的开场语句可以缓解尴尬,让群内陌生人有进行下一步聊天的欲望,激发多个用户的聊天兴趣。
在步骤S103中,接收多个对象在接收到开场语句之后发送的对话语句,并在对话页面中呈现多个对象之间的对话语句。
这里,多个对象在接收到智能助手抛出的开场语句后,产生聊天兴趣,进行对话,终端在接收到多个对象发送的对话语句后,在对话页面中呈现多个对象之间的对话语句,其中,对话语句是按照被不同对象发送到对话页面中的先后顺序在对话页面中依次呈现的。
示例的,参见图5C,用户2在接收到智能助手抛出的开场语句后,首先进行发言,则在对话页面中首先呈现用户2发表的对话语句56,随后,用户1也进行了发言,则在对话页面中接着呈现用户1发表的对话语句57。
需要说明的是,多个对象之间的对话语句可以是与智能助手抛出的第一话题相关的,也可以是与第一话题不相关的,即多个对象之间的对话发生了话题转换。例如,假设智能助手抛出的第一话题为“篮球”,则后续多个用户可能针对“篮球”进行讨论,也有可能发生话题的转换,例如针对“足球”进行讨论,也就是说,智能助手只需激发用户的聊天兴趣即可,至于用户后续的聊天内容则不做具体限制。
例如,智能助手在抛出第一话题相关的开场语句后,对后续多个用户之间的对话语句进行语义分析,当检测到多个用户之间的对话语句所聚焦的话题发生转移时(即多个用户之间的对话语句所聚焦的话题不同于智能助手抛出的第一话题),且多个用户之间的对话频率低于频率阈值(例如在预设时间段内接收到的对话语句的数量小于数量阈值,或者接收到相邻两句对话语句的时差大于时差阈值时)时,智能助手可以抛出区别于第一话题的新话题或者针对多个用户之间的对话所聚焦的话题进行回复,以保证话题的多样性,提高信息量。
在步骤S104中,在对话页面中呈现用于回复对话语句的回复语句。
在一些实施例中,用于回复对话语句的回复语句可以是以智能助手的身份在对话页面中呈现的。
在一些实施例中,在对话页面中呈现用于回复对话语句的回复语句可以通过以下方式实现:响应于自动对话触发操作,呈现回复一个对话语句的回复语句,或呈现针对顺序接收的多个对话语句的回复语句,直至接收到自动对话结束操作;其中,回复语句的类型包括以下至少之一:提示多个对象继续进行对话的提示性用语;与区别于第一话题的第二话题相关的语句,且第二话题是与多个对象匹配的;与区别于第一话题的第三话题相关的语句,第三话题是多个对象之间的对话语句所聚焦的话题。
示例的,参见图5D,在对话页面中呈现有智能助手的形象58,当用户需要智能助手参与后续的聊天过程时,可以单击智能助手的形象58,触发自动对话触发操作,则智能助手会在后续多个用户进行对话的过程中,针对所产生的对话语句,在对话页面中自动呈现用于回复对话语句的回复语句59,即用户1、用户2和智能助手形成一个三人群聊的模式。
示例的,参见图5E,考虑到聊天的隐私性,当用户不希望智能助手参与后续的聊天过程时,可以双击智能助手的形象510,触发自动对话结束操作,则在后续多个用户进行对话的过程中,智能助手不发声。当用户又想智能助手参与到聊天中时,如图5D所示,用户可以再次单击智能助手的形象58时,此时智能助手又会在对话页面中自动呈现用于回复对话语句的回复语句。
需要说明的是,针对一次自动对话触发操作,智能助手可以进行一次回复或者多次回复,其中,每次回复都是针对新产生的对话语句进行的,例如可以是针对每条新产生的对话语句进行回复,也可以是随机挑选若干条新产生的对话语句进行回复。
此外,对话页面中可以始终呈现有智能助手的形象,且上述的自动对话触发操作和自动对话结束操作都是以智能助手的形象为操作目标的。例如智能助手的形象中可以包括有自动对话触发操作按钮和自动对话结束操作按钮,可以通过触发按钮的方式使智能助手实施相应的操作;或者,也可以通过与自动对话触发操作和自动对话结束操作关联的特定操作如点击(包括单次点击或者多次点击)操作来实施,例如第一次点击智能助手的形象为自动对话触发操作,第二次点击智能助手的形象为自动对话结束操作;或者单击智能助手的形象为自动对话触发操作,双击智能助手的形象为自动对话结束操作。
在另一些实施例中,在对话页面中呈现用于回复对话语句的回复语句还可以通过以下方式实现:当接收到任意一个对话语句,且在等待时间内(这里,等待时间可以是一个预设值,从智能助手接收到任意一个对话语句开始计时的,例如智能助手在接收到任意一个对话语句后开始计时的1分钟内)没有接收到新的对话语句时,自动呈现用于回复对话语句的回复语句;其中,回复语句的类型包括以下至少之一:提示多个对象继续进行对话的提示性用语;与区别于第一话题的第二话题相关的语句,且第二话题是与多个对象匹配的;与区别于第一话题的第三话题相关的语句,第三话题是多个对象之间的对话语句所聚焦的话题,例如多个对象在对话过程中的任意一个话题或者最后一个话题。
这里,终端在接收到任意一个对话语句,且在等待时间(例如在接收到任意一个对话语句后开始计时的1分钟)内没有接收到新的对话语句时,说明多个对象之间发生了冷场,此时,终端唤醒智能助手,并以智能助手的身份在对话页面中自动呈现用于回复对话语句的回复语句,以重新唤起多个对象参与到聊天中来。
在一些实施例中,承接上文,终端自动呈现用于回复对话语句的回复语句可以通过以下方式实现:对多个对象之间的对话语句进行语义分析,以确定多个对象之间的对话语句所聚焦的话题;当多个对象之间的对话语句所聚焦的话题为第一话题,且多个对象针对第一话题的对话时长超出对话时长阈值时,呈现区别于第一话题的第二话题相关的语句;当多个对象之间的对话语句所聚焦的话题为区别于第一话题的第三话题,且多个对象针对第三话题的对话时长低于对话时长阈值时,呈现与第三话题相关的回复语句。
示例的,终端在接收到多个用户之间的对话语句后,对对话语句进行语义分析,以确定出多个用户之间的对话语句所聚焦的话题。
例如,当确定出多个用户之间的对话语句所聚焦的话题是智能助手最初抛出的话题,且多个用户针对智能助手最初抛出的话题的对话时长超出时长阈值,例如对话时长超出5分钟时,智能助手可以抛出一个与多个用户匹配的新话题。这里,当确定多个用户针对智能助手最初抛出的对话进行对话的时长超出时长阈值后,为了避免用户对同一个话题感到厌倦或者无话可说,智能助手可以抛出一个新的话题,引导用户针对新话题进行对话,重新激发聊天兴趣。
例如,当确定出多个用户之间的对话语句所聚焦的话题是区别于智能助手最初抛出的话题,即多个用户之间的对话语句所聚焦的话题已经发生了转换,且多个用户针对转换后的话题的对话时长低于对话时长阈值,例如对话时长短于2分钟时,智能助手可以在对话页面中呈现与转换后的话题相关的回复语句,激发用户的聊天兴趣。
在另一些实施例中,在对话页面中呈现智能助手的形象,包括以下至少之一:自动在对话页面中呈现智能助手的形象,并在对话页面中始终呈现智能助手的形象;响应于针对智能助手的唤醒操作,在对话页面中呈现智能助手的形象,并响应于针对智能助手的隐藏操作,隐藏智能助手的形象;当在对话页面中以智能助手的身份呈现开场语句时,呈现智能助手的形象;当呈现回复语句的数量超出数量阈值时(即没有冷场,也可以是当呈现回复语句的平均时间间隔小于间隔阈值时,即多个对象之间有互动),或响应于针对智能助手的隐藏操作(例如点击智能助手形象中的隐藏按钮)时,隐藏智能助手的形象;当在对话页面中以智能助手的身份呈现回复语句时,呈现智能助手的形象,并当在回复语句之后呈现新接收的对话语句(或者在呈现了超出预定数量的新的回复语句之后呈现的对话语句的平均时间间隔小于间隔阈值,即成功发起了多个用户之间的互动)时,隐藏智能助手的形象。
示例的,参见图5F,在对话页面中可以呈现有唤醒按钮511和隐藏按钮512,当用户点击唤醒按钮511时,在对话页面中呈现智能助手的形象513;当用户点击隐藏按钮512时,则在对话页面中隐藏智能助手的形象。当用户再次点击唤醒按钮511时,在对话页面中会再次显示智能助手的形象513。
在另一些实施例中,也可以是通过点击智能助手的头像来呈现或者隐藏智能助手的形象。例如,第一次点击智能助手的头像时,在对话页面中呈现智能助手的形象;第二次点击智能助手的头像时,在对话页面中隐藏智能助手的形象。
本申请实施例在多个对象开始对话前,以与多个对象均匹配的话题作为出发点,保证了开场语句和多个对象兴趣的一致性,即开场语句是多个对象均感兴趣的,容易激发多个对象的聊天兴趣,缓解尴尬,从而进行下一步的聊天;同时,在后续的聊天过程中,对多个对象之间的对话语句进行回复,避免了多个对象在聊天过程中冷场情况的发生,进而促进了多个对象之间关系的进一步发展。
需要说明的是,上文所涉及的开场语句以及回复语句可以是由运行在终端中的智能助手获取的,即获取开场语句的算法由终端中的智能助手单独完成,也可以是由部署在服务器侧的智能助手实现的,即服务器向终端发送开场语句和回复语句。
下面以智能助手部署在服务器侧为例,从服务器、问答数据库和终端之间交互的角度对本申请实施例提供的对话处理方法进行具体说明。
参见图4B,图4B是本申请实施例提供的对话处理方法的流程示意图,将结合图4B示出的步骤进行说明。
在步骤S201中,服务器接收多个终端分别发送的标签。
这里,多个终端是指步骤S101中建立社交关系的多个对象所分别对应的终端。例如,当用户1和用户2建立了好友关系,触发呈现对话页面时,服务器接收用户1所关联的终端1发送的用户1对应的标签1,以及接收用户2所关联的终端2发送的用户2对应的标签2。
在一些实施例中,用户在客户端进行账号注册时会选择相应的标签作为自身性格、兴趣爱好和经历的描述。当服务器建立两个陌生的用户之间的好友关系,并触发呈现对话页面时,用户所关联的终端会向服务器发送用户所选择的标签,以供后续服务器确定两个用户的共同标签。
在另一些实施例中,服务器也可以预先获取用户的历史行为数据,例如历史浏览数据、历史购买数据等,基于历史行为数据确定出用户对应的标签,并将用户以及用户对应的标签存储到数据库中。从而服务器在建立两个陌生的用户之间的好友关系后,可以直接在数据库中查询每个用户对应的标签。
在步骤S202中,服务器确定多个对象的共同标签,并对共同标签进行扩写处理,得到包含共同标签的语句,以作为标签语句。
这里,服务器在接收到多个终端分别发送的标签后,首先确定出多个对象的共同标签。例如,假设用户1对应的标签为“游戏”、“运动”和“美食”;用户2对应的标签为“减肥”、“游戏”和“旅行”,则服务器确定出对象1和对象2的共同标签为“游戏”。
在一些实施例中,服务器在确定出多个用户的共同标签之后,还会根据这些共同标签的内容将所确定出的共同标签分为两大类:一类为具有明确的话题指向的标签;另一类为能够继续划分为不同话题的标签。对于具有明确的话题指向的标签,例如麻将、理财达人、素食主义等,则可以直接进行后续的扩写处理;而对于信息比较宽泛的标签,即能够继续划分为不同话题的标签,例如运动、游戏、电影等,则进行进一步的扩展,以挖掘出更为具体的标签。
示例的,对于能够继续划分为不同话题的标签,可以通过词向量的余弦相似度来挖掘出与标签对应的扩展词。余弦相似度是一种常用的衡量两个向量相似度的计算方法,通过这种方式,可以挖掘出与标签相似的扩展词。例如,对于能够继续划分为不同话题的特定标签k,首先将标签k和候选词分别转换为对应的词向量,接着,计算标签k对应的词向量和候选词对应的词向量之间的余弦相似度,将相似度大于相似度阈值的候选词,例如将相似度大于80%的候选词确定为与标签k匹配的扩展词。随后,针对这些相似度大于相似度阈值的候选词进行进一步的筛选,去除掉不适合作为标签的词语,例如人名、形容词等,从而得到具体的扩展标签。例如对于标签“运动”,经过上述扩展处理后,可以得到更具体的标签“游泳”、“跑步”、“篮球”等。
此外,不管是原始的共同标签还是基于共同标签进行扩展处理后得到的扩展标签,其本身长度都较短,往往只是一个特定的单词,单独以共同标签或者扩展标签作为后续的输入并不能得到合适的结果。因此,可以按照标签的特点对标签进行分类,例如分为爱好、经历、日常等,再按照类别进行扩写,将标签转换为带有标签的语句,即标签语句。例如,对于爱好“麻将”,可以扩写成“我喜欢麻将”,以此作为后续的输入,往往能够得到更为合适的结果。
在步骤S203中,服务器根据标签语句在问答数据库中进行检索。
在一些实施例中,在执行步骤S203之前,还可以首先执行以下步骤:使用大规模的文档数据构建问答数据库的索引。例如,可以使用大规模的空间说说数据来构建一个ElasticSearch问答数据库的索引。ElasticSearch,简称ES,是一个分布式、高扩展、高实时的搜索与数据分析引擎,支持全文检索、倒排索引等各种索引方式。构建ElasticSearch问答数据库的索引过程如下:首先将空间说说数据以分条的形式区分为一个个不同的文档,并提交到ES问答数据库中,接着,通过分词控制器去将对应的语句进行分词处理,以数据中包含的单词为索引,并将每一个文档关联到其所包含的单词下面,从而构建出ElasticSearch问答数据库的索引。随后,服务器可以将标签语句作为输入,在构建好的ElasticSearch问答数据库中进行检索,快速地查询出用于答复标签语句的多个语句。
在步骤S204中,服务器从问答数据库中获取用于答复标签语句的多个语句。
在一些实施例中,服务器从问答数据库中获取用于答复标签语句的多个语句可以通过以下方式实现:对标签语句进行分词处理,得到分词结果集,并针对分词结果集中的每个单词确定对应的权重值;从问答数据库中查询出与分词结果集匹配的多个语句,根据每个语句中所包括的单词对应的权重值,确定每个语句的权重值;对多个语句的权重值进行降序排序,将排序靠前的M个语句确定为用于答复标签语句的语句;其中,M为正整数。
示例的,ES问答数据库在获取到标签语句后,首先通过分词控制器对标签语句进行分词处理,得到分词结果集,例如通过分词控制器将标签语句“我喜欢麻将”划分为“我”、“喜欢”、“麻将”。接着,可以针对每个单词设置对应的权重值,例如将“我”的权重值设置为0.5,“喜欢”的权重值设置为“1”,“麻将”的权重值设置为“2”。随后,在ES问答数据库中查询出所有包含“我”、“喜欢”以及“麻将”的语句。对于包含“麻将”的语句,将其权重值对应设置为2,对于包含“喜欢”的语句,将其权重值对应设置为1,对于包含“我”的语句,将其权重值对应设置为0.5。最后,根据每个语句的权重值进行排序,将排序靠前的M个语句,例如排序靠前的200个语句作为用于答复标签语句“我喜欢麻将”的语句。如此,通过对划分后得到的每个单词设置对应的权重值,可以在问答数据库中更加快速地获取到用户感兴趣的检索结果。
需要说明的是,对于划分后得到的每个单词对应的权重值的设置,用户可以根据实际情况自行设置,或者由服务器自动设置,例如服务器自动将划分后得到的标签词设置较大的权重值,而对于其他词则设置较小的权重值,从而有效地获取与标签语句匹配的多个语句。
在另一些实施例中,在针对分词结果集中的每个单词确定对应的权重值之前,还可以执行以下步骤:通过过滤器过滤掉特定类型的单词,对经过过滤处理后剩余的单词确定对应的权重值。例如,在通过分词控制器将标签语句“我喜欢麻烦”划分为“我”、“喜欢”、“麻将”后,由于人称代词“我”的信息量较小,可以通过过滤器过滤掉,仅在ES问答数据库中查询与“喜欢”、“麻将”相关的语句,以提高查询效率。
在步骤S205中,服务器从多个语句中确定与第一话题相关的至少一个开场语句。
在一些实施例中,服务器从多个语句中确定与第一话题相关的至少一个开场语句可以通过以下方式实现:确定标签语句对应的特征向量和M个语句分别对应的特征向量之间的相似度;根据相似度对M个语句进行降序排序,基于排序靠前的N个语句确定与第一话题相关的至少一个开场语句;其中,N为正整数,N小于M。
示例的,服务器在从ES问答数据库中获取到M个匹配度较高的语句后,通过卷积神经网络分别将标签语句和M个语句转换为对应的特征向量;接着,依次计算标签语句对应的特征向量和M个语句分别对应的特征向量之间的相似度,例如通过双线性变换计算标签语句对应的特征向量和M个语句分别对应的特征向量之间的语义相关性,然后根据两者语义上的相关性来判断一个语句用于作为标签语句的回复是否是合适的,即判断两者对应的特征向量之间的相似度,当相似度大于相似度阈值时,说明两者具有相关性,用于作为标签语句的回复是合适的。
在一些实施例中,服务器可以直接从N个语句中随机选取一条语句作为与第一话题相关的开场语句。
在另一些实施例中,虽然排序靠前的N个语句和多个对象的共同标签具有很高的相关性,但直接作为开场语句可能是不合适的,还需要对N个语句进行进一步的筛选和改写处理。
示例的,对语句的长度进行限制,删除句子长度短于第一长度阈值的语句,例如句子长度小于10个字的语句,这是因为过短的语句信息量太少,同时,删除句子长度长于第二长度阈值的语句,例如句子长度大于30个字的语句,这是因为过长的语句信息过于冗余。
示例的,对N个语句中包括的人称进行改写处理。N个语句中的回复大多是双方的,而智能助手是第三方,因此,需要将N个语句中的“你”替换成“你们”,同时删除包含“他”、“他们”等不合适人称的语句。
示例的,删除N个语句中包含敏感词,例如脏话、姓名或者性别代指等明显不合适的语句。
示例的,计算每个语句的逆文档频率,删除逆文档频率得分小于得分阈值的语句,这里因为逆文档频率得分低的语句说明其信息量太小,不适合作为开场语句,可以过滤掉。逆文档频率(term frequency–inverse document frequency,TF-IDF)又称反文档频率,是文档频率的倒数,用以评估字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
示例的,考虑到问句更能够挑起用户的聊天兴趣,达到破冰效果。因此,可以根据问句特征从N个语句中挑选出问句作为开场语句。
在一些实施例中,服务器可以直接将N个语句中经过上述筛选和改写处理后剩余的语句作为与第一话题相关的开场语句。
在步骤S206中,服务器将至少一个开场语句发送至终端。
在一些实施例中,服务器将至少一个开场语句发送至终端可以通过以下方式实现:根据多个对象的共同标签对应的标签类别,获取与标签类别对应的话术,将话术和N个语句中经过筛选操作后剩余的语句进行组合处理,从组合得到的语句中随机选取若干条语句作为开场语句,返回给终端。
示例的,承接上文,服务器根据多个用户的共同标签所属的标签类型,选择合适的话术,对N个语句中进行筛选和改写处理后剩余的语句进行搭配,并将搭配后的语句作为开场语句返回给终端。
在步骤S207中,终端在对话页面中呈现至少一个开场语句。
这里,终端在接收到服务器发送的开场语句后,在对话页面中进行呈现。例如,以智能助手的身份在对话页面中呈现服务器返回的开场语句,从而激发用户的聊天热情,缓解尴尬,进而进行下一步的聊天。
本申请实施例基于前沿的自然语言处理技术,搭建了高质量的智能助手。同时以多个对象的共同的兴趣标签作为输入,基于规则和话术对智能助手的回复进行了进一步的处理,最终以第三方智能助手的形式,高效自然地帮助不同对象之间寻找话题,且会化解聊天中的尴尬情形,进而达到关系破冰的效果。
下面以智能助手部署在终端侧,即获取开场语句的算法由终端中的智能助手单独完成为例,对本申请实施例提供的对话处理方法进行说明。
参见图4C,图4C是本申请实施例提供的对话处理方法的流程示意图,将结合图4C示出的步骤进行说明。
在步骤S301中,终端获取对话页面中的多个对象的共同标签,以确定为与多个对象匹配的第一话题;在步骤S302中,终端对共同标签进行扩写处理,得到包含共同标签的语句,以作为标签语句;在步骤S303中,终端从问答数据库中查询出用于答复标签语句的多个语句;在步骤S304中,终端从多个语句中确定与第一话题相关的开场语句,如此,在开始对话时,终端可以提供多个对象均感兴趣的话题来激发对话的兴趣,在后续的对话过程中,终端还会自动对多个对象之间的对话语句进行回复,避免了多个对象在对话过程中冷场情况的发生,模拟了真实人类的对话方式来参与对话,进而促进了多个对象之间关系的进一步发展。
下面继续说明本申请实施例提供的对话处理装置455实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的对话处理装置455中的软件模块可以包括:呈现模块4551、接收模块4552和确定模块4553。
呈现模块4551,用于响应于对话触发操作,呈现对话页面,其中,对话页面中参与有多个对象;呈现模块4551,还用于呈现与多个对象匹配的第一话题相关的开场语句;接收模块4552,用于接收多个对象在接收到开场语句之后发送的对话语句;呈现模块4551,还用于在对话页面中呈现多个对象之间的对话语句;呈现模块4551,还用于在对话页面中呈现用于回复对话语句的回复语句。
在一些实施例中,呈现模块4551,还用于当呈现对话页面时,实时呈现与多个对象匹配的第一话题相关的开场语句;以及用于当有新对象加入对话页面时,呈现与新对象、在新对象之前加入对话页面的多个对象均匹配的第一话题相关的开场语句。
在一些实施例中,呈现模块4551,还用于响应于自动对话触发操作,呈现回复一个对话语句的回复语句,或呈现针对顺序接收的多个对话语句的回复语句,直至接收到自动对话结束操作;其中,回复语句的类型包括以下至少之一:提示多个对象继续进行对话的提示性用语;与区别于第一话题的第二话题相关的语句,且第二话题是与多个对象匹配的话题;与区别于第一话题的第三话题相关的语句,第三话题是多个对象之间的对话语句所聚焦的话题。
在一些实施例中,呈现模块4551,还用于在对话页面中呈现智能助手的形象,且开场语句以及回复语句是以智能助手的身份在对话页面中呈现的。
在一些实施例中,呈现模块4551,还用于自动在对话页面中呈现智能助手的形象,并在对话页面中始终呈现智能助手的形象;以及用于响应于针对智能助手的唤醒操作,在对话页面中呈现智能助手的形象,并响应于针对智能助手的隐藏操作,隐藏智能助手的形象;以及用于当对话页面中以智能助手的身份呈现开场语句时,呈现智能助手的形象;以及用于当呈现回复语句的数量超出数量阈值时,或响应于针对智能助手的隐藏操作时,隐藏智能助手的形象;以及用于当对话页面中以智能助手的身份呈现回复语句时,呈现智能助手的形象,并当在回复语句之后呈现新接收的对话语句时,隐藏智能助手的形象。
在一些实施例中,呈现模块4551,还用于当接收到任意一个对话语句,且在等待时间内没有接收到新的对话语句时,自动呈现用于回复对话语句的回复语句;其中,回复语句的类型包括以下至少之一:提示多个对象继续进行对话的提示性用语;与区别于第一话题的第二话题相关的语句,且第二话题是与多个对象匹配的;与区别于第一话题的第三话题相关的语句,第三话题是多个对象之间的对话语句所聚焦的话题。
在一些实施例中,确定模块4553,用于对多个对象之间的对话语句进行语义分析,以确定多个对象之间的对话语句所聚焦的话题;呈现模块4551,还用于当多个对象之间的对话语句所聚焦的话题为第一话题,且多个对象针对第一话题的对话时长超出对话时长阈值时,自动呈现与区别于第一话题的第二话题相关的语句;以及用于当多个对象之间的对话语句所聚焦的话题为区别于第一话题的第三话题,且多个对象针对第三话题的对话时长低于对话时长阈值时,自动呈现与第三话题相关的回复语句。
在一些实施例中,确定模块4553,还用于获取多个对象的共同标签,以确定为与多个对象匹配的话题;对共同标签进行扩写处理,得到包含共同标签的语句,以作为标签语句;从问答数据库中查询出用于答复标签语句的多个语句,从多个语句中确定与第一话题相关的开场语句。
在一些实施例中,确定模块4553,还用于对标签语句进行分词处理,得到分词结果集,并针对分词结果集中的每个单词确定对应的权重值;从问答数据库中查询出与分词结果集匹配的多个语句,根据每个语句中所包括的单词对应的权重值,确定每个语句的权重值;对多个语句的权重值进行降序排序,将排序靠前的M个语句确定为用于答复标签语句的语句;其中,M为正整数。
在一些实施例中,确定模块4553,还用于确定标签语句对应的特征向量与M个语句分别对应的特征向量之间的相似度;根据相似度对M个语句进行降序排序,基于排序靠前的N个语句确定与第一话题相关的开场语句;其中,N为正整数,N小于M。
在一些实施例中,确定模块4553,还用于针对N个语句,执行以下至少一种筛选操作:删除句子长度短于第一长度阈值的语句、以及删除句子长度长于第二长度阈值的语句;对N个语句中包含的人称进行改写处理;删除包含敏感词、姓名、或者性别代指的语句;删除逆文档频率得分低于得分阈值的语句;删除不是问句的语句;基于筛选操作后剩余的语句确定与第一话题相关的开场语句。
在一些实施例中,确定模块4553,还用于根据共同标签对应的标签类别,获取与标签类别对应的话术;将话术和筛选操作后剩余的语句进行组合处理,将组合得到的语句确定为与第一话题相关的开场语句。
在一些实施例中,确定模块4553,还用于确定共同标签的类型;当共同标签为第一类标签时,直接对共同标签进行扩写处理;当共同标签为第二类标签时,获取与共同标签匹配的扩展标签,并对扩展标签进行扩写处理;其中,第一类标签为具有明确的话题指向的标签;第二类标签为能继续划分为不同话题的标签。
在一些实施例中,确定模块4553,还用于确定共同标签对应的词向量与候选词对应的词向量之间的相似度;将相似度大于相似度阈值的候选词,确定为与共同标签匹配的扩展标签。
在一些实施例中,确定模块4553,还用于对相似度大于相似度阈值的候选词中过滤掉特定类型的候选词,将经过过滤处理后剩余的候选词确定为与共同标签匹配的扩展标签。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的对话处理装置中未尽的技术细节,可以根据图4A、图4B、图4C、或者图7任一附图的说明而理解。
下面,以对象为用户为例,说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例基于自然语言处理技术,搭建了高质量的智能助手模型。同时,以用户共同的兴趣标签作为输入,基于规则和话术对智能助手回复进行了进一步的处理,最终以第三方助手的形式,高效自然地帮助用户之间寻找话题,且会化解聊天中的尴尬情形,进而达到关系破冰的效果。
本申请实施例提供的对话处理方法包括以下5个部分:
1、将智能助手技术和破冰场景相结合,提出了基于规则的检索条件和用户标签作为查询语句的方式,并复用了智能助手检索和排序模块的能力,以及提出了针对破冰场景的排序方案,使得可以基于非破冰的语料进行自动化破冰的方案,解决了传统基于模板的方式结果固定且死板不能应对用户标签的变化的问题;
2、提出了基于词向量的标签扩展方案,解决用户标签过于泛化不够引起话题的问题。示例的,通过对信息比较宽泛的用户标签进行扩展和改写,以提高破冰语句的信息量和多样性,从而更易激发双方用户聊天的兴趣;
3、以匹配双方用户的共同标签作为话题出发点,保证了破冰话语和双方兴趣的一致性;
4、以第三方智能助手的形式帮助破冰,能够更加自然灵活,也更容易被用户接受;
5、提出了对智能助手的回复进行改写的方案,以返回适合双方破冰的更加生动活泼的语句。
下面对本申请实施例提供的对话处理方法进行具体说明。
本申请实施例提供的对话处理方法可以应用于智能助手。不同于相关技术中完全为用户提供建议的助手形式,本申请实施例中智能助手会在匹配双方还不认识的时候,主动作为第一个发起话题的人,开启聊天话题,包括根据所抛出的话题内容@聊天双方,@其中一方,或者描述自己的经历等,从而让聊天双方更快地建立联系。此外,如果聊天双方后续出现冷场的情况,智能助手可以主动跳出来缓解尴尬,帮助用户切换到新的聊天话题。同时,智能助手还具备给用户提供聊天建议的功能。
示例的,以社交应用小程序为例,用户在打开社交应用小程序时会按照其兴趣标签匹配到陌生人进行聊天,此时,会有一个智能助手参与聊天双方的对话当中,智能助手的形象对于聊天双方均可见,作为第三者的形式参与到对话互动,但是不在常规对话过程中主动发声以保持连线双方对话的流畅性。
例如,参见图6A,在两位用户最初匹配到时,智能助手会直接基于对话双方共同的兴趣标签61首先发言,去阐述一个对于某种兴趣的观点62、事件等,帮助两人挑起话题,从而帮助用户解决不知道和陌生人聊什么的技术问题。另外,如图6B所示,在两人后续的聊天过程中如果没有话题出现尴尬时,用户可以点击智能助手的形象63,此时,智能助手会再次基于两名用户的共同兴趣标签抛出一个新的相关话题64,进而再次缓解尴尬,帮助破冰。此外,当检测到聊天双方冷场时间超过预设时长,例如高达一分钟以上,智能助手也会主动发声,唤起对话双方重新回到聊天当中来。
在一些实施例中,用户也可以主动选择让智能助手加入聊天场景中,参与到一个多人聊天,类似于三人群的形式,智能助手会对当前的聊天内容进行自动的参与。当接收到用户输入的退出指令时,智能助手退出聊天,恢复为助手形式。
在另一些实施例中,考虑到聊天的隐私性,智能助手具备自动回避的功能,例如开场后即可接收用户的退出指令退出聊天,当用户主动召唤时再弹出智能助手的形象,或者在聊天双方进行一定轮数的对话后还没有接收到回避请求时自动退下。
示例的,当检测到对话页面中两个用户之间的聊天频率高于频率阈值时,例如检测到在预设时长内接收到两个用户发送的对话语句的数量大于数量阈值,或者检测到接收到相邻两个对话语句的时差小于时差阈值时,为了让用户感受到聊天内容的隐私安全性,智能助手可以离场,即智能助手执行自动回避的功能,如此,可以给用户营造一个更加安全的聊天场景。
参见图7,图7是本申请实施例提供的对话处理方法的流程示意图。如图7所示,用户在相应平台进行注册时,会根据自己的实际情况选择对应标签作为自身性格、兴趣和经历等的描述。当两个用户进行匹配后,前端会将双方用户所拥有的共同标签发送至后台,从而进行下一步的处理。
后台在接收到前端所发送的双方用户所拥有的共同标签之后,可以根据这些共同标签的内容将所收到的共同标签分为两大类:对于信息具有明确指向的共同标签,例如麻将、理财达人、素食主义等,则直接作为下一步的输入;而对于信息比较宽泛的共同标签,例如运动、游戏和电影等,则进一步进行扩展,以挖掘出更为具体的扩展标签。
例如,对于信息比较宽泛的共同标签,可以通过词向量的余弦相似度来挖掘出与共同标签对应的扩展词。余弦相似度是一种常用的衡量两个向量相似程度的计算方法,通过这种方式,可以挖掘出与共同标签相似的扩展词,计算公式如下:
其中,wk和wv分别表示共同标签k和扩展词v对应的词向量。词向量是通过大规模语料训练得到的词语向量表征,能够有效地表示各种词语之间的语义关系。本申请实施例可采用开源的大规模词向量来帮助共同标签的扩展。例如,对于特定的共同标签k,计算共同标签k对应的词向量和其他词向量之间的余弦相似度,将相似度大于特定相似度阈值的词语作为共同标签k的扩展词。接着,基于这些扩展词,进行进一步的筛选,去除不适合作为标签的词语,例如人名、形容词等,从而得到具体的扩展标签。
示例的,参见图8,图8是本申请实施例提供的扩展标签示意图。如图8所示,对于信息比较宽泛的共同标签“运动”,经过上述扩展处理后,可以得到更为具体的扩展标签,例如游泳、跑步、篮球等。
此外,不管是原始的共同标签还是基于共同标签得到的扩展标签,其本身长度都比较短,往往只是一个特定的词语,单独作为后续的输入并不能得到合适的结果。因此,需要进一步对原始的共同标签或者扩展标签按照其特点进行分类,例如可以将共同标签或者扩展标签分为爱好、经历和日常等,接着再按照类别分别进行扩写,将标签转换为带有标签的句子,即标签语句。例如可以将“麻将”改写成“我喜欢麻将”,并以此作为后续问答数据库的输入,即以标签语句作为依据进行问答数据库的检索,从而得到更为合适的结果。
在另一些实施例中,本申请实施例构建了一个基于检索式的对话系统来提供候选的破冰语句(即上文中的开场语句),对话系统的架构示意图如图9所示。
示例的,可以使用大规模的空间说说数据来构建一个ElasticSearch问答数据库,以对扩展后的标签句子进行检索。ElasticSearch是一个分布式、高扩展和高实时的搜索与数据分析引擎。ElasticSearch的实现原理主要分为构建索引和查询两步。其中,在构建索引过程中,首先将空间说说数据以分条的形式区分记为一个个文档,并提交到ElasticSearch数据库中。接着,通过分词控制器去将对应的语句进行分词处理,以数据中包含的词语为索引,将每一个文档关联到其包含的词语下面,并记录索引词在该文档下的得分、以及文档本身的分数。其次,在查询过程中,当用户输入一个文档进行检索时,同样首先利用分词控制器对该文档进行分词处理,并通过索引找到该文档包括的词语出现过的所有文档,以及汇总全集中每个文档的最终得分,最后,根据得分对文档进行排序并返回需要的前N个文档。因此,在本场景下,基于通过大规模的空间说说数据构建的ElasticSearch问答数据库,以标签语句作为查询(query)进行ElasticSearch问答数据库检索后,会得到一定数量,例如200个和标签语句类似的语句,也就是一个包括多个语句的集合。
接下来将集合中包括的多个语句输入到基于卷积神经网络(CNN,ConvolutionalNeural Networks)的排序模型,排序模型根据集合中包括的多个语句和标签语句之间的匹配程度,计算对应的匹配得分,从而对多个语句进行排序。
示例的,参见图10,图10是本申请实施例提供的排序模型结构示意图,如图10所示,首先将标签语句和集合中的多个语句都通过卷积神经网络进行建模(即通过卷积神经网络将标签语句和集合中的多个语句都转换为对应的特征向量),接着,依次计算标签语句和多个语句之间的语义相关性,具体的计算公式如下:
P(response|context)=σ(cTMr+b)
其中,context表示对话的上文或者问题(即上述的标签语句),response表示对话的回复(即上述集合中的多个语句),σ表示激活函数sigmoid,c和r分别表示context和response通过卷积神经网络得到的特征向量,cTMr表示通过双线性变换计算context和response之间的语义相关性,M表示可训练的参数,b表示偏置项。
在一些实施例中,对集合中的多个语句进行排序之后,匹配得分较高的语句和匹配双方用户的共同标签之间具有很高的相关性,但这些语句并不能直接作为第三方破冰的句子,需要进行进一步的筛选和改写。
1、对语句的长度进行限制,过短的语句信息量较少,过长的语句信息过于冗杂,因此都需要过滤掉。
2、对人称进行处理,原始的语句中大多是双方的,而智能助手是第三方,因此需要把“你”替换成“你们”,同时删除包含“他”、“他们”等不合适人称的检索回复。
3、删除包含敏感词,例如脏话,或者姓名、性别代指等明显不合适的语句。
4、根据空间说说的语料计算每个语句的逆文档频率(IDF,Inverse Docu mentFrequency)得分,IDF得分过低说明语句的信息量太小,不适合作为破冰句子,可以过滤掉。其中,每个词的IDF得分的计算公式如下:
其中,|D|表示语料库中文档总数,|Di|表示有多少文档包含单词i,idfi表示单词i对应的IDF得分。而每条语句的IDF得分即为所有单词IDF得分的均值。
5、考虑到问句更能够挑起匹配双方的话题,达到破冰效果。因此,可以根据问句特征对集合中包含的问句进行筛选。示例的,问句特征可以包括常用问句语气词、特定标点符合以及句子特定位置的特定词语等。
然后,在按照上述处理对集合中的多个语句进行筛选和改写后,按照匹配得分选取得分最高的N个语句,例如选取top10个语句作为结果,再根据标签类别选择合适的话术进行搭配,并返回给前端。接着,前端从10个结果中随机抽取一个作为最终的输出结果。
本申请实施例基于前沿的自然语言处理技术,搭建了高质量的智能助手模型。同时以双方用户共同的兴趣标签作为输入,基于规则和话术对智能助手的回复进行了进一步的处理,最终以第三方智能助手的形式,高效自然地帮助双方用户之间寻找话题,且会化解聊天中的尴尬情形,进而达到关系破冰的效果。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的对话处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4A、4B、4C或者图7示出的对话处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超日志标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例具有以下有益效果:
通过将自然语言处理技术和智能助手用于了全新的破冰场景,是对智能助手一次全新的应用,解决了相关技术提供的破冰方案拘泥于特定的模板和话题库,缺乏相应的灵活性和趣味性,导致得不到用户青睐的技术问题。同时,能够在保留一定随机性和趣味性的前提下,通过合适的第三方语句自然地挑起相关话题,达到双方关系的破冰,从而对陌生人交友这个日趋火热的场景带来全新的改变。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种对话处理方法,其特征在于,所述方法包括:
响应于对话触发操作,呈现对话页面,其中,所述对话页面中参与有多个对象;
呈现与所述多个对象匹配的第一话题相关的开场语句;
接收所述多个对象在接收到所述开场语句之后发送的对话语句,并在所述对话页面中呈现所述多个对象之间的对话语句;
在所述对话页面中呈现用于回复所述对话语句的回复语句。
2.根据权利要求1所述的方法,其特征在于,所述呈现与所述多个对象匹配的第一话题相关的开场语句,包括:
当呈现所述对话页面时,实时呈现与所述多个对象匹配的第一话题相关的开场语句;
当有新对象加入所述对话页面时,呈现与所述新对象、在所述新对象之前加入所述对话页面的所述多个对象均匹配的第一话题相关的开场语句。
3.根据权利要求1所述的方法,其特征在于,
所述在所述对话页面中呈现用于回复所述对话语句的回复语句,包括:
响应于自动对话触发操作,呈现回复一个对话语句的回复语句,或呈现针对顺序接收的多个对话语句的回复语句,直至接收到自动对话结束操作;
其中,所述回复语句的类型包括以下至少之一:
提示所述多个对象继续进行对话的提示性用语;
与区别于所述第一话题的第二话题相关的语句,且所述第二话题是与所述多个对象匹配的;
与区别于所述第一话题的第三话题相关的语句,所述第三话题是所述多个对象之间的对话语句所聚焦的话题。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述对话页面中呈现智能助手的形象,且所述开场语句以及所述回复语句是以所述智能助手的身份在所述对话页面中呈现的。
5.根据权利要求4所述的方法,其特征在于,在所述对话页面中呈现所述智能助手的形象,包括以下至少之一:
自动在所述对话页面中呈现所述智能助手的形象,并在所述对话页面中始终呈现所述智能助手的形象;或
响应于针对所述智能助手的唤醒操作,在所述对话页面中呈现所述智能助手的形象,并响应于针对所述智能助手的隐藏操作,隐藏所述智能助手的形象;或
当所述对话页面中以所述智能助手的身份呈现所述开场语句时,呈现所述智能助手的形象;或
当呈现所述回复语句的数量超出数量阈值时,或响应于针对所述智能助手的隐藏操作时,隐藏所述智能助手的形象;或
当所述对话页面中以所述智能助手的身份呈现所述回复语句时,呈现所述智能助手的形象,并当在所述回复语句之后呈现新接收的对话语句时,隐藏所述智能助手的形象。
6.根据权利要求1所述的方法,其特征在于,所述在所述对话页面中呈现用于回复所述对话语句的回复语句,包括:
当接收到任意一个所述对话语句,且在等待时间内没有接收到新的对话语句时,自动呈现用于回复所述对话语句的回复语句;
其中,所述回复语句的类型包括以下至少之一:
提示所述多个对象继续进行对话的提示性用语;
与区别于所述第一话题的第二话题相关的语句,且所述第二话题是与所述多个对象匹配的话题;
与区别于所述第一话题的第三话题相关的语句,且所述第三话题是所述多个对象之间的对话语句所聚焦的话题。
7.根据权利要求6所述的方法,其特征在于,所述自动呈现用于回复所述对话语句的回复语句,包括:
对所述多个对象之间的对话语句进行语义分析,以确定所述多个对象之间的对话语句所聚焦的话题;
当所述多个对象之间的对话语句所聚焦的话题为所述第一话题,且所述多个对象针对所述第一话题的对话时长超出对话时长阈值时,自动呈现与区别于所述第一话题的第二话题相关的语句;
当所述多个对象之间的对话语句所聚焦的话题为区别于所述第一话题的所述第三话题,且所述多个对象针对所述第三话题的对话时长低于对话时长阈值时,自动呈现与所述第三话题相关的回复语句。
8.一种对话处理方法,其特征在于,所述方法还包括:
获取对话页面中的多个对象的共同标签,以确定为与所述多个对象匹配的第一话题;
对所述共同标签进行扩写处理,得到包含所述共同标签的语句,以作为标签语句;
从问答数据库中查询出用于答复所述标签语句的多个语句;
从所述多个语句中确定与所述第一话题相关的开场语句。
9.根据权利要求8所述的方法,其特征在于,所述从问答数据库中查询出用于答复所述标签语句的多个语句,包括:
对所述标签语句进行分词处理,得到分词结果集,并针对所述分词结果集中的每个单词确定对应的权重值;
从问答数据库中查询出与所述分词结果集匹配的多个语句,根据每个所述语句中所包括的单词对应的权重值,确定每个所述语句的权重值;
对所述多个语句的权重值进行降序排序,将排序靠前的M个语句确定为用于答复所述标签语句的语句;其中,M为正整数且小于所述多个语句的总数。
10.根据权利要求9所述的方法,其特征在于,所述从所述多个语句中确定与所述第一话题相关的开场语句,包括:
确定所述标签语句对应的特征向量与所述M个语句分别对应的特征向量之间的相似度;
根据所述相似度对所述M个语句进行降序排序,基于排序靠前的N个语句确定与所述第一话题相关的开场语句;
其中,N为正整数,N小于M。
11.根据权利要求10所述的方法,其特征在于,所述基于排序靠前的N个语句确定与所述第一话题相关的开场语句,包括:
针对所述N个语句,执行以下至少一种筛选操作:
删除句子长度短于第一长度阈值的语句、以及删除句子长度长于第二长度阈值的语句;
对所述N个语句中包含的人称进行改写处理;
删除包含敏感词、姓名、或者性别代指的语句;
删除逆文档频率得分低于得分阈值的语句;
删除不是问句的语句;
基于所述筛选操作后剩余的语句确定与所述第一话题相关的开场语句。
12.根据权利要求11所述的方法,其特征在于,所述基于所述筛选操作后剩余的语句确定与所述第一话题相关的开场语句,包括:
根据所述共同标签对应的标签类别,获取与所述标签类别对应的话术;
将所述话术和所述筛选操作后剩余的语句进行组合处理,将组合得到的语句确定为与所述第一话题相关的开场语句。
13.根据权利要求8所述的方法,其特征在于,所述对所述共同标签进行扩写处理,包括:
确定所述共同标签的类型;
当所述共同标签为第一类标签时,直接对所述共同标签进行扩写处理;
当所述共同标签为第二类标签时,获取与所述共同标签匹配的扩展标签,并对所述扩展标签进行扩写处理;
其中,所述第一类标签为具有明确的话题指向的标签;所述第二类标签为能继续划分为不同话题的标签。
14.根据权利要求13所述的方法,其特征在于,所述获取与所述共同标签匹配的扩展标签,包括:
确定所述共同标签对应的词向量与候选词对应的词向量之间的相似度;
将相似度大于相似度阈值的候选词,确定为与所述共同标签匹配的扩展标签。
15.根据权利要求14所述的方法,其特征在于,所述将相似度大于相似度阈值的候选词,确定为与所述共同标签匹配的扩展标签,包括:
对相似度大于相似度阈值的候选词中过滤掉特定类型的候选词,将经过所述过滤处理后剩余的候选词确定为与所述共同标签匹配的扩展标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010756385.XA CN111767386B (zh) | 2020-07-31 | 2020-07-31 | 对话处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010756385.XA CN111767386B (zh) | 2020-07-31 | 2020-07-31 | 对话处理方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767386A true CN111767386A (zh) | 2020-10-13 |
CN111767386B CN111767386B (zh) | 2023-11-17 |
Family
ID=72727892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010756385.XA Active CN111767386B (zh) | 2020-07-31 | 2020-07-31 | 对话处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767386B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287076A (zh) * | 2020-12-25 | 2021-01-29 | 南京云问网络技术有限公司 | 一种基于用户聊天记录的标签挖掘方法及设备 |
CN114035715A (zh) * | 2021-10-29 | 2022-02-11 | 北京蓝莓时节科技有限公司 | 社交网络中用户聊天破冰的方法、装置、系统和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262494A (zh) * | 2008-01-23 | 2008-09-10 | 华为技术有限公司 | 对发布信息进行处理的方法、客户端、服务器和系统 |
US20080281927A1 (en) * | 2007-05-11 | 2008-11-13 | Microsoft Corporation | Summarization tool and method for a dialogue sequence |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN109242706A (zh) * | 2018-08-20 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 辅助坐席人员沟通的方法、装置、计算机设备和存储介质 |
US20190182382A1 (en) * | 2017-12-13 | 2019-06-13 | Genesys Telecomminications Laboratories, Inc. | Systems and methods for chatbot generation |
CN110196901A (zh) * | 2019-06-28 | 2019-09-03 | 北京百度网讯科技有限公司 | 对话系统的构建方法、装置、计算机设备和存储介质 |
CN110377820A (zh) * | 2019-06-17 | 2019-10-25 | 中国平安人寿保险股份有限公司 | 构建场景资源的方法、装置、计算机设备和存储介质 |
US20190341021A1 (en) * | 2017-01-17 | 2019-11-07 | Huawei Technologies Co., Ltd. | Human-Computer Dialogue Method and Apparatus |
CN110581772A (zh) * | 2019-09-06 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 即时通讯消息的交互方法、装置以及计算机可读存储介质 |
CN110931137A (zh) * | 2018-09-19 | 2020-03-27 | 京东方科技集团股份有限公司 | 机器辅助对话系统、方法及装置 |
CN111143532A (zh) * | 2019-12-25 | 2020-05-12 | 深圳市人马互动科技有限公司 | 对话单元的访问方法、装置、设备及存储介质 |
CN111414462A (zh) * | 2020-02-21 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种对话语句确定方法、装置、计算机设备和介质 |
-
2020
- 2020-07-31 CN CN202010756385.XA patent/CN111767386B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281927A1 (en) * | 2007-05-11 | 2008-11-13 | Microsoft Corporation | Summarization tool and method for a dialogue sequence |
CN101262494A (zh) * | 2008-01-23 | 2008-09-10 | 华为技术有限公司 | 对发布信息进行处理的方法、客户端、服务器和系统 |
US20190341021A1 (en) * | 2017-01-17 | 2019-11-07 | Huawei Technologies Co., Ltd. | Human-Computer Dialogue Method and Apparatus |
US20190182382A1 (en) * | 2017-12-13 | 2019-06-13 | Genesys Telecomminications Laboratories, Inc. | Systems and methods for chatbot generation |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN109242706A (zh) * | 2018-08-20 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 辅助坐席人员沟通的方法、装置、计算机设备和存储介质 |
CN110931137A (zh) * | 2018-09-19 | 2020-03-27 | 京东方科技集团股份有限公司 | 机器辅助对话系统、方法及装置 |
CN110377820A (zh) * | 2019-06-17 | 2019-10-25 | 中国平安人寿保险股份有限公司 | 构建场景资源的方法、装置、计算机设备和存储介质 |
CN110196901A (zh) * | 2019-06-28 | 2019-09-03 | 北京百度网讯科技有限公司 | 对话系统的构建方法、装置、计算机设备和存储介质 |
CN110581772A (zh) * | 2019-09-06 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 即时通讯消息的交互方法、装置以及计算机可读存储介质 |
CN111143532A (zh) * | 2019-12-25 | 2020-05-12 | 深圳市人马互动科技有限公司 | 对话单元的访问方法、装置、设备及存储介质 |
CN111414462A (zh) * | 2020-02-21 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种对话语句确定方法、装置、计算机设备和介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287076A (zh) * | 2020-12-25 | 2021-01-29 | 南京云问网络技术有限公司 | 一种基于用户聊天记录的标签挖掘方法及设备 |
CN112287076B (zh) * | 2020-12-25 | 2021-04-02 | 南京云问网络技术有限公司 | 一种基于用户聊天记录的标签挖掘方法及设备 |
CN114035715A (zh) * | 2021-10-29 | 2022-02-11 | 北京蓝莓时节科技有限公司 | 社交网络中用户聊天破冰的方法、装置、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111767386B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109844743B (zh) | 在自动聊天中生成响应 | |
US20200137001A1 (en) | Generating responses in automated chatting | |
Fukumura et al. | How does similarity-based interference affect the choice of referring expression? | |
Shroff | The Intelligent Web: Search, smart algorithms, and big data | |
US11810337B2 (en) | Providing emotional care in a session | |
US20100088262A1 (en) | Emulated brain | |
CN110209897A (zh) | 智能对话方法、装置、存储介质及设备 | |
Hijjawi et al. | ArabChat: An arabic conversational agent | |
US20110136085A1 (en) | Computer based system and method for assisting an interviewee in remembering and recounting information about a prior event using a cognitive interview and natural language processing | |
CN109154948B (zh) | 用于提供内容的方法和装置 | |
Wilks et al. | A prototype for a conversational companion for reminiscing about images | |
JP6366749B2 (ja) | 対話インターフェース | |
CN111767386B (zh) | 对话处理方法、装置、电子设备及计算机可读存储介质 | |
JP2017037601A (ja) | 対話インターフェース | |
US10770068B2 (en) | Dialog agent, reply sentence generation method, and non-transitory computer-readable recording medium | |
CN113617036A (zh) | 游戏中对话处理方法、装置、设备及存储介质 | |
Jacquet et al. | On the pragmatics of the Turing Test | |
JP6034459B1 (ja) | 対話インターフェース | |
KR101113938B1 (ko) | 망자와의 대화를 제공하는 망자 커뮤니티 시스템 및 그 망자 커뮤니티 방법 | |
CN113994339A (zh) | 自然语言处理系统、自然语言处理方法以及自然语言处理程序 | |
CN109313638B (zh) | 应用推荐 | |
Wu et al. | Interactive question-posing system for robot-Assisted reminiscence from personal photographs | |
WO2018072577A1 (zh) | 一种文本生成方法及服务器 | |
CN113806620B (zh) | 内容推荐方法、设备、系统及存储介质 | |
Greco et al. | She adapts to her student: An expert pragmatic speaker tailoring her referring expressions to the Layman listener |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030846 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |