CN116955579A - 一种基于关键词知识检索的聊天回复生成方法和装置 - Google Patents
一种基于关键词知识检索的聊天回复生成方法和装置 Download PDFInfo
- Publication number
- CN116955579A CN116955579A CN202311224867.0A CN202311224867A CN116955579A CN 116955579 A CN116955579 A CN 116955579A CN 202311224867 A CN202311224867 A CN 202311224867A CN 116955579 A CN116955579 A CN 116955579A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- training
- sentence
- chat
- obtaining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012549 training Methods 0.000 claims description 149
- 239000013598 vector Substances 0.000 claims description 73
- 238000002372 labelling Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000005520 cutting process Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 13
- 238000000605 extraction Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 5
- 239000000284 extract Substances 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 14
- 230000003068 static effect Effects 0.000 description 13
- 238000003058 natural language processing Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及社交聊天机器人技术领域,提供了一种基于关键词知识检索的聊天回复生成方法和装置。其中,本发明通过关键词抽取模块得到所述用户输入信息的关键词,以精准提取用户输入信息的关键词,为后续定向检索知识提供依据。通过知识检索模块得到实际对话内容和关键词对应的检索信息,实现引入外部知识库,赋予社交聊天机器人获取额外知识的能力。通过聊天回复模块将实际对话内容、关键词和检索信息组合成提示词,根据提示词得到聊天回复,以得到包含额外的知识信息的聊天回复,解决了社交聊天机器人在聊天中容易表现出知识贫乏且难以深入话题的问题,实现了更智能和人性化的社交聊天机器人交互效果。
Description
技术领域
本发明涉及社交聊天机器人技术领域,特别是涉及一种基于关键词知识检索的聊天回复生成方法和装置。
背景技术
随着人工智能技术的发展,通过社交聊天机器人实现人机深度交互已经成为重要研究方向。当前的社交聊天机器人主要利用预训练好的语言模型(基于大规模语料预训练的语言模型,简称大语言模型)来生成社交聊天机器人的聊天回复,这类语言模型的训练目标是预测语料中的词序列,而不是生成高质量的对话交互。基于这类语言模型进行交互的社交聊天机器人的知识库主要来源于有限的静态训练语料(预训练语料),即大规模的文本数据,语言模型在预训练时通过学习这些有限的静态训练语料的统计模式和语义关系,实现根据用户输入信息进行编码并生成相关的聊天回复。这一机制导致社交聊天机器人在对话时无法回复关于静态训练语料之外的知识,难以像人类一样主动获取信息并融入对话,并扩充知识面,这进一步削弱了其交互能力,使社交聊天机器人在聊天中容易表现出知识贫乏且难以深入话题的问题。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是提供一种基于关键词知识检索的聊天回复生成方法和装置,以解决社交聊天机器人的知识库主要来源于有限的静态训练语料,对话时无法获取有限的静态训练语料之外的知识,使社交聊天机器人在聊天中容易表现出知识贫乏且难以深入话题的问题。
本发明采用如下技术方案:
第一方面,提供一种基于关键词知识检索的聊天回复生成方法,所述聊天回复生成方法包括:
对用户输入信息进行识别,得到所述用户输入信息的关键词;
根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词,检索知识库得到对应的检索信息;
将所述实际对话内容、所述关键词和所述检索信息进行组合,得到提示词;
根据所述提示词得到聊天回复。
进一步地,所述对用户输入信息进行识别,得到所述用户输入信息的关键词包括:
通过目标识别模型对所述用户输入信息进行识别,为表征实体的词汇设置实体标签;
提取携带有所述实体标签的词汇作为所述关键词。
进一步地,所述目标识别模型的获得方法包括:
将对话语料中的每个样本分割为至少一个语句;根据预设标记方式,标注所述语句,得到包含实体标签的样本;其中,所述对话语料包含至少一个样本;
将所有所述包含实体标签的样本作为第一训练语料;
构建初始识别模型,使用无标注语料对所述初始识别模型进行预训练,得到中间识别模型;
使用所述第一训练语料对所述中间识别模型进行微调,得到目标识别模型。
进一步地,所述使用所述第一训练语料对所述中间识别模型进行微调,得到目标识别模型包括:
将所述第一训练语料的每个语句进行分词,得到至少一个词汇,将所述词汇转换为对应的词汇ID;
将至少一个词汇ID输入至所述中间识别模型,获取所述词汇ID的序列对应的初始隐藏状态;
根据所述初始隐藏状态,得到目标隐藏状态,其中,b为输出向量,/>为序列的长度,/>为隐藏状态的维度;将所述序列对应的预测的实体标签表示为/>,其中,/>为预测的实体标签的数量;
根据每次训练中的权重矩阵和所述目标隐藏状态,得到所述目标隐藏状态对应的预测的实体标签的分数矩阵/>;根据所述分数矩阵,得到预测的实体标签的概率矩阵P,其中/>;
根据当前预设损失函数,得到每个语句的第一损失,其中,/>表示训练中t时刻C个实际的实体标签,表示训练中t时刻C个预测的实体标签的概率矩阵;
当所述第一损失减小至第一预设损失范围内,且所述中间识别模型的网络参数收敛时,得到目标识别模型。
进一步地,所述根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词,检索知识库得到对应的检索信息包括:
根据所述用户输入信息得到实际对话内容,根据所述关键词和所述实际对话内容,构造待检索语句;
使用目标句向量生成模型对所述待检索语句编码,得到所述待检索语句的第一句向量;
使用目标句向量生成模型对知识库中的每一条知识进行编码,得到对应的第二句向量;
计算所述第一句向量与所述第二句向量的相似度,得到最大相似度;
根据最大相似度确定与所述第一句向量最相似的知识,将所述知识作为检索信息。
进一步地,所述目标句向量生成模型的获得方法包括:
将知识语料的关键词和所述知识语料的训练对话内容拼接得到第一训练语句,将所述知识语料的对话知识作为第二训练语句;
将所述第一训练语句与包含所述第一训练语句对应的对话知识的第二训练语句作为正样本,为正样本设置相似度标签;将所述第一训练语句与不包含所述第一训练语句对应的对话知识的第二训练语句作为负样本,为负样本设置相似度标签/>;将所有所述正样本和所有所述负样本作为第二训练语料;
构建初始句向量生成模型,使用所述第二训练语料训练所述初始句向量生成模型时,根据预设相似度函数,计算第一训练语句与第二训练语句的相似度,得到最大相似度;其中,s1为第一训练语句,s2为第二训练语句,/>为所述初始句向量生成模型的预训练权重;
根据最大相似度,确定与第一训练语句最相似的第二训练语句,将所述第二训练语句作为预测结果;
根据所述预测结果、所述相似度标签和所述相似度标签/>,得到每次迭代的第二损失/>;其中,y为相似度标签,包括所述相似度标签/>和所述相似度标签/>;
当所述第二损失减小至预设损失范围内,且所述初始句向量生成模型的网络参数收敛时,得到目标句向量生成模型。
进一步地,所述根据所述提示词得到聊天回复包括:
将所述提示词切割为至少一个词元,将所述词元/>通过词典映射为数值向量;其中,/>表示第i个词元,i=1,…,n;
将所述数值向量输入至所述语言模型,得到响应词元/>,其中,;其中,/>表示第j个响应词元;
将所述响应词元翻译成文本信息,将所述文本信息作为聊天回复。
进一步地,所述知识库中包含两类知识内容,分别为特定知识内容和历史知识内容,其中:
根据关键词确定垂直场景,根据所述垂直场景确定所述特定知识内容;
将当前聊天用户的历史输入信息输入至语言模型,所述语言模型对所述历史输入信息进行总结,得到历史知识内容。
进一步地,所述方法还包括:
连续聊天时,获取用户输入信息,将所述用户输入信息作为当前聊天用户的历史输入信息;将所述历史输入信息输入至语言模型,得到历史知识内容;将所述历史知识内容添加至知识库中,为所述历史知识内容添加用户标签;其中,用户标签为当前聊天用户的用户ID;
通过目标识别模型对所述用户输入信息进行识别,为表征实体的词汇设置实体标签,提取携带有所述实体标签的词汇作为所述关键词;根据所述关键词确定垂直场景,在所述知识库中获取所述垂直场景的特定知识内容;为所述知识库中的所述特定知识内容添加用户标签;其中,用户标签为当前聊天用户的用户ID;
根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词构造待检索语句,检索所述知识库中包含所述用户ID的特定知识内容和历史知识内容,得到对应的检索信息;
将所述实际对话内容、所述关键词和所述检索信息进行组合,得到提示词;根据所述提示词得到聊天回复。
第二方面,本发明还提供了一种基于关键词知识检索的社交聊天装置,用于实现第一方面所述的基于关键词知识检索的聊天回复生成方法,所述社交聊天装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于实现第一方面所述的基于关键词知识检索的聊天回复生成方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于实现第一方面所述的基于关键词知识检索的聊天回复生成方法。
区别于现有技术,本发明至少具有以下有益效果:
本发明通过关键词抽取模块得到所述用户输入信息的关键词,以精准提取用户输入信息的关键词,为后续定向检索知识提供依据。通过知识检索模块得到实际对话内容和关键词对应的检索信息,实现引入外部知识库,赋予社交聊天机器人获取额外知识的能力。通过聊天回复模块将实际对话内容、关键词和检索信息组合成提示词,根据提示词得到聊天回复,实现利用额外的知识信息、构造聊天回复的提示词,以得到包含更多涉及关键词的知识的聊天回复,解决了社交聊天机器人在聊天中容易表现出知识贫乏且难以深入话题的问题,实现了更智能和人性化的社交聊天机器人交互效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于关键词知识检索的聊天回复生成方法的一种整体流程示意图;
图2是本发明实施例提供的一种基于关键词知识检索的聊天回复生成方法的另一种整体流程示意图;
图3是本发明实施例步骤10的具体流程示意图;
图4是本发明实施例步骤101的具体流程示意图;
图5是本发明实施例步骤1014的具体流程示意图;
图6是本发明实施例步骤20的具体流程示意图;
图7本发明实施例提供的一种知识检索模块的具体流程示意图;
图8是本发明实施例步骤202的具体流程示意图;
图9是本发明实施例步骤30的具体流程示意图;
图10是本发明实施例提供的一种基于关键词知识检索的社交聊天装置的架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
当前的社交聊天机器人仅根据用户输入信息,生成相关的聊天回复,理解层次偏低,所以无法回复有关于静态训练语料之外的知识。例如,用户输入信息为“手机多少钱”,将用户输入信息直接作为语言模型的查询(query),一般的语言模型由于知识库主要来源于有限的静态训练语料,“手机”与“手机壳”的嵌入(embedding,即神经网络中离散变量的低维学习连续向量表示)非常相似,语音模型没有先验知识,不知道“手机”与“手机壳”属于两个不同的概念,导致语言模型计算出来的相似度较高,所以很容易将查询误判为与标题(title)“手机壳多少钱”相匹配。本发明实施例通过基于关键词引入外部知识库生成提示词,让语言模型提前了解用户输入信息中的先验知识(“提前”指在语言模型学习用户输入信息之前),进行知识增强,提高语言模型的理解层次,生成更高质量的聊天回复,以实现更智能和人性化的社交聊天机器人交互效果。
针对现有技术的社交聊天机器人难以像人类一样主动获取信息并融入对话并扩充知识面,对话时无法获取有限的静态训练语料之外的知识,交互能力弱的缺点,如图1所示,本发明实施例1提供了一种基于关键词知识检索的聊天回复生成方法,所述聊天回复生成方法包括:
步骤10:对用户输入信息进行识别,得到所述用户输入信息的关键词。
其中,用户输入信息为用户向本发明实施例的聊天回复生成方法输入的数据。在可选的实施例中,该数据的形式可以为文本形式,也可以为语音形式。该数据的具体形式在此不做限定,本领域普通技术人员根据具体实现场景的需求对可处理的数据形式进行选择,在不付出创造性劳动的前提下,将其他形式的数据转化为可统一处理的形式(如向量)。
关键词为用户输入信息中的实体,该实体为自然语言处理(Natural LanguageProcessing,简写为NLP)领域的命名实体,即具有特殊意义的名词,例如人名、地名、组织结构等。
在本实施例中,关键词抽取模块基于目标识别模型对所述用户输入信息进行识别,得到所述用户输入信息的关键词。
其中,目标识别模型为基于Transformer模型的双向编码器表示(BidirectionalEncoder Representations from Transformer,简写为BERT)模型,目标识别模型对用户输入信息中的关键词(实体)进行抽取。其中,Transformer模型为一种经典的自然语言处理模型。
步骤20:根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词,检索知识库得到对应的检索信息。
其中,实际对话内容为实际使用本发明实施例的聊天回复生成方法时,从用户输入信息中获取的用户与社交聊天机器人聊天的对话文本。知识库为本发明实施例在有限的静态训练语料之外引入的外部知识库。
本发明实施例的知识检索模块基于目标句向量生成模型进行检索。其中,目标句向量生成模型为基于SentenceBERT(又称SBERT,Sentence Bidirectional EncoderRepresentations from Transformer)模型微调得到的。其中,SentenceBERT模型是一种基于预训练的语句嵌入技术,它可以将文本语句转换为向量表示,从而可以用于文本分类、相似度计算、聚类等自然语言处理任务。
在本实施例中,首先根据所述用户输入信息得到实际对话内容,再基于关键词的引导进行知识检索,使得在通过学习或推理得到聊天回复之前,就已经具备关于问题领域(实际对话内容和关键词)的先验知识或经验,即检索到的检索信息,以实现引入外部知识库,赋予社交聊天机器人获取额外知识的能力。
步骤30:将所述实际对话内容、所述关键词和所述检索信息进行组合,得到提示词。
聊天回复模块将所述实际对话内容、所述关键词和所述检索信息按照预设组合规则进行组合,形成提示词。
例如,预设组合规则如下:
“用户输入信息:{实际对话内容} \n 关键词:{关键词} \n 相关知识:{检索信息} \n ,请你根据关键词检索出的知识和你的认知,根据用户的输入信息来给出回复。”
其中,大括号{}内的内容分别为关键实体抽取模块得到的实际对话内容和关键词、知识检索模块检索出的检索信息。
步骤40:根据所述提示词得到聊天回复。
本发明实施例的聊天回复模块整合用户输入信息中的实际对话内容、实际对话内容的关键词、基于外部知识库的检索信息,得到提示词,使用语言模型根据整合的提示词得到聊天回复。其中,语言模型即自然语言处理领域中的大规模预训练语言模型。本领域普通技术人员根据具体使用场景对语言模型进行选择,在此不做限定。
如图2所示,本发明实施例通过关键词抽取模块得到所述用户输入信息的关键词,以精准提取用户输入信息的关键词,为后续定向检索知识提供依据。通过知识检索模块得到实际对话内容和关键词对应的检索信息,实现引入外部知识库,赋予社交聊天机器人获取额外知识的能力。通过聊天回复模块将实际对话内容、关键词和检索信息组合成提示词,根据提示词得到聊天回复,实现利用额外的知识信息、构造聊天回复的提示词,以得到包含更多涉及关键词的知识的聊天回复,解决了社交聊天机器人在聊天中容易表现出知识贫乏且难以深入话题的问题,实现了更智能和人性化的社交聊天机器人交互效果。
为了更好的阐述本发明的基于关键词知识检索的聊天回复生成方法,接下来对本发明实施例的基于关键词知识检索的聊天回复生成方法中,关键词抽取模块的数据输入和数据输出的处理流程做进一步的说明,具体而言,如图3所示,所述步骤10包括:
步骤101:通过目标识别模型对所述用户输入信息进行识别,为表征实体的词汇设置实体标签。
其中,目标识别模型将用户输入信息转化为一系列的词汇和对应的实体标签。实体标签用于标识用户输入信息中的实体。使用训练好的目标识别模型进行推理,给定一个未标注的语句(从用户输入信息中得到)输入目标识别模型,输出每个词汇的实体标签,从而实现命名实体识别(Named Entity Recognition,简写为NER),得到用户输入信息中的相关关键词。其中,命名实体识别是一项旨在文本中确定实体的边界并将实体准确归类的任务。
步骤102:提取携带有所述实体标签的词汇作为所述关键词。
根据实体标签的类型,将标记出的实体作为可用于知识检索的关键词,关于具体实体标记方式详见下文关于预设标记方式的描述,此处使用目标识别模型得到的实体标签与通过该预设标记方式标记的实体标签相同。
关键词抽取模块主要用于剔除用户输入信息中的噪音,提取出关键词。例如,用户输入信息为“如何评价A公司的某库”,则需要提取出的实体为组织机构名“A公司”和人名“某库”。
本发明实施例的聊天回复生成方法在收集用于微调BERT模型和SentenceBERT模型的训练语料时,为了提高关键词抽取功能和知识检索功能的可用性,模型的训练语料均从用户实际使用社交聊天机器人时产生的真实对话语料中获取。
本发明实施例的目标识别模型基于深度学习进行关键词抽取,主要分为两大内容:训练语料构造和模型训练微调。本发明实施例的聊天回复生成方法通过使用真实对话语料进行训练,微调用于提取关键词(实体)的中间识别模型,以将中间识别模型调整到的特定(社交聊天机器人)的NER任务。
为了更好的阐述本发明的基于关键词知识检索的聊天回复生成方法,接下来对本发明实施例的基于关键词知识检索的聊天回复生成方法的关键词抽取模块使用的目标识别模型做进一步的说明,具体而言,如图4所示,所述目标识别模型的获得方法包括:
步骤1011:将对话语料中的每个样本分割为至少一个语句;根据预设标记方式,标注所述语句,得到包含实体标签的样本;其中,所述对话语料包含至少一个样本。
其中,对话语料为从用户实际使用社交聊天机器人时产生的真实的对话语料中获取的语料。
其中,预设标记方式可以为BIO(Begin-Inside-Outsite,开始-中间-其他)标记法。
BIO标记法基于以下三种标记:B(Begin):表示实体的起始位置,即某个词汇是实体的开始部分;I(Inside):表示实体的中间位置,即某个词汇位于实体的内部;O(Outside):表示不是实体的词汇。
例如,对于语句(样本)“Bill works at OpenAI in California”,要标注人名(人物实体)和组织名(组织实体)。在该例子中,“Bill”被标记为B-PER(即,样本标记),表示这是一个人物实体的起始位置;“OpenAI”被标记为B-ORG(即,样本标记),表示这是一个组织实体的起始位置;“California”被标记为B-LOC(即,样本标记),表示它是一个地点实体的起始位置。其余的词汇被标记为O,表示它们不是实体。本领域普通技术人员也可以根据具体使用场景选择其他标记方式,在此不做限定。
为了便于描述,现对下文中出现的概念进行统一解释说明。对话语料包括至少一个样本,样本包括至少一个语句,语句包括至少一个词汇。词汇ID为词汇的标识,每个词汇有对应的一个词汇ID,以便于简化操作。至少一个词汇ID构成序列,用于在序列标注任务中将样本表示为序列,以便于设置实体标签。其中,序列标注(Sequence Tagging)是一个基础的自然语言处理任务,用于解决一系列对字符进行分类的问题,如分词、词性标注、命名实体识别、关系抽取等;此处使用序列标注是为了解决命名实体识别问题,但在序列标注的过程中解决了分词问题。
例如,将样本text=“Bill works at OpenAI in California.”分割为至少一个语句,根据样本中的“.”识别语句结束位置,得到一个语句“Bill works at OpenAI inCalifornia”。将该语句按空格分割为一个序列W=[“Bill”、“works”、“at”、“OpenAI”、“in”、“California”],实现将样本表示为序列。再为序列中的每一个属性值(token)设置一个实体标签,标注序列中每一个属性值的位置和类型,即完成序列标注任务,得到包含实体标签的样本。以BIO标记法为例,该样本中:属性值“Bill”被标记为B-PER;属性值“works”被标记为O;属性值“at”被标记为O;属性值“OpenAI”被标记为B-ORG;属性值“in”被标记为O;属性值“California”被标记为B-LOC。由于完成序列标注任务时,将样本表示为序列时已经对样本完成了分词,将该序列包含的至少一个属性值作为样本中语句的至少一个词汇;其中,一个属性值作为一个词汇。其中,具体实现时,该样本的形式不变,通过与相应的实体标签确定每个样本中词汇的位置,例如起始位置。该样本中,词汇分别为“Bill”、“works”、“at”、“OpenAI”、“in”、“California”。
本发明实施例使用预设标记方式对样本进行序列标注,得到包含实体标签的样本,将真实的对话语料制作为用于训练中间识别模型的训练集(即,下文中第一训练语料)。将样本分割为至少一个语句后,对每个语句进行分词,并为每个词汇标记实体标签,使每个样本的输入语句可被转化为一系列的词汇和对应的实体标签。
步骤1012:将所有所述包含实体标签的样本作为第一训练语料。
将步骤1011得到的样本的实体标签作为实际的实体标签,后续用于训练中间识别模型。
步骤1013:构建初始识别模型,使用无标注语料对所述初始识别模型进行预训练,得到中间识别模型。
BERT通过大规模的无监督预训练来学习通用的语言表示,本发明实施例的聊天回复生成方法使用BERT作为基础模型,构建初始识别模型。本发明实施例的,初始识别模型和中间识别模型的训练目标均为学习识别样本中的实体。其中,先使用大规模的无标注语料对初始识别模型的BERT模型进行预训练,通过自监督学习任务来学习语言表示,在可选的实施例中,预训练包括预测被遮盖(mask)掉的词汇和预测语句之间的关系,预训练阶段的mask机制,通过遮掩一部分词汇,预测出遮掩掉的词汇。
步骤1014:使用所述第一训练语料对所述中间识别模型进行微调,得到目标识别模型。
通过使用上述步骤标注的真实对话语料的NER数据,即包含实体标签的样本,对预训练的BERT模型进行微调,将其调整到特定的NER任务,使得后续能够使用目标识别模型实现识别实体。
为了更好的阐述本发明的基于关键词知识检索的聊天回复生成方法,接下来对本发明实施例获得目标识别模型的步骤1014做进一步的细化,具体而言,如图5所示,所述步骤1014包括:
步骤10141:将所述第一训练语料的每个语句进行分词,得到至少一个词汇,将所述词汇转换为对应的词汇ID。
对BERT模型的训练微调时,由于输入表示设定为包含实体标签的样本(即给定真实对话语料的NER数据),所以需要将样本的每个语句进行分词并转换为对应的词汇ID。例如,给定一个语句text=“”,表示为序列W=[‘/>’,‘/>’,...,‘/>’],其中,序列的长度为T,序列中“/>”、“/>”、...、“/>”为词汇,“1”、“2”、...、“T”为词汇ID。其中,本步骤与步骤1011类似,本步骤为中间识别模型的训练过程,步骤1011为制作训练集的过程,不同之处在于步骤1011在完成分词任务后还完成了序列标注任务,得到了包含实体标签的样本,本步骤仅完成分词任务,下文中步骤10143在训练时使用中间识别模型完成序列标注任务;后续将样本输入中间识别模型预测样本的实体标签,通过将中间识别模型预测的实体标签与步骤1011中得到的实体标签进行比对,训练中间识别模型学习识别实体。
步骤10142:将至少一个词汇ID输入至所述中间识别模型,获取所述词汇ID的序列对应的初始隐藏状态。
其中,初始隐藏状态为词汇ID的序列输入中间识别模型的嵌入层(embeddinglayer)后,输出的该序列的嵌入表示。训练中间识别模型时,将词汇ID的序列输入至中间识别模型(即,预训练好的BERT模型)中,以获取每个词汇的初始隐藏状态。
步骤10143:根据所述初始隐藏状态,得到目标隐藏状态,其中,b为输出向量,/>为序列的长度,/>为隐藏状态的维度;将所述序列对应的预测的实体标签表示为,其中,/>为预测的实体标签的数量。
其中,目标隐藏状态为将词汇ID的序列的初始隐藏状态输入中间识别模型的编码层(encoder layer)后,编码层对该序列进行建模,输出的该序列的隐层表示,目标隐藏状态为矩阵,该矩阵中的每一行对应输入语句中的一个词汇。例如,序列W=[‘’,‘/>’,...,‘/>’]经过嵌入层得到初始隐藏状态,该初始隐藏状态经过编码层对序列的建模得到序列的目标隐藏状态/>。
本步骤从中间识别模型的输出(最后一层的隐藏状态)中选择合适的表示,进行序列标注,得到目标隐藏状态。
步骤10144:根据每次训练中的权重矩阵和所述目标隐藏状态,得到所述目标隐藏状态对应的预测的实体标签的分数矩阵/>;根据所述分数矩阵,得到预测的实体标签的概率矩阵P,其中/>。
其中,权重矩阵为训练时中间识别模型学习得到的目标隐藏状态对应的权重。分数矩阵是将目标隐藏状态X乘以相应的权重矩阵,得到的中间识别模型的自注意力层(Self-Attention)的输出。将softmax函数应用到分数矩阵的每一行上,将分数转化为概率分布,得到相应的预测的实体标签的概率矩阵。使用一个线性层(线性分类器)将目标隐藏状态映射为预测的实体标签的分数。
步骤10145:根据当前预设损失函数,得到每个语句的第一损失,其中,/>表示训练中t时刻C个实际的实体标签,表示训练中t时刻C个预测的实体标签的概率矩阵。
其中,在可选的实施例中,实际的实体标签为one-hot编码形式;预设损失函数使用交叉熵损失函数来衡量预测分布(预测的实体标签)与真实分布(实际的实体标签)之间的差异。计算每个位置上的交叉熵损失,求和得到整个语句的第一损失。
步骤10146:当所述第一损失减小至第一预设损失范围内,且所述中间识别模型的网络参数收敛时,得到目标识别模型。
通过反向传播算法计算第一损失对中间识别模型参数的梯度。使用梯度下降或其他优化算法来更新中间识别模型的参数,目的是最小化损失函数。重复执行上述步骤,使用不同的训练样本进行迭代训练。通过以上微调过程,中间识别模型能够逐步学习如何在给定语句中正确预测实体标签,从而实现NER任务。训练结束后,该中间识别模型可用于对未标注文本中的实体进行识别。
基于大规模语料预训练的语言模型社交聊天机器人的聊天回复的内容只能来源于有限的静态训练语料,语言模型在预训练时通过学习这些有限的静态训练语料的统计模式和语义关系,实现根据用户输入信息进行编码并生成相关的聊天回复,这一机制导致了机器人无法回复有关于训练语料之外的知识。本发明实施例使用SentenceBERT模型编码后的语义向量,降低判断语义相似性的难度,以判断语料之间的匹配关系。由于SentenceBERT模型是在公开训练语料上进行微调产生的,不适合针对实际使用场景的垂直领域。用户在进行真人聊天的过程中产生的大量专业的知识语料,本发明实施例通过将聊天记录构建为特定格式的训练语料,对SentenceBERT模型进行微调,得到目标句向量生成模型,根据目标句向量生成模型,实现基于关键词引导的知识检索。
为了更好的阐述本发明的基于关键词知识检索的聊天回复生成方法,接下来对本发明实施例的基于关键词知识检索的聊天回复生成方法的知识检索模块使用的目标句向量生成模型做进一步的说明,具体而言,如图6和图7所示,所述步骤20包括:
步骤201:根据所述用户输入信息得到实际对话内容,根据所述关键词和所述实际对话内容,构造待检索语句。
其中,使用目标识别模型提取用户输入信息的关键词,将提取出的关键词和实际对话内容构造成待检索语句s1。
步骤202:使用目标句向量生成模型对所述待检索语句编码,得到所述待检索语句的第一句向量。
使用目标句向量生成模型(微调后的SentenceBERT模型)对待检索语句s1编码,得到向量表示的第一句向量v1。
步骤203:使用目标句向量生成模型对知识库中的每一条知识进行编码,得到对应的第二句向量。
其中,知识为从用户实际使用社交聊天机器人时产生的真实的对话语料中获取的语料,该语料为专业标注人员进行标注生成;知识库中包含多条知识。
值得注意的是,此处的“知识”、“知识库”与下文中的“对话知识”、“知识语料”,均为从用户实际使用社交聊天机器人时产生的真实的对话语料中获取的语料,且为专业标注人员进行标注生成,但“知识”与“对话知识”、“知识库”与“知识语料”的内容不一定等同;“对话知识”训练初始句向量生成模型,“知识”实际使用目标句向量生成模型;本领域普通技术人员可根据具体使用场景对“知识”、“对话知识”的具体内容进行选择。
在此步骤中,本发明实施例对知识库中的每一条知识k,利用同样的模型编码得到第二句向量vk。
步骤204:计算所述第一句向量与所述第二句向量的相似度,得到最大相似度。
步骤205:根据最大相似度确定与所述第一句向量最相似的知识,将所述知识作为检索信息。
计算v1和每一个vk的相似度,找到与v1最相似(最大相似度对应)的知识k'。在可选的实施例中,使用余弦相似度。将对应的知识k'作为目标句向量生成模型输出的检索信息。
本发明实施例利用SentenceBERT模型对关键词和知识语料进行微调,实现个性化的垂直领域知识匹配,检索出与对话具体语境、关键词、主题等相关的知识,而不是仅依赖通用的静态语料库。
为了更好的阐述本发明的聊天回复生成方法方法,接下来对本发明实施例的步骤202中目标句向量生成模型的获得方法做进一步的细化,具体而言,如图8所示,所述目标句向量生成模型的获得方法包括:
步骤2021:将知识语料的关键词和所述知识语料的训练对话内容拼接得到第一训练语句,将所述知识语料的对话知识作为第二训练语句。
其中,知识语料与对话语料的区别在于,知识语料为包含专业知识的语料,对话语料不一定包含专业知识;训练对话内容为用于训练本发明实施例的初始句向量生成模型的对话文本,训练对话内容从知识语料中获得。知识语料的关键词与跟前述关键词的区别在于,该关键词是知识语料中自带的,用于训练初始句向量生成模型学习根据关键词和训练对话内容找出最大相似度的对话知识,得到目标句向量生成模型。
构造训练数据时,第一训练语句: {KeyWords} {Dialogue}(将知识语料的关键词和训练对话内容拼接作为第一训练语句),第二训练语句: {Knowledge}(将标注的对话知识作为第二训练语句)。
步骤2022:将所述第一训练语句与包含所述第一训练语句对应的对话知识的第二训练语句作为正样本,为正样本设置相似度标签;将所述第一训练语句与不包含所述第一训练语句对应的对话知识的第二训练语句作为负样本,为负样本设置相似度标签/>;将所有所述正样本和所有所述负样本作为第二训练语料。
其中,在可选的实施例中,正样本的相似度标签为1,负样本的相似度标签/>
为0。正样本来自于标注数据,相似度标签为1的第一训练语句和第二训练语句是一对正样本;负样本为所有知识数据的随机采样,相似度标签为0的第一训练语句和第二训练语句是一对负样本。训练语料的构造格式如下:"{KeyWords} {Dialogue}":"{Knowledge}";其中,keywords,Dialogue,Knowledge 分别表示关键词、训练对话内容和对话知识。
步骤2023:构建初始句向量生成模型,使用所述第二训练语料训练所述初始句向量生成模型时,根据预设相似度函数计算第一训练语句与第二训练语句的相似度,得到最大相似度;其中,s1为第一训练语句,s2为第二训练语句,为所述初始句向量生成模型的预训练权重。
其中,预设相似度函数为余弦相似度函数。初始化SentenceBERT模型作为初始句向量生成模型,加载模型的预训练权重。
步骤2024:根据最大相似度,确定与第一训练语句最相似的第二训练语句,将所述第二训练语句作为预测结果。
步骤2025:根据所述预测结果、所述相似度标签和所述相似度标签/>,得到每次迭代的第二损失/>;其中,y为相似度标签,包括所述相似度标签/>和所述相似度标签/>。
其中,第二损失使用二分类交叉熵损失函数来衡量预测分布(预测的相似度标签)与真实分布(上文所述的相似度标签)之间的差异。
步骤2026:当所述第二损失减小至预设损失范围内,且所述初始句向量生成模型的网络参数收敛时,得到目标句向量生成模型。
训练时,通过梯度下降最小化损失函数更新预训练权重,得到微调后的SentenceBERT模型,即目标句向量生成模型。
本发明实施例通过基于关键词进行知识检索,实现引入外部知识库,在生成聊天回复时引入关键词与相似的各个相似关键词的语义相关性和/或类型关系,赋予社交聊天机器人获取额外知识的能力,以便于语言模型找到关键词与相似知识的潜在的联系、合理拓展用户的兴趣。
为了更好的阐述本发明的基于关键词知识检索的聊天回复生成方法,接下来对本发明实施例的基于关键词知识检索的聊天回复生成方法中,聊天回复模块的数据输入和数据输出的处理流程做进一步的说明,具体而言,如图9所示,所述根据所述提示词得到聊天回复包括:
步骤301:将所述提示词切割为至少一个词元,将所述词元/>通过词典映射为数值向量/>;其中,/>表示第i个词元,i=1,…,n。
其中,词元为提示词的文本分割后得到的基本单位,将提示词分词得到至少一个词元。词典是一个词元及相关信息(如该词元的ID索引等)的集合。
组合出提示词后,使用语言模型对应的分词器将提示词切割成词元,并将词元表示为数值向量,以便于作为语言模型的输入。本发明实施例的语言模型 基于给定的提示词和语言模型本身具有的知识做聊天回复,并非做检索。
步骤302:将所述数值向量输入至所述语言模型,得到响应词元/>,其中,;其中,/>表示第j个响应词元。
响应词元为语言模型根据提示词得到的输出向量,该输出向量为聊天回复的数据表示。
步骤303:将所述响应词元翻译成文本信息,将所述文本信息作为聊天回复。
其中,使用分词器将响应词元翻译成文本信息,作为聊天回复与用户进行交互。
聊天回复模块在关键词提取和知识检索的基础上,实现对话质量、逻辑性的直接建模,利用额外的知识信息并构造语言提示词,最终实现赋予社交聊天机器人获取额外信息、知识的能力,而不仅仅依赖静态的预训练知识库,使机器人在长期交互中表现出智能的对话方式和广博的知识面,实现更智能和人性化的社交聊天机器人交互效果。
实施例2:
本实施例还结合连续聊天时的基于关键词知识检索的聊天回复生成场景,并借由相关场景下的技术表达来阐述本发明特性场景下的实现过程。
本实施例以连续聊天时的聊天回复生成场景为例,如在与当前聊天用户已进行多次交互的情况下,生成聊天回复。本发明实施例提供了以下方法,具体包括:
所述知识库中包含两类知识内容,分别为特定知识内容和历史知识内容,其中:
根据关键词确定垂直场景,根据所述垂直场景确定所述特定知识内容;
将当前聊天用户的历史输入信息输入至语言模型,所述语言模型对所述历史输入信息进行总结,得到历史知识内容。
其中,垂直场景为针对单个或少数关联的多个专业领域的场景,例如,关键词为“行人跟踪”时,垂直场景可确定为少数关联的多个专业领域的场景“行人重识别”与“行人检测”。语言模型用于根据为一段文字的历史输入信息,得到少量文字的总结信息;该总结信息与关键词、检索信息和提示词不同,为语言模型生成的智能化的语句;语言模型由本领域技术人员根据具体使用场景进行选择。
所述方法还包括:
连续聊天时,获取用户输入信息,将所述用户输入信息作为当前聊天用户的历史输入信息;将所述历史输入信息输入至语言模型,得到历史知识内容;将所述历史知识内容添加至知识库中,为所述历史知识内容添加用户标签;其中,用户标签为当前聊天用户的用户ID。
通过目标识别模型对所述用户输入信息进行识别,为表征实体的词汇设置实体标签,提取携带有所述实体标签的词汇作为所述关键词;根据所述关键词确定垂直场景,在所述知识库中获取所述垂直场景的特定知识内容;为所述知识库中的所述特定知识内容添加用户标签;其中,用户标签为当前聊天用户的用户ID。
根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词构造待检索语句,检索所述知识库中包含所述用户ID的特定知识内容和历史知识内容,得到对应的检索信息。
将所述实际对话内容、所述关键词和所述检索信息进行组合,得到提示词;根据所述提示词得到聊天回复。
本发明实施例的聊天回复方法中,解决连续聊天时聊天内容缺失、导致聊天回复无法利用聊天记录中历史输入信息的问题,通过在知识库中查询实现对聊天记录的补充。由于向知识库中添加用户标签、根据用户标签确定在知识库中检索关键词的检索范围均不涉及模型的使用,使用本发明实施例的聊天回复生成方法的***的性能不会受到较大制约,且本领域技术人员可参考现有技术根据具体使用场景对该部分功能进行性能优化。
实施例3:
如图10所示,是本发明实施例的基于关键词知识检索的社交聊天装置的架构示意图。本实施例的基于关键词知识检索的社交聊天装置包括一个或多个处理器21以及存储器22。其中,图10中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的基于关键词知识检索的聊天回复生成方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而实现基于关键词知识检索的聊天回复生成方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,实现上述实施例1中的基于关键词知识检索的聊天回复生成方法,例如,执行以上描述的图1-图9所示的各个步骤。
本发明实施方式的基于关键词知识检索的社交聊天装置可以多种形式存在,该社交聊天装置包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放视频内容,一般也具备移动上网特性。该类设备包括:视频播放器,掌上游戏机,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有视频播放功能或连接互联网功能的电子设备。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图10中的一个处理器21,可使得上述一个或多个处理器可实现第一实施方式中的基于关键词知识检索的聊天回复生成方法。
值得说明的是,上述装置和***内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于关键词知识检索的聊天回复生成方法,其特征在于,所述聊天回复生成方法包括:
对用户输入信息进行识别,得到所述用户输入信息的关键词;通过目标识别模型对所述用户输入信息进行识别,为表征实体的词汇设置实体标签;提取携带有所述实体标签的词汇作为所述关键词;
根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词,检索知识库得到对应的检索信息;
将所述实际对话内容、所述关键词和所述检索信息进行组合,得到提示词;
根据所述提示词得到聊天回复。
2.根据权利要求1所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述目标识别模型的获得方法包括:
将对话语料中的每个样本分割为至少一个语句;根据预设标记方式,标注所述语句,得到包含实体标签的样本;其中,所述对话语料包含至少一个样本;
将所有所述包含实体标签的样本作为第一训练语料;
构建初始识别模型,使用无标注语料对所述初始识别模型进行预训练,得到中间识别模型;
使用所述第一训练语料对所述中间识别模型进行微调,得到目标识别模型。
3.根据权利要求2所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述使用所述第一训练语料对所述中间识别模型进行微调,得到目标识别模型包括:
将所述第一训练语料的每个语句进行分词,得到至少一个词汇,将所述词汇转换为对应的词汇ID;
将至少一个词汇ID输入至所述中间识别模型,获取所述词汇ID的序列对应的初始隐藏状态;
根据所述初始隐藏状态,得到目标隐藏状态,其中,b为输出向量,/>为序列的长度,/>为隐藏状态的维度;将所述序列对应的预测的实体标签表示为/>,其中,/>为预测的实体标签的数量;
根据每次训练中的权重矩阵和所述目标隐藏状态,得到所述目标隐藏状态对应的预测的实体标签的分数矩阵/>;根据所述分数矩阵,得到预测的实体标签的概率矩阵P,其中/>;
根据当前预设损失函数,得到每个语句的第一损失,其中,/>表示训练中t时刻C个实际的实体标签,表示训练中t时刻C个预测的实体标签的概率矩阵;
当所述第一损失减小至第一预设损失范围内,且所述中间识别模型的网络参数收敛时,得到目标识别模型。
4.根据权利要求1所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词,检索知识库得到对应的检索信息包括:
根据所述用户输入信息得到实际对话内容,根据所述关键词和所述实际对话内容,构造待检索语句;
使用目标句向量生成模型对所述待检索语句编码,得到所述待检索语句的第一句向量;
使用目标句向量生成模型对知识库中的每一条知识进行编码,得到对应的第二句向量;
计算所述第一句向量与所述第二句向量的相似度,得到最大相似度;
根据最大相似度确定与所述第一句向量最相似的知识,将所述知识作为检索信息。
5.根据权利要求4所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述目标句向量生成模型的获得方法包括:
将知识语料的关键词和所述知识语料的训练对话内容拼接得到第一训练语句,将所述知识语料的对话知识作为第二训练语句;
将所述第一训练语句与包含所述第一训练语句对应的对话知识的第二训练语句作为正样本,为正样本设置相似度标签;将所述第一训练语句与不包含所述第一训练语句对应的对话知识的第二训练语句作为负样本,为负样本设置相似度标签/>;将所有所述正样本和所有所述负样本作为第二训练语料;
构建初始句向量生成模型,使用所述第二训练语料训练所述初始句向量生成模型时,根据预设相似度函数,计算第一训练语句与第二训练语句的相似度,得到最大相似度;其中,s1为第一训练语句,s2为第二训练语句,/>为所述初始句向量生成模型的预训练权重;
根据最大相似度,确定与第一训练语句最相似的第二训练语句,将所述第二训练语句作为预测结果;
根据所述预测结果、所述相似度标签和所述相似度标签/>,得到每次迭代的第二损失/>;其中,y为相似度标签,包括所述相似度标签/>和所述相似度标签/>;
当所述第二损失减小至预设损失范围内,且所述初始句向量生成模型的网络参数收敛时,得到目标句向量生成模型。
6.根据权利要求1所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述根据所述提示词得到聊天回复包括:
将所述提示词切割为至少一个词元,将所述词元/>通过词典映射为数值向量/>;其中,/>表示第i个词元,i=1,…,n;
将所述数值向量输入至所述语言模型,得到响应词元/>,其中,;其中,/>表示第j个响应词元;
将所述响应词元翻译成文本信息,将所述文本信息作为聊天回复。
7.根据权利要求1所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述知识库中包含两类知识内容,分别为特定知识内容和历史知识内容,其中:
根据关键词确定垂直场景,根据所述垂直场景确定所述特定知识内容;
将当前聊天用户的历史输入信息输入至语言模型,所述语言模型对所述历史输入信息进行总结,得到历史知识内容。
8.根据权利要求1-7所述的基于关键词知识检索的聊天回复生成方法,其特征在于,所述方法还包括:
连续聊天时,获取用户输入信息,将所述用户输入信息作为当前聊天用户的历史输入信息;将所述历史输入信息输入至语言模型,得到历史知识内容;将所述历史知识内容添加至知识库中,为所述历史知识内容添加用户标签;其中,用户标签为当前聊天用户的用户ID;
通过目标识别模型对所述用户输入信息进行识别,为表征实体的词汇设置实体标签,提取携带有所述实体标签的词汇作为所述关键词;根据所述关键词确定垂直场景,在所述知识库中获取所述垂直场景的特定知识内容;为所述知识库中的所述特定知识内容添加用户标签;其中,用户标签为当前聊天用户的用户ID;
根据所述用户输入信息得到实际对话内容,根据所述实际对话内容和所述关键词构造待检索语句,检索所述知识库中包含所述用户ID的特定知识内容和历史知识内容,得到对应的检索信息;
将所述实际对话内容、所述关键词和所述检索信息进行组合,得到提示词;根据所述提示词得到聊天回复。
9.一种基于关键词知识检索的聊天回复生成装置,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于实现权利要求1-8任一所述的基于关键词知识检索的聊天回复生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311224867.0A CN116955579B (zh) | 2023-09-21 | 2023-09-21 | 一种基于关键词知识检索的聊天回复生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311224867.0A CN116955579B (zh) | 2023-09-21 | 2023-09-21 | 一种基于关键词知识检索的聊天回复生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116955579A true CN116955579A (zh) | 2023-10-27 |
CN116955579B CN116955579B (zh) | 2023-12-29 |
Family
ID=88449740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311224867.0A Active CN116955579B (zh) | 2023-09-21 | 2023-09-21 | 一种基于关键词知识检索的聊天回复生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955579B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648424A (zh) * | 2023-12-13 | 2024-03-05 | 西湖大学 | 用于获取天然药材专域知识的*** |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491433A (zh) * | 2018-02-09 | 2018-09-04 | 平安科技(深圳)有限公司 | 聊天应答方法、电子装置及存储介质 |
CN111651609A (zh) * | 2020-04-24 | 2020-09-11 | 中国电力科学研究院有限公司 | 一种融合知识图谱和情感监督的多轮对话方法及*** |
CN112287090A (zh) * | 2020-11-23 | 2021-01-29 | 深圳季连科技有限公司 | 一种基于知识图谱的金融问题反问方法及*** |
CN112395887A (zh) * | 2020-11-05 | 2021-02-23 | 北京文思海辉金信软件有限公司 | 对话应答方法、装置、计算机设备和存储介质 |
EP3832485A1 (en) * | 2019-12-02 | 2021-06-09 | Koninklijke Philips N.V. | Question answering systems |
CN113421185A (zh) * | 2021-08-23 | 2021-09-21 | 武汉轻度科技有限公司 | 一种基于StyleGAN的移动端人脸年龄编辑方法 |
CN113468891A (zh) * | 2021-07-27 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 文本处理方法以及装置 |
CN113505198A (zh) * | 2021-07-09 | 2021-10-15 | 和美(深圳)信息技术股份有限公司 | 关键词驱动的生成式对话回复方法、装置及电子设备 |
CN113889259A (zh) * | 2021-09-06 | 2022-01-04 | 浙江工业大学 | 一种知识图谱辅助下的自动诊断对话*** |
CN114385799A (zh) * | 2021-12-17 | 2022-04-22 | 上海交通大学 | 基于常识融合的医疗自动问答方法及*** |
CN115293161A (zh) * | 2022-08-19 | 2022-11-04 | 广州中康资讯股份有限公司 | 基于自然语言处理和药品知识图谱的合理用药***及方法 |
CN115292461A (zh) * | 2022-08-01 | 2022-11-04 | 北京伽睿智能科技集团有限公司 | 基于语音识别的人机交互学习方法及*** |
US20230028944A1 (en) * | 2020-08-14 | 2023-01-26 | Tencent Technology (Shenzhen) Company Limited | Dialogue generation method and network training method and apparatus, storage medium, and device |
CN115687754A (zh) * | 2022-10-21 | 2023-02-03 | 四川大学 | 一种基于智能对话的主动式网络信息挖掘方法 |
CN115858758A (zh) * | 2022-12-28 | 2023-03-28 | 国家电网有限公司信息通信分公司 | 一种多非结构化数据识别的智慧客服知识图谱*** |
CN116127095A (zh) * | 2023-01-04 | 2023-05-16 | 北京工业大学 | 一种序列模型与知识图谱结合的问答方法 |
CN116628172A (zh) * | 2023-07-24 | 2023-08-22 | 北京酷维在线科技有限公司 | 基于知识图谱的政务服务领域多策略融合的对话方法 |
CN116756295A (zh) * | 2023-08-16 | 2023-09-15 | 北京盛通知行教育科技集团有限公司 | 知识库的检索方法、装置及存储介质 |
-
2023
- 2023-09-21 CN CN202311224867.0A patent/CN116955579B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491433A (zh) * | 2018-02-09 | 2018-09-04 | 平安科技(深圳)有限公司 | 聊天应答方法、电子装置及存储介质 |
EP3832485A1 (en) * | 2019-12-02 | 2021-06-09 | Koninklijke Philips N.V. | Question answering systems |
CN111651609A (zh) * | 2020-04-24 | 2020-09-11 | 中国电力科学研究院有限公司 | 一种融合知识图谱和情感监督的多轮对话方法及*** |
US20230028944A1 (en) * | 2020-08-14 | 2023-01-26 | Tencent Technology (Shenzhen) Company Limited | Dialogue generation method and network training method and apparatus, storage medium, and device |
CN112395887A (zh) * | 2020-11-05 | 2021-02-23 | 北京文思海辉金信软件有限公司 | 对话应答方法、装置、计算机设备和存储介质 |
CN112287090A (zh) * | 2020-11-23 | 2021-01-29 | 深圳季连科技有限公司 | 一种基于知识图谱的金融问题反问方法及*** |
CN113505198A (zh) * | 2021-07-09 | 2021-10-15 | 和美(深圳)信息技术股份有限公司 | 关键词驱动的生成式对话回复方法、装置及电子设备 |
CN113468891A (zh) * | 2021-07-27 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 文本处理方法以及装置 |
CN113421185A (zh) * | 2021-08-23 | 2021-09-21 | 武汉轻度科技有限公司 | 一种基于StyleGAN的移动端人脸年龄编辑方法 |
CN113889259A (zh) * | 2021-09-06 | 2022-01-04 | 浙江工业大学 | 一种知识图谱辅助下的自动诊断对话*** |
CN114385799A (zh) * | 2021-12-17 | 2022-04-22 | 上海交通大学 | 基于常识融合的医疗自动问答方法及*** |
CN115292461A (zh) * | 2022-08-01 | 2022-11-04 | 北京伽睿智能科技集团有限公司 | 基于语音识别的人机交互学习方法及*** |
CN115293161A (zh) * | 2022-08-19 | 2022-11-04 | 广州中康资讯股份有限公司 | 基于自然语言处理和药品知识图谱的合理用药***及方法 |
CN115687754A (zh) * | 2022-10-21 | 2023-02-03 | 四川大学 | 一种基于智能对话的主动式网络信息挖掘方法 |
CN115858758A (zh) * | 2022-12-28 | 2023-03-28 | 国家电网有限公司信息通信分公司 | 一种多非结构化数据识别的智慧客服知识图谱*** |
CN116127095A (zh) * | 2023-01-04 | 2023-05-16 | 北京工业大学 | 一种序列模型与知识图谱结合的问答方法 |
CN116628172A (zh) * | 2023-07-24 | 2023-08-22 | 北京酷维在线科技有限公司 | 基于知识图谱的政务服务领域多策略融合的对话方法 |
CN116756295A (zh) * | 2023-08-16 | 2023-09-15 | 北京盛通知行教育科技集团有限公司 | 知识库的检索方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648424A (zh) * | 2023-12-13 | 2024-03-05 | 西湖大学 | 用于获取天然药材专域知识的*** |
Also Published As
Publication number | Publication date |
---|---|
CN116955579B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111783462B (zh) | 基于双神经网络融合的中文命名实体识别模型及方法 | |
Young et al. | Recent trends in deep learning based natural language processing | |
CN106845411B (zh) | 一种基于深度学习和概率图模型的视频描述生成方法 | |
CN108846077B (zh) | 问答文本的语义匹配方法、装置、介质及电子设备 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN111046179B (zh) | 一种面向特定领域开放网络问句的文本分类方法 | |
CN110263325B (zh) | 中文分词*** | |
CN108932342A (zh) | 一种语义匹配的方法、模型的学习方法及服务器 | |
CN111666758B (zh) | 中文分词方法、训练设备以及计算机可读存储介质 | |
CN114596844B (zh) | 声学模型的训练方法、语音识别方法及相关设备 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN113704460B (zh) | 一种文本分类方法、装置、电子设备和存储介质 | |
CN109214006A (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN115329766B (zh) | 一种基于动态词信息融合的命名实体识别方法 | |
CN116955579B (zh) | 一种基于关键词知识检索的聊天回复生成方法和装置 | |
CN116955699B (zh) | 一种视频跨模态搜索模型训练方法、搜索方法及装置 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN114781375A (zh) | 一种基于bert与注意力机制的军事装备关系抽取方法 | |
CN114428850A (zh) | 一种文本检索匹配方法和*** | |
CN115600597A (zh) | 基于注意力机制和词内语义融合的命名实体识别方法、装置、***及存储介质 | |
CN116975199A (zh) | 一种文本预测方法、装置、设备和存储介质 | |
CN111145914A (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN112307179A (zh) | 文本匹配方法、装置、设备及存储介质 | |
Yuan et al. | FFGS: Feature fusion with gating structure for image caption generation | |
CN113723111B (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 |