CN108681564B - 关键词和答案的确定方法、装置和计算机可读存储介质 - Google Patents

关键词和答案的确定方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN108681564B
CN108681564B CN201810399625.8A CN201810399625A CN108681564B CN 108681564 B CN108681564 B CN 108681564B CN 201810399625 A CN201810399625 A CN 201810399625A CN 108681564 B CN108681564 B CN 108681564B
Authority
CN
China
Prior art keywords
words
word
candidate
word list
answer
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.)
Active
Application number
CN201810399625.8A
Other languages
English (en)
Other versions
CN108681564A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810399625.8A priority Critical patent/CN108681564B/zh
Publication of CN108681564A publication Critical patent/CN108681564A/zh
Application granted granted Critical
Publication of CN108681564B publication Critical patent/CN108681564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种关键词的确定方法、装置和计算机可读存储介质,涉及自然语言处理技术领域。该方法包括:将语料中的句子划分为多个单词;根据多个单词建立第一词列表,第一词列表中包括各单词及其在语料中的出现频率,第一词列表中的各单词按照其出现频率排序;根据划分得到的单词生成各合成词,合成词由N个单词组成,N大于等于2;根据各合成词建立第二词列表,第二词列表包括各合成词及其在所述语料中的出现频率,第二词列表中的各合成词按照其出现频率排序;根据第一词列表中各单词的出现频率和排序情况,以及第二词列表中包含各单词的合成词的出现频率和排序情况,确定各关键词。本公开的技术方案能够提高用户体验。

Description

关键词和答案的确定方法、装置和计算机可读存储介质
技术领域
本公开涉及自然语言处理技术领域,特别涉及一种关键词的确定方法、关键词的装置和计算机可读存储介质。
背景技术
如今新一轮的人工智能和机器学习浪潮席卷全球,对各行各业都产生了深远的影响。基于人工智能,大数据和深度学习基础上发展起来自然语言理解以及自然语言生成技术在近年中更是得到了长足的发展。
随着信息的碎片化,服务的多元化,以及人力成本越来越高,使用基于自然语言理解和自然语言生成的机器人客服逐渐取代人工客服,对顾客进行全流程接待并解决顾客的问题是大势所趋。
在相关技术中,机器人将顾客的问句和训练集中的所有句子进行对比,找出问句的最相近句子,然后以最接近句子的意图作为问句的意图。或者将问句与事先准备的问答对中的问题进行比较,找出最相似的问题,然后用该问题的答案作为应答回复给顾客。
发明内容
本公开的发明人发现上述相关技术中存在如下问题:答案的生成需要依靠事先准备的标注语料或者问答对作为机器人学习的先验知识,导致在遇到未知问题时无法准确理解问题的意图,无法作出合适的应答,从而影响用户体验。鉴于此,本公开提出了一种能够准确理解语料意图的关键词和答案的确定技术方案用于生成合适的应答,从而提升用户体验。
根据本公开的一些实施例,提供了一种关键词的确定方法,包括:将语料中的句子划分为多个单词;根据所述多个单词建立第一词列表,所述第一词列表中包括各单词及其在所述语料中的出现频率,所述第一词列表中的各单词按照其出现频率排序;根据划分得到的单词生成各合成词,所述合成词由N个单词组成,N大于等于2;根据所述各合成词建立第二词列表,所述第二词列表包括所述各合成词及其在所述语料中的出现频率,所述第二词列表中的各合成词按照其出现频率排序;根据所述第一词列表中各单词的出现频率和排序情况,以及所述第二词列表中包含所述各单词的合成词的出现频率和排序情况,确定各关键词。
可选地,将所述关键词作为候选词,并根据所述候选词建立候选词列表,所述候选词列表中包含所述候选词及其在所述语料中的出现频率,所述候选词最多由M个单词组成,M大于等于1,所述候选词列表中的各候选词按照其出现频率排序;根据所述划分得到的单词重新生成合成词,所述合成词由L个单词组成,L大于M;根据所述合成词建立第三词列表,所述第三词列表包括所述各合成词及其在所述语料中的出现频率,所述第三词列表中的各合成词按照其出现频率排序;根据所述候选词列表中各候选词的出现频率和排序情况,以及所述第三词列表中包含所述各候选词的合成词的出现频率和排序情况,确定各关键词;重复执行上述步骤一次或多次。
可选地,判断所述第二词列表中合成词的出现频率与所述第一词列表中被所述合成词包含的单词的出现频率的比值是否大于阈值;在所述比值大于所述阈值的情况下,将所述合成词确定为关键词;在所述比值小于或等于所述阈值的情况下,判断所述合成词在所述第二列表中的排序是否高于所述单词在所述第一次列表中的排序,所述第一次列表中的单词按照单词的出现频率从高到低排序,所述第二次列表中的合成词按照合成词的出现频率从高到低排序,在是的情况下,将所述合成词确定为所述关键词,在否的情况下,将所述单词确定为所述关键词。
根据本公开的另一些实施例,提供了一种答案的确定方法,包括:上述任一个实施例中的关键词的确定方法;和根据接收到的问题中包含的所述关键词,在数据库中查找相应文档以生成所述问题的一个或多个答案。
可选地,根据生成的各答案建立候选答案数据库,所述候选答案数据库中包含所述各答案的调用次数和所述各答案的意图标签,所述调用次数为所述各答案被用来回答问题的次数,所述意图标签根据所述各答案被用来回答问题时该问题所在会话的上下文的意图生成;从当前问题所在的会话中确定所述当前问题的意图;根据所述当前问题的意图和所述候选答案数据库中的意图标签,在所述候选答案数据库中确定各候选答案及其第一评分;计算所述当前问题与所述各候选答案的文本匹配程度作为所述各候选答案的第二评分;根据所述第一评分、所述第二评分和所述各候选答案的调用次数确定所述当前问题的答案。
可选地,根据确定的答案的意图标签在所述数据库中查找相应的文本;根据所述相应的文本,回答所述当前问题。
根据本公开的又一些实施例,提供一种关键词的确定装置,包括:划分单元,用于将语料中的句子划分为多个单词;词列表生成单元,用于根据所述多个单词建立第一词列表,所述第一词列表中包括各单词及其在所述语料中的出现频率,所述第一词列表中的各单词按照其出现频率排序;合成词生成单元,用于根据划分得到的单词生成各合成词,所述合成词由N个单词组成,N大于等于2;所述词列表生成单元还用于根据所述各合成词建立第二词列表,所述第二词列表包括所述各合成词及其在所述语料中的出现频率,所述第二词列表中的各合成词按照其出现频率排序;确定单元,用于根据所述第一词列表中各单词的出现频率和排序情况,以及所述第二词列表中包含所述各单词的合成词的出现频率和排序情况,确定各关键词。
可选地,所述词列表生成单元将所述关键词作为候选词,并根据所述候选词建立候选词列表,所述候选词列表中包含所述候选词及其在所述语料中的出现频率,所述候选词由最多M个单词组成,M大于等于1,所述候选词列表中的各候选词按照其出现频率排序;所述合成词生成单元根据所述划分得到的单词重新生成合成词,所述合成词由L个单词组成,L大于M;所述词列表生成单元根据所述合成词建立第三词列表,所述第三词列表包括所述各合成词及其在所述语料中的出现频率,所述第三词列表中的各合成词按照其出现频率排序,所述确定单元根据所述候选词列表中各候选词的出现频率和排序情况,以及所述第三词列表中包含所述各候选词的合成词的出现频率和排序情况,确定各关键词;所述词列表生成单元、所述合成词生成单元和所述确定单元重复执行上述步骤一次或多次。
可选地,所述确定单元判断所述第二词列表中合成词的出现频率与所述第一词列表中被所述合成词包含的单词的出现频率的比值是否大于阈值,在所述比值大于所述阈值的情况下,将所述合成词确定为关键词,在所述比值小于或等于所述阈值的情况下,判断所述合成词在所述第二列表中的排序是否高于所述单词在所述第一次列表中的排序,所述第一次列表中的单词按照单词的出现频率从高到低排序,所述第二次列表中的合成词按照合成词的出现频率从高到低排序,在是的情况下,将所述合成词确定为所述关键词,在否的情况下,将所述单词确定为所述关键词。
根据本公开的再一些实施例,提供了一种答案的确定装置,包括:所述任一个实施例中的关键词的确定装置;和答案生成单元,用于根据接收到的问题中包含的所述关键词,在数据库中查找相应文档以生成所述问题的一个或多个答案。
可选地,所述答案生成单元还用于根据生成的各答案建立候选答案数据库,所述候选答案数据库中包含所述各答案的调用次数和所述各答案的意图标签,所述调用次数为所述各答案被用来回答问题的次数,所述意图标签根据所述各答案被用来回答问题时该问题所在会话的上下文的意图生成,从当前问题所在的会话中确定所述当前问题的意图,根据所述当前问题的意图和所述候选答案数据库中的意图标签,在所述候选答案数据库中确定各候选答案及其第一评分,计算所述当前问题与所述各候选答案的文本匹配程度作为所述各候选答案的第二评分,根据所述第一评分、所述第二评分和所述各候选答案的调用次数确定所述当前问题的答案。
可选地,所述答案生成单元还用于根据确定的答案的意图标签在所述数据库中查找相应的文本,根据所述相应的文本,回答所述当前问题。
根据本公开的再一些实施例,提供一种确定装置,包括:存储器和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的确定方法中的一个或多个步骤。
根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的确定方法中的一个或多个步骤。
在上述实施例中,根据语料中各单词和各合成词的出现频率确定语料中的关键词,从而保证这些关键词能够准确地表示语料的意图。根据这些关键词能够对用户的问题进行合适的应答,从而提高用户体验。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开的关键词确定方法的一些实施例的流程图;
图2示出图1中步骤150的一些实施例的流程图;
图3示出本公开的关键词确定方法的另一些实施例的流程图;
图4示出本公开的答案确定方法的一些实施例的流程图;
图5示出本公开的答案确定方法的另一些实施例的流程图;
图6示出本公开的关键词确定装置的一些实施例的框图;
图7示出本公开的答案确定装置的一些实施例的框图;
图8示出本公开的确定装置的一些实施例的框图;
图9示出本公开的确定装置的另一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
如前所述,相关技术中的机器人客服无法为未知问题提供合适的答案。例如,未知问题可以是预存问答对中没有的问题、突发性的问题、未曾处理过的问题等。
针对该技术问题,本公开的发明人发现实际上机器人客服并没有必要解决所有的未知问题,仅需要能够对关注量大的问题,即“热门问题”,进行应答即可。因此,本公开从语料中确定关注量较大的事件的关键词,并以此为依据确定未知问题的意图,从而找到适合未知问题的答案。
另外,本公开的发明人发现关键词过短的话,其代表的意图范围相对宽泛,缺乏针对性,无法准确地表达事件的意图。因此,本公开将语料中的多个单词组合起来,形成不同长短的合成词,并通过单词及其相应合成词出现的频率确定关键词。这样就可以尽量增加关键词的长度,更准确地表达语料中各种热门事件的意图,从而给出更适合未知问题的答案。
需要说明的是,本公开的关键词的确定技术方案能够准确地实时发掘亿级语料中的热门事件的意图,从而提高自然语言处理的准确度和效率。因此,该方案不局限于提供未知问题答案,还可以应用到自然语言处理相关的各种应用中,如海量文本的理解、检索、筛选、逻辑判断和摘要生成等。例如,该技术方案可以通过下面的实施例来实现。
图1示出本公开的关键词确定方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,划分单词;步骤120,建立第一词列表;步骤130,生成合成词;步骤140,建立第二词列表;和步骤150,确定关键词。
在步骤110中,将语料中的句子划分为多个单词。例如,可以基于Java开源分词包Anjs进行语料中句子的划分。
在一些实施例中,语料可以是用户咨询客服时在应答过程中产生的对话记录,即咨询日志。咨询日志中包含了大量用户关注的事件信息,以此作为分析未知问题的语料可以提高分析效率和生成答案的匹配程度。
在一些实施例中,对句子进行划分后可以使用停用词词典将没有意思的单词去掉。例如,对句子“我的订单怎么还没有到?”进行划分后形成“我”、“的”、“订单”、“怎么”、“还”、“没有”、“到”、“?”几个单词,可以过滤掉停用词“的”和“?”。这样可以避免停用词对语义理解的影响,从而提高语义理解的准确性和效率。
在步骤120中,根据多个单词建立第一词列表,第一词列表中包括各单词及其在语料中的出现频率,第一词列表中的各单词按照其出现频率排序。
在一些实施例中,第一词列表可以按照key-value的形式组织。例如,可以将上述实施例中的单词“我”、“订单”、“还”、“没有”、“到”作为key值放入第一词列表,将各单词的出现频率作为value值,并按照出现频率升序或降序对单词进行排序。出现频率和排序可以从不同方面表示单词在语段中的重要程度,因此将它们记录下来可以作为意图理解的依据。
在步骤130中,根据划分得到的单词生成各合成词,合成词由N个单词组成,N大于等于2。例如,可以按照句子中单词的正向语序形成合成词。
在一些实施例中,当N取2时,可以形成合成词“我订单”、“订单还”、“还没有”和“没有到”4个2元合成词。N也可以取3和4,分别形成3元和4元合成词,例如4元合成词可以是“我订单还没有”和“订单还没有到”。例如,可以采用Storm多bolt并行生成多种长度的合成词,从而节省处理时间。合成词相对于单词而言包含了更多的事件语义信息,以合成词为基础分析其所在语段的意图更具有针对性。
在步骤140中,根据各合成词建立第二词列表,第二词列表包括各合成词及其在语料中的出现频率,第二词列表中的各合成词按照其出现频率排序,第二词列表的排序方式与第一词列表相同。例如,第二词列表也可以按照上述的key-value的形式组织。同样的,出现频率和排序可以从不同方面表示合成词在语段中的重要程度,因此将它们记录下来可以作为意图理解的依据。
在步骤150中,根据第一词列表中各单词的出现频率和排序情况,以及第二词列表中包含各单词的合成词的出现频率和排序情况,确定各关键词。
本公开的发明人发现,合成词(如“我订单”)相比于其包含的单词(如“订单”)在分析语段意图时更具有针对性。
一方面,如果“我订单”出现次数接近于“订单”的出现次数,说明“我订单”能够涵盖“订单”表达的语段意图,则可以将“我订单”作为关键词。另一方面,如果“我订单”出现次数远低于“订单”的出现次数,说明“我订单”未必能够涵盖“订单”表达的语段意图,即“订单”相比于“我订单”有可能更能表达其所在语段的意图,此时需要通过排序作进一步判断。例如,可以通过图2中的实施例来进行判断。
图2示出图1中步骤150的一些实施例的流程图。
如图2所示,步骤150可以包括步骤1501-步骤1505。
在步骤1501中,读取第一词列表中的单词,读取第二词列表中包含该单词的合成词。例如,第一词列表如表1所示,第二词列表如表2所示。
表1 第一词列表
排序 频率 单词
1 100 订单
2 20 尺码
3 10 三只
表2 第二词列表
排序 频率 合成词
1 95 我订单
2 5 三只松鼠
3 2 尺码偏大
可以从第一词列表中取出单词“订单”、“尺码”和“三只”,相应地可以从第二词列表中分别取出“我订单”、“尺码偏大”和“三只松鼠”。
在步骤1502中,判断第二词列表中合成词的出现频率与第一词列表中被该合成词包含的单词的出现频率的比值是否大于阈值。如果大于,则执行步骤1503;如果小于,则执行步骤1504。
在步骤1503中,将合成词确定为关键词。
在一些实施例中,可以设定阈值为0.9。根据表1和表2中的数据,计算出“我订单”和“订单”的出现频率之比为0.95大于阈值。这说明“我订单”和“订单”的出现频率接近,即在语段中每次提到“订单”时几乎都会提到“我订单”,“我订单”能够涵盖“订单”在语段中的意图。由于合成词比单词能够更有针对性地表达语段意图,所以将合成词“我订单”确定为关键词。
在步骤1504中,判断合成词在第二列表中的排序是否高于单词在所述第一次列表中的排序。如果是,则执行步骤1503;如果否,则执行步骤1505。在一些实施例中,除了比较合成词和单词的排序,还可以判断合成词在第二列表中的排序是否高于预设排序,如果高于,则执行步骤1503,如果低于,则执行步骤1505。
在一些实施例中,根据表1和表2中的数据,计算出“尺码”和“尺码偏大”的出现频率之比为0.1小于阈值,“三只”和“三只松鼠”的出现频率之比为0.5也小于阈值。在这种情况下,无法判断合成词是否能够涵盖相应单词表示的语段意图,因此还要通过比较排序来进一步确认关键词。
在步骤1505中,将单词确定为所述关键词。
在一些实施例中,“尺码”在第一词列表中的排名为2,“尺码偏大”在第二词列表中的排名为3低于“尺码”的排名,说明“尺码偏大”不能涵盖“尺码”在语段中表达的意图。此时,将“尺码”确定为关键词。
在另一些实施例中,“三只”在第一词列表中的排名为3,“三只松鼠”在第二词列表中的排名为2高于“三只”的排名,说明“三只松鼠”能够涵盖“三只”在语段中表达的意图。此时,将“三只松鼠”确定为关键词。
这样就可以确定关键词为“我订单”、“尺码”和“三只松鼠”。另外,本技术方案不一定要通过求比值的方式来比较出现频率,可以采用任何能够表示出现频率差距的方式来进行比较,如作差等。
在一些实施例中,利用上述实施例确定的关键词,可以采用图1和图2中相同的技术思路,通过重复执行图3中的步骤,来获得能够更加准确表达语段意图的关键词。
图3示出本公开的关键词确定方法的另一些实施例的流程图。
如图3所示,该方法包括:步骤160,建立候选词列表;步骤170,重新生成合成词;步骤180,建立第三词列表;和步骤190,重新确定关键词。
在步骤160中,将上述实施例确定的关键词作为候选词,并根据候选词建立候选词列表。候选词列表中包含候选词及其在语料中的出现频率。候选词最多由M个单词组成,M大于等于1,候选词列表中的各候选词按照其出现频率排序。
在一些实施例中,根据上述实施例确定的关键词可以建立候选词列表,如表3所示。
表3 候选词列表
排序 频率 合成词
1 95 我订单
2 20 尺码
3 5 三只松鼠
表3中的候选词是通过比较第一词列表中的单词和第二词列表中的二元合成词确定的,因此M取2。
在步骤170中,根据划分得到的单词重新生成合成词,合成词由L个单词组成,L大于M。由于要确定更加准确的关键词,因此需要增加合成词的长度。例如,在上述实施例中M取2,则可以将L取3,即将3个单词合成为1个三元合成词。如“我订单没到”、“三只松鼠旗舰店”等。
在步骤180中,根据合成词建立第三词列表。第三词列表包括各合成词及其在语料中的出现频率。第三词列表中的各合成词按照其出现频率排序。第三词列表的排序方式与所述候选词列表相同。第三词列表可以采用与表2相同的形式创建。
在步骤190中,根据候选词列表中各候选词的出现频率和排序情况,以及第三词列表中包含各候选词的合成词的出现频率和排序情况,确定各关键词。例如,可以采用与图2中实施例相似的方式,即以候选词列表替代第一词列表,以第三词列表替代第二词列表来确定重新确定关键词。这样确定的关键词最多可以包含3个单词,能够更加准确地表达语段的意图。
在一些实施例中,可以重复执行步骤160-190。这样可以不断增加关键词中包含的最大单词数,从而提高关键词的准确性。
在一些实施例中,可以根据接收到的问题中包含的关键词,在数据库中查找相应文档以生成问题的一个或多个答案。例如,机器人客服收到了一个从未处理过的问题,首先可以在该问题中提取上面实施例中确定的关键词,然后可以在客服知识库中搜索跟该问题相关的文章和知识片段,最后通过摘要算法生成多个答案作为答案组以应答该问题。可以通过ES(Elastic Search,一种分布式搜索服务器)存储客服知识库知识库,以便快速查找相关文章和知识片段。
在上述实施例中,根据语料中各单词和各合成词的出现频率确定语料中的关键词,从而保证这些关键词能够准确地表示语料的意图。根据这些关键词能够对用户的问题进行合适的应答,从而提高用户体验。
在一些实施例中,还可以对生成的答案组进行校正,进一步提高应答未知问题的准确性。
图4示出本公开的答案确定方法的一些实施例的流程图。
如图4所示,答案确定方法可以包括:步骤410,建立候选答案数据库;步骤420,确定当前问题的意图;步骤430,确定候选答案;步骤440,确定第一评分;步骤450,确定第二评分;步骤460,确定当前问题的答案。
在步骤410中,根据上述实施例生成的各答案建立候选答案数据库。候选答案数据库中可以包含各答案的调用次数和各答案的意图标签。调用次数为各答案被用来回答问题的次数,调用次数可以表示答案被关注的程度,可以作为筛选优选答案的依据。意图标签根据各答案被用来回答问题时该问题所在会话的上下文的意图生成,意图标签可以表示答案能够回答的问题的意图,可以作为筛选优选答案的依据。
在一些实施例中,可以提取各问题中的关键词(如实体)作为各问题的主题,然后根据主题对各问题和通过上述实施例生成的各答案进行哈希映射,从而将问题及其相应的答案分到不同的哈希组中。将各哈希组存储在候选答案数据库。
例如,可以在候选答案数据库中为每个问题节点建立1个主题节点和多个答案节点。主题节点中可以包含通过上述任一个实施例的方法产生的该问题相应的关键词。答案节点可以包含调用次数数据,用于记录该答案被用来回答问题的次数。答案节点还可以包含意图标签列表,用于记录该答案在被调用时,问题所在会话的上文意图,初始时意图标签列表可以为空。答案节点还可以包含内容字段。
在步骤420中,从当前问题所在的会话中确定当前问题的意图。结合当前问题的意图和候选答案数据库中各答案的意图可以筛选合适的答案。
在一些实施例中,首先可以通过上述任一个实施例的关键词确定方法生成当前问题的主题,然后根据主题进行哈希映射,将当前问题匹配到相应的哈希组中,最后在哈希组中查找相应的答案。这样可以缩小当前问题的答案查找范围,从而提高答案生成的效率。
在一些实施例中,可以筛选本次会话中用户所提的问题,将非关键性问题,如“你好”、“在吗”等内容筛选掉,然后再通过上述任一个实施例中的关键词确定方法确定本次会话中关键问题的意图。
在步骤430中,根据当前问题的意图和候选答案数据库中的意图标签,在候选答案数据库中确定各候选答案。例如,可以将各候选答案形成一个答案列表。
在步骤440中,根据当前问题的意图和候选答案数据库中的意图标签确定第一评分。例如,可以先按照候选答案的意图标签列表中包含能够表示当前问题所在会话意图的意图标签个数,对各候选答案进行排列,再根据排序确定各答案的第一评分。例如,第一评分可以是百分制,意图标签列表中包含能够表示当前问题意图的意图标签个数越多,则相应答案的第一评分的分值越大。
在步骤450中,计算当前问题与各候选答案的文本匹配程度作为各候选答案的第二评分。例如,可以使用余弦距离相似度文本算法计算答案列表中的各答案与当前问题的文本匹配值作为第二评分。例如,第二评分可以是百分制。
在步骤460中,根据第一评分、第二评分和各候选答案的调用次数确定当前问题的答案。例如,可以利用第一评分、第二评分和调用次数的加权和作为综合评分,从而确定当前问题的答案。在一些实施例中,按照如下公式计算候选答案i的综合评分:
Figure BDA0001645405990000141
x为取值范围在[0.1,0.9]的第一权值。y为平衡前两项与第三项数量级的第二权值,例如y可以取值100。Si1为候选答案i的第一评分,Si2为候选答案i的第二评分。Ni为候选答案i的调用次数,候选答案列表中共有I个候选答案。
在一些实施例中,确定了当前问题的答案后,可以根据当前问题的上下文意图生成意图标签,加入到候选答案数据库中。
在一些实施例中,在通过图4中的实施例确定了答案后,还可以通过图5中的实施例进一步校准答案。
图5示出本公开的答案确定方法的另一些实施例的流程图。
如图5所示,在图4的中的步骤460之后,答案确定方法还可以包括:步骤470,查找相应的文本;和步骤480,重新确定当前问题的答案。
在步骤470中,根据确定的答案的意图标签在数据库中查找相应的文本。例如,可以调用答案生成引擎,从客服知识库中查找与上述实施例确定的答案的意图标签相关的文章和知识片段。
在步骤480中,根据相应的文本,回答当前问题。例如,可以通过摘要算法形成新的、更为全面的答案,并更新候选答案数据库中的答案节点的内容字段。这样,经过不断积累,所有的问题的答案节点会不断根据会话背景意图更新答案内容,使得答案内容越来越贴近用户的意图;同一主题下的各候选答案之间的差异会越来越明显,从而达到提升答案准确率的目的。
在上述实施例中,建立了候选答案数据库,并根据候选答案意图与当前问题答案意图的匹配程度,候选答案与当前问题的文本匹配程度,和答案的调用次数校准候选答案,能够提高对未知问题进行合理应答,从而提高用户体验。
图6示出本公开的关键词确定装置的一些实施例的框图。
如图6所示,关键词确定装置6包括:划分单元61、词列表生成单元62、合成词生成单元63和确定单元64。
划分单元61将语料中的句子划分为多个单词。词列表生成单元62根据多个单词建立第一词列表。第一词列表中包括各单词及其在语料中的出现频率,第一词列表中的各单词按照其出现频率排序。合成词生成单元63根据划分得到的单词生成各合成词,合成词由N个单词组成,N大于等于2。
词列表生成单元62还用于根据各合成词建立第二词列表。第二词列表包括各合成词及其在语料中的出现频率,第二词列表中的各合成词按照其出现频率排序,第二词列表的排序方式与第一词列表相同。
确定单元64根据第一词列表中各单词的出现频率和排序情况,以及第二词列表中包含各单词的合成词的出现频率和排序情况,确定各关键词。
在一些实施例中,词列表生成单元62将关键词作为候选词,并根据候选词建立候选词列表。候选词列表中包含候选词及其在语料中的出现频率。候选词由最多M个单词组成,M大于等于1,候选词列表中的各候选词按照其出现频率排序。
合成词生成单元63根据划分得到的单词重新生成合成词,合成词由L个单词组成,L大于M。
词列表生成单元62根据合成词建立第三词列表。第三词列表包括各合成词及其在语料中的出现频率。第三词列表中的各合成词按照其出现频率排序,第三词列表的排序方式与候选词列表相同。
确定单元64根据候选词列表中各候选词的出现频率和排序情况,以及第三词列表中包含各候选词的合成词的出现频率和排序情况,确定各关键词。
在一些实施例中,关键词确定装置6中的各单元可以重复执行上述步骤一次或多次。
在一些实施例中,确定单元64判断第二词列表中合成词的出现频率与第一词列表中被合成词包含的单词的出现频率的比值是否大于阈值。在比值大于阈值的情况下,将合成词确定为关键词。在比值小于或等于阈值的情况下,判断合成词在第二列表中的排序是否高于单词在第一次列表中的排序。第一次列表中的单词按照单词的出现频率从高到低排序,第二次列表中的合成词按照合成词的出现频率从高到低排序。在是的情况下,将合成词确定为关键词,在否的情况下,将单词确定为关键词。
图7示出本公开的答案确定装置的一些实施例的框图。如图7所示,相答案确定装置7包括答案生产单元75和上述实施例中的关键词确定装置6。关键词确定装置6的功能与上述实施例相同,在此不再赘述。
答案生成单元75根据接收到的问题中包含的关键词,在数据库中查找相应文档以生成问题的一个或多个答案。
在一些实施例中,答案生成单元75还用于根据生成的各答案建立候选答案数据库。候选答案数据库中包含各答案的调用次数和各答案的意图标签。调用次数为各答案被用来回答问题的次数,意图标签根据各答案被用来回答问题时该问题所在会话的上下文的意图生成。从当前问题所在的会话中确定当前问题的意图。根据当前问题的意图和候选答案数据库中的意图标签。在候选答案数据库中确定各候选答案及其第一评分,计算当前问题与各候选答案的文本匹配程度作为各候选答案的第二评分。根据第一评分、第二评分和各候选答案的调用次数确定当前问题的答案。
在一些实施例中,答案生成单元75还用于根据确定的答案的意图标签在数据库中查找相应的文本,根据相应的文本,回答当前问题。
上述实施例中,根据语料中各单词和各合成词的出现频率确定语料中的关键词,从而保证这些关键词能够准确地表示语料的意图。根据这些关键词能够对用户的问题进行合适的应答,从而提高用户体验。
图8示出本公开的确定装置的一些实施例的框图。
如图8所示,该实施例的装置8包括:存储器81以及耦接至该存储器81的处理器82,处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一个实施例中的确定方法中的一个或多个步骤。
其中,存储器81例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图9示出本公开的确定装置的另一些实施例的框图。
如图9所示,在关键词确定装置90中,处理器920通过BUS总线930耦接至存储器910。显示装置90还可以通过存储接口960连接至外部存储装置950以便调用外部数据,还可以通过网络接口960连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在一些实施例中,通过存储器910存储数据指令,再通过处理器920处理上述指令,能够实现前述任一实施例的确定方法。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的关键词的确定方法、关键词的确定装置、答案的确定方法、答案的确定装置、确定装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (12)

1.一种关键词的确定方法,包括:
将语料中的句子划分为多个单词;
根据所述多个单词建立第一词列表,所述第一词列表中包括各单词及其在所述语料中的出现频率,所述第一词列表中的各单词按照其出现频率排序;
根据划分得到的单词生成各合成词,所述合成词由N个单词组成,N大于等于2;
根据所述各合成词建立第二词列表,所述第二词列表包括所述各合成词及其在所述语料中的出现频率,所述第二词列表中的各合成词按照其出现频率排序;
根据所述第一词列表中各单词的出现频率和排序情况,以及所述第二词列表中包含所述各单词的合成词的出现频率和排序情况,确定各关键词;
其中,所述确定各关键词包括:
判断所述第二词列表中合成词的出现频率与所述第一词列表中被所述合成词包含的单词的出现频率的比值是否大于阈值;
在所述比值大于所述阈值的情况下,将所述合成词确定为关键词;
在所述比值小于或等于所述阈值的情况下,判断所述合成词在所述第二词列表中的排序是否高于所述单词在所述第一词列表中的排序,所述第一词列表中的单词按照单词的出现频率从高到低排序,所述第二词列表中的合成词按照合成词的出现频率从高到低排序,
在是的情况下,将所述合成词确定为所述关键词,
在否的情况下,将所述单词确定为所述关键词。
2.根据权利要求1所述的确定方法,还包括:
将所述关键词作为候选词,并根据所述候选词建立候选词列表,所述候选词列表中包含所述候选词及其在所述语料中的出现频率,所述候选词最多由M个单词组成,M大于等于1,所述候选词列表中的各候选词按照其出现频率排序;
根据所述划分得到的单词重新生成合成词,所述合成词由L个单词组成,L大于M;
根据所述合成词建立第三词列表,所述第三词列表包括所述各合成词及其在所述语料中的出现频率,所述第三词列表中的各合成词按照其出现频率排序;
根据所述候选词列表中各候选词的出现频率和排序情况,以及所述第三词列表中包含所述各候选词的合成词的出现频率和排序情况,确定各关键词;
重复执行上述步骤一次或多次。
3.一种答案的确定方法,包括:
权利要求1或2所述关键词的确定方法;和
根据接收到的问题中包含的所述关键词,在数据库中查找相应文档以生成所述问题的一个或多个答案。
4.根据权利要求3所述的确定方法,还包括:
根据生成的各答案建立候选答案数据库,所述候选答案数据库中包含所述各答案的调用次数和所述各答案的意图标签,所述调用次数为所述各答案被用来回答问题的次数,所述意图标签根据所述各答案被用来回答问题时该问题所在会话的上下文的意图生成;
从当前问题所在的会话中确定所述当前问题的意图;
根据所述当前问题的意图和所述候选答案数据库中的所述意图标签,在所述候选答案数据库中确定各候选答案及其第一评分;
计算所述当前问题与所述各候选答案的文本匹配程度作为所述各候选答案的第二评分;
根据所述第一评分、所述第二评分和所述各候选答案的调用次数确定所述当前问题的答案。
5.根据权利要求4所述的确定方法,还包括:
根据确定的答案的意图标签在所述数据库中查找相应的文本;
根据所述相应的文本,回答所述当前问题。
6.一种关键词的确定装置,包括:
划分单元,用于将语料中的句子划分为多个单词;
词列表生成单元,用于根据所述多个单词建立第一词列表,所述第一词列表中包括各单词及其在所述语料中的出现频率,所述第一词列表中的各单词按照其出现频率排序;
合成词生成单元,用于根据划分得到的单词生成各合成词,所述合成词由N个单词组成,N大于等于2;
所述词列表生成单元还用于根据所述各合成词建立第二词列表,所述第二词列表包括所述各合成词及其在所述语料中的出现频率,所述第二词列表中的各合成词按照其出现频率排序;
确定单元,用于根据所述第一词列表中各单词的出现频率和排序情况,以及所述第二词列表中包含所述各单词的合成词的出现频率和排序情况,确定各关键词;
其中,所述确定单元判断所述第二词列表中合成词的出现频率与所述第一词列表中被所述合成词包含的单词的出现频率的比值是否大于阈值,在所述比值大于所述阈值的情况下,将所述合成词确定为关键词,在所述比值小于或等于所述阈值的情况下,判断所述合成词在所述第二词列表中的排序是否高于所述单词在所述第一词列表中的排序,所述第一词列表中的单词按照单词的出现频率从高到低排序,所述第二词列表中的合成词按照合成词的出现频率从高到低排序,在是的情况下,将所述合成词确定为所述关键词,在否的情况下,将所述单词确定为所述关键词。
7.根据权利要求6所述的确定装置,其中,
所述词列表生成单元将所述关键词作为候选词,并根据所述候选词建立候选词列表,所述候选词列表中包含所述候选词及其在所述语料中的出现频率,所述候选词由最多M个单词组成,M大于等于1,所述候选词列表中的各候选词按照其出现频率排序;
所述合成词生成单元根据所述划分得到的单词重新生成合成词,所述合成词由L个单词组成,L大于M;
所述词列表生成单元根据所述合成词建立第三词列表,所述第三词列表包括所述各合成词及其在所述语料中的出现频率,所述第三词列表中的各合成词按照其出现频率排序;
所述确定单元根据所述候选词列表中各候选词的出现频率和排序情况,以及所述第三词列表中包含所述各候选词的合成词的出现频率和排序情况,确定各关键词;
重复执行上述步骤一次或多次。
8.一种答案的确定装置,包括:
权利要求6或7所述关键词的确定装置;和
答案生成单元,用于根据接收到的问题中包含的所述关键词,在数据库中查找相应文档以生成所述问题的一个或多个答案。
9.根据权利要求8所述的确定装置,其中,所述答案生成单元还用于:
根据生成的各答案建立候选答案数据库,所述候选答案数据库中包含所述各答案的调用次数和所述各答案的意图标签,其中,所述调用次数为所述各答案被用来回答问题的次数,所述意图标签根据所述各答案被用来回答问题时该问题所在会话的上下文的意图生成;
从当前问题所在的会话中确定所述当前问题的意图,根据所述当前问题的意图和所述候选答案数据库中的所述意图标签,并在所述候选答案数据库中确定各候选答案及其第一评分;
计算所述当前问题与所述各候选答案的文本匹配程度作为所述各候选答案的第二评分;和
根据所述第一评分、所述第二评分和所述各候选答案的调用次数确定所述当前问题的答案。
10.根据权利要求9所述的确定装置,其中,
所述答案生成单元还用于根据确定的答案的意图标签在所述数据库中查找相应的文本,根据所述相应的文本,回答所述当前问题。
11.一种确定装置,包括:
存储器;和
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行权利要求1-5任一项所述的确定方法中的一个或多个步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-5任一项所述的确定方法中的一个或多个步骤。
CN201810399625.8A 2018-04-28 2018-04-28 关键词和答案的确定方法、装置和计算机可读存储介质 Active CN108681564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810399625.8A CN108681564B (zh) 2018-04-28 2018-04-28 关键词和答案的确定方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810399625.8A CN108681564B (zh) 2018-04-28 2018-04-28 关键词和答案的确定方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108681564A CN108681564A (zh) 2018-10-19
CN108681564B true CN108681564B (zh) 2021-06-29

Family

ID=63802301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810399625.8A Active CN108681564B (zh) 2018-04-28 2018-04-28 关键词和答案的确定方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108681564B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597874B (zh) * 2018-10-23 2023-05-23 重庆邂智科技有限公司 信息推荐方法、装置及服务器
CN109635094B (zh) * 2018-12-17 2023-04-18 北京百度网讯科技有限公司 用于生成答案的方法和装置
CN110570215A (zh) * 2019-09-06 2019-12-13 北京金融资产交易所有限公司 智能客服系统
CN110765244B (zh) * 2019-09-18 2023-06-06 平安科技(深圳)有限公司 获取应答话术的方法、装置、计算机设备及存储介质
CN111598526B (zh) * 2020-04-21 2023-02-03 奇计(江苏)科技服务有限公司 一种针对描述科技创新内容的智能比对评审方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093504A (zh) * 2006-03-24 2007-12-26 国际商业机器公司 用于提取新复合词的系统和方法
CN101315623A (zh) * 2007-05-29 2008-12-03 阿里巴巴集团控股有限公司 一种文本主题推荐方法和装置
CN104598445A (zh) * 2013-11-01 2015-05-06 腾讯科技(深圳)有限公司 自动问答系统和方法
CN105138510A (zh) * 2015-08-10 2015-12-09 昆明理工大学 一种基于微博的新词情感倾向判定方法
CN106649422A (zh) * 2016-06-12 2017-05-10 中国移动通信集团湖北有限公司 关键词提取方法及装置
CN106909638A (zh) * 2012-12-07 2017-06-30 合网络技术(北京)有限公司 一种基于用户查询日志实时发现热点视频的方法和装置
CN107562717A (zh) * 2017-07-24 2018-01-09 南京邮电大学 一种基于Word2Vec与词共现相结合的文本关键词抽取方法
CN107729468A (zh) * 2017-10-12 2018-02-23 华中科技大学 基于深度学习的答案抽取方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093504A (zh) * 2006-03-24 2007-12-26 国际商业机器公司 用于提取新复合词的系统和方法
CN101315623A (zh) * 2007-05-29 2008-12-03 阿里巴巴集团控股有限公司 一种文本主题推荐方法和装置
CN106909638A (zh) * 2012-12-07 2017-06-30 合网络技术(北京)有限公司 一种基于用户查询日志实时发现热点视频的方法和装置
CN104598445A (zh) * 2013-11-01 2015-05-06 腾讯科技(深圳)有限公司 自动问答系统和方法
CN105138510A (zh) * 2015-08-10 2015-12-09 昆明理工大学 一种基于微博的新词情感倾向判定方法
CN106649422A (zh) * 2016-06-12 2017-05-10 中国移动通信集团湖北有限公司 关键词提取方法及装置
CN107562717A (zh) * 2017-07-24 2018-01-09 南京邮电大学 一种基于Word2Vec与词共现相结合的文本关键词抽取方法
CN107729468A (zh) * 2017-10-12 2018-02-23 华中科技大学 基于深度学习的答案抽取方法及系统

Also Published As

Publication number Publication date
CN108681564A (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
CN108681564B (zh) 关键词和答案的确定方法、装置和计算机可读存储介质
US10861022B2 (en) Computer systems and methods to discover questions and answers from conversations
JP7210587B2 (ja) 知識および自然言語処理を統合するための機械学習
CN111125334B (zh) 一种基于预训练的搜索问答系统
CN106570708B (zh) 一种智能客服知识库的管理方法及系统
CN112800170A (zh) 问题的匹配方法及装置、问题的回复方法及装置
US9678992B2 (en) Text to image translation
CN110765244A (zh) 获取应答话术的方法、装置、计算机设备及存储介质
US20160098379A1 (en) Preserving Conceptual Distance Within Unstructured Documents
US20170364519A1 (en) Automated Answer Scoring Based on Combination of Informativity and Specificity Metrics
KR20190058935A (ko) 문서 내 핵심 키워드 추출 시스템 및 방법
CN104834651B (zh) 一种提供高频问题回答的方法和装置
CN110674289A (zh) 基于分词权重判断文章所属分类的方法、装置和存储介质
US11144594B2 (en) Search method, search apparatus and non-temporary computer-readable storage medium for text search
CN111241267A (zh) 摘要提取和摘要抽取模型训练方法及相关装置、存储介质
US20210374168A1 (en) Semantic cluster formation in deep learning intelligent assistants
US20230315999A1 (en) Systems and methods for intent discovery
Ashok et al. A personalized recommender system using machine learning based sentiment analysis over social data
CN113569011A (zh) 文本匹配模型的训练方法、装置、设备及存储介质
Huda et al. A multi-label classification on topics of quranic verses (english translation) using backpropagation neural network with stochastic gradient descent and adam optimizer
CN111881264B (zh) 一种开放领域问答任务中长文本检索的方法和电子设备
CA3131157A1 (en) System and method for text categorization and sentiment analysis
CN109284389A (zh) 一种文本数据的信息处理方法、装置
CN110196910A (zh) 一种语料分类的方法及装置
CN115062621A (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