CN110390006A - 问答语料生成方法、装置和计算机可读存储介质 - Google Patents
问答语料生成方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110390006A CN110390006A CN201910667010.3A CN201910667010A CN110390006A CN 110390006 A CN110390006 A CN 110390006A CN 201910667010 A CN201910667010 A CN 201910667010A CN 110390006 A CN110390006 A CN 110390006A
- Authority
- CN
- China
- Prior art keywords
- question
- word
- strings
- answer
- candidate word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000011218 segmentation Effects 0.000 claims abstract description 77
- 238000012216 screening Methods 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 abstract description 5
- 241000283730 Bos primigenius Species 0.000 description 23
- 230000000638 stimulation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 8
- 208000027418 Wounds and injury Diseases 0.000 description 6
- 230000006378 damage Effects 0.000 description 6
- 208000014674 injury Diseases 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101150060512 SPATA6 gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 206010028916 Neologism Diseases 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000004936 stimulating effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- 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
Abstract
本申请涉及一种问答语料生成方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取问答数据集合,将问答数据集合中各问答数据分词,得到分词结果,根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合,根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。本申请提供的方案可以实现对问答语料的获取,从而可以为制作问答语料的人力减少提供帮助,节约了人力资源。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种问答语料生成方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的发展,出现了智能问答技术,智能问答是计算机与人类以自然语言的形式进行交流的一种方式,通过智能问答系统能让用户直接用自然语言提问并获得答案。智能问答系统中计算机的应答能力极大的依赖于问答语料库的支持,在智能问答系统中,传统的构建问答语料库的方式为在平台上通过人工手动方法大规模录入基础问答对。
然而,传统的构建问答语料库的方式在通过人工手动方法大规模录入基础问答对时,需要耗费大量的人力成本去制作问答语料,存在浪费人力资源的问题。
发明内容
基于此,有必要针对传统的构建问答语料库的方式存在浪费人力资源的技术问题,提供一种问答语料生成方法、装置、计算机可读存储介质和计算机设备。
一种问答语料生成方法,包括:
获取问答数据集合;
将问答数据集合中各问答数据分词,得到分词结果;
根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合;
计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合;
根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
一种问答语料生成装置,其特征在于,所述装置包括:
获取模块,用于获取问答数据集合;
分词模块,用于将问答数据集合中各问答数据分词,得到分词结果;
第一筛选模块,用于根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合;
第二筛选模块,用于计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合;
处理模块,用于根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取问答数据集合;
将问答数据集合中各问答数据分词,得到分词结果;
根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合;
计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合;
根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现以下步骤:
获取问答数据集合;
将问答数据集合中各问答数据分词,得到分词结果;
根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合;
计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合;
根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
上述问答语料生成方法、装置、计算机可读存储介质和计算机设备,获取问答数据集合,将问答数据集合中各问答数据分词,得到分词结果,根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合,根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。整个过程,通过对问答数据集合的处理,实现了对问答语料的获取,从而可以为制作问答语料的人力减少提供帮助,节约了人力资源。
附图说明
图1为一个实施例中问答语料生成方法的应用环境图;
图2为一个实施例中问答语料生成方法的流程示意图;
图3为一个实施例中专属名词示意图;
图4为一个实施例中问答语料示意图;
图5为另一个实施例中问答语料生成方法的流程示意图;
图6为再一个实施例中问答语料生成方法的流程示意图;
图7为一个实施例中问答语料生成装置的结构框图;
图8为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中问答语料生成方法的应用环境图。参照图1,该问答语料生成方法应用于问答语料生成系统。该问答语料生成系统包括第一服务器110和第二服务器120。第一服务器110和第二服务器120通过网络连接。第二服务器120从第一服务器110获取问答数据集合,将问答数据集合中各问答数据分词,得到分词结果,根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合,根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。第一服务器110和第二服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种问答语料生成方法。本实施例主要以该方法应用于上述图1中的第二服务器120来举例说明。参照图2,该问答语料生成方法具体包括如下步骤S202至步骤S210。
S202,获取问答数据集合。
其中,问答数据集合是指用于生成问答语料的基本数据集合。比如,问答数据集合具体可以是短文本问题数据,也可以是通过爬虫得到的问答数据。
具体的,服务器可以从事先搜集的用户问答日志中获取问答数据集合,也可以通过预设的爬虫系统在各大内容网站获取问答数据集合。其中,用户问答日志中包括短文本问题数据,短文本问题数据是指用户在线使用智能问答系统产品问的问题,比如,问的问题具体可以为“akm怎么玩”、“介绍下akm呗”等等这些问游戏道具相关的简单问题。
S204,将问答数据集合中各问答数据分词,得到分词结果。
其中,分词指的是将问答数据中各句子拆分为多个词语的组合。比如,通过分词,可以将“akm怎么玩”这个句子拆分为“akm/怎么/玩”这三个词语。
具体的,服务器可根据预设的自定义词典和结巴分词工具,将问答数据集合中各问答数据分词,得到分词结果。预设的自定义词典中包括多个自定义词,通过将预设的自定义词典遍历各问答数据,可以从问答数据中将自定义词典中存在的词语区分出来。服务器在分词时,首先会根据自定义词典进行分词,然后再利用结巴分词工具进行分词,结巴分词是一种自然语言处理方式,结巴分词的方式具体可以为对给定待分词的句子,使用正则获取连续的中文字符和英文字符,切分成短语列表,对每个短语使用查字典和动态规划,得到最大概率路径,根据最大概率路径得到分词结果。
在一个实施例中,将问答数据集合中各问答数据分词,得到分词结果包括:
对问答数据集合进行分类,得到第一问答数据集合和第二问答数据集合,第一问答数据集合包括短文本问题数据,第二问答数据集合包括通过爬虫得到的问答数据;
将第一问答数据集合以及第二问答数据集合分词,分别得到第一分词结果以及第二分词结果。
其中,问答数据集合中包括两类数据,一是短文本问题数据,二是通过爬虫得到的问答数据,短文本问题数据是从事先搜集的用户问答日志中获取的,通过爬虫得到的问答数据是通过预设的爬虫系统在各大内容网站获取的。短文本问题数据是指用户在线使用智能问答系统产品问的问题,比如,问的问题具体可以为“akm怎么玩”、“介绍下akm呗”等等这些问游戏道具相关的简单问题。
具体的,服务器在获取到问答数据集合后,首先会对问答数据集合进行分类,得到第一问答数据集合和第二问答数据集合,第一问答数据集合包括短文本问题数据,第二问答数据集合包括通过爬虫得到的问答数据,然后将第一问答数据集合以及第二问答数据集合分词,分别得到第一分词结果以及第二分词结果。服务器对问答数据集合先分类再分词,是为了针对不同类型的问答数据的分词结果进行不同的处理,以提高数据处理效率,得到准确的第一候选词串集合。
S206,根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合。
其中,进行词语组合是指根据分词结果,将问答数据集合中同一句子内的各词语进行组合,得到多个词串。词串是指多个词语的组合。比如,句子“akm怎么玩”在经过分词后,可得到的分词结果为“akm/怎么/玩”,则对应的词串可以为“akm/怎么/玩/akm怎么/怎么玩/akm怎么玩”等。预设的停用词表中包括多个停用词,停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉的某些字或词。比如,停用词具体可以是“在”、“哪里”等这些疑问词、介词等无意义的词。停用词表可按照需要自行设置。
具体的,服务器会根据预设的停用词表遍历第一候选词串集合中各第一候选词串,当某个第一候选词串中存在停用词时,服务器会进一步判断该停用词在该第一候选词串中的位置,如果这个停用词词在该第一候选词串中是中间位置的词语,则整个第一候选词串会被废弃,如果这个停用词是边缘位置,则会单独被剔除,根据该第一候选词串得到第二候选词串。比如,“野牛冲锋枪在哪里可以获取呢”这个句子经过分词后,根据分词结果可以得到“野牛/冲锋枪/在/哪里/可以/获取/呢/野牛冲锋枪/冲锋枪在/在哪里/哪里可以/可以获取/获取呢”这些词串,里面“在”、“哪里”等这些疑问词、介词等无意义的词都可认为是停用词,服务器通过遍历停用词表的方式,会将包含停用词的词串给抛弃,最后剩下“野牛/冲锋枪/野牛冲锋枪”这三个词串。
其中,该停用词在该第一候选词串中的位置,可根据分词结果进行判断,分词结果会将句子分为多个词语,则根据各词语在句子中的位置,可以得到停用词在第一候选词串中的位置。比如,“野牛冲锋枪在哪里可以获取呢”这个句子经过分词后,可得到分词结果为“野牛/冲锋枪/在/哪里/可以/获取/呢”,则停用词“在”、“哪里”在该句子中的位置分别为第三和第四,对于词串“冲锋枪在”来说,停用词在边缘位置,剔除停用词后,可以得到第二候选词串“冲锋枪”,对于词串“在哪里”来说,可认为停用词是处于中间位置的词语,则直接将整个词串抛弃。
在一个实施例中,根据分词结果进行词语组合,得到第一候选词串集合包括:
根据第一分词结果和预设的短文本匹配模板,得到第一词串集合,根据第二分词结果和预设值N,得到N-gram词串集合,根据第一词串集合和N-gram词串集合,得到第一候选词串集合。
其中,预设的短文本匹配模板是指与短文本问题匹配的模板,用于从短文本问题中提取出第一词串。比如,短文本匹配模板具体可以是正则匹配模板、位置匹配模板、词性匹配模板等。正则匹配模式是指根据预设的正则模板,从与模板句式相同的短文本问题中提取出对应的词语组成词串。比如,当预设的正则模板为“{*}和{*}伤害哪个更高”时,可以从短文本问题“akm/和/m4/伤害/哪个/更高”中提取出*号对应的词语“akm m4”组成词串。位置匹配模式是指根据各词语在短文本问题中的位置以及预设的关键词,从短文本问题中提取出对应的词语组成词串。比如,当预设的关键词为“和”时,服务器会根据“和”这个关键词匹配短文本问题“akm/和/m4/伤害/哪个/更高”,提取出位置位于“和”左右两边的词语“akm m4”组成词串。词性匹配模式是指在位置匹配模式的基础上,对待提取出的词语的词性进行判断,提高提取词串的准确率。其中,在位置匹配模式中,各词语在短文本问题中的位置,可根据分词结果进行判断。比如,当短文本问题为“akm和m4伤害哪个更高”时,分词后为“akm/和/m4/伤害/哪个/更高”,则每个词语的位置分别为1、2、3、4、5、6。
其中,对于问答数据中的一个字符串而言,N-gram词串表示按长度N切分该字符串得到的词串,预设值N可按照需要自行设置。比如,当N为2时,“野牛冲锋枪在哪里可以获取呢”这个句子经过分词后,根据分词结果可以得到“野牛/冲锋枪/在/哪里/可以/获取/呢/野牛冲锋枪/冲锋枪在/在哪里/哪里可以/可以获取/获取呢”这些词串。第一候选词串集合中包括第一词串集合和N-gram词串集合。
具体的,服务器根据第一分词结果和预设的短文本匹配模板,可以从第一问答数据集合中提取出第一词串集合,根据第二分词结果和预设值N,可以从第二问答数据集合中国提取出N-gram词串集合,从而根据第一词串集合和N-gram词串集合,得到第一候选词串集合。
S208,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合。
其中,词向量是指用于表征词语的向量,词向量相似度用于表征两个词语之间的相似度,词向量相似度值根据词语对应的词向量计算得到的。
在一个实施例中,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合包括:
根据已训练的词向量模型,对第二候选词串集合中各第二候选词串进行词向量相似度计算,得到各第二候选词串的词语之间的词向量相似度值,已训练的词向量模型由预设的样本语料训练得到;
根据词向量相似度值以及预设的相似度阈值,筛选第二候选词串集合,得到第三候选词串集合;
遍历第三候选词串集合中各第三候选词串,得到目标词串集合。
其中,已训练的词向量模型用于得到各词语的词向量,将词语输入已训练的词向量模型中,即可得到该词语对应的词向量。比如,词向量模型具体可以是word2vec模型。预设的样本语料用于训练词向量模型,样本语料是指与问答语料相关的数据,比如,样本语料具体可以为事先已制作完成的部分问答语料。预设的相似度阈值可按照需要自行设置。
具体的,服务器根据已训练的词向量模型,对第二候选词串集合中各第二候选词串进行词向量相似度计算,得到各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值以及预设的相似度阈值,筛选第二候选词串集合,保留词向量相似度值大于或者等于预设的相似度阈值的各第二候选词串,得到第三候选词串集合,遍历第三候选词串集合中各第三候选词串,得到目标词串集合。
在一个实施例中,遍历第三候选词串集合中各第三候选词串,得到目标词串集合包括:
遍历第三候选词串集合中各第三候选词串,得到字典树;
根据字典树,计算第三候选词串集合中各第三候选词串的互信息和左右信息熵;
根据各第三候选词串的互信息和左右信息熵,以及预设的互信息阈值和左右信息熵阈值,筛选第三候选词串集合,得到目标词串集合。
其中,字典树又叫单词查找树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。信息熵可以理解成某种特定信息的出现概率。
具体的,服务器遍历第三候选词串集合中各第三候选词串,得到字典树,在字典树中,第三候选词串中的每个词语是一个字典树的节点,并且该节点会存储该词语在问答数据集合中出现的次数和子节点的词有哪些,方便后续进行左右信息熵和互信息的统计,节点与子节点的关系,可以根据词串中词语的位置关系确定。比如,当词串为“野牛冲锋枪”时,“冲锋枪”这个树节点就会挂在“野牛”这个节点下面。
由于字典树中存储了各词语在问答数据集合中出现的次数和子节点的词有哪些,所以可以方便地根据字典树,计算第三候选词串集合中各第三候选词串的互信息和左右信息熵。比如,若刺激这个词单独出现在问答数据集合中的概率为p1,战场这个词单独出现在问答数据集合中的概率是p2,刺激战场这个词组同时出现在问答数据集合中的概率是p3,那么“刺激战场”的互信息为p3/(p1*p2)。比如,对于词串“刺激战场怎么玩”、“刺激战场攻略”,则“刺激战场”这个词串的右邻词为怎么玩、攻略,假设这两个右邻词在问答数据集合中出现的概率分别为p4和p5,那么刺激战场这个词的右信息熵为-[p5log(p5)+p4log(p4)],左信息熵可根据左邻词的概率进行计算,只需要进行概率值替换即可。
服务器根据各第三候选词串的互信息和左右信息熵,以及预设的互信息阈值和左右信息熵阈值,可以筛选第三候选词串集合,得到目标词串集合。其中,预设的互信息阈值和左右信息熵阈值可按照需要自行设置。
S210,根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
其中,专属名词是指与问答语料对应的领域出现的专有名词。比如,如图3所示,专属名词可以为图3中所示的新词“最强车神”、“S9赛季”等。意图模板是指表明用户意图的、用于与专属名词组合形成问题语句的模板。比如,当专属名词为“ak47”时,意图模版具体可以为“攻略”、“获取途径”等。问答语料是指问答对。比如,当意图模板为“怎么跑”时,生成的问答语料可以如图4所示,包括“森林发夹怎么跑”等问题,以及各问题对应的答案、扩展问法等。
在一个实施例中,根据目标词串集合提取问答语料的专属名词集合包括:
推送目标词串集合至终端;
接收终端反馈的携带标注信息的目标词串集合;
根据携带标注信息的目标词串集合,提取问答语料的专属名词集合。
其中,终端具体可以为制作问答语料的工作人员使用的终端。标注信息是指工作人员标注的词语类别信息,比如,标注信息具体可以为停用词、专属名词等。
由于目标词串集合中可能会存在坏个例,所以需要进一步对目标词串集合中各目标词串进行识别。具体的,服务器推送目标词串集合至终端,终端的工作人员反馈携带标注信息的目标词串集合,由于标注信息是词语类别信息,服务器根据标注信息可以确定目标词串集合中哪些词语为专属名词,哪些词语为停用词,进而提取出问答语料的专属名词集合。
在一个实施例中,服务器会将识别出的停用词存入停用词表中,并将提取出的专属名词存入自定义词典中,以便下次使用。
在一个实施例中,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料包括:
将专属名词集合中各专属名词与预设的意图模板进行组合,得到各专属名词的问题语料;
根据各专属名词遍历问答数据集合,得到各专属名词的答案语料;
根据问题语料和答案语料,得到问答语料。
其中,意图模板是指表明用户意图的、用于与专属名词组合形成问题语句的模板。问题语料是指问题语句,答案语料是指答案语句,问题语句和答案语句可组成问答对,即问答语料。比如,当专属名词为“ak47”时,意图模版为“攻略”、“获取途径”等时,问题语料具体可以为“ak47的攻略”、“ak47的获取途径”。
具体的,服务器将专属名词集合中各专属名词与预设的意图模板进行组合,可得到各专属名词的问题语料,根据各专属名词遍历问答数据集合,可得到各专属名词的答案语料,将问题语料与答案语料进行匹配,可得到问答语料。
上述问答语料生成方法,获取问答数据集合,将问答数据集合中各问答数据分词,得到分词结果,根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合,根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。整个过程,通过对问答数据集合的处理,实现了对问答语料的获取,从而可以为制作问答语料的人力减少提供帮助,节约了人力资源。
如图5所示,通过游戏的问答语料生成来说明本申请的方案。
服务器首先通过游戏问答日志采集用户问题作为第一问答数据集合,并通过爬虫系统采集游戏攻略作为第二问答数据集合,再根据预设的包括自定义词典的分词模型对第一问答数据集合和第二问答数据集合进行分词,得到第一分词结果和第二分词结果。然后根据第一分词结果和第二分词结果得到第一候选词串集合,对第一候选词串集合进行优化,根据预设的停用词表对第一候选词串集合进行筛选,得到第二候选词串集合,计算第二候选词串集合中各第二候选词串的词语之间的词向量相似度值,根据相似度阈值对第二候选词串进行筛选,得到第三候选词串集合,遍历第三候选词串集合,构造trie树(字典树),根据字典树计算第三候选词串集合中各第三候选词串的互信息和左右信息熵,并根据互信息阈值和左右信息熵阈值对第三候选词串集合进行筛选,得到目标词串集合。最后对目标词串集合进行专属名称判断,提取出问答语料的专属名词集合,根据专属名词集合进行意图迁移,得到问答语料。其中,对目标词串集合进行专属名称判断,提取出问答语料的专属名词集合包括:当目标词串为专属名词时,提取出该目标词串,并将目标词串放入自定义词典中,用于下一次分词;当目标词串不为专属名词时,将目标词串放入停用词表,用于下一次的根据停用词进行筛选。
如图6所示,通过一个最详细实施例来说明本申请的方案,该实施例包括步骤S602至步骤S636。
S602,获取问答数据集合;
S604,对问答数据集合进行分类,得到第一问答数据集合和第二问答数据集合,第一问答数据集合包括短文本问题数据,第二问答数据集合包括通过爬虫得到的问答数据;
S606,将第一问答数据集合以及第二问答数据集合分词,分别得到第一分词结果以及第二分词结果;
S608,根据第一分词结果和预设的短文本匹配模板,得到第一词串集合;
S610,根据第二分词结果和预设值N,得到N-gram词串集合;
S612,根据第一词串集合和N-gram词串集合,得到第一候选词串集合;
S614,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合;
S616,根据已训练的词向量模型,对第二候选词串集合中各第二候选词串进行词向量相似度计算,得到各第二候选词串的词语之间的词向量相似度值,已训练的词向量模型由预设的样本语料训练得到;
S618,根据词向量相似度值以及预设的相似度阈值,筛选第二候选词串集合,得到第三候选词串集合;
S620,遍历第三候选词串集合中各第三候选词串,得到字典树;
S622,根据字典树,计算第三候选词串集合中各第三候选词串的互信息和左右信息熵;
S624,根据各第三候选词串的互信息和左右信息熵,以及预设的互信息阈值和左右信息熵阈值,筛选第三候选词串集合,得到目标词串集合;
S626,推送目标词串集合至终端;
S628,接收终端反馈的携带标注信息的目标词串集合;
S630,根据携带标注信息的目标词串集合,提取问答语料的专属名词集合;
S632,将专属名词集合中各专属名词与预设的意图模板进行组合,得到各专属名词的问题语料;
S634,根据各专属名词遍历问答数据集合,得到各专属名词的答案语料;
S636,根据问题语料和答案语料,得到问答语料。
图6为一个实施例中问答语料生成方法的流程示意图。应该理解的是,虽然图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供了一种问答语料生成装置,该装置包括获取模块702、分词模块704、第一筛选模块706、第二筛选模块708以及处理模块710。
获取模块702,用于获取问答数据集合。
其中,问答数据集合是指用于生成问答语料的基本数据集合。比如,问答数据集合具体可以是短文本问题数据,也可以是通过爬虫得到的问答数据。
具体的,获取模块可以从事先搜集的用户问答日志中获取问答数据集合,也可以通过预设的爬虫系统在各大内容网站获取问答数据集合。其中,用户问答日志中包括短文本问题数据,短文本问题数据是指用户在线使用智能问答系统产品问的问题,比如,问的问题具体可以为“akm怎么玩”、“介绍下akm呗”等等这些问游戏道具相关的简单问题。
分词模块704,用于将问答数据集合中各问答数据分词,得到分词结果。
其中,分词指的是将问答数据中各句子拆分为多个词语的组合。比如,通过分词,可以将“akm怎么玩”这个句子拆分为“akm/怎么/玩”这三个词语。
具体的,分词模块可根据预设的自定义词典和结巴分词工具,将问答数据集合中各问答数据分词,得到分词结果。预设的自定义词典中包括多个自定义词,通过将预设的自定义词典遍历各问答数据,可以从问答数据中将自定义词典中存在的词语区分出来。分词模块在分词时,首先会根据自定义词典进行分词,然后再利用结巴分词工具进行分词,结巴分词是一种自然语言处理方式,结巴分词的方式具体可以为对给定待分词的句子,使用正则获取连续的中文字符和英文字符,切分成短语列表,对每个短语使用查字典和动态规划,得到最大概率路径,根据最大概率路径得到分词结果。
在一个实施例中,分词模块还用于对问答数据集合进行分类,得到第一问答数据集合和第二问答数据集合,第一问答数据集合包括短文本问题数据,第二问答数据集合包括通过爬虫得到的问答数据,将第一问答数据集合以及第二问答数据集合分词,分别得到第一分词结果以及第二分词结果。
其中,问答数据集合中包括两类数据,一是短文本问题数据,二是通过爬虫得到的问答数据,短文本问题数据是从事先搜集的用户问答日志中获取的,通过爬虫得到的问答数据是通过预设的爬虫系统在各大内容网站获取的。短文本问题数据是指用户在线使用智能问答系统产品问的问题,比如,问的问题具体可以为“akm怎么玩”、“介绍下akm呗”等等这些问游戏道具相关的简单问题。
具体的,分词模块在获取到问答数据集合后,首先会对问答数据集合进行分类,得到第一问答数据集合和第二问答数据集合,第一问答数据集合包括短文本问题数据,第二问答数据集合包括通过爬虫得到的问答数据,然后将第一问答数据集合以及第二问答数据集合分词,分别得到第一分词结果以及第二分词结果。分词模块对问答数据集合先分类再分词,是为了针对不同类型的问答数据的分词结果进行不同的处理,以提高数据处理效率,得到准确的第一候选词串集合。
第一筛选模块706,用于根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合。
其中,进行词语组合是指根据分词结果,将问答数据集合中同一句子内的各词语进行组合,得到多个词串。词串是指多个词语的组合。比如,句子“akm怎么玩”在经过分词后,可得到的分词结果为“akm/怎么/玩”,则对应的词串可以为“akm/怎么/玩/akm怎么/怎么玩/akm怎么玩”等。预设的停用词表中包括多个停用词,停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉的某些字或词。比如,停用词具体可以是“在”、“哪里”等这些疑问词、介词等无意义的词。停用词表可按照需要自行设置。
具体的,第一筛选模块会根据预设的停用词表遍历第一候选词串集合中各第一候选词串,当某个第一候选词串中存在停用词时,第一筛选模块会进一步判断该停用词在该第一候选词串中的位置,如果这个停用词词在该第一候选词串中是中间位置的词语,则整个第一候选词串会被废弃,如果这个停用词是边缘位置,则会单独被剔除,根据该第一候选词串得到第二候选词串。比如,“野牛冲锋枪在哪里可以获取呢”这个句子经过分词后,根据分词结果可以得到“野牛/冲锋枪/在/哪里/可以/获取/呢/野牛冲锋枪/冲锋枪在/在哪里/哪里可以/可以获取/获取呢”这些词串,里面“在”、“哪里”等这些疑问词、介词等无意义的词都可认为是停用词,第一筛选模块通过遍历停用词表的方式,会将包含停用词的词串给抛弃,最后剩下“野牛/冲锋枪/野牛冲锋枪”这三个词串。
其中,该停用词在该第一候选词串中的位置,可根据分词结果进行判断,分词结果会将句子分为多个词语,则根据各词语在句子中的位置,可以得到停用词在第一候选词串中的位置。比如,“野牛冲锋枪在哪里可以获取呢”这个句子经过分词后,可得到分词结果为“野牛/冲锋枪/在/哪里/可以/获取/呢”,则停用词“在”、“哪里”在该句子中的位置分别为第三和第四,对于词串“冲锋枪在”来说,停用词在边缘位置,剔除停用词后,可以得到第二候选词串“冲锋枪”,对于词串“在哪里”来说,可认为停用词是处于中间位置的词语,则直接将整个词串抛弃。
在一个实施例中,第一筛选模块还用于根据第一分词结果和预设的短文本匹配模板,得到第一词串集合,根据第二分词结果和预设值N,得到N-gram词串集合,根据第一词串集合和N-gram词串集合,得到第一候选词串集合。
其中,预设的短文本匹配模板是指与短文本问题匹配的模板,用于从短文本问题中提取出第一词串。比如,短文本匹配模板具体可以是正则匹配模板、位置匹配模板、词性匹配模板等。正则匹配模式是指根据预设的正则模板,从与模板句式相同的短文本问题中提取出对应的词语组成词串。比如,当预设的正则模板为“{*}和{*}伤害哪个更高”时,可以从短文本问题“akm/和/m4/伤害/哪个/更高”中提取出*号对应的词语“akm m4”组成词串。位置匹配模式是指根据各词语在短文本问题中的位置以及预设的关键词,从短文本问题中提取出对应的词语组成词串。比如,当预设的关键词为“和”时,服务器会根据“和”这个关键词匹配短文本问题“akm/和/m4/伤害/哪个/更高”,提取出位置位于“和”左右两边的词语“akm m4”组成词串。词性匹配模式是指在位置匹配模式的基础上,对待提取出的词语的词性进行判断,提高提取词串的准确率。其中,在位置匹配模式中,各词语在短文本问题中的位置,可根据分词结果进行判断。比如,当短文本问题为“akm和m4伤害哪个更高”时,分词后为“akm/和/m4/伤害/哪个/更高”,则每个词语的位置分别为1、2、3、4、5、6。
其中,对于问答数据中的一个字符串而言,N-gram词串表示按长度N切分该字符串得到的词串,预设值N可按照需要自行设置。比如,当N为2时,“野牛冲锋枪在哪里可以获取呢”这个句子经过分词后,根据分词结果可以得到“野牛/冲锋枪/在/哪里/可以/获取/呢/野牛冲锋枪/冲锋枪在/在哪里/哪里可以/可以获取/获取呢”这些词串。第一候选词串集合中包括第一词串集合和N-gram词串集合。
具体的,第一筛选模块根据第一分词结果和预设的短文本匹配模板,可以从第一问答数据集合中提取出第一词串集合,根据第二分词结果和预设值N,可以从第二问答数据集合中国提取出N-gram词串集合,从而根据第一词串集合和N-gram词串集合,得到第一候选词串集合。
第二筛选模块708,用于计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合。
其中,词向量是指用于表征词语的向量,词向量相似度用于表征两个词语之间的相似度,词向量相似度值根据词语对应的词向量计算得到的。
在一个实施例中,第二筛选模块还用于根据已训练的词向量模型,对第二候选词串集合中各第二候选词串进行词向量相似度计算,得到各第二候选词串的词语之间的词向量相似度值,已训练的词向量模型由预设的样本语料训练得到,根据词向量相似度值以及预设的相似度阈值,筛选第二候选词串集合,得到第三候选词串集合,遍历第三候选词串集合中各第三候选词串,得到目标词串集合。
其中,已训练的词向量模型用于得到各词语的词向量,将词语输入已训练的词向量模型中,即可得到该词语对应的词向量。比如,词向量模型具体可以是word2vec模型。预设的样本语料用于训练词向量模型,样本语料是指与问答语料相关的数据,比如,样本语料具体可以为事先已制作完成的部分问答语料。预设的相似度阈值可按照需要自行设置。
具体的,第二筛选模块根据已训练的词向量模型,对第二候选词串集合中各第二候选词串进行词向量相似度计算,得到各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值以及预设的相似度阈值,筛选第二候选词串集合,保留词向量相似度值大于或者等于预设的相似度阈值的各第二候选词串,得到第三候选词串集合,遍历第三候选词串集合中各第三候选词串,得到目标词串集合。
在一个实施例中,第二筛选模块还用于遍历第三候选词串集合中各第三候选词串,得到字典树,根据字典树,计算第三候选词串集合中各第三候选词串的互信息和左右信息熵,根据各第三候选词串的互信息和左右信息熵,以及预设的互信息阈值和左右信息熵阈值,筛选第三候选词串集合,得到目标词串集合。
其中,字典树又叫单词查找树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。信息熵可以理解成某种特定信息的出现概率。
具体的,第二筛选模块遍历第三候选词串集合中各第三候选词串,得到字典树,在字典树中,第三候选词串中的每个词语是一个字典树的节点,并且该节点会存储该词语在问答数据集合中出现的次数和子节点的词有哪些,方便后续进行左右信息熵和互信息的统计,节点与子节点的关系,可以根据词串中词语的位置关系确定。比如,当词串为“野牛冲锋枪”时,“冲锋枪”这个树节点就会挂在“野牛”这个节点下面。
由于字典树中存储了各词语在问答数据集合中出现的次数和子节点的词有哪些,所以可以方便地根据字典树,计算第三候选词串集合中各第三候选词串的互信息和左右信息熵。比如,若刺激这个词单独出现在问答数据集合中的概率为p1,战场这个词单独出现在问答数据集合中的概率是p2,刺激战场这个词组同时出现在问答数据集合中的概率是p3,那么“刺激战场”的互信息为p3/(p1*p2)。比如,对于词串“刺激战场怎么玩”、“刺激战场攻略”,则“刺激战场”这个词串的右邻词为怎么玩、攻略,假设这两个右邻词在问答数据集合中出现的概率分别为p4和p5,那么刺激战场这个词的右信息熵为-[p5log(p5)+p4log(p4)],左信息熵可根据左邻词的概率进行计算,只需要进行概率值替换即可。
第二筛选模块根据各第三候选词串的互信息和左右信息熵,以及预设的互信息阈值和左右信息熵阈值,可以筛选第三候选词串集合,得到目标词串集合。其中,预设的互信息阈值和左右信息熵阈值可按照需要自行设置。
处理模块710,用于根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
其中,专属名词是指与问答语料对应的领域出现的专有名词。比如,如图3所示,专属名词可以为图3中所示的新词“最强车神”、“S9赛季”等。意图模板是指表明用户意图的、用于与专属名词组合形成问题语句的模板。比如,当专属名词为“ak47”时,意图模版具体可以为“攻略”、“获取途径”等。问答语料是指问答对。比如,当意图模板为“怎么跑”时,生成的问答语料可以如图4所示,包括“森林发夹怎么跑”等问题,以及各问题对应的答案、扩展问法等。
在一个实施例中,处理模块还用于推送目标词串集合至终端,接收终端反馈的携带标注信息的目标词串集合,根据携带标注信息的目标词串集合,提取问答语料的专属名词集合。
其中,终端具体可以为制作问答语料的工作人员使用的终端。标注信息是指工作人员标注的词语类别信息,比如,标注信息具体可以为停用词、专属名词等。
由于目标词串集合中可能会存在坏个例,所以需要进一步对目标词串集合中各目标词串进行识别。具体的,处理模块推送目标词串集合至终端,终端的工作人员反馈携带标注信息的目标词串集合,由于标注信息是词语类别信息,处理模块根据标注信息可以确定目标词串集合中哪些词语为专属名词,哪些词语为停用词,进而提取出问答语料的专属名词集合。
在一个实施例中,处理模块还用于将识别出的停用词存入停用词表中,并将提取出的专属名词存入自定义词典中,以便下次使用。
在一个实施例中,处理模块还用于将专属名词集合中各专属名词与预设的意图模板进行组合,得到各专属名词的问题语料,根据各专属名词遍历问答数据集合,得到各专属名词的答案语料,根据问题语料和答案语料,得到问答语料。
其中,意图模板是指表明用户意图的、用于与专属名词组合形成问题语句的模板。问题语料是指问题语句,答案语料是指答案语句,问题语句和答案语句可组成问答对,即问答语料。比如,当专属名词为“ak47”时,意图模版为“攻略”、“获取途径”等时,问题语料具体可以为“ak47的攻略”、“ak47的获取途径”。
具体的,处理模块将专属名词集合中各专属名词与预设的意图模板进行组合,可得到各专属名词的问题语料,根据各专属名词遍历问答数据集合,可得到各专属名词的答案语料,将问题语料与答案语料进行匹配,可得到问答语料。
上述问答语料生成装置,获取问答数据集合,将问答数据集合中各问答数据分词,得到分词结果,根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合,计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合,根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。整个过程,通过对问答数据集合的处理,实现了对问答语料的获取,从而可以为制作问答语料的人力减少提供帮助,节约了人力资源。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图8所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现问答语料生成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行问答语料生成方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的问答语料生成装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该问答语料生成装置的各个程序模块,比如,图7所示的获取模块、分词模块、第一筛选模块、第二筛选模块和处理模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的问答语料生成方法中的步骤。
例如,图8所示的计算机设备可以通过如图7所示的问答语料生成装置中的获取模块执行获取问答数据集合。计算机设备可通过分词模块执行将问答数据集合中各问答数据分词,得到分词结果。计算机设备可通过第一筛选模块执行根据分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选第一候选词串集合,得到第二候选词串集合。计算机设备可通过第二筛选模块执行计算各第二候选词串的词语之间的词向量相似度值,根据词向量相似度值筛选第二候选词串集合,得到目标词串集合。计算机设备可通过处理模块执行根据目标词串集合提取问答语料的专属名词集合,将专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述问答语料生成方法的步骤。此处问答语料生成方法的步骤可以是上述各个实施例的问答语料生成方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述问答语料生成方法的步骤。此处问答语料生成方法的步骤可以是上述各个实施例的问答语料生成方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(SyNchliNk)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种问答语料生成方法,包括:
获取问答数据集合;
将所述问答数据集合中各问答数据分词,得到分词结果;
根据所述分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选所述第一候选词串集合,得到第二候选词串集合;
计算各第二候选词串的词语之间的词向量相似度值,根据所述词向量相似度值筛选所述第二候选词串集合,得到目标词串集合;
根据所述目标词串集合提取问答语料的专属名词集合,将所述专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
2.根据权利要求1所述的方法,其特征在于,所述将所述问答数据集合中各问答数据分词,得到分词结果包括:
对所述问答数据集合进行分类,得到第一问答数据集合和第二问答数据集合,所述第一问答数据集合包括短文本问题数据,所述第二问答数据集合包括通过爬虫得到的问答数据;
将所述第一问答数据集合以及所述第二问答数据集合分词,分别得到第一分词结果以及第二分词结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分词结果进行词语组合,得到第一候选词串集合包括:
根据所述第一分词结果和预设的短文本匹配模板,得到第一词串集合;
根据所述第二分词结果和预设值N,得到N-gram词串集合;
根据所述第一词串集合和所述N-gram词串集合,得到第一候选词串集合。
4.根据权利要求1所述的方法,其特征在于,所述计算各第二候选词串的词语之间的词向量相似度值,根据所述词向量相似度值筛选所述第二候选词串集合,得到目标词串集合包括:
根据已训练的词向量模型,对所述第二候选词串集合中各第二候选词串进行词向量相似度计算,得到各第二候选词串的词语之间的词向量相似度值,所述已训练的词向量模型由预设的样本语料训练得到;
根据所述词向量相似度值以及预设的相似度阈值,筛选所述第二候选词串集合,得到第三候选词串集合;
遍历所述第三候选词串集合中各第三候选词串,得到目标词串集合。
5.根据权利要求4所述的方法,其特征在于,所述遍历所述第三候选词串集合中各第三候选词串,得到目标词串集合包括:
遍历所述第三候选词串集合中各第三候选词串,得到字典树;
根据所述字典树,计算所述第三候选词串集合中各第三候选词串的互信息和左右信息熵;
根据各所述第三候选词串的互信息和左右信息熵,以及预设的互信息阈值和左右信息熵阈值,筛选所述第三候选词串集合,得到目标词串集合。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标词串集合提取问答语料的专属名词集合包括:
推送所述目标词串集合至终端;
接收所述终端反馈的携带标注信息的目标词串集合;
根据所述携带标注信息的目标词串集合,提取问答语料的专属名词集合。
7.根据权利要求1所述的方法,其特征在于,所述将所述专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料包括:
将所述专属名词集合中各专属名词与预设的意图模板进行组合,得到各专属名词的问题语料;
根据各所述专属名词遍历所述问答数据集合,得到各专属名词的答案语料;
根据所述问题语料和所述答案语料,得到问答语料。
8.一种问答语料生成装置,其特征在于,所述装置包括:
获取模块,用于获取问答数据集合;
分词模块,用于将所述问答数据集合中各问答数据分词,得到分词结果;
第一筛选模块,用于根据所述分词结果进行词语组合,得到第一候选词串集合,根据预设的停用词表筛选所述第一候选词串集合,得到第二候选词串集合;
第二筛选模块,用于计算各第二候选词串的词语之间的词向量相似度值,根据所述词向量相似度值筛选所述第二候选词串集合,得到目标词串集合;
处理模块,用于根据所述目标词串集合提取问答语料的专属名词集合,将所述专属名词集合中各专属名词以及预设的意图模板进行组合,得到问答语料。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910667010.3A CN110390006B (zh) | 2019-07-23 | 2019-07-23 | 问答语料生成方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910667010.3A CN110390006B (zh) | 2019-07-23 | 2019-07-23 | 问答语料生成方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390006A true CN110390006A (zh) | 2019-10-29 |
CN110390006B CN110390006B (zh) | 2023-11-10 |
Family
ID=68287116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910667010.3A Active CN110390006B (zh) | 2019-07-23 | 2019-07-23 | 问答语料生成方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390006B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795924A (zh) * | 2020-01-03 | 2020-02-14 | 北京泰迪熊移动科技有限公司 | 一种意图模板库构建方法、装置及存储介质 |
CN110955765A (zh) * | 2019-11-22 | 2020-04-03 | 中国南方电网有限责任公司 | 智能助理的语料构建方法、装置、计算机设备和存储介质 |
CN111241848A (zh) * | 2020-01-15 | 2020-06-05 | 江苏联著实业股份有限公司 | 一种基于机器学习的文章阅读理解答案检索系统及装置 |
CN111353050A (zh) * | 2019-12-27 | 2020-06-30 | 北京合力亿捷科技股份有限公司 | 一种电信客服垂直领域的词库构建方法及工具 |
CN111737425A (zh) * | 2020-02-28 | 2020-10-02 | 北京沃东天骏信息技术有限公司 | 一种应答方法、装置、服务器及存储介质 |
CN112800778A (zh) * | 2021-02-07 | 2021-05-14 | 北京智通云联科技有限公司 | 一种基于词串长度的意图识别方法、系统及存储介质 |
WO2021184547A1 (zh) * | 2020-03-20 | 2021-09-23 | 平安科技(深圳)有限公司 | 对话机器人意图语料生成方法、装置、介质及电子设备 |
CN113486165A (zh) * | 2021-07-08 | 2021-10-08 | 山东新一代信息产业技术研究院有限公司 | 一种用于云化机器人的faq自动问答方法、设备及介质 |
CN113590774A (zh) * | 2021-06-22 | 2021-11-02 | 北京百度网讯科技有限公司 | 事件查询方法、装置以及存储介质 |
WO2022095368A1 (zh) * | 2020-11-04 | 2022-05-12 | 平安科技(深圳)有限公司 | 基于文本生成模型的问答语料生成方法和装置 |
CN114722802A (zh) * | 2022-04-07 | 2022-07-08 | 平安科技(深圳)有限公司 | 词向量的生成方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018149326A1 (zh) * | 2017-02-16 | 2018-08-23 | 阿里巴巴集团控股有限公司 | 一种自然语言问句答案的生成方法、装置及服务器 |
CN108536680A (zh) * | 2018-04-12 | 2018-09-14 | 北京焦点新干线信息技术有限公司 | 一种房产信息的获取方法和装置 |
CN109522393A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
CN110019712A (zh) * | 2017-12-07 | 2019-07-16 | 上海智臻智能网络科技股份有限公司 | 多意图查询方法和装置、计算机设备及计算机可读存储介质 |
-
2019
- 2019-07-23 CN CN201910667010.3A patent/CN110390006B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018149326A1 (zh) * | 2017-02-16 | 2018-08-23 | 阿里巴巴集团控股有限公司 | 一种自然语言问句答案的生成方法、装置及服务器 |
CN108446286A (zh) * | 2017-02-16 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 一种自然语言问句答案的生成方法、装置及服务器 |
CN110019712A (zh) * | 2017-12-07 | 2019-07-16 | 上海智臻智能网络科技股份有限公司 | 多意图查询方法和装置、计算机设备及计算机可读存储介质 |
CN108536680A (zh) * | 2018-04-12 | 2018-09-14 | 北京焦点新干线信息技术有限公司 | 一种房产信息的获取方法和装置 |
CN109522393A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955765A (zh) * | 2019-11-22 | 2020-04-03 | 中国南方电网有限责任公司 | 智能助理的语料构建方法、装置、计算机设备和存储介质 |
CN111353050A (zh) * | 2019-12-27 | 2020-06-30 | 北京合力亿捷科技股份有限公司 | 一种电信客服垂直领域的词库构建方法及工具 |
CN110795924A (zh) * | 2020-01-03 | 2020-02-14 | 北京泰迪熊移动科技有限公司 | 一种意图模板库构建方法、装置及存储介质 |
CN111241848A (zh) * | 2020-01-15 | 2020-06-05 | 江苏联著实业股份有限公司 | 一种基于机器学习的文章阅读理解答案检索系统及装置 |
CN111737425A (zh) * | 2020-02-28 | 2020-10-02 | 北京沃东天骏信息技术有限公司 | 一种应答方法、装置、服务器及存储介质 |
CN111737425B (zh) * | 2020-02-28 | 2024-03-01 | 北京汇钧科技有限公司 | 一种应答方法、装置、服务器及存储介质 |
WO2021184547A1 (zh) * | 2020-03-20 | 2021-09-23 | 平安科技(深圳)有限公司 | 对话机器人意图语料生成方法、装置、介质及电子设备 |
WO2022095368A1 (zh) * | 2020-11-04 | 2022-05-12 | 平安科技(深圳)有限公司 | 基于文本生成模型的问答语料生成方法和装置 |
CN112800778B (zh) * | 2021-02-07 | 2023-07-18 | 北京智通云联科技有限公司 | 一种基于词串长度的意图识别方法、系统及存储介质 |
CN112800778A (zh) * | 2021-02-07 | 2021-05-14 | 北京智通云联科技有限公司 | 一种基于词串长度的意图识别方法、系统及存储介质 |
CN113590774A (zh) * | 2021-06-22 | 2021-11-02 | 北京百度网讯科技有限公司 | 事件查询方法、装置以及存储介质 |
CN113590774B (zh) * | 2021-06-22 | 2023-09-29 | 北京百度网讯科技有限公司 | 事件查询方法、装置以及存储介质 |
CN113486165A (zh) * | 2021-07-08 | 2021-10-08 | 山东新一代信息产业技术研究院有限公司 | 一种用于云化机器人的faq自动问答方法、设备及介质 |
CN114722802A (zh) * | 2022-04-07 | 2022-07-08 | 平安科技(深圳)有限公司 | 词向量的生成方法、装置、计算机设备及存储介质 |
CN114722802B (zh) * | 2022-04-07 | 2024-01-30 | 平安科技(深圳)有限公司 | 词向量的生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110390006B (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110390006A (zh) | 问答语料生成方法、装置和计算机可读存储介质 | |
CN106484664B (zh) | 一种短文本间相似度计算方法 | |
CN108804521B (zh) | 一种基于知识图谱的问答方法及农业百科问答系统 | |
CN108073673B (zh) | 一种基于机器学习的法律知识图谱构建方法、装置、系统和介质 | |
KR101173561B1 (ko) | 질문 형태 및 도메인 인식 장치 및 그 방법 | |
CN106649260B (zh) | 基于评论文本挖掘的产品特征结构树构建方法 | |
CN105528437B (zh) | 一种基于结构化文本知识提取的问答系统构建方法 | |
KR100546743B1 (ko) | 언어분석 기반 자동 질문/정답 색인 방법과 그 질의응답방법 및 시스템 | |
CN107122340B (zh) | 一种基于同义词分析的科技项目申报书的相似度检测方法 | |
CN110717034A (zh) | 一种本体构建方法及装置 | |
CN108681574B (zh) | 一种基于文本摘要的非事实类问答答案选择方法及系统 | |
CN106951438A (zh) | 一种面向开放域的事件抽取系统及方法 | |
JP2017511922A (ja) | スマート質問回答の実現方法、システム、および記憶媒体 | |
JP2018060364A (ja) | 因果関係認識装置及びそのためのコンピュータプログラム | |
CN109783806B (zh) | 一种利用语义解析结构的文本匹配方法 | |
CN105824933A (zh) | 基于主述位的自动问答系统及其实现方法 | |
KR102398832B1 (ko) | 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램 | |
CN110019658A (zh) | 检索项的生成方法及相关装置 | |
CN113112164A (zh) | 基于知识图谱的变压器故障诊断方法、装置及电子设备 | |
CN108664599A (zh) | 智能问答方法、装置、智能问答服务器及存储介质 | |
CN106997341A (zh) | 一种创新方案匹配方法、装置、服务器及系统 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN101645083A (zh) | 一种基于概念符号的文本领域的获取系统及方法 | |
CN110532354A (zh) | 内容的检索方法及装置 | |
CN110209721A (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 |