CN111897943A - 会话记录搜索方法、装置、电子设备及存储介质 - Google Patents
会话记录搜索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111897943A CN111897943A CN202010827141.6A CN202010827141A CN111897943A CN 111897943 A CN111897943 A CN 111897943A CN 202010827141 A CN202010827141 A CN 202010827141A CN 111897943 A CN111897943 A CN 111897943A
- Authority
- CN
- China
- Prior art keywords
- semantic
- search
- records
- record
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 103
- 238000012216 screening Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 59
- 230000004927 fusion Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 16
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 230000000875 corresponding effect Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 27
- 238000000605 extraction Methods 0.000 description 10
- 238000003062 neural network model Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000002596 correlated effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013526 transfer learning 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
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及信息搜索技术领域,公开了一种会话记录搜索方法、装置、电子设备及存储介质,涉及人工智能技术,利用人工智能中机器学习技术进行模型训练,可基于用户使用语义搜索模型时的反馈信息,实时更新语义搜索模型,进而不断提高基于语义搜索模型搜索会话记录的准确度。所述方法包括:获取搜索词和历史会话记录;通过当前训练的语义搜索模型,从历史会话记录中筛选与搜索词语义匹配的多个候选会话记录;响应于目标记录选择操作,从多个候选会话记录中确定目标会话记录;基于目标会话记录、搜索词和多个候选会话记录,构建正负训练样本;根据正负训练样本继续对当前训练的语义搜索模型进行下一轮训练。
Description
技术领域
本申请涉及信息搜索技术领域,尤其涉及一种会话记录搜索方法、装置、电子设备及存储介质。
背景技术
传统的会话记录搜索方案中,通常采用关键词匹配算法、文本相似度算法进行相关度计算,例如采用BM25(Best Match,最佳匹配)算法、proximity(Term proximityscoring,词近邻得分)算法等等进行相关度评分,相关度评分越高,表明关联程度越强。随着人工智能技术的发展,也有将神经网络模型应用于搜索技术中的方案,现有的神经网络模型通常是基于大规模的通用语料训练得到的,然后再基于训练好的神经网络模型向用户提供搜索服务,以协助用户快速搜索到相关信息。其中,训练神经网络模型所使用的语料的质量,会直接影响最终模型输出的准确度,目前使用的语料为通用语料,缺少具体场景下的数据,因此无法学习到具体场景下的文本信息的语义表达,也无法学习到用户进行会话记录搜索时的表达习惯,导致获得的神经网络模型在具体场景下的使用效果较差。
发明内容
本申请实施例提供一种会话记录搜索方法、装置、电子设备及存储介质,可基于用户使用语义搜索模型搜索会话记录时的反馈信息,实时更新语义搜索模型,进而不断提高基于语义搜索模型搜索会话记录的准确度。
一方面,本申请一实施例提供了一种会话记录搜索方法,包括:
获取搜索词和历史会话记录;
通过当前训练的语义搜索模型,从所述历史会话记录中筛选与所述搜索词语义匹配的多个候选会话记录;
响应于目标记录选择操作,从所述多个候选会话记录中确定目标会话记录;
基于所述目标会话记录、所述搜索词和所述多个候选会话记录,构建正负训练样本;
根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练。
一方面,本申请一实施例提供了一种会话记录搜索装置,包括:
获取单元,用于获取搜索词和历史会话记录;
搜索单元,用于通过当前训练的语义搜索模型,从所述历史会话记录中筛选与所述搜索词语义匹配的多个候选会话记录;
操作响应单元,用于响应于目标记录选择操作,从所述多个候选会话记录中确定目标会话记录;
样本生成单元,用于基于所述目标会话记录、所述搜索词和所述多个候选会话记录,构建正负训练样本;
训练单元,用于根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练。
可选地,所述搜索单元,具体用于:
基于当前训练的语义搜索模型,分别获得所述搜索词和任一历史会话记录之间的语义匹配度;
基于各个历史会话记录对应的语义匹配度,从所述历史会话记录中筛选出多个候选会话记录。
可选地,其中,所述语义搜索模型包括第一语义匹配子模型,所述第一语义匹配子模型包括通用语义模块、增量语义模块、融合模块和匹配模块;所述搜索单元,具体用于:
基于所述通用语义模块,获得所述搜索词和任一历史会话记录的通用语义特征;
基于所述增量语义模块,获得所述搜索词和所述任一历史会话记录的增量语义特征;
基于所述融合模块,对所述搜索词的通用语义特征和增量语义特征、以及所述任一历史会话记录的通用语义特征和增量语义特征进行融合,以获得所述搜索词和所述任一历史会话记录的融合语义特征;
基于所述匹配模块,根据所述融合语义特征获得所述搜索词和所述任一历史会话记录之间的第一语义匹配度;
基于所述第一语义匹配度,获得所述任一历史会话记录对应的语义匹配度。
可选地,所述训练单元,具体用于:
根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练,以更新所述增量语义模块和所述匹配模块的参数。
可选地,所述语义搜索模型还包括第二语义匹配子模型和词向量匹配子模型;
所述搜索单元,用还于:
基于所述第二语义匹配子模型,分别获得所述搜索词和所述任一历史会话记录之间的第二语义匹配度,其中,所述第二语义匹配子模型是基于无监督语料训练得到的;
基于所述词向量匹配子模型,分别获得所述搜索词的词向量和所述任一历史会话记录的词向量之间的文本相似度;
基于所述任一历史会话记录对应的第一语义匹配度、第二语义匹配度和文本相似度,获得所述任一历史会话记录对应的语义匹配度。
可选地,所述增量语义模块的参数的初始值与所述通用语义模块的参数一致。
可选地,所述样本生成单元,具体用于:
若所述目标会话记录以外的候选会话记录的数量超过预设数量,则从所述目标会话记录以外的候选会话记录中选取所述预设数量个候选会话记录;
基于所述搜索词和选取的所述预设数量个候选会话记录,构建所述预设数量个负训练样本;
基于所述搜索词和所述目标会话记录,构建正训练样本。
可选地,所述搜索单元,具体用于:
基于各个历史会话记录对应的语义匹配度,将满足预设的筛选条件的历史会话记录确定为候选会话记录。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种TCP传输性能的控制的各种可选实现方式中提供的方法。
本申请实施例提供的会话记录搜索方法、装置、电子设备及存储介质,可根据用户对基于语义搜索模型搜索到的候选会话记录的反馈信息,生成更符合实际应用需求的训练数据,从而对语义搜索模型进行有监督的训练,使得模型参数能够随着用户的使用实时更新,以贴合用户的实际需求,同时学习到用户的个性化表达,进而不断提高基于语义搜索模型搜索会话记录的准确度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的会话记录搜索方法的应用场景示意图;
图2为本申请一实施例提供的会话记录搜索方法的流程示意图;
图3为本申请一实施例提供的第一语义匹配子模型的结构示意图;
图4为本申请一实施例提供的第二语义匹配子模型的结构示意图;
图5A为本申请一实施例提供的CBOW模型的结构示意图;
图5B为本申请一实施例提供的基于CBOW模型获得词向量的一个示例;
图6为本申请一实施例提供的会话记录搜索模型的结构示意图;
图7为本申请一实施例提供的会话记录搜索装置的结构示意图;
图8为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
全连接层(fully connected layers,FC):在整个卷积神经网络中起到“分类器”的作用,全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
修正线性单元(Rectified linear unit,ReLU):是神经网络的一种激活函数,对比其他激活函数,ReLU的表达能力更强,且模型的收敛速度可以维持在一个稳定状态。
损失函数(loss function):是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如,在机器学习中,损失函数被用于模型的参数估计(parameteric estimation),基于损失函数得到的损失值可用来描述模型的预测值与实际值的差异程度。常见的损失函数有均方误差损失函数、SVM(Support Vector Machine,支持向量机)合页损失函数、交叉熵损失函数等。
应用:即应用程序,可以完成某项或多项业务的计算机程序,一般具有可视的显示界面,能与用户进行交互,比如电子地图和微信等都可以称为应用。其中,有些应用需要用户安装到所使用的终端设备上才可以使用,有些则并不需要进行应用安装,例如,微信中的各个小程序。小程序不需要下载安装即可使用,用户扫一扫或者搜一下即可打开应用。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,也有将神经网络模型应用于搜索技术中的方案,现有的神经网络模型通常是基于大规模的通用语料训练得到的,然后再基于训练好的神经网络模型向用户提供搜索服务,以协助用户快速搜索到相关信息。其中,训练神经网络模型所使用的语料的质量,会直接影响最终模型输出的准确度,目前使用的语料为通用语料,缺少具体场景下的数据,因此无法学习到具体场景下的文本信息的语义表达,也无法学习到用户进行会话记录搜索时的表达习惯,导致获得的神经网络模型在具体场景下的使用效果较差。
为此,本申请实施例提供了一种会话记录搜索方法,当用户在目标应用中搜索会话记录时,获取搜索词和用户的历史会话记录,通过当前训练的语义搜索模型,从用户的历史会话记录中筛选与该搜索词语义匹配的多个候选会话记录,并向用户展示筛选的多个候选会话记录;用户从多个候选会话记录中选择一个作为目标会话记录;基于目标会话记录、搜索词和多个候选会话记录,构建正负训练样本,根据正负训练样本继续对当前训练的语义搜索模型进行下一轮训练;当用户再次搜索会话记录时,使用基于上述正负训练样本训练的新的语义搜索模型进行会话记录搜索。基于上述会话记录搜索方法,可根据用户对基于语义搜索模型搜索到的候选会话记录的反馈信息,生成更符合实际应用需求的训练数据,从而对语义搜索模型进行有监督的训练,使得模型参数能够随着用户的使用实时更新,以贴合用户的实际需求,同时学习到用户的个性化表达,进而不断提高基于语义搜索模型对会话记录进行模糊搜索的准确度。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的会话记录搜索方法的应用场景示意图。该应用场景包括终端设备101和服务器102。其中,终端设备101和服务器102之间均可通过无线或有线的通信网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102是为目标应用提供服务的设备,服务器102中存储有各个用户在目标应用中的历史会话记录。终端设备101内安装有目标应用,该目标应用具备搜索功能,该搜索功能可以对互联网中的数据进行搜索,也可以是对目标应用内的数据进行搜索。例如在即时通信应用中,用户在搜索框中输入搜索词,即时通信应用将搜索词发送给服务器102;服务器102基于语义搜索模型,从该用户在目标应用中的历史会话记录中,搜索到与搜索词语义匹配的多个候选会话记录,并反馈给终端设备101的目标应用;目标应用向用户展示这多个候选会话记录,用户可点击符合其搜索预期的候选会话记录进行查看,此时目标应用将用户点击的候选会话记录作为本次搜索任务的目标会话记录,并反馈给服务器102;服务器102基于搜索词和目标会话记录生成正训练样本,基于搜索词和目标会话记录以外的候选会话记录生成负训练样本,基于正训练样本和负训练样本训练语义搜索模型,以更新语义搜索模型的参数。后续服务器102基于更新后的语义搜索模型为用户提供会话记录搜索服务。
具体实施时,目标应用的所有用户可共享一个语义搜索模型,即基于所有用户针对语义搜索模型输出的候选会话记录的反馈信息,不断更新该语义搜索模型。或者,每个用户可拥有自己独享的语义搜索模型,即基于每个用户在使用语义搜索模型过程中的反馈信息,更新该用户对应的语义搜索模型,例如针对用户A,基于用户A针对语义搜索模型输出的候选会话记录的反馈信息,更新用户A的语义搜索模型,针对用户B,基于用户B针对语义搜索模型输出的候选会话记录的反馈信息,更新用户B的语义搜索模型。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
本申请实施例提供的方案涉及人工智能的语义匹配、智能搜索等技术,具体结合图1所示的应用场景,通过如下实施例进行说明:
参考图2,本申请实施例提供一种会话记录搜索方法,可应用于图1所示的服务器,包括以下步骤:
S201、获取搜索词和历史会话记录。
具体实施时,用户可通过目标应用的搜索页面输入搜索词,目标应用向服务器发送搜索请求,该搜索请求包括输入的搜索词和用户标识。服务器从搜索请求中获取搜索词和用户标识,基于用户标识获取该用户的历史会话记录。
具体实施时,历史会话记录包括但不限于:用户与其他用户之间的聊天记录、向其他用户发送的文件的文件名称、接收的其他用户发送的文件的文件名称等。具体地,为了提高语义匹配的进准度,可基于历史会话记录中的标点符号(如逗号、句号、顿号、冒号等)对历史会话记录进行分割,以将一段较长的历史会话记录划分为多个短句,分别与搜索词进行语义匹配,例如,用户的聊天记录为“这周末有空吗?我们去逛街吧”,可以基于标点符号进行分割,获得两个历史会话记录:“这周末有空吗”和“我们去逛街吧”。
S202、通过当前训练的语义搜索模型,从历史会话记录中筛选与搜索词语义匹配的多个候选会话记录。
具体实施时,服务器可基于当前训练好的语义搜索模型,从获取的历史会话记录中筛选出与搜索词语义匹配的多个候选会话记录,并反馈给用户的目标应用。
本申请实施例的语义搜索模型的输入包括两个文本,通过语义搜索模型内部的网络分别提取这两个文本的语义特征,并获得这两个文本的语义特征之间的语义匹配度,基于该语义匹配度确定这两个文本是否为语义相似的文本。
具体实施时,步骤S202可包括如下步骤:基于当前训练的语义搜索模型,分别获得搜索词和任一历史会话记录之间的语义匹配度,即获得每个历史会话记录和搜索词之间的语义匹配度;基于各个历史会话记录对应的语义匹配度,从历史会话记录中筛选出多个候选会话记录。具体地,可按照设定的选取方式,根据各个历史会话记录对应的语义匹配度,从历史会话记录中确定出多个候选会话记录,例如,根据设定的匹配度阈值,将语义匹配度高于匹配度阈值的历史会话记录确定为候选会话记录;或者,根据设定的第一数量,按语义匹配度从小到大的顺序,将排序靠前的第一数量个历史会话记录确定为候选会话记录。
S203、响应于目标记录选择操作,从多个候选会话记录中确定目标会话记录。
其中,目标记录选择操作即用户从显示的多个候选会话记录选中一个候选会话记录的操作,该目标记录选择操可以是针对任一候选会话记录的点击、双击、长按等操作。
具体实施时,目标应用接收服务器反馈的与搜索词语义匹配的多个候选会话记录,并向用户展示这多个候选会话记录,用户可点击符合其搜索预期的候选会话记录进行查看,此时目标应用将用户点击的候选会话记录作为本次搜索任务的目标会话记录,并将目标会话记录反馈给服务器。服务器将本次搜索任务的搜索词、目标会话记录和多个候选会话记录关联存储。
S204、基于目标会话记录、搜索词和多个候选会话记录,构建正负训练样本。
具体实施时,服务器基于搜索词和目标会话记录获得正训练样本,基于搜索词和目标会话记录以外的候选会话记录获得负训练样本。
用户点击查看的候选会话记录即为满足用户搜索意愿的目标会话记录,因此在用户看来,该目标会话记录与用户输入的搜索词表达的是相同的语义,可将搜索词和目标会话记录作为一个正训练样本,通过正训练样本让语义搜索模型学习到相同语义的文本之间的内在关系。而用户未点击的候选会话记录不是用户期望的结果,即为搜索过程中产生的噪声,可将搜索词和用户未点击的任一候选会话记录作为一个负训练样本,通过正训练样本让语义搜索模型学习到不同语义的文本之间的内在关系。例如,当基于搜索词获得了10个候选会话记录时,用户点击了第1个候选会话记录,则第1个候选会话记录和搜索词组成一个正训练样本,其余的候选会话记录分别和搜索词组成9个负训练样本。
具体实施时,若目标会话记录以外的候选会话记录的数量超过预设数量,则从目标会话记录以外的候选会话记录中选取预设数量个候选会话记录;基于搜索词和选取的预设数量个候选会话记录,获得预设数量个负训练样本。其中,预设数量可以根据实际应用场景确定,不作限定。例如预设数量为5,当基于搜索词获得了10个候选会话记录时,用户点击了第1个候选会话记录,则从第2个候选会话记录至第10个候选会话记录中选取5个候选会话记录,分别和搜索词组成5个负训练样本。这样可以防止负训练样本数量过多,以加快训练速度,同时可以起到平衡正训练样本和负训练样本的比例的作用。
进一步地,可从目标会话记录以外的候选会话记录中随机选取预设数量个候选会话记录,以获得负训练样本。也可以选取与搜索词之间的语义匹配度较低的预设数量个候选会话记录,以获得负训练样本,例如根据各个候选会话记录与搜索词的语义匹配度,对除目标会话记录以外的候选会话记录进行升序排列,选取排在前预设数量个候选会话记录,以生成预设数量个负训练样本。
S205、根据正负训练样本继续对当前训练的语义搜索模型进行下一轮训练。
具体实施时,将正训练样本输入语义搜索模型,获得正训练样本中的两个文本之间的匹配度,基于匹配度计算损失函数,基于损失函数更新语义搜索模型的参数,以通过正训练样本让语义搜索模型学习到相同语义的文本之间的内在关系。将负训练样本输入语义搜索模型,获得负训练样本中的两个文本之间的匹配度,基于匹配度计算损失函数,基于损失函数更新语义搜索模型的参数,以通过负训练样本让语义搜索模型学习到不同语义的文本之间的内在关系。
本申请实施例提供的会话记录搜索方法,可根据用户对基于语义搜索模型搜索到的候选会话记录的反馈信息,生成更符合实际应用需求的训练数据,从而对语义搜索模型进行有监督的训练,使得模型参数能够随着用户的使用实时更新,以贴合用户的实际需求,同时学习到用户的个性化表达,进而不断提高基于语义搜索模型对会话记录进行模糊搜索的准确度。
具体实施时,使用目标应用的所有用户可共享同一个语义搜索模型,即可根据使用目标应用的所有用户点击候选会话记录的数据,更新同一个语义搜索模型。服务器可定期获取至少一个搜索任务关联的搜索词、目标会话记录和多个候选会话记录,构建多个正负训练样本,基于构建的正负训练样本对语义搜索模型进行训练;或者当服务器检测到新增的搜索任务达到指定数量时,基于新增的搜索任务关联的搜索词、目标会话记录和多个候选会话记录,构建多个正负训练样本,基于构建的正负训练样本对语义搜索模型进行训练。
具体实施时,每个用户可对应一个语义搜索模型,基于每个用户点击候选会话记录的数据,单独更新该用户对应的语义搜索模型。此时,每完成一次会话记录搜索任务,即可基于本次会话记录搜索任务关联的搜索词、目标会话记录和多个候选会话记录,对该用户的语义搜索模型进行训练,执行下一次会话记录搜索任务时,基于重新训练的语义搜索模型获得候选会话记录。
在上述任一实施方式的基础上,语义搜索模型可包括第一语义匹配子模型,参考图3,该第一语义匹配子模型可包括通用语义模块、增量语义模块、融合模块和匹配模块。
通用语义模块和增量语义模块可以是任意一种用于提取语义特征的神经网络,提取的语义特征是一个多维的向量。不同之处在于,通用语义模块是预先基于无监督的通用语料训练获得的,在使用语义搜索模型过程中不会对通用语义模块的参数进行更新,而增量语义模块的参数会基于用户对候选会话记录的反馈信息不断的更新。其中,增量语义模块的初始参数与通用语义模块的参数一致,即增量语义模块的初始参数可复用通用语义模块的训练结果,无需额外训练一个增量语义模块。在用户使用语义搜索模型之前,通用语义模块和增量语义模块的参数完全一致,即增量语义模块的参数的初始值与通用语义模块的参数一致,随着用户的使用,增量语义模块会从用户的反馈信息中学习到用户的个性化表达,因此增量语义模块的输出会更贴合用户的实际需求。通用语义模块和增量语义模块采用的神经网络包括但不限于:卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、是长短期记忆网络(Long Short-TermMemory,LSTM)、深度神经网络(Deep Neural Network,DNN)、深度置信网(Deep BeliefNets,DBNs)等。图3中通用语义模块和增量语义模块采用的是RNN。为方便描述,将基于通用语义模块提取的语义特征称为通用语义特征,将基于增量语义模块提取的语义特征称为增量语义特征。
本申请实施例中的通用语料是从网上获取的大规模无监督训练语料,例如百度百科、维基百科等通用的文本语料库。
具体地,第一语义匹配子模型可包括一个通用语义模块和一个增量语义模块,基于该通用语义模块依次提取搜索词和各个历史会话记录的通用语义特征,基于该增量语义模块依次提取搜索词和各个历史会话记录的增量语义特征。当然以图3为例,第一语义匹配子模型也可以包括两个通用语义模块和两个增量语义模块,其中一个通过语义模块用于提取搜索词的通用语义特征,另一个通过语义模块用于提取历史会话记录的通用语义特征,一个增量语义模块用于提取搜索词的增量语义特征,另一个增量语义模块用于提取历史会话记录的增量语义特征,两个通过语义模块的参数相同,两个增量语义模块的参数也相同。
融合模块用于对搜索词的通用语义特征、搜索词的增量语义特征、任一个历史会话记录的通用语义特征以及该任一个历史会话记录的增量语义特征进行融合,以获得搜索词和任一个历史会话记录的融合语义特征。
具体地,可直接将搜索词的通用语义特征、搜索词的增量语义特征、历史会话记录的通用语义特征以及该历史会话记录的增量语义特征这四个向量按顺序拼接成一个向量,即融合语义特征。或者,可将搜索词的通用语义特征和增量语义特征进行加权求和,获得搜索词对应的第一向量,同时将历史会话记录的通用语义特征和增量语义特征进行加权求和,获得历史会话记录对应的第二向量,再将第一向量和第二向量进行拼接处理,得到搜索词和历史会话记录的融合语义特征。
匹配模块用于根据融合模块输出的融合语义特征,获得搜索词和任一个历史会话记录之间的第一语义匹配度。具体地,匹配模块可以是如图3所示的多层感知机,具体包括第一全连接层、修正线性单元和第二全连接层,多层感知机实际上是一个分类任务,即基于输入的融合语义特征预测搜索词和历史会话记录是相同或相似语义的概率,这个概率即为搜索词和历史会话记录之间的第一语义匹配度。
具体实施时,将搜索词和一个历史会话记录同时输入语义搜索模型中。步骤S202中,基于当前训练的语义搜索模型,分别获得搜索词和任一历史会话记录之间的语义匹配度,具体包括如下步骤:基于通用语义模块,获得搜索词和任一个历史会话记录的通用语义特征;基于增量语义模块,获得搜索词和任一个历史会话记录的增量语义特征;基于融合模块,对搜索词的通用语义特征和增量语义特征、以及任一个历史会话记录的通用语义特征和增量语义特征进行融合,以获得搜索词和任一个历史会话记录的融合语义特征;基于匹配模块,基于融合语义特征,获得搜索词和任一个历史会话记录之间的第一语义匹配度;基于第一语义匹配度,获得任一历史会话记录对应的语义匹配度,具体地,可直接将该第一语义匹配度作为该历史会话记录对应的语义匹配度。
基于上述实施例提供的语义搜索模型,步骤S205具体包括:根据正负训练样本继续对当前训练的语义搜索模型进行下一轮训练,以更新增量语义模块和匹配模块的参数。即只需要更新语义搜索模型中增量语义模块和匹配模块的参数,通用语义模块的参数保持不变。其中,增量语义模块的参数的初始值与通用语义模块的参数一致。
具体地,将正训练样本输入语义搜索模型,获得正训练样本中的两个文本之间的语义匹配度,基于语义匹配度计算损失函数,基于损失函数更新增量语义模块和匹配模块的参数。将负训练样本输入语义搜索模型,获得负训练样本中的两个文本之间的语义匹配度,基于语义匹配度计算损失函数,基于损失函数更新增量语义模块和匹配模块的参数。
基于无监督预料训练得到的通用语义模块可提取通用语义特征,基于用户反馈信息实时更新的增量语义模块,可提取更加符合用户个性化表达以及更符合具体应用场景的语义特征,融合两部分语义特征进行语义匹配,可进一步提高语义搜索模型输出的准确度。
实际应用中,还可以基于融合模块,融合搜索词的通用语义特征和增量语义特征,以获得搜索词对应的第一融合语义特征,融合历史会话记录的通用语义特征和增量语义特征,以获得历史会话记录对应的第二融合语义特征。相应地,基于匹配模块,确定第一融合语义特征和第二融合语义特征之间的相似度,将该相似度作为搜索词和历史会话记录之间的第一语义匹配度。其中,可通过曼哈顿距离、欧氏距离、余弦相似度等方式,计算第一融合语义特征和第二融合语义特征之间的相似度。
在上述任一实施方式的基础上,语义搜索模型还可以包括第二语义匹配子模型,该第二语义匹配子模型是基于无监督语料训练得到的,该第二语义匹配子模型用于获得搜索词和任一历史会话记录之间的第二语义匹配度。
参考图4,第二语义匹配子模型可包括语义提取模块、拼接模块和分类模块。其中,语义提取模块采用的神经网络包括但不限于:卷积神经网络(Convolutional NeuralNetworks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、是长短期记忆网络(Long Short-Term Memory,LSTM)、深度神经网络(Deep Neural Network,DNN)、深度置信网(Deep Belief Nets,DBNs)等,图4中语义提取模块采用的是RNN,RNN可把历史会话记录和搜索词处理成文本级别向量。具体实施时,第二语义匹配子模型可包括一个语义提取模块,当然也可以如图4所示,第二语义匹配子模型可包括两个语义提取模块,一个语义提取模块用于提取搜索词的语义特征,另一个语义提取模块用于提取历史会话记录的语义特征,两个语义提取模块的参数相同。
语义提取模块提取的语义特征以向量的形式表示,然后,基于拼接模块,对通过语义提取模块提取的搜索词的语义特征和任一历史会话记录的语义特征进行拼接处理,得到一个拼接向量。最后,基于分类模块,根据拼接模块输出的拼接向量,获得搜索词和任一历史会话记录之间的第二语义匹配度。具体地,分类模块可以是如图4所示的多层感知机,与图3中的匹配模块结构类似,具体包括第一全连接层、修正线性单元和第二全连接层,多层感知机实际上是一个分类任务,即基于输入的融合语义特征,预测搜索词和历史会话记录具有相同语义的概率,这个概率即为搜索词和历史会话记录之间的第二语义匹配度。
需要说明的是,第二语义匹配子模型是预先训练好的,在用户使用语义搜索模型过程中,可以不对第二语义匹配子模型的参数进行更新。
在此基础上,针对每个历史会话记录,可基于该历史会话记录对应的第一语义匹配度和第二语义匹配度,确定该历史会话记录的语义匹配度;基于各个历史会话记录的语义匹配度,从历史会话记录中选出多个候选会话记录。具体地,可对历史会话记录的第一语义匹配度和第二语义匹配度进行加权求和处理,以获得历史会话记录的语义匹配度,其中第一语义匹配度和第二语义匹配度分别对应的权重可根据实际应用需求确定,或者第一语义匹配度的权重可与第一语义匹配子模型的更新次数正相关,或者第二语义匹配度的权重可与第一语义匹配子模型的更新次数负相关,即随着第一语义匹配子模型的更新次数的增加,不断增加第一语义匹配度在总的语义匹配度中所占的比重。具体地,可将语义匹配度高于匹配度阈值的历史会话记录确定为候选会话记录;或者按语义匹配度从小到大的顺序,将排序靠前的第一数量个历史会话记录确定为候选会话记录。
在上述任一实施方式的基础上,语义搜索模型还可以包括词向量匹配子模型,该词向量匹配子模型是基于无监督语料训练得到的,该词向量匹配子模型用于分别获得搜索词的词向量和各个历史会话记录的词向量之间的文本相似度。
词向量匹配子模型的处理流程包括:基于词向量模型获得搜索词中各个词的词向量,然后将搜索词中各个词的词向量相加,获得搜索词对应的一个文本级别的第一文本向量;基于词向量模型获得一个历史会话记录中各个词的词向量,然后将该历史会话记录中各个词的词向量相加,获得该历史会话记录对应的一个文本级别的第二文本向量;计算第一文本向量和第二文本向量的相似度,作为搜索词的词向量和该历史会话记录的词向量之间的文本相似度。
其中,词向量模型可以是任何一种能够将文本转换为向量表示的模型。常用的词向量模型有word2vec,如图5A所示,为Word2vec的CBOW模型(Continuous Bag-of-WordsModel),CBOW模型包括输入层(input)、投影层(progection)和输出层(output),输入层和投影层之间通过输入权重矩阵Y1连接,投影层和输出层之间通过输出权重矩阵Y2连接,CBOW模型是在已知一个当前词w(t)的上下文的前提下预测当前词w(t),CBOW模型把当前词w(t)前后的多个词w(t-2),w(t-2)、w(t+1),w(t+2)用向量表示,一个词表示成一个词向量,然后把w(t-2)、w(t-2)、w(t+1)和w(t+2)的词向量相加,用相加得到的向量乘上输出权重矩阵Y2,得到预测的当前词(w(t)的向量表示。参考图5B,CBOW模型的输入为当前词的上下文信息:“how long……is a”,CBOW模型的输出即为当前词的词向量。
在此基础上,针对每个历史会话记录,可基于该历史会话记录对应的第一语义匹配度和文本相似度,确定该历史会话记录的语义匹配度;基于各个历史会话记录的语义匹配度,从历史会话记录中选出多个候选会话记录。具体地,可对历史会话记录的第一语义匹配度和文本相似度进行加权求和处理,以获得历史会话记录的语义匹配度,其中第一语义匹配度和文本相似度分别对应的权重可根据实际应用需求确定,或者第一语义匹配度的权重可与第一语义匹配子模型的更新次数正相关,或者文本相似度的权重可与第一语义匹配子模型的更新次数负相关,即随着第一语义匹配子模型的更新次数的增加,不断增加第一语义匹配度在语义匹配度中所占的比重。
进一步地,参考图6,语义搜索模型可包括第一语义匹配子模型、第二语义匹配子模型、词向量匹配子模型和结果输出模块。基于此,步骤S202具体包括:基第一语义匹配子模型,分别获得搜索词和各个历史会话记录之间的第一语义匹配度;基于第二语义匹配子模型,分别获得搜索词和各个历史会话记录之间的第二语义匹配度;基于词向量匹配子模型,分别获得搜索词的词向量和各个历史会话记录的词向量之间的文本相似度;针对每一历史会话记录,基于每一历史会话记录对应的第一语义匹配度、第二语义匹配度和文本相似度,获得每一历史会话记录对应的语义匹配度;基于结果输出模块,根据各个历史会话记录对应的语义匹配度,从历史会话记录中确定出多个候选会话记录。
具体地,可对历史会话记录的第一语义匹配度、第二语义匹配度和文本相似度进行加权求和处理,以获得历史会话记录的语义匹配度,其中第一语义匹配度、第二语义匹配度和文本相似度分别对应的权重可根据实际应用需求确定,或者第一语义匹配度的权重可与第一语义匹配子模型的更新次数正相关,或者文本相似度的权重可与第一语义匹配子模型的更新次数负相关,即随着第一语义匹配子模型的更新次数的增加,不断增加第一语义匹配度在语义匹配度中所占的比重。具体地,可将语义匹配度高于匹配度阈值的历史会话记录确定为候选会话记录;或者按语义匹配度从小到大的顺序,将排序靠前的第一数量个历史会话记录确定为候选会话记录。
进一步地,用户也可根据自身需求手动设置筛选条件,如筛选条件可以是:语义匹配度高于匹配度阈值,或展示的候选会话记录的数量大于第一数量,其中,匹配度阈值和第一数量可以由用户设定。基于各个历史会话记录对应的语义匹配度,将满足预设的筛选条件的历史会话记录确定为候选会话记录。例如,当筛选条件是语义匹配度高于匹配度阈值时,将语义匹配度高于匹配度阈值的历史会话记录确定为候选会话记录;当筛选条件为展示的候选会话记录的数量大于第一数量时,按语义匹配度从小到大的顺序,将排序靠前的第一数量个历史会话记录确定为候选会话记录。
通过词向量匹配子模型可获得搜索词和历史会话记录在文本级别上的相似度,基于第二语义匹配子模型可获得搜索词和历史会话记录在语义层面上的匹配度,而基于第一语义匹配子模型获得的搜索词和历史会话记录在语义层面上的匹配度又考虑了具体应用场景和用户习惯的影响,结合多个维度的信息计算搜索词和历史会话记录的匹配度,有助于进一步提高搜索准确度。
本申请实施例提供的会话记录搜索方法,可搜集用户针对候选会话记录的点击数据,生成更符合实际应用需求的训练数据,从而对语义搜索模型进行有监督的训练,使得模型参数能够随着用户的使用实时更新,以贴合用户的实际需求,同时学习到用户的个性化表达,进而不断提高语义搜索模型的搜索准确度。且语义搜索模型采用的是基于语义匹配度进行模糊搜索的方式,无需用户记住目标会话记录的准确表达,用户可通过与目标会话记录具有相似语义的搜索词,搜索到目标会话记录。例如,用户说过“周末逛街”这句话,当用户想从聊天记录中搜索自己说过的这句话及其相关的信息,但是忘记了自己当时具体用的是哪个词,传统基于关键词匹配的搜索技术,要求用户必须搜索“周末逛街”这个词才能搜索出这条记录,而基于本申请提供的会话记录搜索方法,用户只需要搜索“周日购物”,即可从语义层面搜索到“周末逛街”这句话。
进一步地,终端设备侧的目标应用中可提供搜索模式选择按钮,向用户提供基于关键字词匹配的精准搜索模式和基于本申请实施例提供的语义搜索模型的模糊搜索模式,用户可通过搜索模式选择按钮,在精准搜索模式和模糊搜索模式之间进行快速切换。
如图7所示,基于与上述会话记录搜索方法相同的发明构思,本申请实施例还提供了一种会话记录搜索装置70,包括获取单元701、搜索单元702、操作响应单元703、样本生成单元704和训练单元705。
获取单元701,用于获取搜索词和历史会话记录;
搜索单元702,用于通过当前训练的语义搜索模型,从历史会话记录中筛选与搜索词语义匹配的多个候选会话记录;
操作响应单元703,用于响应于目标记录选择操作,从多个候选会话记录中确定目标会话记录;
样本生成单元704,用于基于目标会话记录、搜索词和多个候选会话记录,构建正负训练样本;
训练单元705,用于根据正负训练样本继续对当前训练的语义搜索模型进行下一轮训练。
可选地,搜索单元702具体用于:基于当前训练的语义搜索模型,分别获得搜索词和任一历史会话记录之间的语义匹配度;基于各个历史会话记录对应的语义匹配度,从历史会话记录中筛选出多个候选会话记录。
可选地,语义搜索模型包括第一语义匹配子模型,第一语义匹配子模型包括通用语义模块、增量语义模块、融合模块和匹配模块。
相应地,搜索单元702具体用于:
基于通用语义模块,获得搜索词和任一历史会话记录的通用语义特征;
基于增量语义模块,获得搜索词和任一历史会话记录的增量语义特征;
基于融合模块,对搜索词的通用语义特征和增量语义特征、以及任一历史会话记录的通用语义特征和增量语义特征进行融合,以获得搜索词和任一历史会话记录的融合语义特征;
基于匹配模块,根据融合语义特征获得搜索词和任一历史会话记录之间的第一语义匹配度;
基于任一历史会话记录对应的第一语义匹配度,获得任一历史会话记录对应的语义匹配度。
可选地,训练单元705,具体用于正负训练样本继续对当前训练的语义搜索模型进行下一轮训练,以更新增量语义模块和匹配模块的参数。
可选地,增量语义模块的参数的初始值与通用语义模块的参数一致。
可选地,样本生成单元704,具体用于:若目标会话记录以外的候选会话记录的数量超过预设数量,则从目标会话记录以外的候选会话记录中选取预设数量个候选会话记录;基于搜索词和选取的预设数量个候选会话记录,构建预设数量个负训练样本;基于搜索词和目标会话记录,构建正训练样本。
可选地,语义搜索模型还包括第二语义匹配子模型。基于此,搜索单元702还用于:基于第二语义匹配子模型,分别获得搜索词和任一历史会话记录之间的第二语义匹配度,其中,第二语义匹配子模型是基于无监督语料训练得到的;基于任一历史会话记录对应的第一语义匹配度和第二语义匹配度,获得任一历史会话记录对应的语义匹配度。
可选地,语义搜索模型还包括词向量匹配子模型。基于此,搜索单元702还用于:基于词向量匹配子模型,分别获得搜索词的词向量和任一历史会话记录的词向量之间的文本相似度;基于任一历史会话记录对应的第一语义匹配度和文本相似度,获得任一历史会话记录对应的语义匹配度。
可选地,语义搜索模型还包括第二语义匹配子模型和词向量匹配子模型。基于此,搜索单元702还用于:基于第二语义匹配子模型,分别获得搜索词和任一历史会话记录之间的第二语义匹配度,其中,第二语义匹配子模型是基于无监督语料训练得到的;基于词向量匹配子模型,分别获得搜索词的词向量和任一历史会话记录的词向量之间的文本相似度;基于任一历史会话记录对应的第一语义匹配度、第二语义匹配度和文本相似度,获得任一历史会话记录对应的语义匹配度。
可选地,搜索单元702具体用于:基于各个历史会话记录对应的语义匹配度,将满足预设的筛选条件的历史会话记录确定为候选会话记录。
本申请实施例提的会话记录搜索装置与上述会话记录搜索方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述会话记录搜索方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图8所示,该电子设备80可以包括处理器801和存储器802。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述会话记录搜索的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (11)
1.一种会话记录搜索方法,其特征在于,包括:
获取搜索词和历史会话记录;
通过当前训练的语义搜索模型,从所述历史会话记录中筛选与所述搜索词语义匹配的多个候选会话记录;
响应于目标记录选择操作,从所述多个候选会话记录中确定目标会话记录;
基于所述目标会话记录、所述搜索词和所述多个候选会话记录,构建正负训练样本;
根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练。
2.根据权利要求1所述的方法,其特征在于,所述通过当前训练的语义搜索模型,从所述历史会话记录中筛选与所述搜索词语义匹配的多个候选会话记录,具体包括:
基于当前训练的语义搜索模型,分别获得所述搜索词和任一历史会话记录之间的语义匹配度;
基于各个历史会话记录对应的语义匹配度,从所述历史会话记录中筛选出多个候选会话记录。
3.根据权利要求2所述的方法,其特征在于,其中,所述语义搜索模型包括第一语义匹配子模型,所述第一语义匹配子模型包括通用语义模块、增量语义模块、融合模块和匹配模块;所述基于当前训练的语义搜索模型,分别获得所述搜索词和任一历史会话记录之间的语义匹配度,具体包括:
基于所述通用语义模块,获得所述搜索词和任一历史会话记录的通用语义特征;
基于所述增量语义模块,获得所述搜索词和所述任一历史会话记录的增量语义特征;
基于所述融合模块,对所述搜索词的通用语义特征和增量语义特征、以及所述任一历史会话记录的通用语义特征和增量语义特征进行融合,以获得所述搜索词和所述任一历史会话记录的融合语义特征;
基于所述匹配模块,根据所述融合语义特征获得所述搜索词和所述任一历史会话记录之间的第一语义匹配度;
基于所述第一语义匹配度,获得所述任一历史会话记录对应的语义匹配度。
4.根据权利要求3所述的方法,其特征在于,所述根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练,具体包括:
根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练,以更新所述增量语义模块和所述匹配模块的参数。
5.根据权利要求3所述的方法,其特征在于,所述增量语义模块的参数的初始值与所述通用语义模块的参数一致。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述目标会话记录、所述搜索词和所述多个候选会话记录,构建正负训练样本,具体包括:
若所述目标会话记录以外的候选会话记录的数量超过预设数量,则从所述目标会话记录以外的候选会话记录中选取所述预设数量个候选会话记录;
基于所述搜索词和选取的所述预设数量个候选会话记录,构建所述预设数量个负训练样本;
基于所述搜索词和所述目标会话记录,构建正训练样本。
7.根据权利要求3至5任一项所述的方法,其特征在于,所述语义搜索模型还包括第二语义匹配子模型和词向量匹配子模型;
所述基于当前训练的语义搜索模型,分别获得所述搜索词和任一历史会话记录之间的语义匹配度,还包括:
基于所述第二语义匹配子模型,分别获得所述搜索词和所述任一历史会话记录之间的第二语义匹配度,其中,所述第二语义匹配子模型是基于无监督语料训练得到的;
基于所述词向量匹配子模型,分别获得所述搜索词的词向量和所述任一历史会话记录的词向量之间的文本相似度;
所述基于所述第一语义匹配度,获得所述任一历史会话记录对应的语义匹配度,具体包括:
基于所述任一历史会话记录对应的第一语义匹配度、第二语义匹配度和文本相似度,获得所述任一历史会话记录对应的语义匹配度。
8.根据权利要求2至5任一项所述的方法,其特征在于,所述基于各个历史会话记录对应的语义匹配度,从所述历史会话记录中筛选出多个候选会话记录,具体包括:
基于各个历史会话记录对应的语义匹配度,将满足预设的筛选条件的历史会话记录确定为候选会话记录。
9.一种会话记录搜索装置,其特征在于,包括:
获取单元,用于获取搜索词和历史会话记录;
搜索单元,用于通过当前训练的语义搜索模型,从所述历史会话记录中筛选与所述搜索词语义匹配的多个候选会话记录;
操作响应单元,用于响应于目标记录选择操作,从所述多个候选会话记录中确定目标会话记录;
样本生成单元,用于基于所述目标会话记录、所述搜索词和所述多个候选会话记录,构建正负训练样本;
训练单元,用于根据所述正负训练样本继续对所述当前训练的语义搜索模型进行下一轮训练。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010827141.6A CN111897943A (zh) | 2020-08-17 | 2020-08-17 | 会话记录搜索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010827141.6A CN111897943A (zh) | 2020-08-17 | 2020-08-17 | 会话记录搜索方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897943A true CN111897943A (zh) | 2020-11-06 |
Family
ID=73229718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010827141.6A Pending CN111897943A (zh) | 2020-08-17 | 2020-08-17 | 会话记录搜索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897943A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468405A (zh) * | 2021-06-25 | 2021-10-01 | 北京达佳互联信息技术有限公司 | 数据搜索方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070102267A (ko) * | 2006-04-14 | 2007-10-18 | 학교법인 포항공과대학교 | 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법 |
US20120290509A1 (en) * | 2011-05-13 | 2012-11-15 | Microsoft Corporation | Training Statistical Dialog Managers in Spoken Dialog Systems With Web Data |
CN106649405A (zh) * | 2015-11-04 | 2017-05-10 | 陈包容 | 一种获取聊天发起句的回复提示内容的方法及装置 |
CN107832432A (zh) * | 2017-11-15 | 2018-03-23 | 北京百度网讯科技有限公司 | 一种搜索结果排序方法、装置、服务器和存储介质 |
EP3579115A1 (en) * | 2018-06-08 | 2019-12-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for determining search results, device and computer storage medium |
CN110647617A (zh) * | 2019-09-29 | 2020-01-03 | 百度在线网络技术(北京)有限公司 | 对话引导模型的训练样本构建方法和生成模型的方法 |
CN110750616A (zh) * | 2019-10-16 | 2020-02-04 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
CN110968684A (zh) * | 2019-12-18 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置、设备及存储介质 |
CN111177551A (zh) * | 2019-12-27 | 2020-05-19 | 百度在线网络技术(北京)有限公司 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
CN111309883A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
CN111414462A (zh) * | 2020-02-21 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种对话语句确定方法、装置、计算机设备和介质 |
CN111506596A (zh) * | 2020-04-21 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 信息检索方法、装置、计算机设备和存储介质 |
-
2020
- 2020-08-17 CN CN202010827141.6A patent/CN111897943A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070102267A (ko) * | 2006-04-14 | 2007-10-18 | 학교법인 포항공과대학교 | 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법 |
US20120290509A1 (en) * | 2011-05-13 | 2012-11-15 | Microsoft Corporation | Training Statistical Dialog Managers in Spoken Dialog Systems With Web Data |
CN106649405A (zh) * | 2015-11-04 | 2017-05-10 | 陈包容 | 一种获取聊天发起句的回复提示内容的方法及装置 |
CN107832432A (zh) * | 2017-11-15 | 2018-03-23 | 北京百度网讯科技有限公司 | 一种搜索结果排序方法、装置、服务器和存储介质 |
EP3579115A1 (en) * | 2018-06-08 | 2019-12-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for determining search results, device and computer storage medium |
CN110647617A (zh) * | 2019-09-29 | 2020-01-03 | 百度在线网络技术(北京)有限公司 | 对话引导模型的训练样本构建方法和生成模型的方法 |
CN110750616A (zh) * | 2019-10-16 | 2020-02-04 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
CN110968684A (zh) * | 2019-12-18 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置、设备及存储介质 |
CN111177551A (zh) * | 2019-12-27 | 2020-05-19 | 百度在线网络技术(北京)有限公司 | 确定搜索结果的方法、装置、设备和计算机存储介质 |
CN111309883A (zh) * | 2020-02-13 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
CN111414462A (zh) * | 2020-02-21 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种对话语句确定方法、装置、计算机设备和介质 |
CN111506596A (zh) * | 2020-04-21 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 信息检索方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
JEESOO BANG.ET AL: "Example-based chat-oriented dialogue system with personalized long-term memory", 2015 INTERNATIONAL CONFERENCE ON BIG DATA AND SMART COMPUTING (BIGCOMP), pages 238 - 243 * |
张振中等: "基于翻译模型的查询会话检测方法研究", 中文信息学报, pages 95 - 102 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468405A (zh) * | 2021-06-25 | 2021-10-01 | 北京达佳互联信息技术有限公司 | 数据搜索方法、装置、电子设备及存储介质 |
CN113468405B (zh) * | 2021-06-25 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 数据搜索方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN111444428B (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
CN111966914B (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
CN108932342A (zh) | 一种语义匹配的方法、模型的学习方法及服务器 | |
WO2023065859A1 (zh) | 物品推荐方法、装置及存储介质 | |
CN111382361A (zh) | 信息推送方法、装置、存储介质和计算机设备 | |
CN111382190B (zh) | 一种基于智能的对象推荐方法、装置和存储介质 | |
CN113569001A (zh) | 文本处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112819023A (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN112580352B (zh) | 关键词提取方法、装置和设备及计算机存储介质 | |
CN113705299A (zh) | 一种视频识别的方法、装置及存储介质 | |
CN111783903B (zh) | 文本处理方法、文本模型的处理方法及装置、计算机设备 | |
CN111563192A (zh) | 实体对齐方法、装置、电子设备及存储介质 | |
CN112989212B (zh) | 媒体内容推荐方法、装置和设备及计算机存储介质 | |
CN111737432A (zh) | 一种基于联合训练模型的自动对话方法和系统 | |
CN111506820A (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
US20200302331A1 (en) | Intelligent problem solving using visual input | |
CN111625715A (zh) | 信息提取方法、装置、电子设备及存储介质 | |
CN111858898A (zh) | 基于人工智能的文本处理方法、装置及电子设备 | |
CN112149604A (zh) | 视频特征提取模型的训练方法、视频推荐方法及装置 | |
CN111512299A (zh) | 用于内容搜索的方法及其电子设备 | |
CN114282528A (zh) | 一种关键词提取方法、装置、设备及存储介质 | |
CN113705402A (zh) | 视频行为预测方法、系统、电子设备及存储介质 | |
CN113761270A (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 |