CN112241626A - 一种语义匹配、语义相似度模型训练方法及装置 - Google Patents

一种语义匹配、语义相似度模型训练方法及装置 Download PDF

Info

Publication number
CN112241626A
CN112241626A CN202011097991.1A CN202011097991A CN112241626A CN 112241626 A CN112241626 A CN 112241626A CN 202011097991 A CN202011097991 A CN 202011097991A CN 112241626 A CN112241626 A CN 112241626A
Authority
CN
China
Prior art keywords
text
semantic similarity
semantic
question
matched
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
Application number
CN202011097991.1A
Other languages
English (en)
Other versions
CN112241626B (zh
Inventor
李家诚
沙雨辰
俞霖霖
聂源
邱慧
袁威强
胡光龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202011097991.1A priority Critical patent/CN112241626B/zh
Publication of CN112241626A publication Critical patent/CN112241626A/zh
Application granted granted Critical
Publication of CN112241626B publication Critical patent/CN112241626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及计算机技术领域,尤其涉及一种语义匹配、语义相似度模型训练方法及装置,获取三元组训练文本样本集,根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,进而获取待匹配文本时,基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果,提高了文本语义匹配的准确性。

Description

一种语义匹配、语义相似度模型训练方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种语义匹配、语义相似度模型训练方法及装置。
背景技术
目前,短文本语义相似度技术在智能问答、搜索问题推荐等领域广泛应用,例如通过文本语义相似度匹配可以确定用户问题的答案、推荐相关搜索内容等,现有技术中,文本语义相似度计算方法,可以利用机器学习算法,在训练集上训练并预测两个文本语义是否一致,但是现有技术中这种方式,训练集中包含的正负样本只有单一的相似或不相似标签,无法表达中间层级信息,并且需要依赖于分词和词向量技术,根据分词和词向量表示结果进行语义相似度匹配,分词或词向量表示结果的误差和语义表达不准确,容易导致模型训练的不准确,进而造成语义相似度匹配的准确度较低。
发明内容
本申请实施例提供一种语义匹配、语义相似度模型训练方法及装置,以提高文本语义匹配的准确性。
本申请实施例提供的具体技术方案如下:
一种语义匹配方法,包括:
获取待匹配文本;
基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,其中,所述语义相似度模型是采用三元组训练文本样本集进行训练,以使第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果。
可选的,进一步包括:
分别将所述待匹配文本和各目标文本进行分字处理,获得所述待匹配文本和各目标文本的分字结果;
根据预设词典中包含的字和编号的映射关系,分别获得所述待匹配文本和各目标文本的分字结果中各分字的编号;
并针对从所述预设词典中未匹配到所述映射关系的分字,根据所述预设词典中预留的保留编号,确定所述未匹配到所述映射关系的分字的编号;
则以所述待匹配文本和各目标文本为输入,具体包括:
分别以所述待匹配文本和各目标文本对应的各分字的编号为输入。
可选的,基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,具体包括:
针对任意一个目标文本,通过所述语义相似度模型的嵌入层,分别对所述待匹配文本和所述任意一个目标文本的各分字的编号进行编码,获得所述各分字的字向量表示;
将所述各分字的字向量表示,通过所述语义相似度模型的防过拟合层和双层转换层,分别获得所述待匹配文本和所述任意一个目标文本的第一特征张量表示;
分别将所述待匹配文本和所述任意一个目标文本的第一特征张量表示,通过所述语义相似度模型的注意力机制层,获得所述待匹配文本相对于所述任意一个目标文本的第二特征张量表示,以及所述任意一个目标文本相对于所述待匹配文本的第二特征张量表示;
通过所述语义相似度模型的融合层,分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得所述待匹配文本和所述任意一个目标文本的第三特征张量表示;
分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,获得所述待匹配文本和所述任意一个目标文本的第四特征张量表示;
将所述待匹配文本和所述任意一个目标文本的第四特征张量表示,通过所述语义相似度模型的余弦相似度层,获得所述待匹配文本和所述任意一个目标文本的第一语义相似度。
可选的,分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得所述待匹配文本和所述任意一个目标文本的第三特征张量表示,具体包括:
分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行点乘操作和相减取绝对值操作;
拼接所述待匹配文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得所述待匹配文本的第三特征张量表示;
拼接所述任意一个目标文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得所述任意一个目标文本的第三特征张量表示。
可选的,分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,获得所述待匹配文本和所述任意一个目标文本的第四特征张量表示,具体包括:
分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,并进行最大池化操作、平均池化操作;
拼接所述待匹配文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得所述待匹配文本的第四特征张量表示;
拼接所述任意一个目标文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得所述任意一个目标文本的第四特征张量表示。
可选的,根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果,具体包括:
根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度;
根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本。
可选的,根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度,具体包括:
分别针对所述各第一语义相似度,若确定第一语义相似度大于等于第一相似度阈值,则根据第一语义相似度转换关系,以及所述第一相似度阈值和所述第一语义相似度,确定对应的第二语义相似度;
若确定第一语义相似度小于所述第一相似度阈值并大于等于第二相似度阈值,则根据第二语义相似度转换关系,以及所述第一相似度阈值、所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度,其中,所述第一相似度阈值大于所述第二相似度阈值;
若确定第一语义相似度小于所述第二相似度阈值,则根据第三语义相似度转换关系,以及所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度。
可选的,进一步包括:
分别获取语义相似度大于等于第一设定值的第一数目文本对、语义相似度小于所述第一设定值并大于等于第二设定值的第二数目文本对、语义相似度小于所述第二设定值的第三数目文本对,其中,所述第一设定值大于所述第二设定值;
基于所述语义相似度模型,分别获得所述第一数目文本对中各对文本的语义相似度、所述第二数目文本对中各对文本的语义相似度,以及所述第三数目文本对中各对文本的语义相似度;
将获得的各语义相似度从高到低进行排序,并选取排名在第一位置的语义相似度作为所述第一相似度阈值,选取排名在第二位置的语义相似度作为所述第二相似度阈值,其中,所述第一位置排名高于所述第二位置。
可选的,若所述目标文本为目标问题,则根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本,具体包括:
根据获得各第二语义相似度,从所述各目标问题中确定出第二语义相似度最高的前N个目标问题,将所述前N个目标问题返回给终端展示,其中N大于等于1,并N为正整数;
并若接收到用户针对展示的所述前N个目标问题的选择操作,则根据预设的目标问题和目标答案的关联关系,返回所述选择操作对应的目标问题的目标答案。
可选的,通过执行以下至少一种操作,获取所述三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述每组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
一种语义相似度模型训练方法,包括:
获取三元组训练文本样本集,其中,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,并所述第一文本和所述第二文本的语义相似度大于所述第一文本和所述第三文本的语义相似度,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,所述损失函数使得所述语义相似度模型识别出所述第一文本和所述第二文本之间的语义相似度更大,并所述第一文本和所述第三文本之间的语义相似度更小。
可选的,获取三元组训练文本样本集,具体包括:
通过执行以下至少一种操作,获取三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述多组问题中不同组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
可选的,进一步包括:
对所述三元组训练文本样本进行筛选,执行以下至少一种操作:
若确定多个三元组训练文本样本中的第一文本、第二文本和第三文本的语义均相同,则从相同的三元组训练文本样本中过滤掉预设数目个三元组训练文本样本;
过滤掉第一文本、第二文本或第三文本的长度大于第一长度阈值或小于第二长度阈值的三元组训练文本样本;
过滤掉存在非法字符的三元组训练文本样本;
过滤掉第二文本和第三文本语义相同的三元组训练文本样本;
过滤掉第一文本和第二文本语义相同的三元组训练文本样本;
过滤掉第一文本和第三文本语义相同的三元组训练文本样本;
过滤掉第一文本和第二文本的语义相似度,与第一文本和第三文本的语义相似度的差值不在所述预设范围内的三元组训练文本样本。
可选的,进一步包括:
分别针对所述三元组训练文本样本集中各三元组训练文本样本,针对三元组训练文本样本中的中文进行分字处理,并针对三元组训练文本样本中的英文进行分词处理;
根据预设词典中包含的字和编号的映射关系,以及词和编号的映射关系,分别获得所述各三元组训练文本样本的各分字或各分词的编号;
并针对从所述预设词典中未匹配到所述映射关系的分字或分词,根据所述预设词典中预留的保留编号,确定所述未匹配到所述映射关系的分字或分词的编号;
则根据所述三元组训练文本样本集,训练语义相似度模型,具体包括:
分别以所述各三元组训练文本样本对应的各分字或各分词的编号为输入参数,训练所述语义相似度模型。
一种语义匹配装置,包括:
第一获取模块,用于获取待匹配文本;
匹配模块,用于基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,其中,所述语义相似度模型是采用三元组训练文本样本集进行训练,以使第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
第一确定模块,用于根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果。
可选的,进一步包括,编号映射模块,用于:
分别将所述待匹配文本和各目标文本进行分字处理,获得所述待匹配文本和各目标文本的分字结果;
根据预设词典中包含的字和编号的映射关系,分别获得所述待匹配文本和各目标文本的分字结果中各分字的编号;
并针对从所述预设词典中未匹配到所述映射关系的分字,根据所述预设词典中预留的保留编号,确定所述未匹配到所述映射关系的分字的编号;
则以所述待匹配文本和各目标文本为输入时,所述匹配模块用于:
分别以所述待匹配文本和各目标文本对应的各分字的编号为输入。
可选的,基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度时,所述匹配模块用于:
针对任意一个目标文本,通过所述语义相似度模型的嵌入层,分别对所述待匹配文本和所述任意一个目标文本的各分字的编号进行编码,获得所述各分字的字向量表示;
将所述各分字的字向量表示,通过所述语义相似度模型的防过拟合层和双层转换层,分别获得所述待匹配文本和所述任意一个目标文本的第一特征张量表示;
分别将所述待匹配文本和所述任意一个目标文本的第一特征张量表示,通过所述语义相似度模型的注意力机制层,获得所述待匹配文本相对于所述任意一个目标文本的第二特征张量表示,以及所述任意一个目标文本相对于所述待匹配文本的第二特征张量表示;
通过所述语义相似度模型的融合层,分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得所述待匹配文本和所述任意一个目标文本的第三特征张量表示;
分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,获得所述待匹配文本和所述任意一个目标文本的第四特征张量表示;
将所述待匹配文本和所述任意一个目标文本的第四特征张量表示,通过所述语义相似度模型的余弦相似度层,获得所述待匹配文本和所述任意一个目标文本的第一语义相似度。
可选的,分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得所述待匹配文本和所述任意一个目标文本的第三特征张量表示时,所述匹配模块用于:
分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行点乘操作和相减取绝对值操作;
拼接所述待匹配文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得所述待匹配文本的第三特征张量表示;
拼接所述任意一个目标文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得所述任意一个目标文本的第三特征张量表示。
可选的,分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,获得所述待匹配文本和所述任意一个目标文本的第四特征张量表示时,所述匹配模块用于:
分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,并进行最大池化操作、平均池化操作;
拼接所述待匹配文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得所述待匹配文本的第四特征张量表示;
拼接所述任意一个目标文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得所述任意一个目标文本的第四特征张量表示。
可选的,根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果时,第一确定模块用于:
根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度;
根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本。
可选的,根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度时,第一确定模块用于:
分别针对所述各第一语义相似度,若确定第一语义相似度大于等于第一相似度阈值,则根据第一语义相似度转换关系,以及所述第一相似度阈值和所述第一语义相似度,确定对应的第二语义相似度;
若确定第一语义相似度小于所述第一相似度阈值并大于等于第二相似度阈值,则根据第二语义相似度转换关系,以及所述第一相似度阈值、所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度,其中,所述第一相似度阈值大于所述第二相似度阈值;
若确定第一语义相似度小于所述第二相似度阈值,则根据第三语义相似度转换关系,以及所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度。
可选的,进一步包括,第二确定模块,用于:
分别获取语义相似度大于等于第一设定值的第一数目文本对、语义相似度小于所述第一设定值并大于等于第二设定值的第二数目文本对、语义相似度小于所述第二设定值的第三数目文本对,其中,所述第一设定值大于所述第二设定值;
基于所述语义相似度模型,分别获得所述第一数目文本对中各对文本的语义相似度、所述第二数目文本对中各对文本的语义相似度,以及所述第三数目文本对中各对文本的语义相似度;
将获得的各语义相似度从高到低进行排序,并选取排名在第一位置的语义相似度作为所述第一相似度阈值,选取排名在第二位置的语义相似度作为所述第二相似度阈值,其中,所述第一位置排名高于所述第二位置。
可选的,若所述目标文本为目标问题,则根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本时,第一确定模块用于:
根据获得各第二语义相似度,从所述各目标问题中确定出第二语义相似度最高的前N个目标问题,将所述前N个目标问题返回给终端展示,其中N大于等于1,并N为正整数;
并若接收到用户针对展示的所述前N个目标问题的选择操作,则根据预设的目标问题和目标答案的关联关系,返回所述选择操作对应的目标问题的目标答案。
可选的,还包括第二获取模块,用于通过执行以下至少一种操作,获取所述三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述每组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
一种语义相似度模型训练装置,包括:
获取模块,用于获取三元组训练文本样本集,其中,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,并所述第一文本和所述第二文本的语义相似度大于所述第一文本和所述第三文本的语义相似度,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
训练模块,用于根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,所述损失函数使得所述语义相似度模型识别出所述第一文本和所述第二文本之间的语义相似度更大,并所述第一文本和所述第三文本之间的语义相似度更小。
可选的,获取三元组训练文本样本集时,获取模块,用于通过执行以下至少一种操作,获取三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述多组问题中不同组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
可选的,进一步包括,筛选模块,用于:
对所述三元组训练文本样本进行筛选,执行以下至少一种操作:
若确定多个三元组训练文本样本中的第一文本、第二文本和第三文本的语义均相同,则从相同的三元组训练文本样本中过滤掉预设数目个三元组训练文本样本;
过滤掉第一文本、第二文本或第三文本的长度大于第一长度阈值或小于第二长度阈值的三元组训练文本样本;
过滤掉存在非法字符的三元组训练文本样本;
过滤掉第二文本和第三文本语义相同的三元组训练文本样本;
过滤掉第一文本和第二文本语义相同的三元组训练文本样本;
过滤掉第一文本和第三文本语义相同的三元组训练文本样本;
过滤掉第一文本和第二文本的语义相似度,与第一文本和第三文本的语义相似度的差值不在所述预设范围内的三元组训练文本样本。
可选的,进一步包括,编号转换模块,用于:
分别针对所述三元组训练文本样本集中各三元组训练文本样本,针对三元组训练文本样本中的中文进行分字处理,并针对三元组训练文本样本中的英文进行分词处理;
根据预设词典中包含的字和编号的映射关系,以及词和编号的映射关系,分别获得所述各三元组训练文本样本的各分字或各分词的编号;
并针对从所述预设词典中未匹配到所述映射关系的分字或分词,根据所述预设词典中预留的保留编号,确定所述未匹配到所述映射关系的分字或分词的编号;
则根据所述三元组训练文本样本集,训练语义相似度模型时,训练模块用于:
分别以所述各三元组训练文本样本对应的各分字或各分词的编号为输入参数,训练所述语义相似度模型。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种语义匹配方法或语义相似度模型训练方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种语义匹配方法或语义相似度模型训练方法的步骤。
本申请实施例中,获取三元组训练文本样本集,根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,三元组训练文本样本中包括第一文本、第二文本和第三文本,所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内,这样,可以在训练过程中加入层级信息,提高语义相似度模型训练的准确性和可靠性,进而获取待匹配文本后,基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果,通过层级信息划分,可以使得根据语义相似度模型确定的语义匹配结果更加准确,提高了文本语义匹配的准确性。
附图说明
图1为本申请实施例中语义匹配方法流程图;
图2为本申请实施例中语义匹配方法中语义相似度确定过程流程图;
图3为本申请实施例中一种语义相似度模型训练方法流程图;
图4为本申请实施例中语义相似度模型的网络结构示意图;
图5为本申请实施例中另一种语义相似度模型训练方法流程图;
图6为本申请实施例中语义匹配方法和语义相似度模型训练方法的整体方案逻辑架构图;
图7为本申请实施例中语义匹配装置结构示意图;
图8为本申请实施例中语义相似度模型训练装置结构示意图;
图9为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于对本申请实施例的理解,下面先对几个概念进行简单介绍:
弱监督标注:表示可以使用多种方法来编写生成标注数据的程序,例如使用假设、类比、规则、知识库等等,这样得到的训练数据集标注并不精确,并且可能存在多个彼此冲突或重叠的标注信号。
word2vec:通过跳字模型(skip-gram)或连续词袋模型(continuous Bag-of-words model,cbow)的技术生成词语的向量化表示的方法,可以用于映射每个词到一个向量,可用来表示词对词之间的关系。
glove:表示基于全局词频统计的词表征工具,glove模型也用于将词映射为词向量。
自监督算法:表示模型直接从无标签的数据中学习,无需标注数据。
三元组训练文本样本:本申请实施例中表示包括第一文本、第二文本和第三文本的一组文本样本,并且第一文本、第二文本之间的语义相似度与第一文本、第三文本之间的语义相似度的差值在预设范围内,而不是单一的正负例标签,采用连续数值来表示正例和负例之间的语义差距,这种表示样本中正例和负例之间语义相似度的差值,本申请实施例中也可以称为软标签。
短文本语义相似度技术在智能问答、搜索问题推荐等领域广泛应用,例如,在自动问答系统中,主要是基于检索式的知识库匹配方式进行设计的,通过构建短文本的语义相似度计算装置,将用户问题和知识库问题进行语义匹配,从而返回对应的答案。又例如,在搜索问题推荐领域,需要推荐出与当前搜索文本的相关搜索内容。
现有技术中,1)传统的方法是计算第一文本串和第二文本串字面上的差异性,但是这种方式,由于中文表述的多样性,字面完全不重合的两个文本串也可能表达一样的意思,例如:“申请退货”和“这个商品我不想要了”,这两句话没有字符重合但表达了相同的客户退货意图。该类方法语义理解问题上具有较大的局限性,其计算的语义相似度往往准确度较低。2)采用机器学习或深度学习的算法进行无监督的语义相似度计算,具体地,先分词转换为一个词序列,再使用word2vec、glove等自监督的算法计算词向量表示,通过两个文本串之间词与词的词向量相似度以及字面、语法结构的差异性等来综合计算两个文本串之间的相似度。但是这种方式,依赖于分词结果和词向量表示,分词或词向量表示结果的误差和语义表达不准确,容易导致模型训练的不准确,例如文本:“汽水不如果汁好喝”中“不如”、“如果”、“果汁”都能成词,分词的错误会导致后续相似度算分的误差,并且自监督方法计算的词向量语义表达不够准确,以及词向量无法捕捉文本串中词语的时序关系和语法结构关系,而一个文本串中词语位置的改变可能会导致文本串语义的改变。例如“不完全懂”和“完全不懂”,仅改变了“不”的位置,两句话的语意就完全不一样了。3)可以利用机器学习算法,在训练集上进行有监督的训练并预测两个文本语义是否一致,但是这种方式,训练集中包含的正负样本只有单一的相似或不相似标签,无法表达中间层级信息,而实际中相似度层级性表达的需求更为常见,对于训练数据的数量要求较高,仍依赖分词以及词向量等技术,这些技术使用时出现的误差往往会向后传导,导致最终结果出现误差,并且对于训练集之外的文本串字符,例如偏门的领域词汇和新兴的热点词汇时,短文本相似度的计算准确性会较低。
因此,针对上述问题,本申请实施例中提供了一种新的语义匹配方法和语义相似度模型训练方法,获取三元组训练文本样本集,每个三元组训练文本样本包括第一文本、第二文本和第三文本,根据三元组训练文本样本集,训练语义相似度模型,直至语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,考虑第一文本、第二文本之间的语义相似度与第一文本、第三文本之间的语义相似度的差值在预设范围内的三元组训练文本样本,这样通过相似度层级划分,可以在训练过程中加入相似度层级信息,进而基于已训练的语义相似度模型,以待匹配文本和各目标文本为输入,分别确定待匹配文本和各目标文本的第一语义相似度,根据确定的各第一语义相似度,确定待匹配文本的语义匹配结果,通过相似度层级信息划分,可以使得根据语义相似度模型确定的语义匹配结果更加准确,并且不依赖分词和词向量表示,提高了文本语义匹配的准确性。
基于上述实施例,下面先对本申请实施例中的语义匹配方法进行说明,参阅图1所示,为本申请实施例中语义匹配方法流程图,该方法包括:
步骤100:获取待匹配文本。
本申请实施例中语义匹配方法可以应用于智能问答、搜索问题推荐等场景,并不进行限制,例如在智能问答场景,待匹配文本可以为输入的问题文本,则可以匹配到相似的目标问题,进而返回目标问题对应的目标答案。又例如,在搜索问题推荐场景,待匹配文本为问题文本或搜索文本,进而通过语义匹配推荐相关搜索内容。
步骤110:基于已训练的语义相似度模型,以待匹配文本和各目标文本为输入,分别确定待匹配文本和各目标文本的第一语义相似度。
其中,语义相似度模型是采用三元组训练文本样本集进行训练,以使第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,以及第一文本、第二文本之间的语义相似度与第一文本、第三文本之间的语义相似度的差值在预设范围内。
进一步地,本申请实施例中,提供了一种编码方式,不依赖于词向量或字向量,而是基于预设词典,将待匹配文本和目标文本的字或词转换成id(identity document,即唯一编号),这些id组成的编号序列作为语义相似度模型的输入,具体地执行步骤110中以待匹配文本和各目标文本为输入的步骤时,包括:分别以待匹配文本和各目标文本对应的各分字的编号为输入。
其中,本申请实施例中的编码方式,为了避免分词等的误差传导,采用以字为主、以词为辅的混合编码方式,并且针对一些冷门的领域词汇、实时的热点词、专有名词等,这些词可能会影响句子的语义,又无法在词典中全部涵盖,因此采用在词典中设置保留编号的方式,而不是直接忽略,提高语义匹配准确性,具体地,针对待匹配文本和各目标文本对应的各分字的编号的确定方式,本申请实施例中提供了一种可能的实施方式:
S1、分别将待匹配文本和各目标文本进行分字处理,获得待匹配文本和各目标文本的分字结果。
本申请实施例中,考虑到分词可能会有误差,而使用字能够避免分词错误带来的语义干扰,并且字面相似也是语义相似度的一个重要方面,由于中文分词器效果有瓶颈,因此,对于中文采用分字处理,能够不依赖任何预训练技术和分词技术,不会导致由于预训练技术或分词技术不准确而造成的误差。
进一步地,若待匹配文本或各目标文本为英文或者包含英文,则针对英文采用分词处理,这是因为,通常英文的撰写习惯是不同单词基于空格分隔,一个单词之间无空格,因此针对英文可以根据空格进行分词,并且英文数字混合的连续字符一般都是作为例如型号单号等具有独立意义的实体存在,因此这类型的字符串更适合分词处理并分词编码。
S2、根据预设词典中包含的字和编号的映射关系,分别获得待匹配文本和各目标文本的分字结果中各分字的编号。
S3、针对从预设词典中未匹配到映射关系的分字,根据预设词典中预留的保留编号,确定未匹配到映射关系的分字的编号。
本申请实施例中,词典中包含词和编号的一一映射关系,而通常词典中词汇量是有限的,针对一些冷门的领域词汇、实时的热点词、专有名词等未登录词,在一些领域例如智能客服领域等,未登录词的出现概率会大幅提升,例如某些企业的名字或者业务术语,并且这些词很可能会影响句子的语义,因此本申请实施例中,还在词典中预留了预设数目的保留编号的位置,专门作为未登录词的保留id(即保留编号),其中,保留编号的预设数目,例如为10个,并不进行限制,这样,针对未匹配到映射关系的分字,可以从保留编号中确定其编号,如果出现了多个未登录词,即多个未匹配到映射关系的分字时,依次分配预留的各个保留编号,作为未匹配到映射关系的分字的编号,并且相同的分字共享相同的保留编号,不同的分字使用不同的保留编号,这样,未匹配到映射关系的分字的异同性也可以通过预留的保留编号得到更好的编码表达。
需要说明的是,本申请实施例中的保留编号,并没有针对某个具体未登录词或未登录字的映射关系,只是在目标文本或待匹配文本进行编码时,出现了未匹配到映射关系的情况时,作为实时分配的编号,这样可以更好地区分这些训练集中未出现的字符,相比与现有技术中直接丢弃或者替换为同一个字符的方式,本申请实施例中针对未登录字或未登录词的处理方式,可以更加有效地解决训练集中未出现过的字符带来的相似度计算偏差问题,提高语义匹配准确性。
步骤120:根据确定的各第一语义相似度,确定待匹配文本的语义匹配结果。
执行步骤120时,具体包括:
A1、根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度。
本申请实施例中,针对通过语义相似度模型确定出的第一语义相似度,提供了一种相似度映射方案,可以将相似度计算得到的值映射到更加合理的分数分布区间。
具体地,执行该A1步骤时可以分别以下几种情况:
第一种情况:分别针对各第一语义相似度,若确定第一语义相似度大于等于第一相似度阈值,则根据第一语义相似度转换关系,以及第一相似度阈值和第一语义相似度,确定对应的第二语义相似度。
例如,第一相似度阈值为t1,第一语义相似度为s1,第二语义相似度为s2,则s1≥t1时,
Figure BDA0002724379690000211
第二种情况:若确定第一语义相似度小于第一相似度阈值并大于等于第二相似度阈值,则根据第二语义相似度转换关系,以及第一相似度阈值、第二相似度阈值和第一语义相似度,确定对应的第二语义相似度,其中,第一相似度阈值大于第二相似度阈值。
例如,第一相似度阈值为t1,第二相似度阈值为t2,则t1>s1≥t2时,
Figure BDA0002724379690000221
第三种情况:若确定第一语义相似度小于第二相似度阈值,则根据第三语义相似度转换关系,以及第二相似度阈值和第一语义相似度,确定对应的第二语义相似度。
例如,第一相似度阈值为t1,第二相似度阈值为t2,则s1<t2时,
Figure BDA0002724379690000222
其中,针对上述第一相似度阈值和第二相似度阈值,本申请实施例中提供了一种可能的确定方式,具体地:
1)分别获取语义相似度大于等于第一设定值的第一数目文本对、语义相似度小于第一设定值并大于等于第二设定值的第二数目文本对、语义相似度小于第二设定值的第三数目文本对,其中,第一设定值大于第二设定值。
其中,第一数目文本对、第二数目文本对和第二数目文本对的获取,可以从训练样本数据中选取,例如,大于等于第一设定值的语义相似度,可以表示为完全相似的文本对,小于第一设定值并大于等于第二设定值的语义相似度,可以表示为部分相似的文本对,小于第二设定值的语义相似度,可以表示为完全不相似的文本对,可以在获取到的三元组训练文本样本集中选取,本申请实施例中并不进行限制。
2)基于语义相似度模型,分别获得第一数目文本对中各对文本的语义相似度、第二数目文本对中各对文本的语义相似度,以及第三数目文本对中各对文本的语义相似度。
3)将获得的各语义相似度从高到低进行排序,并选取排名在第一位置的语义相似度作为第一相似度阈值,选取排名在第二位置的语义相似度作为第二相似度阈值,其中,第一位置排名高于第二位置。
其中,第一位置和第二位置的设置,可以根据实际情况和需求,也可以结合获取的第一数目、第二数目和第三数目的总和进行设置,本申请实施例中并不进行限制。
例如,获取第一数目文本对为200个、第二数目文本对为300个、第三数目文本对为500个,则可以组成一个包含1000个文本对的集合,该集合每一个文本对都是由第一文本和第二文本组成,基于本申请实施例中已训练的语义相似度模型,分别对这1000个样本对计算语义相似度,并按照语义相似度大小从高到低排序,可以选取排名在第200的语义相似度作为第一相似度阈值,选取排名在第500的语义相似度作为第二相似度阈值。
这样,可以将通过语义相似度模型输出的第一语义相似度,映射到第二语义相似度,由于通常模型输出的第一语义相似度的分布情况倾向于聚集在高分和低分段,并且随着模型的迭代,每一个新模型产生的分数分布都不太一致,因此,本申请实施例中通过相似度映射,可以使得最终获得的第二语义相似度在各个区间段能够相对均匀的分布,例如各个区间段可以分别表征极度相似、较为相似、有点相似、不相似等,并且通过相似度映射也可以映射到一个相对可比较的空间,可以进一步提高计算出的语义相似度的合理性。
A2、根据获得的各第二语义相似度,从各目标文本中确定出与待匹配文本匹配的目标文本。
例如,若目标文本为目标问题,则执行该步骤A2时,具体包括:
A2.1、根据获得各第二语义相似度,从各目标问题中确定出第二语义相似度最高的前N个目标问题,将前N个目标问题返回给终端展示,其中N大于等于1,并N为正整数。
A2.2、若接收到用户针对展示的前N个目标问题的选择操作,则根据预设的目标问题和目标答案的关联关系,返回选择操作对应的目标问题的目标答案。
例如,在智能问答领域,用户输入问句或关键字,可以通过语义匹配返回语义相似度最高的前N个问题,例如N设置为5,并不进行限制,即可以向用户推荐相似问题,提示用户是否需要或是否是要询问所匹配到的目标问题,用户可以点击选择所感兴趣的目标问题,进而可以返回所选择的目标问题对应的目标答案。
本申请实施例中,根据三元组训练文本样本集,训练语义相似度模型,三元组训练文本样本的语义相似度标签采用语义相似度的差值来表示,而不是单一的非正即负的标签,并且采用语义相似度的差值在预设范围内的样本,通过相似度层级划分,可以在训练过程中加入相似度层级信息,提高了语义相似度模型训练的准确性,进而获取待匹配文本,基于已训练的语义相似度模型,以待匹配文本和各目标文本为输入,分别确定待匹配文本和各目标文本的第一语义相似度,根据确定的各第一语义相似度,确定待匹配文本的语义匹配结果,这样,训练的语义相似度模型更加准确,使得语义相似度确定也更加准确,进而提高了语义匹配结果的准确性。
基于上述实施例,下面针对上述步骤110中基于已训练的语义相似度模型,以待匹配文本和各目标文本为输入,分别确定待匹配文本和各目标文本的第一语义相似度,进行具体介绍,本申请实施例中,语义相似度模型的网络结构至少包括嵌入层(embedding)、防过拟合层(dropout)、双层转换层(双层transformer)、注意力机制层(attention)、融合层(alignment)、双向长短期记忆层(BI-LSTM)、余弦相似度层等,还包括最大池化层、平均池化层等,具体执行上述步骤110时,包括:
S1、针对任意一个目标文本,通过语义相似度模型的嵌入层,分别对待匹配文本和任意一个目标文本的各分字的编号进行编码,获得各分字的字向量表示。
本申请实施例中,在针对待匹配文本和一个目标文本进行语义相似度计算时,语义相似度模型的输入即为待匹配文本的各分字的编号,以及目标文本的各分字的编号,进而输入后,通过嵌入层进行编码,获得各分字对应的字向量表示。
S2、将各分字的字向量表示,通过语义相似度模型的防过拟合层和双层转换层,分别获得待匹配文本和任意一个目标文本的第一特征张量表示。
其中,采用防过拟合层,即目的是为了防止过拟合,提高文本相似度预测准确度,并且增强语义相似度模型对文本训练和预测的泛化能力,进而采用双层转换层,可以提取文本特征,并且采用双层转换层可以使得特征提取能力更强。
例如,待匹配文本为a,该任意一个目标文本为b,则分别将a和b通过嵌入层、防过拟合层和双层转换层,待匹配文本a的第一特征张量表示为a1,目标文本b的第一特征张量表示为b1。
S3、分别将待匹配文本和任意一个目标文本的第一特征张量表示,通过语义相似度模型的注意力机制层,获得待匹配文本相对于任意一个目标文本的第二特征张量表示,以及任意一个目标文本相对于待匹配文本的第二特征张量表示。
例如,将待匹配文本a的第一特征张量表示a1,通过注意力机制层,获得第二特张量表示a2,将目标文本b的第一特征张量表示b1,通过注意力机制层,获得第二特征张量表示b2。
S4、通过语义相似度模型的融合层,分别对待匹配文本和任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得待匹配文本和任意一个目标文本的第三特征张量表示。
其中,融合层目的是将获得第一特征张量表示和第二特征张量表示的信息融合,从而提高文本特征表示的准确性。
执行该步骤S4时,具体包括:
S4.1、分别对待匹配文本和任意一个目标文本的第一特征张量表示、第二特征张量表示进行点乘操作和相减取绝对值操作。
S4.2、1)拼接待匹配文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得待匹配文本的第三特征张量表示。
例如,将待匹配文本a的第一特征张量表示a1和第二特征张量表示a2,进行点乘操作后的特征张量表示为a12,进行相减取绝对值操作后的特征张量表示为a12’,则将a1、a2、a12、a12’进行拼接,可以顺序并连,即获得待匹配文本的第三特征张量表示a3,例如a3=[a1a2a12a12’]。
2)拼接任意一个目标文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得任意一个目标文本的第三特征张量表示。
同样地,例如目标文本b的第一特征张量表示b1和第二特征张量表示b2,进行点乘操作后的特征张量表示为b12,进行相减取绝对值操作后的特征张量表示为b12’,则将b1、b2、b12、b12’进行拼接,即获得目标文本的第三特征张量表示b3。
S5、分别将待匹配文本和任意一个目标文本的第三特征张量表示,通过语义相似度模型的双向长短期记忆层,获得待匹配文本和任意一个目标文本的第四特征张量表示。
执行该步骤S5时,具体包括:
S5.1、分别将待匹配文本和任意一个目标文本的第三特征张量表示,通过语义相似度模型的双向长短期记忆层,并进行最大池化操作、平均池化操作。
即将待匹配文本的第三特征张量表示,通过双向长短期记忆层后,并分别通过最大池化层进行最大池化操作,通过平均池化层进行平均池化操作。同样地,目标文本也通过双向长短期记忆层、最大池化层、平均池化层。
S5.2、1)拼接待匹配文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得待匹配文本的第四特征张量表示。
例如,将待匹配文本a的第三特征张量表示a3,通过双向长短期记忆层后,进行最大池化操作后获得的特征张量表示为a3’,进行平均池化操作后获得的特征张量表示为a3”,将a3’和a3”拼接,即获得待匹配文本的第四特征张量表示a4。
2)拼接任意一个目标文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得任意一个目标文本的第四特征张量表示。
例如,将目标文本b的第三特征张量表示b3,通过双向长短期记忆层后,进行最大池化操作后获得的特征张量表示为b3’,进行平均池化操作后获得的特征张量表示为b3”,将b3’和b3”拼接,即获得目标文本的第四特征张量表示b4。
S6、将待匹配文本和任意一个目标文本的第四特征张量表示,通过语义相似度模型的余弦相似度层,获得待匹配文本和任意一个目标文本的第一语义相似度。
例如,计算待匹配文本的第四特征张量表示a4和目标文本的第四特征张量表示b4的余弦相似度,获得待匹配文本a和目标文本b的第一语义相似度Sab。
本申请实施例中,采用余弦相似度来计算待匹配文本和目标文本的第一语义相似度,这样,可以保证文本语义相似度计算的对称性,而不需考虑两者之间的顺序,即待匹配文本a和目标文本b的第一语义相似度,以及目标文本b与待匹配文本a的第一语义相似度是相等的。
这样,本申请实施例中,将待匹配文本和目标文本输入到语义相似度模型,即可以通过语义相似度模型中各层网络结构,即依次通过嵌入层、防过拟合层、双层转换层、注意力机制层、融合层、双向长短期记忆层、余弦相似度层分别进行处理,对待匹配文本和目标文本进行特征提取,从而获得待匹配文本和目标文本的第一语义相似度,该语义相似度模型中各层网络结构对于特征提取更加准确,因此也显著提高了语义相似度计算的准确度。
基于上述实施例,下面采用具体应用场景,对本申请实施例中语义匹配方法中语义相似度的确定方式的整体流程进行简单说明,以计算一个待匹配文本和一个目标文本的语义相似度为例,参阅图2所示,为本申请实施例中语义匹配方法中语义相似度确定过程流程图,具体包括:
步骤200:分别对待匹配文本和目标文本进行预处理,获得待匹配文本和目标文本对应的各分字的编号。
具体地,分别对待匹配文本和目标文本进行分字处理,获得待匹配文本和目标文本的分字结果,并根据词典,分别确定待匹配文本和目标文本对应的各分字的编号。
例如,待匹配文本进行预处理后获得对应的各分字的编号,即获得待匹配文本的特征向量表示1,目标文本进行预处理后获得目标文本的特征向量表示2。
步骤201:输入到语义相似度模型,输出待匹配文本和目标文本的第一语义相似度。
步骤202:根据语义相似度转换关系,将第一语义相似度转换为第二语义相似度。
即获得待匹配文本和目标文本最终的语义相似度。
本申请实施例中,基于已训练的语义相似度模型,计算待匹配文本和目标文本的第一语义相似度,通过模型计算出的第一语义相似度分布不均匀,可能会不太准确,因此还将第一语义相似度转换为第二语义相似度,通过语义相似度转换,可以映射到更加合理的分布区间,进一步提高计算出的语义相似度的合理性。
基于上述实施例,下面介绍下本申请实施例中的语义相似度模型训练方法,参阅图3所示,为本申请实施例中一种语义相似度模型训练方法流程图,该方法包括:
步骤300:获取三元组训练文本样本集,其中,三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,并第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,以及第一文本、第二文本之间的语义相似度与第一文本、第三文本之间的语义相似度的差值在预设范围内。
本申请实施例中,例如三元组训练文本样本中第一文本为S1,第二文本为S2、第三文本为S3,为了使得相似度具有层级划分的能力,每个三元组训练文本样本中第一文本S1和第二文本S2的语义相似度大于第一文本S1和第三文本S3的语义相似度。即定义文本之间的语义相似度为:
Sij=Sim(Si,Sj)
其中,Sij为文本Si和文本Sj之间的语义相似度,Sim为历史版本的语义相似度模型。
本申请实施例中,每个三元组训练文本样本(S1,S2,S3)均满足:
S12>S13
并且,本申请实施例中,提出软标签的方案设计思路,软标签即为正例与负例的语义差距,使用连续数值来表示正例和负例之间的语义差距,第一文本和第二文本可以认为是正例,第一文本和第三文本可以认为是负例,但是本申请实施例中并不是采用非正即负的标签,而是采用语义相似度的差值来表征,例如语义相似度的差值记为m,则m=S12-S13
其中,预设范围例如为[0.08,0.3],本申请实施例中并不进行限制,即获得语义相似度的差值m在该范围内的三元组训练文本样本。
步骤310:根据三元组训练文本样本集,训练语义相似度模型,直至语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,损失函数使得语义相似度模型识别出第一文本和第二文本之间的语义相似度更大,并第一文本和第三文本之间的语义相似度更小。
基于上述实施例中的语义匹配方法,在输入语义相似度模型时,提供了一种编码方式,根据词典将文本进行编码,转换为编号,将转换后的编号向量输入语义相似度模型,同样地,在训练过程中,也需要预先编码,具体本申请实施例中提供了一种可能的实施方式:
1)分别针对三元组训练文本样本集中各三元组训练文本样本,针对三元组训练文本样本中的中文进行分字处理,并针对三元组训练文本样本中的英文进行分词处理。
2)根据预设词典中包含的字和编号的映射关系,以及词和编号的映射关系,分别获得各三元组训练文本样本的各分字或各分词的编号。
3)针对从预设词典中未匹配到映射关系的分字或分词,根据预设词典中预留的保留编号,确定未匹配到映射关系的分字或分词的编号。
这样,基于词典,可以将三元组训练文本样本,转换为由各个分字或分词的编号构成的向量,使得各个文本有更好的编码表达。
则执行步骤310中根据三元组训练文本样本集,训练语义相似度模型,具体包括:分别以各三元组训练文本样本对应的各分字或各分词的编号为输入参数,训练语义相似度模型。
本申请实施例中,可以自动构建海量训练数据,获取三元组训练文本样本集,并且是采用语义相似度的差值在预设范围内的三元组训练文本样本,进而根据三元组训练文本样本集,训练语义相似度模型,直至语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,这样,采用软标签方式,筛选语义相似度的差值在预设范围内的三元组训练文本样本集,能够使得语义相似度模型容忍一定噪声的存在,在训练时也能够使得语义相似度模型获知数据的重要程度,并且采用软标签在训练数据中加入了相似度层级信息,是使得训练结果呈现层次化效果的重要工具,最终提升了训练的语义相似度模型的鲁棒性和泛化能力。
下面针对上述步骤300中获取三元组训练文本样本集的具体方式进行说明,本申请实施例中,可以基于弱监督方法自动构建训练数据,例如从智能客服系统问答知识库、日志中的会话和点击行为等中自动构建训练数据。
在智能客服系统中问答知识库,即常见问题解答(Frequently Asked Questions,FAQ)库,其配置主要内容是:一个FAQ库(记为
Figure BDA0002724379690000301
)包括多组问题,每组问题表达一个独立意图,一组独立的问题可以记为Gl(l∈{1,2,…,L}),其中L为FAQ库包含的独立意图个数,问答知识库可以表示成这L个独立意图的集合,即
Figure BDA0002724379690000302
并且每组问题Gl中通常包含一个标准问题(记作Tl0)和多个相似问题(记作Tli,i∈{1,2,…,I},其中I为该组相似问题的个数),标准问题是该组问题对应意图的标准化表达,同组的相似问题是对应意图的其它说法,本申请实施例中认为同组的标准问题和相似问题表达了相同的语义信息。
智能客服日志中的用户点击行为主要内容是:用户在提出问题(记作Q)后,智能客服系统会自动地推荐出问答知识库中与之最相似的一个标准问题(Tl0),也可能是推荐与之较为相似的多个标准问题,例如推荐了三个标准问题(Tp0,Tq0,Tr0),对于推荐三个标准问题的情况,用户可以对推荐的问题进行点击操作从而进一步得到想要的答案,通常认为被点击的标准问题与用户提出问题的语义相似度,高于未被点击的标准问题与用户提出问题的语义相似度。
具体可以通过执行以下至少一种操作,获取三元组训练文本样本集:
第一种方式:从问答知识库中获取。
具体地:从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为三元组训练文本样本中的第一文本和第二文本,并从与任意一组问题的非同组问题中随机选取一个问题文本,作为三元组训练文本样本中的第三文本。
其中,问答知识库中包括多组问题,每组问题中包括多个问题文本,并每组问题中所有问题文本表征一个相同的语义,该多组问题中不同组问题之间的语义不同。
本申请实施例中,考虑问答知识库中各组问题的特点,可以通过从同组或不同组问题中选取而构成三元组训练文本样本,对于同组问题,可以随机选取两个标准或相似问题文本,作为三元组训练文本样本中的第一文本和第二文本,并且从非同组问题中随机选取一个标准或相似文本,作为第三文本,进而将第一文本、第二文本和第三文本组成一个三元组训练文本样本,该方法生成的三元组训练文本样本为:
(S1=Tli,S2=Tlj,S3=Tmj),其中i,j∈{1,2,…,I},i≠j,l≠m
这样,根据问答知识库中同组问题表达相同语义,而非同组问题表达不同独立意图的特点,则构建的三元组训练文本样本符合语义相似度S12>S13,通过该方式可以自动构建大量的三元组训练文本样本,例如对于大小为L的FAQ库,对同组问题采样N个问题文本对,对非同组问题采样M个问题文本,则可以获得L×M×N条三元组训练文本样本。
第二种方式:根据用户点击行为数据获取。
具体地:获取智能客服系统中的用户点击行为数据,并将用户点击行为数据中的用户问题文本和对应的点击问题文本作为三元组训练文本样本中第一文本和第二文本,从用户问题文本对应未被点击的其它问题文本中任意选取一个作为三元组训练文本样本中的第三文本,其中,用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本。
本申请实施例中,通过解析智能客服系统中用户会话和行为日志,可以将用户问题文本(记为Q)作为三元组训练文本样本中的第一文本,若针对用户问题,系统推荐了多个标准问题,而用户根据需求从中点击了一个标准问题,则可以将推荐的问题中被点击的点击问题(记为T点击)作为第二文本,将推荐的问题中未被点击的其它问题(记为T未点击)作为第三文本,进而构成三元组训练文本样本,该方法生成的三元组训练文本样本为:
(S1=Q,S2=T点击,S3=T未点击)
这样,根据用户行为分析可知,通常用户点击的问题比未点击的问题更接近用户提出的问题,则生成的三元组训练文本样本符合语义相似度S12>S13,例如行为日志中共有K条用户点击行为数据记录,以针对每个用户问题推荐三个标准问题为例,即用户问题文本对应的点击问题文本和未被点击的其它问题文本总共有三个,则可以生成K×2条三元组训练文本样本。
第三种方式:根据用户点击行为数据和用户问题获取。
具体地:根据用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为三元组训练文本样本中的第一文本和第二文本,并随机选取一个与问题文本未被推荐对应的其它用户问题文本,作为三元组训练文本样本中的第三文本。
本申请实施例中,还可以从用户输入的各个用户问题文本中,来构建三元组训练文本样本,具体可以将与问答知识库中同一问题文本相似的两个用户问题文本(分别记为Q1和Q2),分别作为三元组训练文本样本中的第一文本和第二文本,并且随机采样其它用户问题(记为Q3)作为第三文本,其中,与问答知识库中同一问题文本相似可以理解为被该问题文本被推荐给用户问题文本,则该方法生成的三元组训练文本样本为:
(S1=Q1,S2=Q2,S3=Q3)
其中,rec(Q1)=rec(Q2)≠rec(Q3),rec(Q)表示智能客服系统针对用户提问的用户问题Q推荐出的一条最相似的标准问题,用户问题Q1,Q2对应推荐的问题文本相同,并且与用户问题Q3对应推荐的问题文本不同,则可以认为Q1,Q2的语义相似度高于Q1,Q3的语义相似度,生成的三元组训练文本样本符合语义相似度S12>S13,例如平均每一个标准问题最相似的两个用户问题有A对,每一对采样P个第三文本,则可以生成L×A×P条三元组训练文本样本。
第四种方式:根据用户点击行为数据和用户问题获取。
具体地:根据用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为三元组训练文本样本中的第一文本和第二文本,并随机选取一个与问题文本未被点击对应的其它用户问题文本,作为三元组训练文本样本中的第三文本。
与上述第三种方式类似,该第四种方式中与问答知识库中同一问题文本相似可以理解为该问题文本推荐后被点击,通过解析智能客户系统中用户会话和行为日志,设定不同用户点击同一标准问题的两条用户问题文本分别为第一文本和第二文本,随机采样其它用户问题文本为第三文本,该方法生成的三元组训练文本样本可以表示为:
(S1=Q1,S2=Q2,S3=Q3)
其中,click(Q1)=click(Q2)≠click(Q3),函数click(Q)表示针对用户问题Q,用户对智能客服系统推荐出的三个较为相似的标准问题中所点击的标准问题,用户问题Q1,Q2对应点击的问题文本相同,说明用户问题Q1,Q2的语义相似度较接近,并且与用户问题Q3对应点击的问题文本不同,则可以认为Q1,Q2的语义相似度高于Q1,Q3的语义相似度,生成的三元组训练文本样本符合语义相似度S12>S13,例如,平均每一个标准问题较为相似的两条用户问题有B对,每一对采样Q个第三文本,则可以生成L×B×Q条三元组训练文本样本。
这样,本申请实施例中,可以采用上述几种方式自动生成三元组训练文本样本,实现了采用弱监督方法从多来源的数据中生成三元组训练文本样本集,可以获得大量的训练数据,从而为语义相似度模型的训练提供训练数据支持。
但是,本申请实施例中通过分析可知,上述第一种方式主要是依赖问答知识库,通常数量有限并且质量相对较高,但是可能问答知识库中会存在质量不高的问题文本而导致训练数据质量差的问题,而上述第二种方式、第三种方式和第四种方式,会随着客服会话的增多而不断增多数量,数据量较大,但是主要依赖用户点击行为数据,而用户点击行为数据会存在质量较差的问题,这是因为用户点击行为的不可控性,例如用户误点乱点、用户重复点击或多次点击等,都会给训练数据引入较大的噪声,并且随着采样数量的增长,一条错误点击的噪声会被放大多倍,因此,进一步地,本申请实施例中针对获得的三元组训练文本样本,还提供了一种数据清洗方式,从而获得真正可用的三元组训练文本样本集,例如采用重复数据清洗、数据长度清洗、非法字符清洗、语义清洗等方式,具体本申请实施例中可以对三元组训练文本样本进行筛选,执行以下至少一种操作:
1)若确定多个三元组训练文本样本中的第一文本、第二文本和第三文本的语义均相同,则从相同的三元组训练文本样本中过滤掉预设数目个三元组训练文本样本。
本申请实施例中,可以过滤掉重复数据,例如对于两个三元组训练文本样本,分别为(S1,S2,S3)和(P1,P2,P3),当且仅当S1=P1,S2=P2,S3=P3时,认为两者重复,这时可以过滤掉重复数据,但是本申请实施例中并不是针对重复数据仅保留一份,而是仅过滤掉预设数目个重复数据,这是因为考虑到某些热门问题需要重点学习,会把重复数据保存多份。
其中,过滤的预设数目,可以根据实际情况和经验进行设置,本申请实施例中并不进行限制。
例如,重复的三元组训练文本样本的数量为N,过滤后保留的三元组训练文本样本的数量为n,则可以设置n取值为N对数计算后取整,即n=INT(logN),则过滤掉的预设数目为:N-INT(logN),其中,log表示对数计算,INT表示取整操作。
2)过滤掉第一文本、第二文本或第三文本的长度大于第一长度阈值或小于第二长度阈值的三元组训练文本样本。
本申请实施例中还可以针对数据长度清洗,主要就是针对过长和过短的数据进行过滤,例如对于一份三元组训练文本样本(S1,S2,S3),若其中任意一个文本的长度过长,则表达的语义会趋于复杂冗余,若长度过短,则会导致重要语义信息缺失或完全无意义,因此需要将这部分数据清洗,例如,第一长度阈值为30个字,第二长度阈值为3个字,具体本申请实施例中并不进行限制。
3)过滤掉存在非法字符的三元组训练文本样本。
本申请实施例中非法字符的清洗,主要是对文本中的非中英文字符进行过滤,以及包括所有的标点符号也会进行过滤。则具体地,可以利用正则表达式仅保留文本中的中文、英文大小写字母、数字。
4)过滤掉第二文本和第三文本语义相同的三元组训练文本样本。
5)过滤掉第一文本和第二文本语义相同的三元组训练文本样本。
6)过滤掉第一文本和第三文本语义相同的三元组训练文本样本。
7)过滤掉第一文本和第二文本的语义相似度,与第一文本和第三文本的语义相似度的差值不在所述预设范围内的三元组训练文本样本。
本申请实施例中上述4)-7)的数据清洗方式可以认为是语义清洗方式,其中,4)、5)和6)主要是字面语义清洗,7)主要是深度语义清洗。
具体地,例如,对于任意一份三元组训练文本样本(S1,S2,S3),则出现以下三种情况时进行过滤:正负例无法区分情况,即对应上述操作4),S2=S3,即S12=S13;正例一致情况,即对应上述操作5),这时样本过于简单,无须学习,S1=S2,即S12=1;负例一致情况,即对应上述操作6),这时样本为噪声数据,会干扰学习,S1=S3,即S13=1。
而对于上述操作7),是根据训练数据的软标签进行过滤,软标签表示正例与负例的语义差距,记为m,m值越大,表明正负例差别越大,这样是不利于语义相似度模型对分数层级化划分的学习,因此,本申请实施例中对于m值过大和过小甚至为负值的三元组训练文本样本进行过滤。
本申请实施例中,针对获得的三元组训练文本样本,还提供了一系列的数据清洗和软标签策略,可以解决通过弱监督方法生成大量训练数据所带来的噪声问题,可以减少坏数据的影响,也可以充分利用不同质量和不同来源的训练数据,从而可以显著提高语义相似度模型训练的效果,提高语义相似度模型训练的准确性。
基于上述实施例,下面采用具体应用场景,对本申请实施例中语义相似度模型训练方法进行说明,具体可以分为以下几方面分别进行介绍。
第一方面:对本申请实施例中的语义相似度模型的网络结构进行简单说明。以一个三元组训练文本样本输入语义相似度模型进行训练的过程为例,三元组训练文本样本中包括第一文本、第二文本和第三文本,参阅图4所示,为本申请实施例中语义相似度模型的网络结构示意图,语义相似度模型的网络结构至少包括嵌入层(embedding)、防过拟合层(dropout)、双层转换层(双层transformer)、注意力机制层(attention)、融合层(alignment)、双向长短期记忆层(Bi-directional Long Short-Term Memory,BI-LSTM)、余弦相似度层等,还包括最大池化层、平均池化层等。如图4所示,具体地:
1)输入层:本申请实施例中将三元组训练文本样本中的第一文本、第二文本和第三文本分别进行切字处理,并根据词典映射为编号,分别将第一文本、第二文本和第三文本的编号序列输入语义相似度模型。
2)嵌入层(embedding):本申请实施例中在将文本中每个字符转化为embedding时,采用的不是预训练向量,而是随机初始化向量。
3)在embedding层后增加了dropout层,能够防止过拟合,提高文本相似度预测准确度,并且增强语义相似度模型对文本训练和预测的泛化能力。
(4)双层transformer层:主要是为了提取文本特征。
(5)attention层:主要是提取文本之间的相对特征。
(6)alignment层:主要是在对通过attention层获得的特征向量,以及通过双层transformer层获得的特征向量进行融合操作。
(7)BI-LSTM层:主要是对alignment层输出的特征向量进行进一步特征提取,并分别通过最大池化操作和平均池化操作后,进行拼接而获得最终特征向量表示。
(8)余弦相似度层:主要用于计算两个文本的特征向量表示的相似度,例如,通过余弦相似度层可以输出第一文本和第二文本的语义相似度1,以及输出第一文本和第三文本的语义相似度2。
进而根据损失函数不断训练,而使得识别出第一文本和第二文本之间的语义相似度更大,并第一文本和第三文本之间的语义相似度更小,直至损失函数收敛,即完成训练,获得训练完成的语义相似度模型。
第二方面:对本申请实施例中语义相似度模型训练方法的整体流程进行简单说明,以一个三元组训练文本样本为例,参阅图5所示,为本申请实施例中另一种语义相似度模型训练方法流程图,具体包括:
步骤500:分别对三元组训练文本样本中第一文本、第二文本和第三文本进行预处理,获得第一文本、第二文本和第三文本对应的各分字的编号。
例如,对第一文本进行预处理后获得对应的各分字的编号,即获得第一文本的特征向量表示1,第二文本进行预处理后获得第二文本的特征向量表示2,第三文本进行预处理后获得第三文本的特征向量表示3。
步骤501:输入到语义相似度模型,输出第一文本和第二文本之间的语义相似度,以及第一文本和第三文本之间的语义相似度。
步骤502:计算损失函数并不断训练,直至损失函数收敛。
其中,损失函数可以采用基于动态梯度(margin)的三元组损失函数(tripletloss),损失函数为:
Figure BDA0002724379690000381
其中,margin为预设超参数,本申请实施例中,可以固定margin进行训练,也可以在训练过程中,动态改变各三元组训练文本样本对应的margin,以提高训练效果,具体本申请实施例中并不进行限制。
本申请实施例中,可以直接基于该损失函数,不断训练一个语义相似度模型,直至收敛即获得训练完成的语义相似度模型。
另外,参阅图5所示,本申请实施例中,还可以动态改变margin,采用两个模型动态训练,例如设定margin为0.08,分别训练得到模型m1与模型m2,固定住模型m1预测各三元组训练文本样本的margin以继续训练模型m2,模型m2收敛后固定住反过来预测各三元组训练文本样本的margin以继续训练模型m1,这样,实现动态改变各三元组训练文本样本对应的margin,模型m1和模型m2交替训练,最终收敛后将最后一次训练的模型作为最终的语义相似度模型,可以设置交替训练次数阈值,达到该次数阈值即最终训练完成。
其中,通过收敛后的模型预测三元组训练文本样本的margin,具体方法可以为:对于一个三元组训练文本样本,包含第一文本S1、第二文本S2和第三文本S3,利用收敛的模型,预测第一文本S1和第二文本S2的语义相似度S12,第一文本S1和第三文本S3的语义相似度S13,则该三元组训练文本样本的margin的取值为:margin=max(0,min(0.3,s12-s13)),其中,0和0.3均是根据实验而设置的超参数,本申请实施例中并不进行限制。
步骤503:获得训练完成的语义相似度模型。
这样,本申请实施例中,设置了语义相似度模型的网络结构,基于获取的三元组训练文本样本集,以及语义相似度模型的网络结构,不断训练,进而获得训练完成的语义相似度模型,可以自动构建大量的三元组训练文本样本,并进行数据筛选和清洗,减少数据噪声,并且三元组训练文本样本采用软标签,训练语义相似度模型可以自动学习三元组训练文本样本中不同的语义相似度,加入了相似度层级信息,提高了模型训练准确性,三元组训练文本样本采用以字为主、以词为辅的预处理方式,并基于词典进行预编码,能够不依赖分词技术,减少分词错误带来的影响,进而最终提高了训练的语义相似度模型的可靠性和准确性,也提高了基于该语义相似度模型进行语义匹配的准确性。
基于上述实施例,下面采用具体应用场景,对本申请实施例中语义匹配方法整体流程进行简单说明,参阅图6所示,为本申请实施例中语义匹配方法和语义相似度模型训练方法的整体方案逻辑架构图,如图6所示,本申请实施例中提供的整体方案,主要可以分为语义相似度模型训练方向和语义匹配方向,具体地:
第一部分:语义相似度模型训练方向,主要包括:
1)构造大量的三元组训练文本样本方法,具体可以根据问答知识库、智能客服系统中的用户点击行为数据、历史会话数据等,采用弱监督方式,而获得大量的训练数据,即三元组训练文本样本,这样,可以基于弱监督方式,从多来源中自动生成海量的三元组训练文本样本。
2)构造三元组训练文本样本集,主要是基于数据清洗和软标签方法,例如采用重复数据清洗、数据长度清洗、非法字符清洗、语义清洗等方式,对前述构造的大量的三元组训练文本样本进行筛选和过滤,从而获得噪声更少,质量更高的三元组训练文本样本集。
3)编码方法,具体地对三元组训练文本样本中的中文进行分字处理,并对英文进行分词处理,根据预设词典,确定出三元组训练文本样本中各分字或各分词的编号,这样,本申请实施例中主要是以字为主、以词为辅的混合编码方式,不依赖分词技术,最大限度地减少了分词错误带来的影响。
4)短文本语义相似度模型训练的方法,具体地,分别以各三元组训练文本样本对应的各分字或各分词的编号为输入参数,训练语义相似度模型,直至语义相似度模型的损失函数收敛,即获得训练完成的语义相似度模型,训练的语义相似度模型准确性更高。
第二部分:语义匹配方向,主要包括:
1)语义相似度计算的方法,具体地,基于已训练的语义相似度模型,分部确定待匹配文本和各目标文本的第一语义相似度,并根据各第一语义相似度,确定待匹配文本的语义匹配结果。
2)相似度映射的方法,具体地,根据预设的语义相似度转换关系,将通过语义相似度模型输出的第一语义相似度,转换为第二语义相似度,这样,本申请实施例中将语义相似度映射到更合理的分数分布区间,提高最终语义相似度的合理性和准确性。
进而本申请实施例中通过语义匹配方法中语义相似度计算后,可以再加入到数据库中,还可以再更新三元组训练文本样本集,更新语义相似度模型,提高语义相似度模型训练准确性,从而提高语义匹配的准确性,也提高其实际应用到的智能问答系统、搜索问题推荐系统等的效果和准确性。
基于同一发明构思,本申请实施例中还提供了一种语义匹配装置,该语义匹配装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图7所示,本申请实施例中语义匹配装置,具体包括:
第一获取模块70,用于获取待匹配文本;
匹配模块71,用于基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,其中,所述语义相似度模型是采用三元组训练文本样本集进行训练,以使第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
第一确定模块72,用于根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果。
可选的,进一步包括,编号映射模块73,用于:
分别将所述待匹配文本和各目标文本进行分字处理,获得所述待匹配文本和各目标文本的分字结果;
根据预设词典中包含的字和编号的映射关系,分别获得所述待匹配文本和各目标文本的分字结果中各分字的编号;
并针对从所述预设词典中未匹配到所述映射关系的分字,根据所述预设词典中预留的保留编号,确定所述未匹配到所述映射关系的分字的编号;
则以所述待匹配文本和各目标文本为输入时,所述匹配模块用于:
分别以所述待匹配文本和各目标文本对应的各分字的编号为输入。
可选的,基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度时,所述匹配模块71用于:
针对任意一个目标文本,通过所述语义相似度模型的嵌入层,分别对所述待匹配文本和所述任意一个目标文本的各分字的编号进行编码,获得所述各分字的字向量表示;
将所述各分字的字向量表示,通过所述语义相似度模型的防过拟合层和双层转换层,分别获得所述待匹配文本和所述任意一个目标文本的第一特征张量表示;
分别将所述待匹配文本和所述任意一个目标文本的第一特征张量表示,通过所述语义相似度模型的注意力机制层,获得所述待匹配文本相对于所述任意一个目标文本的第二特征张量表示,以及所述任意一个目标文本相对于所述待匹配文本的第二特征张量表示;
通过所述语义相似度模型的融合层,分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得所述待匹配文本和所述任意一个目标文本的第三特征张量表示;
分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,获得所述待匹配文本和所述任意一个目标文本的第四特征张量表示;
将所述待匹配文本和所述任意一个目标文本的第四特征张量表示,通过所述语义相似度模型的余弦相似度层,获得所述待匹配文本和所述任意一个目标文本的第一语义相似度。
可选的,分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行融合处理,获得所述待匹配文本和所述任意一个目标文本的第三特征张量表示时,所述匹配模块71用于:
分别对所述待匹配文本和所述任意一个目标文本的第一特征张量表示、第二特征张量表示进行点乘操作和相减取绝对值操作;
拼接所述待匹配文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得所述待匹配文本的第三特征张量表示;
拼接所述任意一个目标文本的第一特征张量表示、第二特征张量表示、点乘操作后的特征张量表示以及相减取绝对值操作后的特征张量表示,获得所述任意一个目标文本的第三特征张量表示。
可选的,分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,获得所述待匹配文本和所述任意一个目标文本的第四特征张量表示时,所述匹配模块71用于:
分别将所述待匹配文本和所述任意一个目标文本的第三特征张量表示,通过所述语义相似度模型的双向长短期记忆层,并进行最大池化操作、平均池化操作;
拼接所述待匹配文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得所述待匹配文本的第四特征张量表示;
拼接所述任意一个目标文本对应的最大池化操作后的特征张量表示和平均池化操作后的特征张量表示,获得所述任意一个目标文本的第四特征张量表示。
可选的,根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果时,第一确定模块72用于:
根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度;
根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本。
可选的,根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度时,第一确定模块72用于:
分别针对所述各第一语义相似度,若确定第一语义相似度大于等于第一相似度阈值,则根据第一语义相似度转换关系,以及所述第一相似度阈值和所述第一语义相似度,确定对应的第二语义相似度;
若确定第一语义相似度小于所述第一相似度阈值并大于等于第二相似度阈值,则根据第二语义相似度转换关系,以及所述第一相似度阈值、所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度,其中,所述第一相似度阈值大于所述第二相似度阈值;
若确定第一语义相似度小于所述第二相似度阈值,则根据第三语义相似度转换关系,以及所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度。
可选的,进一步包括,第二确定模块74,用于:
分别获取语义相似度大于等于第一设定值的第一数目文本对、语义相似度小于所述第一设定值并大于等于第二设定值的第二数目文本对、语义相似度小于所述第二设定值的第三数目文本对,其中,所述第一设定值大于所述第二设定值;
基于所述语义相似度模型,分别获得所述第一数目文本对中各对文本的语义相似度、所述第二数目文本对中各对文本的语义相似度,以及所述第三数目文本对中各对文本的语义相似度;
将获得的各语义相似度从高到低进行排序,并选取排名在第一位置的语义相似度作为所述第一相似度阈值,选取排名在第二位置的语义相似度作为所述第二相似度阈值,其中,所述第一位置排名高于所述第二位置。
可选的,若所述目标文本为目标问题,则根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本时,第一确定模块72用于:
根据获得各第二语义相似度,从所述各目标问题中确定出第二语义相似度最高的前N个目标问题,将所述前N个目标问题返回给终端展示,其中N大于等于1,并N为正整数;
并若接收到用户针对展示的所述前N个目标问题的选择操作,则根据预设的目标问题和目标答案的关联关系,返回所述选择操作对应的目标问题的目标答案。
可选的,还包括第二获取模块75,用于通过执行以下至少一种操作,获取所述三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述每组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
基于同一发明构思,本申请实施例中还提供了一种语义相似度模型训练装置,该语义相似度模型训练装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图8所示,本申请实施例中语义相似度模型训练装置,具体包括:
获取模块80,用于获取三元组训练文本样本集,其中,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,并所述第一文本和所述第二文本的语义相似度大于所述第一文本和所述第三文本的语义相似度,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
训练模块81,用于根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,所述损失函数使得所述语义相似度模型识别出所述第一文本和所述第二文本之间的语义相似度更大,并所述第一文本和所述第三文本之间的语义相似度更小。
可选的,获取三元组训练文本样本集时,获取模块80,用于通过执行以下至少一种操作,获取三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述多组问题中不同组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
可选的,进一步包括,筛选模块82,用于:
对所述三元组训练文本样本进行筛选,执行以下至少一种操作:
若确定多个三元组训练文本样本中的第一文本、第二文本和第三文本的语义均相同,则从相同的三元组训练文本样本中过滤掉预设数目个三元组训练文本样本;
过滤掉第一文本、第二文本或第三文本的长度大于第一长度阈值或小于第二长度阈值的三元组训练文本样本;
过滤掉存在非法字符的三元组训练文本样本;
过滤掉第二文本和第三文本语义相同的三元组训练文本样本;
过滤掉第一文本和第二文本语义相同的三元组训练文本样本;
过滤掉第一文本和第三文本语义相同的三元组训练文本样本;
过滤掉第一文本和第二文本的语义相似度,与第一文本和第三文本的语义相似度的差值不在所述预设范围内的三元组训练文本样本。
可选的,进一步包括,编号转换模块83,用于:
分别针对所述三元组训练文本样本集中各三元组训练文本样本,针对三元组训练文本样本中的中文进行分字处理,并针对三元组训练文本样本中的英文进行分词处理;
根据预设词典中包含的字和编号的映射关系,以及词和编号的映射关系,分别获得所述各三元组训练文本样本的各分字或各分词的编号;
并针对从所述预设词典中未匹配到所述映射关系的分字或分词,根据所述预设词典中预留的保留编号,确定所述未匹配到所述映射关系的分字或分词的编号;
则根据所述三元组训练文本样本集,训练语义相似度模型时,训练模块81用于:
分别以所述各三元组训练文本样本对应的各分字或各分词的编号为输入参数,训练所述语义相似度模型。
基于上述实施例,参阅图9所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以包括处理器910(CenterProcessing Unit,CPU)、存储器920、输入设备930和输出设备940等,输入设备930可以包括键盘、鼠标、触摸屏等,输出设备940可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器920可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器910提供存储器920中存储的程序指令和数据。在本申请实施例中,存储器920可以用于存储本申请实施例中任一种语义匹配方法或语义相似度模型训练方法的程序。
处理器910通过调用存储器920存储的程序指令,处理器910用于按照获得的程序指令执行本申请实施例中任一种语义匹配方法或语义相似度模型训练方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意方法实施例中的语义匹配方法或语义相似度模型训练方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种语义匹配方法,其特征在于,包括:
获取待匹配文本;
基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,其中,所述语义相似度模型是采用三元组训练文本样本集进行训练,以使第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果。
2.如权利要求1所述的方法,其特征在于,根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果,具体包括:
根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度;
根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本。
3.如权利要求2所述的方法,其特征在于,根据预设的语义相似度转换关系,分别将确定的各第一语义相似度转换获得对应的第二语义相似度,具体包括:
分别针对所述各第一语义相似度,若确定第一语义相似度大于等于第一相似度阈值,则根据第一语义相似度转换关系,以及所述第一相似度阈值和所述第一语义相似度,确定对应的第二语义相似度;
若确定第一语义相似度小于所述第一相似度阈值并大于等于第二相似度阈值,则根据第二语义相似度转换关系,以及所述第一相似度阈值、所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度,其中,所述第一相似度阈值大于所述第二相似度阈值;
若确定第一语义相似度小于所述第二相似度阈值,则根据第三语义相似度转换关系,以及所述第二相似度阈值和所述第一语义相似度,确定对应的第二语义相似度。
4.如权利要求2所述的方法,其特征在于,若所述目标文本为目标问题,则根据获得的各第二语义相似度,从所述各目标文本中确定出与所述待匹配文本匹配的目标文本,具体包括:
根据获得各第二语义相似度,从所述各目标问题中确定出第二语义相似度最高的前N个目标问题,将所述前N个目标问题返回给终端展示,其中N大于等于1,并N为正整数;
并若接收到用户针对展示的所述前N个目标问题的选择操作,则根据预设的目标问题和目标答案的关联关系,返回所述选择操作对应的目标问题的目标答案。
5.一种语义相似度模型训练方法,其特征在于,包括:
获取三元组训练文本样本集,其中,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,并所述第一文本和所述第二文本的语义相似度大于所述第一文本和所述第三文本的语义相似度,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,所述损失函数使得所述语义相似度模型识别出所述第一文本和所述第二文本之间的语义相似度更大,并所述第一文本和所述第三文本之间的语义相似度更小。
6.如权利要求5所述的方法,其特征在于,获取三元组训练文本样本集,具体包括:
通过执行以下至少一种操作,获取三元组训练文本样本集:
从问答知识库包括的各组问题中的任意一组问题中随机选取两个问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并从与所述任意一组问题的非同组问题中随机选取一个问题文本,作为所述三元组训练文本样本中的第三文本,其中,所述问答知识库中包括多组问题,每组问题中包括多个问题文本,并所述每组问题中所有问题文本表征一个相同的语义,所述多组问题中不同组问题之间的语义不同;
获取智能客服系统中的用户点击行为数据,并将所述用户点击行为数据中的用户问题文本和对应的点击问题文本作为所述三元组训练文本样本中第一文本和第二文本,从所述用户问题文本对应未被点击的其它问题文本中任意选取一个作为所述三元组训练文本样本中的第三文本,其中,所述用户点击行为数据中至少包括用户问题文本、对应推荐的各问题文本、从对应推荐的各问题文本中被点击的点击问题文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被推荐对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被推荐对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本;
根据所述用户点击行为数据,选取与问答知识库中问题文本被点击对应的两个用户问题文本,作为所述三元组训练文本样本中的第一文本和第二文本,并随机选取一个与所述问题文本未被点击对应的其它用户问题文本,作为所述三元组训练文本样本中的第三文本。
7.一种语义匹配装置,其特征在于,包括:
第一获取模块,用于获取待匹配文本;
匹配模块,用于基于已训练的语义相似度模型,以所述待匹配文本和各目标文本为输入,分别确定所述待匹配文本和各目标文本的第一语义相似度,其中,所述语义相似度模型是采用三元组训练文本样本集进行训练,以使第一文本和第二文本的语义相似度大于第一文本和第三文本的语义相似度,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
第一确定模块,用于根据确定的各第一语义相似度,确定所述待匹配文本的语义匹配结果。
8.一种语义相似度模型训练装置,其特征在于,包括:
获取模块,用于获取三元组训练文本样本集,其中,所述三元组训练文本样本集中包括多个三元组训练文本样本,每个三元组训练文本样本包括第一文本、第二文本和第三文本,并所述第一文本和所述第二文本的语义相似度大于所述第一文本和所述第三文本的语义相似度,以及所述第一文本、所述第二文本之间的语义相似度与所述第一文本、所述第三文本之间的语义相似度的差值在预设范围内;
训练模块,用于根据所述三元组训练文本样本集,训练语义相似度模型,直至所述语义相似度模型的损失函数收敛,获得训练完成的语义相似度模型,其中,所述损失函数使得所述语义相似度模型识别出所述第一文本和所述第二文本之间的语义相似度更大,并所述第一文本和所述第三文本之间的语义相似度更小。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4或5-6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-4或5-6任一项所述方法的步骤。
CN202011097991.1A 2020-10-14 2020-10-14 一种语义匹配、语义相似度模型训练方法及装置 Active CN112241626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011097991.1A CN112241626B (zh) 2020-10-14 2020-10-14 一种语义匹配、语义相似度模型训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011097991.1A CN112241626B (zh) 2020-10-14 2020-10-14 一种语义匹配、语义相似度模型训练方法及装置

Publications (2)

Publication Number Publication Date
CN112241626A true CN112241626A (zh) 2021-01-19
CN112241626B CN112241626B (zh) 2023-07-07

Family

ID=74169195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011097991.1A Active CN112241626B (zh) 2020-10-14 2020-10-14 一种语义匹配、语义相似度模型训练方法及装置

Country Status (1)

Country Link
CN (1) CN112241626B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883703A (zh) * 2021-03-19 2021-06-01 腾讯科技(深圳)有限公司 一种识别关联文本的方法、装置、电子设备及存储介质
CN113221531A (zh) * 2021-06-04 2021-08-06 西安邮电大学 一种多模型动态协同的语义匹配方法
CN113326425A (zh) * 2021-04-20 2021-08-31 中国电子科技集团公司第五十四研究所 一种基于结构和语义注意力堆叠的会话推荐方法及系统
CN113627262A (zh) * 2021-07-13 2021-11-09 深圳力维智联技术有限公司 文字识别方法、装置及设备
CN113674846A (zh) * 2021-09-18 2021-11-19 浙江远图互联科技股份有限公司 基于lstm网络的医院智慧服务舆情监控平台
CN114757208A (zh) * 2022-06-10 2022-07-15 荣耀终端有限公司 一种问答匹配方法及装置
US20220292265A1 (en) * 2021-03-09 2022-09-15 Beijing Xiaomi Mobile Software Co., Ltd. Method for determining text similarity, storage medium and electronic device
CN116911311A (zh) * 2023-08-02 2023-10-20 北京市农林科学院 一种农业领域技术咨询问答方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129012A1 (en) * 2001-03-12 2002-09-12 International Business Machines Corporation Document retrieval system and search method using word set and character look-up tables
CN109918663A (zh) * 2019-03-04 2019-06-21 腾讯科技(深圳)有限公司 一种语义匹配方法、装置及存储介质
US20190377825A1 (en) * 2018-06-06 2019-12-12 Microsoft Technology Licensing Llc Taxonomy enrichment using ensemble classifiers
CN110750616A (zh) * 2019-10-16 2020-02-04 网易(杭州)网络有限公司 检索式聊天方法、装置以及计算机设备
CN110795913A (zh) * 2019-09-30 2020-02-14 北京大米科技有限公司 一种文本编码方法、装置、存储介质及终端
CN110826337A (zh) * 2019-10-08 2020-02-21 西安建筑科技大学 一种短文本语义训练模型获取方法及相似度匹配算法
CN111368024A (zh) * 2020-02-14 2020-07-03 深圳壹账通智能科技有限公司 文本语义相似度的分析方法、装置及计算机设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129012A1 (en) * 2001-03-12 2002-09-12 International Business Machines Corporation Document retrieval system and search method using word set and character look-up tables
US20190377825A1 (en) * 2018-06-06 2019-12-12 Microsoft Technology Licensing Llc Taxonomy enrichment using ensemble classifiers
CN109918663A (zh) * 2019-03-04 2019-06-21 腾讯科技(深圳)有限公司 一种语义匹配方法、装置及存储介质
CN110795913A (zh) * 2019-09-30 2020-02-14 北京大米科技有限公司 一种文本编码方法、装置、存储介质及终端
CN110826337A (zh) * 2019-10-08 2020-02-21 西安建筑科技大学 一种短文本语义训练模型获取方法及相似度匹配算法
CN110750616A (zh) * 2019-10-16 2020-02-04 网易(杭州)网络有限公司 检索式聊天方法、装置以及计算机设备
CN111368024A (zh) * 2020-02-14 2020-07-03 深圳壹账通智能科技有限公司 文本语义相似度的分析方法、装置及计算机设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220292265A1 (en) * 2021-03-09 2022-09-15 Beijing Xiaomi Mobile Software Co., Ltd. Method for determining text similarity, storage medium and electronic device
CN112883703A (zh) * 2021-03-19 2021-06-01 腾讯科技(深圳)有限公司 一种识别关联文本的方法、装置、电子设备及存储介质
CN112883703B (zh) * 2021-03-19 2023-10-20 腾讯科技(深圳)有限公司 一种识别关联文本的方法、装置、电子设备及存储介质
CN113326425A (zh) * 2021-04-20 2021-08-31 中国电子科技集团公司第五十四研究所 一种基于结构和语义注意力堆叠的会话推荐方法及系统
CN113221531A (zh) * 2021-06-04 2021-08-06 西安邮电大学 一种多模型动态协同的语义匹配方法
CN113627262A (zh) * 2021-07-13 2021-11-09 深圳力维智联技术有限公司 文字识别方法、装置及设备
CN113674846A (zh) * 2021-09-18 2021-11-19 浙江远图互联科技股份有限公司 基于lstm网络的医院智慧服务舆情监控平台
CN114757208A (zh) * 2022-06-10 2022-07-15 荣耀终端有限公司 一种问答匹配方法及装置
CN114757208B (zh) * 2022-06-10 2022-10-21 荣耀终端有限公司 一种问答匹配方法及装置
CN116911311A (zh) * 2023-08-02 2023-10-20 北京市农林科学院 一种农业领域技术咨询问答方法

Also Published As

Publication number Publication date
CN112241626B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
CN112241626B (zh) 一种语义匹配、语义相似度模型训练方法及装置
CN106599226B (zh) 一种内容推荐方法及内容推荐系统
CN109376222B (zh) 问答匹配度计算方法、问答自动匹配方法及装置
CN111985239B (zh) 实体识别方法、装置、电子设备及存储介质
CN111444709A (zh) 文本分类方法、装置、存储介质及设备
CN111488931B (zh) 文章质量评估方法、文章推荐方法及其对应的装置
CN110825867B (zh) 相似文本推荐方法、装置、电子设备和存储介质
US11645447B2 (en) Encoding textual information for text analysis
CN111353013A (zh) 一种智能投顾的实现方法及系统
CN111897954A (zh) 一种用户评论方面挖掘系统、方法、及存储介质
US9830533B2 (en) Analyzing and exploring images posted on social media
Campos et al. Providing recommendations for communities of learners in MOOCs ecosystems
CN112667816A (zh) 一种基于深度学习的方面级情感分析方法及系统
Wang et al. Data set and evaluation of automated construction of financial knowledge graph
CN113961666B (zh) 关键词识别方法、装置、设备、介质及计算机程序产品
Wagle et al. Explainable ai for multimodal credibility analysis: Case study of online beauty health (mis)-information
Tüselmann et al. Recognition-free question answering on handwritten document collections
CN113705159A (zh) 商户名称的标注方法、装置、设备及存储介质
CN114580354B (zh) 基于同义词的信息编码方法、装置、设备和存储介质
CN116402166A (zh) 一种预测模型的训练方法、装置、电子设备及存储介质
CN110909174A (zh) 一种基于知识图谱的简单问答中实体链接的改进方法
CN107274077B (zh) 课程先后序计算方法和设备
CN116090450A (zh) 一种文本处理方法及计算设备
Chakma et al. 5W1H-Based semantic segmentation of tweets for event detection using BERT
CN115080741A (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