一种文本段落的关键句提取方法和装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种文本段落的关键句提取方法和装置。
背景技术
为了给客户更好的服务和咨询,很多行业中设置了客服角色,例如银行业、旅游业等。长久以来客服都以人工为主,尤其是语音客服,而客服人员重复劳动成本高、培训周期长、客服知识难以有效沉淀等问题成为了客服行业发展的瓶颈。并且,很多行业内沉淀的海量客服问答数据仍处于闲置状态,无法从该海量的客服问答数据中提炼总结用户的真实需求和意图。
发明内容
有鉴于此,本申请提供一种文本段落的关键句提取方法和装置,旨在实现客服问答数据的分类和用户需求及目的的提取。
为实现上述目的,本申请第一方面提供一种文本段落的关键句提取方法,包括:
对语料库中每个文本段落的每行文本进行分词,得到第一分词结果;
在所述第一分词结果中选择有效词汇;
根据所述文本段落的组成结构,在每个文本段落中选择关键段落;
根据所述有效词汇对所述关键段落分类,得到多个分类类别;
确定每个分类类别的目标关键词和每个目标关键词的权重;
根据所述目标关键词和所述目标关键词的权重,提取每个所述关键段落的关键句。
可选的,所述在所述第一分词结果中选择有效词汇,包括:
采用字典树存储所述第一分词结果包括的每个词汇;
将所述字典树中相邻的两个词汇组合得到至少一个组合词汇;
计算每个组合词汇的互信息、左熵和右熵;
根据所述每个组合词汇的互信息、左熵和右熵,计算每个组合词汇的分值;
根据所述分值对所述组合词汇排序得到第一排序结果,在所述第一排序结果中选择有效词汇。
可选的,所述在所述第一排序结果中选择有效词汇,包括:
根据排序方式在所述第一排序结果中选择第一预设数量的、排列在第一预设位置的组合词汇作为候选词汇;
判断所述候选词汇中排列在后的候选词汇是否包含排列在前的候选词汇;
若判断结果为是,则将所述排列在后的候选词汇删除,得到有效词汇;
若判断结果为否,则将所述候选词汇作为有效词汇。
可选的,所述文本段落的组成结构包括问题描述部分,所述问题描述部分包括疑问词和/或否定词;
所述根据所述文本段落的组成结构,在每个文本段落中选择关键段落,包括:
根据预设的多个位置信息,依次在每个文本段落中选取所述位置信息处的文本,作为统计段落;
统计所有所述统计段落包括的所述疑问词和/或否定词的第一词频;
将每个位置信息与对应的第一词频建立映射关系;
根据所述映射关系确定关键位置信息;
将每个文本段落包括的所述关键位置信息处的文本,作为关键段落。
可选的,所述根据所述有效词汇对所述关键段落分类,得到多个分类类别,包括:
将所述有效词汇和所述关键段落作为输入数据,对所述关键段落进行分词,得到第二分词结果;
根据所述第二分词结果,生成每个关键段落的特征向量;
对所述特征向量进行聚类,得到第二预设数量的分类类别和每个分类类别与关键段落的对应关系。
可选的,所述根据所述第二分词结果,生成每个关键段落的特征向量,包括:
在所述第二分词结果中提取预设词性的候选词汇;
统计每个候选词汇在所有关键段落中出现的第二词频;
将满足预设条件的第二词频对应的候选词汇作为目标词汇;
根据每个关键段落包括的目标词汇,生成每个关键段落的特征向量。
可选的,所述确定每个分类类别的目标关键词和每个目标关键词的权重,包括:
根据预设的关键词提取算法对每个分类类别对应的关键段落进行关键词提取,得到每个分类类别的候选关键词和每个候选关键词的权重;
根据所述候选关键词的权重,对每个分类类别的候选关键词排序得到第二排序结果;
根据排序方式在所述第二排序结果中选择第三预设数量的、排列在第二预设位置的候选关键词,作为每个分类类别的目标关键词。
可选的,所述根据所述目标关键词和所述目标关键词的权重,提取每个所述关键段落的关键句,包括:
确定每个关键段落的每行文本包括的目标关键词;
根据所述每行文本包括的目标关键词和所述目标关键词的权重,计算每行文本的权值;
比对每个关键段落的每行文本的权值,得到最大权值;
将所述最大权值对应的文本作为相应关键段落的关键句。
可选的,所述提取每个所述关键段落的关键句之后,还包括:匹配所述关键句的答案集合。
为实现上述目的,本申请第二方面提供一种文本段落的关键句提取装置,包括:
分词模块,用于对语料库中每个文本段落的每行文本进行分词,得到第一分词结果;
第一选择模块,用于在所述第一分词结果中选择有效词汇;
第二选择模块,用于根据所述文本段落的组成结构,在每个文本段落中选择关键段落;
分类模块,用于根据所述有效词汇对所述关键段落分类,得到多个分类类别;
确定模块,用于确定每个分类类别的目标关键词和每个目标关键词的权重;
提取模块,用于根据所述目标关键词和所述目标关键词的权重,提取每个所述关键段落的关键句。
为实现上述目的,本申请第三方面提供一种电子设备,包括:存储器和处理器;
所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如本申请第一方面所述的方法。
为实现上述目的,本申请第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第一方面所述的方法。
本申请的技术方案中,通过对语料库中每个本文段落进行分词得到有效词汇,在每个文本段落中选择关键段落,从而基于有效词汇对关键段落进行无监督的分类,并根据每个分类类别的目标关键词,提取每个关键段落的关键句,该关键句即可充分表征用户需求及目的;由此,不仅实现了客服问答数据的分类和用户需求及目的的提取,而且极大的缩短了客服知识积累的周期,减少了客服知识积累的成本,同时为后续的智能客服提供了完备的问题集合,整体优化了客服问答的效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
附图1为本申请一些实施例提供的一种文本段落的关键句提取方法的流程图;
附图2为本申请一些实施例提供的根据位置信息与第一词频的映射关系绘制的曲线示意图;
附图3为本申请一些实施例提供的doc2vec的框架的示意图;
附图4为本申请一些实施例提供的一种文本段落的关键句提取方法的示意图;
附图5为本申请一些实施例提供的一种文本段落的关键句提取装置的结构示意图;
附图6为本申请一些实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
客服是连接企业与客户的重要桥梁,极大地影响着企业的业务办理、品牌效应及市场地位。为了提升客服的服务效率,一些行业开始使用基于关键词和模版匹配技术的客服机器人,随着搜索引擎的出现以及相关的搜索技术和NLP(Neuro-LinguisticProgramming,神经语言程序学)技术的发展,使得客服机器人能够在关键词匹配的基础上对文本进行相关性排序。但以上的匹配和搜索都是基于完备的问题集和答案集来进行的,而目前对于原始语料的挖掘和学习仍然由人工整理为主,同时客服培训也没有良好的知识库沉淀,依然需要依靠人工经验的沉淀,而依靠人工整理和沉淀则至少存在以下问题:
(1)在海量的客服问答数据中提炼标准问题及标准答案的过程困难;
(2)在海量的客服问答数据中提炼标准问题的迭代周期较长,一般需要3-4个月左右,耗费人力成本;
(3)人工学习能力成本较高,需要深入了解该行业的操作流程及规范;
(4)新问题的发现过程需要人工进行干预,不能有效产生新的问题;
(5)标准问题及相似问题的准确率维持在80%左右,难以突破和优化;
(6)难以实现自学习,无行业数据和经验沉淀。
针对此状况,一些企业的做法是,由经验丰富的客服问答人员通过日常工作的积累整理出频繁出现的标准问题集和答案集,并人工进行迭代,在迭代过程中需要去理解和总结客户的来电需求;这一过程则需要大概3-4个月的周期,消耗大量的人力成本。
对此,本申请提供一种文本段落的关键句提取方法,将机器学习与NLP技术相结合,实现客服问答数据的分类和用户需求及目的的提取,从而极大的缩短客服知识积累的周期,减少客服知识积累的成本,同时为后续的智能客服提供了完备的问题集合,整体优化了客服问答的效率。
以下结合附图对本申请提供的文本段落的关键句提取方法和装置进行详述。
附图1为本申请一些实施例提供的一种文本段落的关键句提取方法的流程图,如图1所示,方法包括:
步骤101:对语料库中每个文本段落的每行文本进行分词,得到第一分词结果;
本申请实施例中的语料库包括多个文本段落,每个文本段落包括至少一行文本。进一步的,文本段落包括客服人员与客户的问答数据,例如银行客服人员与客户的问答数据、旅游业中客服人员与客户的问答数据等。对于客服人员与客户的一次完整对话而言,文本段落的组成结构包括客服人员的标准问答语部分、客服人员与客户的问题描述部分、客服人员对客户提出问题的解答部分、客服人员的标准结束语等,其中,客服人员与客户的问题描述部分包括疑问词和/或否定词。
在本申请的一些实施例中,步骤101包括:根据预设的N-gram切分长度,采用结巴(英文:jieba)分词方式对语料库中每个文本段落的每行文本进行切分,得到第一分词结果;其中,N-gram中的N即表示切分长度,其在实际应用中更可以根据需要自行设定。需要指出的是,结巴分词为本领域技术人员熟知的分词方式,因此结巴分词的具体过程在此不再详述。
例如,N为2,对于文本“请问怎样注销银行卡”进行分词,得到的第一分词结果包括“请问/怎样/注销/银行/卡”。
步骤102:在第一分词结果中选择有效词汇;
在本申请的一些实施例中,步骤102包括:
步骤102-1:采用字典树存储第一分词结果包括的每个词汇;
具体的,将字典树(trie树)的每个节点存储一个第一分词结果包括的词汇。
步骤102-2:将字典树中相邻的两个词汇组合得到至少一个组合词汇;
具体的,将字典树中两个相邻节点存储的词汇组合得到至少一个组合词汇。
例如,字典树对中某个节点存储的词汇为“银行”,该节点的一个相邻节点存储的词汇为“卡”,则得到的组合词汇为“银行卡”。
步骤102-3:计算每个组合词汇的互信息、左熵和右熵;
将组合词汇包括的两个词汇分别记为词汇X和词汇Y,互信息(mutualinformation)用来衡量词汇X与词汇Y的相关性,该相关性越高,表示词汇X与词汇Y可组成短语的可能性越大;左熵和右熵分别指多字词表达的左边界的熵和右边界的熵,常用于统计方法中的新词发现,熵越大,说明是新词的可能性越大,即两个词汇可以组成短语的可能性越大。进一步的,互信息、左熵和右熵的计算方法为本领域技术人员熟知的计算方法,因此具体的计算过程在此不再详述。
步骤102-4:根据每个组合词汇的互信息、左熵和右熵,计算每个组合词汇的分值;
具体的,根据公式score=PMI+min(左熵,右熵),计算每个组合词汇的分值;其中,score表示组合词汇的分值,PMI为每个组合词汇的互信息,min(左熵,右熵)表示取组合词汇的左熵和右熵中的最小值。
其中,互信息可以很好的反映两个词的凝聚力:
其中,p(x,y)是两个词一起出现的概率,p(x)是单个词出现的概率。
使用左右熵来衡量主要用于表示预选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词,其中左右熵表示为:
其中P(aW|W)为当W单词概率下的aW条件概率,中P(Wb|W)为当W单词概率下的Wb条件概率。
步骤102-5:根据每个组合词汇的分值对组合词汇排序得到第一排序结果,在第一排序结果中选择有效词汇。
其中,排序方式可以为降序排序,也可以为升序排序。
在本申请的一些实施例中,在第一排序结果中选择有效词汇包括:
步骤A1:根据排序方式在第一排序结果中选择第一预设数量的、排列在第一预设位置的组合词汇作为候选词汇;
具体的,当排序方式为降序排序时,在第一排序结果中选择第一预设数量的排列在前的组合词汇作为候选词汇;当排序方式为升序排序时,在第一排序结果中选择第一预设数量的排序在后的组合词汇作为候选词汇。其中,第一预设数量可以在实际应用中根据需要自行设定,例如为30个。
步骤A2:判断候选词汇中排列在后的候选词汇是否包含排列在前的候选词汇,是则将排列在后的候选词汇删除,得到有效词汇;否则将候选词汇作为有效词汇。
例如,候选词汇“北京”排列在候选词汇“北京奥运会”的前面,候选词汇“北京奥运会”包含了候选词汇“北京”,则将候选词汇“北京奥运会”删除。
由此,通过对语料库中每个文本段落的每行文本进行分词,得到第一分词结果,并在第一分词结果中选择有效词汇,不仅实现了新词的学习,而且将得到的有效词汇作为后续分类操作的输入,极大的提高了专业领域语料分词的准确率。
步骤103:根据文本段落的组成结构,在每个文本段落中选择关键段落;
在本申请的一些实施例中,步骤103包括:
步骤103-1:根据预设的多个位置信息,依次在每个文本段落中选取每个位置信息处的文本,作为统计段落;
其中,预设的多个位置信息在实际应用中可以根据需要自行设定。例如,预设的多个位置信息为文本段落的前两行、前三行、前四行、前五行、前六行,则分别将每个文本段落的前两行作为统计段落、前三行作为统计段落、前四行作为统计段落、前五行作为统计段落、前六行作为统计段落。
步骤103-2:统计所有统计段落包括的疑问词和否定词的第一词频;
具体的,分别统计每个统计段落包括的疑问词和否定词的数量,并将所有统计段落包括的疑问词和否定词的数量相加,得到第一词频。
例如,语料库包括130个文本段落,并记为文本段落1、文本段落2…文本段落130,当预设的位置信息为文本段落的前两行时,分别统计文本段落1的前两行包括的疑问词和否定词的数量、文本段落2的前两行包括的疑问词和否定词的数量…文本段落130的前两行包括的疑问词和否定词的数量,并将统计的130个数量相加,得到位置信息为前两行时对应的第一词频为120;当预设的位置信息为文本段落的前三行时,分别统计文本段落1的前三行包括的疑问词和否定词的数量、文本段落2的前三行包括的疑问词和否定词的数量…文本段落130的前三行包括的疑问词和否定词的数量,并将统计的130个数量相加,得到位置信息为前三行时对应的第一词频为210;以此类推,得到位置信息为前四行时对应的第一词频为332、位置信息为前五行时对应的第一词频为335、位置信息为前六行时对应的第一词频为340。需要指出的是,当统计段落不包括疑问词和否定词时,对应的数量为零。
步骤103-3:将每个位置信息与对应的第一词频建立映射关系;
在申请的一些实施例中,映射关系可以用坐标的形式表示,例如,根据前述统计数据,建立的映射关系包括:(2,120)、(3,210)、(4,332)、(5,335)(6,340),坐标中的第一个数值表示位置信息,第二数值表示第一词频。
步骤103-4:根据映射关系确定关键位置信息;
具体的,将横轴表示位置信息、纵轴表示第一词频建立坐标系,并根据建立的映射关系,在坐标系中绘制曲线,将曲线由陡峭到平缓的转折点所对应的位置信息作为关键位置信息。
附图2为根据前述建立的映射关系绘制的曲线示意图,则将前四行作为关键位置信息。
步骤103-5:将每个文本段落包括的关键位置信息处的文本,作为关键段落。
例如,将每个文本段落中前四行的文本,作为关键段落。
步骤104:根据有效词汇对关键段落分类,得到多个分类类别;
在本申请的一些实施例中,步骤104包括:
步骤104-1:将有效词汇和关键段落作为输入数据,对关键段落进行分词,得到第二分词结果;
具体的,将有效词汇作为分词的词典与所有关键段落共同作为输入数据,对所有关键段落进行分词,得到第二分词结果。
例如,语料库包括130个文本段落,对每个关键段落进行编号,得到关键段落1、关键段落2…关键段落130,分别将有效词汇与关键段落1作为输入数据,对关键段落1进行分词,得到关键段落1的第二分词结果;将将有效词汇与关键段落2作为输入数据,对关键段落2进行分词,得到关键段落2的第二分词结果,以此类推,直至将有效词汇与关键段落105作为输入数据,对关键段落130进行分词,得到关键段落130的第二分词结果。
步骤104-2:根据第二分词结果,生成每个关键段落的特征向量;
在本申请的一些实施例中,步骤104-2包括:
步骤B1:在第二分词结果中提取预设词性的候选词汇;
具体的,去除第二分词结果中的停用词,包括常用停用词以及口语话的助词、连词、感叹词、介词等;并在去除停用词后,在当前剩余的第二分词结果中提取名词、动词、疑问词等关键性词性的词汇作为候选词汇。
步骤B2:统计每个候选词汇在所有关键段落中出现的第二词频;
具体的,统计每个候选词汇在每个关键段落中出现的次数,并将统计的次数相加,得到每个候选词汇在所有关键段落中出现的第二词频。
例如,语料库包括130个文本段落,并将关键段落记为关键段落1、关键段落2…关键段落130,候选词汇包括“注销”等;则分别统计候选词汇“注销”在关键段落1中出现的次数、在关键段落2中出现的次数…在关键段落130中出现的次数,将统计的130个次数相加,得到候选词汇“注销”在所有关键段落中出现的第二词频。
步骤B3:将满足预设条件的第二词频对应的候选词汇作为目标词汇;
具体的,将第二词频与预设的词频阈值比对,并将不小于该词频阈值的第二词频作为满足预设条件的词频,并将满足预设条件的第二词频对应的候选词汇作为目标词汇。其中,词频阈值可以在实际应用根据需要自行设定。
步骤B4:根据每个关键段落包括的目标词汇,生成每个关键段落的特征向量;
具体的,采用gensim.models.doc2vec确定每个关键段落包括的目标词汇,并将确定的目标词汇作为行向量中的元素,得到关键段落的特征向量。
其中,Doc2Vec,也称为paragraph2vec、sentence embeddings,是一种非监督式算法,其用于获得句子、段落、篇章的向量表达。
训练句向量的方法和词向量的方法非常类似,其中,上下文对单词是有影响的,训练词向量的核心思想为根据每个单词的上下文预测。同理,可以用同样的方法训练doc2vec。例如,对于一个句子“我需要办理话费的相关业务”,如果要去预测句子中的单词“办理”,那么不仅可以根据其他单词生成特征,也可以根据其他单词和句子来生成特征进行预测。
doc2vec的框架如图3所示,每个段落/句子都被映射到向量空间中,可以用矩阵的一列来表示。每个单词同样被映射到向量空间,可以用矩阵的一列来表示。然后将段落向量和词向量级联或者求平均得到特征,预测句子中的下一个单词。这个段落向量/句向量也可以认为是一个单词,它的作用相当于是上下文的记忆单元或者是这个段落的主题。
步骤104-3:对特征向量进行聚类,得到第二预设数量的分类类别和每个分类类别与关键段落的对应关系。
具体的,采用sklearn.cluster中的k-means聚类算法对所有关键段落的特征向量进行无监督的聚类,得到第二预设数量的分类类别和每个分类类别与关键段落的对应关系。其中,第二预设数量可以在实际应用中根据需要自行设定。
例如,第二预设数量为30,将得到的分类类别记为分类类别1、分类类别2…分类类别30,得到分类类别1对应的关键段落为关键段落2、关键段落6、关键段落30、关键段落68、关键段落125、关键段落136;分类类别2对应的关键段落为关键段落16、关键段落28、关键段落59、关键段落98等。
由此,通过确定目标词汇,并根据目标词汇生成每个关键段落的特征向量,对特征向量进行聚类,实现了关键段落的分类,也即实现了客服问答数据的分类。
步骤105:确定每个分类类别的目标关键词和每个目标关键词的权重;
在本申请的一些实施例中,步骤105包括:
步骤105-1:根据预设的关键词提取算法对每个分类类别对应的关键段落进行关键词提取,得到每个分类类别的候选关键词和每个候选关键词的权重;
其中,预设的关键词提取算法可以在实际应用中根据需要自行设定;例如,预设的关键词提取算法为TextRank,则采用TextRank算法分别对分类类别1对应的关键段落2、关键段落6、关键段落30、关键段落68、关键段落125、关键段落136进行关键词提取,得到分类类别1的候选关键词和每个候选关键词的权重;对分类类别2对应的关键段落16、关键段落28、关键段落59、关键段落98进行关键词提取,得到分类类别2的候选关键词和每个候选关键词的权重,以此类推,直至得到分类类别30的候选关键词和每个候选关键词的权重。
步骤105-2:根据候选关键词的权重,对每个分类类别的候选关键词排序得到第二排序结果;
其中,排序方式可以为降序排序,也可以为升序排序,在实际应用中可以根据需要自行设定。
例如,排序方式为降序排序,分类类别1的候选关键词包括关键词1、关键词2、关键词3、关键词4、关键词5;其中,关键词1的权重为0.2,关键词2的权重的0.5,关键词3的权重为0.3,关键词4的权重为0.4,关键词5的权重为0.1,则对分类类别1的候选关键词排序得到的第二排序结果为“关键词2、关键词4、关键词3、关键词1、关键词5”。
步骤105-3:根据排序方式在第二排序结果中选择第三预设数量的、排列在第二预设位置的候选关键词,作为每个分类类别的目标关键词。
具体的,当排序方式为降序排序时,在第二排序结果中选择第三预设数量的排序靠前的候选关键词作为每个分类类别的目标关键词;当排序方式为升序排序时,在第二排序结果中选择第三预设数量的排序靠后的候选关键词作为每个分类类别的目标关键词。
例如,第三预设数量为3,在分类类别1的候选关键词的排序结果“关键词2、关键词4、关键词3、关键词1、关键词5”中选择的目标关键词为关键词2、关键词4、关键词3。
本申请中,确定的每个分类类别的目标关键词,可替代原有人工提炼的标准问题,以关键词的形式量化了标准问题。
步骤106:根据目标关键词和目标关键词的权重,提取每个关键段落的关键句。
在本申请的一些实施例中,步骤106包括:
步骤106-1:确定每个关键段落的每行文本包括的目标关键词;
具体的,根据每个关键段落对应的分类类别的目标关键词,确定每个关键段落的每行文本包括的目标关键词。
例如,关键段落2对应分类类别1,根据前述得到的分类类别1的目标关键词为关键词2、关键词4、关键词3,确定关键段落2的第一行文本包括的目标关键词为关键词4、第二行文本包括的目标关键词为关键词2和关键词3、第三行文本不包括关键词、第四行文本包括的目标关键词为关键词3和关键词4。
步骤106-2:根据每行文本包括的目标关键词和目标关键词的权重,计算每行文本的权值;
具体的,根据每行文本包括的目标关键词和目标关键词的权重,进行加权计算得到每行文本的权值。
例如,关键段落2的第一行文本包括的目标关键词为关键词4,则关键段落2的第一行文本的权值为0.4;关键段落2的第二行文本包括的目标关键词为关键词2和关键词3,则关键段落2的第二行文本的权值为0.5+0.3=0.8;关键段落2的第三行文本不包括的目标关键词,其权值为0;关键段落2的第四行文本包括的目标关键词为关键词3和关键词4,则关键段落2的第四行文本的权值为0.3+0.4=0.7。
步骤106-3:比对每个关键段落的每行文本的权值,得到最大权值;
例如,比对关键段落2的每行文本的权值0.4、0.8、0、0.7,得到最大权值为0.8。
步骤106-4:将最大权值对应的文本作为相应关键段落的关键句。
例如,将关键段落2的第二行文本作为关键段落2的关键句。其中,关键句即为表征用户需求及目的的文本。
本申请中,通过提取文本段落的关键句,实现了大篇幅文本段落的以句代章,可大幅缩短人工纠偏时间。
基于前述任一实施例,在本申请的一些实施例中,步骤106之后还包括:匹配关键句的答案集合。
具体的,查找包括关键句的所有关键段落,并将查找的每个关键段落中位于关键句之后的表示客服人员回复的文本作为该关键句的答案,查找的每个关键段落包括的答案构成关键句的答案集合。通过匹配关键句的答案集合,得到了不同客户需求的答复数据,实现了客服知识的积累和沉淀。
为更清楚的体现上述文本段落的关键句提取过程,可参见图4所示的示意图,首先对语料库包括的每个原始的文本段落分词得到第一分词结果,去除第一分词结果中的停用词等操作后,得到有效词汇;通过统计疑问词和/或否定词的第一词频确定关键段落;生成每个关键段落的特征向量,并对特征向量进行聚类得到多个分类类别;确定每个分类类别的目标关键词,并基于目标关键词提取关键句,最终实现了文本段落的分类,得到了每个分类类别的目标关键词,实现了表征用户意图的关键句的提取。
由此,通过对语料库中每个本文段落进行分词得到有效词汇,在每个文本段落中选择关键段落,从而基于有效词汇对关键段落进行无监督的分类,并根据每个分类类别的目标关键词,提取每个关键段落的关键句,该关键句即可充分表征用户需求及目的;由此,不仅实现了客服问答数据的分类和用户需求及目的的提取,而且极大的缩短了客服知识积累的周期,减少了客服知识积累的成本,同时为后续的智能客服提供了完备的问题集合,整体优化了客服问答的效率。
以上是本申请实施例提供的一种文本段落的关键句提取方法,与上述方法相对应的,本发明还提供一种文本段落的关键句提取装置,由于所述装置解决问题的实现方案与上述方法相似,因此与方法部分相应的内容,可以参考上述方法实施例的详细描述,后续不做赘述。可以理解的是,本申请提供的装置可以包括能够执行上述方法示例中各个步骤的单元或模块,这些单元或模块可以通过硬件、软件或软硬结合的方式来实现,本发明并不限定。下面结合附图5做具体描述。
附图5为本申请一些实施例提供的一种文本段落的关键句提取装置的结构示意图,如图5所示,装置包括:
分词模块201,用于对语料库中每个文本段落的每行文本进行分词,得到第一分词结果;
第一选择模块202,用于在第一分词结果中选择有效词汇;
第二选择模块203,用于根据文本段落的组成结构,在每个文本段落中选择关键段落;
分类模块204,用于根据有效词汇对关键段落分类,得到多个分类类别;
确定模块205,用于确定每个分类类别的目标关键词和每个目标关键词的权重;
提取模块206,用于根据目标关键词和目标关键词的权重,提取每个关键段落的关键句。
在本申请的一些实施例中,第一选择模块202具体用于:
采用字典树存储第一分词结果包括的每个词汇;
将字典树中相邻的两个词汇组合得到至少一个组合词汇;
计算每个组合词汇的互信息、左熵和右熵;
根据每个组合词汇的互信息、左熵和右熵,计算每个组合词汇的分值;
根据计算的分值对组合词汇排序得到第一排序结果,在第一排序结果中选择有效词汇。
在本申请的一些实施例中,第一选择模块202还用于:
根据排序方式在第一排序结果中选择第一预设数量的、排列在第一预设位置的组合词汇作为候选词汇;
判断候选词汇中排列在后的候选词汇是否包含排列在前的候选词汇;
若判断结果为是,则将排列在后的候选词汇删除,得到有效词汇;
若判断结果为否,则将候选词汇作为有效词汇。
在本申请的一些实施例中,文本段落的组成结构包括问题描述部分,该问题描述部分包括疑问词和/或否定词;第二选择模块203具体用于:
根据预设的多个位置信息,依次在每个文本段落中选取所述位置信息处的文本,作为统计段落;
统计所有所述统计段落包括的疑问词和/或否定词的第一词频;
将每个位置信息与对应的第一词频建立映射关系;
根据映射关系确定关键位置信息;
将每个文本段落包括的关键位置信息处的文本,作为关键段落。
在本申请的一些实施例中,分类模块204包括:
分词子模块,用于将有效词汇和关键段落作为输入数据,对关键段落进行分词,得到第二分词结果;
生成自模块,用于根据第二分词结果,生成每个关键段落的特征向量;
聚类子模块,用于对特征向量进行聚类,得到第二预设数量的分类类别和每个分类类别与关键段落的对应关系。
在本申请的一些实施例中,生成子模块具体用于:
在每个关键段落的第二分词结果中提取预设词性的候选词汇;
统计每个候选词汇在所有关键段落中出现的第二词频;
将满足预设条件的第二词频对应的候选词汇作为目标词汇;
根据每个关键段落包括的目标词汇,生成每个关键段落的特征向量。
在本申请的一些实施例中,确定模块205具体用于:
根据预设的关键词提取算法对每个分类类别对应的关键段落进行关键词提取,得到每个分类类别的候选关键词和每个候选关键词的权重;
根据候选关键词的权重,对每个分类类别的候选关键词排序得到第二排序结果;
根据排序方式在第二排序结果中选择第三预设数量的、排列在第二预设位置的候选关键词,作为每个分类类别的目标关键词。
在本申请的一些实施例中,提取模块206具体用于:
确定每个关键段落的每行文本包括的目标关键词;
根据每行文本包括的目标关键词和目标关键词的权重,计算每行文本的权值;
比对每个关键段落的每行文本的权值,得到最大权值;
将最大权值对应的文本作为相应关键段落的关键句。
在本申请的一些实施例中,装置还包括:
匹配模块,用于匹配关键句的答案集合。
本申请实施例提供的文本段落的关键句提取装置,与前述实施例提供的文本段落的关键句提取方法,出于相同的发明构思,具有相同的效果。
本申请实施方式还提供一种与前述实施方式所提供的文本段落的关键句提取方法对应的电子设备,所述电子设备可以是服务器,包括独立的服务器和分布式服务器集群等,也可以是用于客户端的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述文本段落的关键句提取方法。
如图6为本申请一些实施例提供的一种电子设备的示意图,如图6所示,包括:存储器301,处理器302,总线303和通信接口304;
其中,存储器301,处理器302和通信接口304通过总线303连接;存储器301中存储有可在处理器302上运行的计算机程序,处理器302运行该计算机程序时执行时,实现前述任一实施例所提供的文本段落的关键句提取方法。
进一步的,存储器301可以包含高速随机存取存储器(RAM:Random AccessMemory),也可以还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器302可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器302中的硬件的集成逻辑电路或者软件形式的指令完成。处理器302还可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
总线303可以是ISA(英文:Industry Standard Architecture;中文:工业标准体系结构)总线、PCI(英文:Peripheral Component Interconnect;中文:外设部件互连标准)总线或EISA(英文:Extended Industry Standard Architecture;中文:扩展工业标准结构)总线等。
本申请实施例提供的电子设备与本申请实施例提供的文本段落的关键句提取方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施例还提供一种与前述实施方式所提供的文本段落的关键句提取方法对应的计算机可读介质,其上存储有计算机程序(即程序产品),该计算机程序在被处理器运行时,实现前述任一实施例所提供的文本段落的关键句提取方法。
其中,计算机可读存储介质包括但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请实施例提供的计算机可读存储介质与本申请实施例提供的文本段落的关键句提取方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。