发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种文本标签设置方法、文本标签设置装置、存储介质以及电子设备。
根据本公开实施例的一方面,提供一种文本标签设置方法,该方法包括:获取多个待处理文本中的多个分句各自所属的意图;确定所述多个分句中的前后邻接的至少两个分词的凝聚度和信息熵;将所述凝聚度符合第一预定条件,且所述信息熵符合第二预定条件的前后邻接的至少两个分词组合为一个词组;根据所述多个分句中的未被组合的分词以及所述词组,确定所述多个分句中的关键词组;对属于相同意图的各分句中的关键词组进行聚类处理,获得各意图下的多个关键词组簇;根据各关键词组簇中的各关键词组,确定各意图下的标签;根据所述各意图下的标签,确定所述多个分句各自对应的标签。
在本公开一实施方式中,所述获取多个待处理文本中的多个分句各自所属的意图,包括:对所述多个待处理文本分别进行分句处理,获得所述多个待处理文本中的多个分句;获取所述多个分句的分句向量;将所述多个分句的分句向量分别提供给文本分类模型,并根据所述文本分类模型的输出信息,确定所述多个分句各自所属的意图。
在本公开又一实施方式中,所述获取所述多个分句的分句向量,包括:对所述多个分句分别进行分词处理,获得多个分句中的分词;获取所述多个分句中的分词的词向量;对于任一分句,根据该分句包括的各分词的词向量,获得该分句的分句向量;其中,所述词向量为预定维数的实数向量。
在本公开再一实施方式中,所述根据所述多个分句中的未被组合的分词以及所述词组,确定所述多个分句中的关键词组,包括:获取所述多个分句中的未被组合的分词的词频逆向文本频率值以及所述词组的词频逆向文本频率值;根据所述词频逆向文本频率值,对所述未被组合的分词和所述词组进行筛选,将筛选出的未被组合的分词和/或词组作为所述多个分句中的关键词组。
在本公开再一实施方式中,所述获取所述多个分句中的未被组合的分词的词频逆向文本频率值以及所述词组的词频逆向文本频率值,包括:对于任一未被组合的分词,根据该分词及其相似词在该分词所在分句所属的意图下的所有分句中的出现情况,确定该分词的词频逆向文本频率值。
在本公开再一实施方式中,所述获取所述多个分句中的未被组合的分词的词频逆向文本频率值以及所述词组的词频逆向文本频率值,包括:对于任一词组,根据该词组所包含的各分词的词频逆向文本频率值,获得该词组的词频逆向文本频率值。
在本公开再一实施方式中,所述根据所述词频逆向文本频率值,对所述未被组合的分词和所述词组进行筛选,将筛选出的未被组合的分词和/或词组作为所述多个分句中的关键词组包括:对所述未被组合的分词的词频逆向文本频率值和所述词组的词频逆向文本频率值进行排序,将最大的多个词频逆向文本频率值各自对应的分词和/或词组作为所述多个分句中的关键词组。
在本公开再一实施方式中,所述对属于相同意图的各分句中的关键词组进行聚类处理,包括:利用层次聚类算法,对属于相同意图的各分句中的关键词组的向量进行聚类处理。
在本公开再一实施方式中,所述根据各关键词组簇中的各关键词组,确定各意图下的标签,包括:根据各关键词组簇中的各关键词组分别与簇中心的距离,确定各意图下的标签。
在本公开再一实施方式中,所述方法还包括:对于任一意图,根据该意图下的各关键词组簇所包含的关键词组的数量,对该意图下的各标签进行排序。
根据本公开实施例的另一个方面,提供了一种文本标签设置装置,该装置包括:获取意图模块,用于获取多个待处理文本中的多个分句各自所属的意图;确定凝聚度和信息熵模块,用于确定所述多个分句中的前后邻接的至少两个分词的凝聚度和信息熵;组合模块,用于将所述凝聚度符合第一预定条件,且所述信息熵符合第二预定条件的前后邻接的至少两个分词组合为一个词组;确定关键词组模块,用于根据所述多个分句中的未被组合的分词以及所述词组,确定所述多个分句中的关键词组;聚类处理模块,用于对属于相同意图的各分句中的关键词组进行聚类处理,获得各意图下的多个关键词组簇;确定意图标签模块,用于根据各关键词组簇中的各关键词组,确定各意图下的标签;确定分句标签模块,用于根据所述各意图下的标签,确定所述多个分句各自对应的标签。
在本公开一实施方式中,所述获取意图模块包括:获取分句子模块,用于对所述多个待处理文本分别进行分句处理,获得所述多个待处理文本中的多个分句;获取分句向量子模块,用于获取所述多个分句的分句向量;确定意图子模块,用于将所述多个分句的分句向量分别提供给文本分类模型,并根据所述文本分类模型的输出信息,确定所述多个分句各自所属的意图。
在本公开又一实施方式中,所述获取分句向量子模块进一步用于:对所述多个分句分别进行分词处理,获得多个分句中的分词;获取所述多个分句中的分词的词向量;对于任一分句,根据该分句包括的各分词的词向量,获得该分句的分句向量;其中,所述词向量为预定维数的实数向量。
在本公开再一实施方式中,所述确定关键词组模块包括:第一单元,用于获取所述多个分句中的未被组合的分词的词频逆向文本频率值以及所述词组的词频逆向文本频率值;第二单元,用于根据所述词频逆向文本频率值,对所述未被组合的分词和所述词组进行筛选,将筛选出的未被组合的分词和/或词组作为所述多个分句中的关键词组。
在本公开再一实施方式中,所述第一单元进一步用于:对于任一未被组合的分词,根据该分词及其相似词在该分词所在分句所属的意图下的所有分句中的出现情况,确定该分词的词频逆向文本频率值。
在本公开再一实施方式中,所述第一单元进一步用于:对于任一词组,根据该词组所包含的各分词的词频逆向文本频率值,获得该词组的词频逆向文本频率值。
在本公开再一实施方式中,所述第二单元进一步用于:对所述未被组合的分词的词频逆向文本频率值和所述词组的词频逆向文本频率值进行排序,将最大的多个词频逆向文本频率值各自对应的分词和/或词组作为所述多个分句中的关键词组。
在本公开再一实施方式中,所述聚类处理模块进一步用于:利用层次聚类算法,对属于相同意图的各分句中的关键词组的向量进行聚类处理。
在本公开再一实施方式中,所述确定意图标签模块进一步用于:根据各关键词组簇中的各关键词组分别与簇中心的距离,确定各意图下的标签。
在本公开再一实施方式中,所述装置还包括:排序模块,用于对于任一意图,根据该意图下的各关键词组簇所包含的关键词组的数量,对该意图下的各标签进行排序。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述文本标签设置方法。
根据本公开实施例的又一方面,提供一种电子设备,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述文本标签设置方法。
基于本公开上述实施例提供的一种文本标签设置方法和装置,通过对分句进行意图区分,并在意图下基于关键词组簇设置标签,不仅有利于使文本的查找更具有层次感,便于通过意图和标签查找到相应的文本,例如,有利于使用户可以基于其关注点快速的浏览到相应的文本;而且,由于关键词组可以是基于分句中的前后邻接、且凝聚度和信息熵符合第一预定条件和第二预定条件的至少两个分词组成的词组,因此,本公开中的关键词组往往能够更为准确的表达出相应的含义,有利于发现新词,例如,对于特定领域而言,本公开的文本标签设置方式可以实现在其所具有的独特性的词组的基础上,为各文本设置标签,从而使设置的标签更符合特定领域的表述特点。由此可知,本公开提供的技术方案有利于提高标签设置的准确性,并有利于提高文本浏览的便捷性。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
具体实施方式
下面将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或者两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或者专用计算系统环境或配置一起操作。适于与终端设备、计算机系统或者服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施。在分布式云计算环境中,任务可以是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
在实现本公开的过程中,发明人发现,如果将网站中的评论文本按照一定的顺序(例如,评论发布时间顺序或者评论者的等级顺序等)进行排列并显示,则在评论文本的数量较多的情况下,用户往往较难快速浏览到符合其关注点的评论文本。
如果针对评论文本设置标签,则用户可以根据其关注点选取相应的标签,并浏览该标签下的评论文本,从而有利于使用户可以较快的浏览到符合其关注点的评论文本。
然而,对于特定领域而言,评论文本中的词语通常具有独特性。例如,对于房产领域而言,评论文本中往往会出现“清水房”以及“简单装修”等词语。在为特定领域的评论文本设置标签时,如果不关注特定领域所使用的词语,则往往会出现针对评论文本设置的标签不尽人意等现象,从而无法达到使用户较快的浏览到符合其关注点的评论文本的目的。
示例性概述
本公开提供的文本标签设置技术的应用场景的一个例子,如图1所示。
图1中,本公开可以先收集多位房产经纪人对房屋的评论文本,例如,评论文本1、评论文本2、……评论文本n,从而n个评论文本,且n各评论文本可以形成评论文本集合100。
本公开可以确定评论文本集合100中的n个评论文本中的各分句各自所属的意图。在一个评论文本包括多个分句,且该评论文本包括的所有分句各自所属的意图不完全相同时,该评论文本包含多个意图。一个具体的例子如下:
假定图1中的评论文本1包括三个分句,即分句11、分句12和分句13,评论文本2包括三个分句,即分句21、分句22和分句23,评论文本n包括四个分句,即分句n1、分句n2、分句n3以及分句n4。假定经检测确定出分句11、分句21和分句n1属于第一意图,分句12、分句22和分句n2属于第二意图,分句13、分句23和分句n3属于第三意图,分句n4属于第四意图。
在上述假定情况下,评论文本1和评论文本2分别包括三个意图,即第一意图、第二意图以及第三意图,而评论文本n包括四个意图,即第一意图、第二意图、第三意图和第四意图。
本公开可以为每一个意图下的所有分句分别设置至少一个标签。续前例,本公开可以为分句11和分句21设置标签1,为分句n1设置标签2,为分句12、分句22和分句n2设置标签3,为分句13设置标签4,为分句23和分句n3设置标签5,为分句n4设置标签6。
本公开可以向用户显示所有意图。例如,显示第一意图、第二意图以及第三意图。在检测到用户选择了一个意图时,本公开可以向用户显示该意图下的所有标签。例如,在用户选择了第一意图时,本公开可以显示标签1和标签2;在用户选择了第二意图时,本公开可以显示标签3和标签5;在用户选择了第三意图时,本公开可以显示标签3、标签4和标签5;在用户选择了第四意图时,本公开可以显示标签6。在检测到用户选择了一意图下的一个标签时,本公开可以向用户显示该标签下的所有分句所属的评论文本,且评论文本中的与该标签对应的分句使用特殊显示方式(如黄色高亮字体等)显示。例如,在用户选择了第三意图下的标签5时,本公开可以显示评论文本2和评论文本n,且评论文本2中的分句23和评论文本n中的分句n3以黄色高亮字体方式显示。
示例性方法
图2为本公开的文本标签设置方法一个实施例的流程示意图。如图2所示,该实施例的方法包括步骤:S200、S201、S202、S203、S204、S205以及S206。下面对各步骤分别进行说明。
S200、获取多个待处理文本中的多个分句各自所属的意图。
本公开中的待处理文本是指需要设置标签的文本。例如,待处理文本可以为网站中的商品或服务或者新闻等目标对象的评论文本。本公开中的一个待处理文本可以包括多个分句。本公开中的多个待处理文本可以是对语料库中的所有文本进行语料清洗处理后,获得的多个文本。
本公开中的分句可以是指待处理文本中的需要与其前后相邻的其他语句之间停顿一下的语句。例如,假定一待处理文本包括“此户型为干湿分离卫生间设计!有独立的衣帽间!真正的南北通透!”,这三个语句,则“此户型为干湿分离卫生间设计”为一个分句,“有独立的衣帽间”为另一个分句,“真正的南北通透”为又一个分句。
本公开中的多个待处理文本中的多个分句可以是指多个待处理文本中的部分分句。也就是说,对于一待处理文本而言,本公开可以针对该待处理文本中的部分分句,确定其各自所属的意图,并针对该部分分句,获取分句中的关键词组。
本公开中的分句所属的意图可以是指分句的语义类型。本公开可以预先设置多个意图,并基于预先设置的所有意图对分句进行意图分类处理,即判断分句属于预先设置的多个意图中的某一个意图,从而确定出分句所属的意图。本公开中的一个分句通常属于一个意图。
S201、确定上述多个分句中的前后邻接的至少两个分词的凝聚度和信息熵。
可选的,本公开中的前后邻接可以是指两个分词之间不存在其他分词,而前后相邻的情况。假定从一分句中获得四个分词,即分词A、分词B、分词C和分词D,由于分词A和分词B之间不存在其他分词,则分词A和分词B为前后邻接的两个分词。由于分词B和分词D之间存在分词C,因此,分词B和分词D之间不为前后邻接的两个分词。
可选的,假定一分句中的分词A、分词B和分词C前后邻接,则本公开可以计算分词A和分词B之间的凝聚度和信息熵,并计算分词B和分词C之间的凝聚度和信息熵,同时,还需要计算分词A和分词B和分词C之间的凝聚度和信息熵。
可选的,本公开中的前后邻接的至少两个分词的凝聚度可以是指前后邻接的至少两个分词连续出现的概率。本公开中的前后邻接的至少两个分词的信息熵可以是指前后邻接的至少两个分词的自由度。例如,前后邻接的两个分词的信息熵越大,表示这两个分词的自由度越高,因此,这两个分词拼接在一起的可能性越大。本公开中的信息熵可以包括左边界信息熵和右边界信息熵。
S202、将凝聚度符合第一预定条件,且信息熵符合第二预定条件的前后邻接的至少两个分词组合为一个词组。
本公开中的第一预定条件和第二预定条件可以是指用于判别前后相邻的两个分词是否被作为一个整体使用的判断条件。
可选的,在前后邻接的至少两个分词的凝聚度超过预定凝聚度,且前后邻接的至少两个分词的信息熵超过预定信息熵时,本公开可以将该至少两个分词组合为一个词组。例如,本公开可以将“清水”和“房”这两个前后邻接的分词,组合为“清水房”。再例如,本公开可以将“简单”和“装修”这两个前后邻接的分词,组合为“简单装修”。
S203、根据上述多个分句中的未被组合的分词以及组合而成的词组,确定上述多个分句中的关键词组。
本公开中的一个分句通常包括一个或者多个分词。本公开中的一个关键词组可以是指分句中的一个分词,也可以是指由分句中的多个分词组成的词组,即一个关键词组可以包括一个分词或者多个分词。一个关键词组所包含的多个分词在分句中前后邻接,且一个关键词组所包含的多个分词符合上述第一预定条件和第二预定条件。
可选的,对于所有分句而言,本公开可以对所有分句中的未被组合的分词以及组合而成的词组进行筛选,并根据筛选的结果确定所有分句中的关键词组。例如,如果筛选结果包括一分句中的未被组合的分词,则本公开将该分词作为一关键词组。再例如,如果筛选结果包括一分句中的组合在一起的词组,则本公开将该词组作为一关键词组。续前例,本公开可以将筛选出的“清水房”作为一个关键词组,并将筛选出的“简单装修”作为一个关键词组。
本公开通过利用分句中的前后邻接的至少两个分词的凝聚度和信息熵来对分词进行组合,形成关键词组,有利于发现不同领域中的具有独特性的新词,从而使相应领域中的新词可以参与到标签的设置过程中,进而有利于使设置的标签较好的符合特定领域的用词习惯,提高标签设置的合理性。
S204、对属于相同意图的各分句中的关键词组进行聚类处理,获得各意图下的多个关键词组簇。
本公开中的聚类处理可以认为是将类似的关键词组归为一个簇的处理。也就是说,本公开先按照意图对分句进行分类,然后,再将同一意图下的所有分句中的类似的关键词组聚集在一起,从而一个意图下所有分句中的所有关键词组通常会被归为多个簇。一个关键词组簇中的所有关键词组具有相同的含义。
S205、根据各关键词组簇中的各关键词组,确定各意图下的标签。
本公开可以为每一个关键词组簇分别设置一个标签。由于每一个关键词组簇分别对应一个意图,因此,本公开可以获得每一个意图下的所有标签。本公开可以将一个关键词组簇中的其中一个关键词组作为该关键词组簇的标签,也可以将不属于关键词组簇,且能够概括该关键词组簇中的所有关键词组的含义的词组作为该关键词组簇的标签。
S206、根据各意图下的标签,确定上述多个分句各自对应的标签。
由于本公开中的每一个分句均具有相应的意图,且每一个分句均包含有一个或者多个关键词组,而每一个关键词组均对应有关键词组簇,且每一个关键词组簇均对应有一个标签,因此,本公开中的一个分句可以对应一个或者多个标签。
本公开通过对分句进行意图区分,并在意图下基于关键词组簇设置标签,不仅有利于使文本的查找更具有层次感,例如,便于通过意图和标签查找到相应的文本,即有利于使用户可以基于其关注点快速的浏览到相应的文本;而且,由于关键词组可以是基于分句中的前后邻接,且凝聚度和信息熵符合第一预定条件和第二预定条件的至少两个分词组成的词组,因此,本公开中的关键词组往往能够更为准确的表达出相应的含义,有利于发现新词,例如,对于特定领域而言,本公开的文本标签设置方式可以实现在其所具有的独特性的词组的基础上,为各文本设置标签,从而使设置的标签更符合特定领域的表述特点。由此可知,本公开提供的技术方案有利于提高标签设置的准确性,并有利于提高文本浏览的便捷性。
在一个可选示例中,本公开可以利用用于预测意图的文本分类模型,来确定待处理文本中的分句所属的意图。例如,本公开中的文本分类模型可以采用基于Gensim(一种大型自然语言处理框架)封装的FastText(快速文本)模型。由于基于Gensim封装的FastText模型相对于基于深度学习的神经网络模型而言,具有简单高效等特点,因此,本公开利用基于Gensim封装的FastText模型,有利于快捷且准确的获得各分句各自所属的意图。
可选的,本公开可以先对一待处理文本分别进行分句处理,从而获得该待处理文本中的所有分句,之后,本公开可以使用向量来表示每一个分句,即本公开获得每一个分句的分句向量,然后,将每一个分句的分句向量分别提供给文本分类模型,从而本公开可以根据文本分类模型针对每一个分句向量输出的信息,确定出每一个分句各自所属的意图。文本分类模型针对分句的分句向量所输出的信息可以为文本分类模型预测出的该分句分别属于各意图的概率值。本公开可以将文本分类模型针对一分句预测出的最大概率值对应的意图,作为该分句所属的意图。另外,本公开可以判断文本分类模型针对一分句预测出的最大概率值是否超过预定阈值,如果超过预定阈值,才会将该最大概率值对应的意图作为分句所属的意图;如果未超过预定阈值,则可以认为该分句不属于任何意图,该分句可以不参加后续的聚类处理。
在一个可选示例中,本公开中的待处理文本所包含的任一分句的分句向量可以是根据该分句所包括的所有分词的向量获得的。例如,本公开可以先对待处理文本所包含的任一分句进行分词处理,获得该分句所包括的所有分词,之后,将该分句所包括的所有分词分别使用向量表示,从而获得各分词的向量,本公开可以将该分句所包括的所有分词的向量相加,从而获得该分句的分句向量。本公开中的分词的向量可以使用多维的实数向量来表示。例如,使用200维的实数向量表示。在分句为中文时,本公开可以采用中文分词工具(如jieba(结巴)分词工具等)对分句进行分词处理。本公开通过采用分词的向量(如多维的实数向量)相加的方式来表示分句向量,为分句向量提供了一种较为准确的表达方式。需要特别说明的是,本公开中的分词通常不包括主语、宾语和语气助词等停用词。例如,本公开中的分词处理可以包括停用词过滤,以去除分句中的停用词。
可选的,本公开中的文本分类模型所能预测出的各分句所属的所有意图的数量(即所有意图的种类)通常是预先设定的,也就是说,本公开在对文本分类模型进行训练之前,预先设置了所有意图,用于训练文本分类模型的所有历史文本均具有相应的意图标签,从而在利用历史文本对文本分类模型成功训练后,文本分类模型具有基于预先设置的意图进行意图分辨的能力。本公开中的所有意图可以根据文本标签设置技术所适用的具体领域确定。利用历史文本对文本分类模型进行训练的过程可以参见下述针对图3的描述。
S300、获取各历史文本中的各历史分句的分句向量。
可选的,本公开中的历史分句通常为相应领域的历史文本中的语句。即对相应领域的历史文本进行分句处理,从而获得历史分句。历史文本可以为历史评论文本等。一个例子,对于房产领域而言,可以对基于房屋的历史评论文本进行分句处理,从而获得多个历史分句。本公开中的历史分句的分句向量可以是根据历史分句所包括的所有分词的向量获得的。例如,可以将一历史分句所包括的各分词用向量表示,获得各分词的向量,并将各分词向量相加,获得该历史分句的分句向量。分词的向量可以使用多维的实数向量来表示。例如,使用200维的实数向量表示。本公开中的一个分词向量可以表示一个字(例如,“好”、“坏”等)或者一个词(例如,“房屋”、“装修”等)。
S301、对各历史分句的分句向量进行聚类处理。
可选的,本公开可以采用相应的聚类算法对各历史分句的分句向量进行聚类处理,例如,可以利用k均值聚类算法(k-means clustering algorithm)对各历史分句的分句向量进行聚类处理,从而获得多个分句簇。
S302、根据聚类处理的结果获得多个意图。
可选的,本公开可以为每一个分句簇分别设置一个意图。当然,本公开也可以为部分分句簇分别设置一个意图。例如,对包含分句数量大于预定数量的分句簇设置意图。一个例子,对于房产领域而言,本公开通过聚类获得的所有意图可以包括:装修、抵押、户型、核心卖点、周边配套、小区详情、面向人群、税费情况、交通情况、业主情况、售卖原因以及寒暄语等。
S303、根据上述获得意图以及多个待处理历史分句,获得多个分句样本,形成分句样本训练集。
可选的,本公开可以对待处理历史文本进行分句处理,从而获得多个待处理历史分句,并将多个待处理历史分句和上述获得的所有意图提交给标注平台(如众标平台等),由标注平台根据所有意图对各待处理分句进行标注处理,为每一个待处理分句分别设置一个意图标签。本公开可以从标注平台处获得每一个待处理分句的意图标签,具有意图标签的待处理分句即为分句样本。另外,本公开也不排除将各分句簇中的历史分句作为分句样本的情况,相应的,本公开可以将分句簇对应的意图作为分句样本的意图标签。
可选的,本公开可以使用向量来表示每一个分句样本,即本公开获得每一个分句样本的分句向量,并将各分句样本的分句向量以及各分句样本的意图标签存储在分句样本训练集中。本公开中的分句样本的分句向量可以是根据分句样本所包括的所有分词的向量获得的。例如,对分句样本进行分词处理,获得该分句样本所包括的所有分词,并将各分词分别用向量表示,从而获得各分词的向量,本公开可以将一个分句样本所包含的所有分词的向量相加,从而获得该分句样本的分句向量。同样的,各分句样本中的各分词的向量可以使用多维的实数向量来表示。例如,使用200维的实数向量表示。
S304、将分句样本训练集中的多个分句样本的分句向量分别提供给文本分类模型。
可选的,本公开可以根据预定批处理(batch)数量,一次从分句样本训练集中获取相应数量的分句样本,并将各分句样本的分句向量依次作为文本分类模型的输入,提供给文本分类模型,以便于由文本分类模型对输入的分句样本的分句向量进行意图预测处理。
S305、根据文本分类模型输出的意图预测结果与相应的分句样本的意图标签之间的差异,调整文本分类模型的模型参数。
可选的,本公开可以从文本分类模型针对一分句样本输出的所有概率值中选取一最大概率值,并将该最大概率值对应的意图作为文本分类模型针对该分句样本预测出的意图。本公开可以通过计算差异的交叉熵等方式,计算模型损失,并通过在文本分类模型中反向传播损失的方式,调整文本分类模型的模型参数。
本公开可以利用验证集中的多个分句样本,来确定文本分类模型的预测准确率,如果文本分类模型的预测准确率达到预定要求,则本公开中的文本分类模型成功训练完成,如果文本分类模型的预测准确率未达到预定要求,则本公开可以继续利用上述S304和S305对文本分类模型进行训练,直到文本分类模型的预测准确率达到预定要求或者分句样本训练集中的分句样本均被使用。
在一个可选示例中,本公开可以利用Tf-Idf(Term frequency Inverse documentfrequency,词频逆向文本频率)算法,实现对所有分句中的未被组合的分词以及组合而成的词组的筛选,从而获得关键词组。
可选的,本公开可以先基于意图下的所有分句,获取各分句中的未被组合的各分词的词频逆向文本频率值以及各词组的词频逆向文本频率值,然后,根据获得的所有词频逆向文本频率值,对未被组合的分词和词组进行筛选,并将筛选出的所有未被组合的分词以及词组分别作为所有分句中的关键词组。其中的分词的词频逆向文本频率值是基于分词以及该分词的相似词计算获得的。其中的词组的词频逆向文本频率值是基于该词组所包含的各分词的词频逆向文本频率值获得的。本公开通过利用分词、分词的相似词以及意图下的所有分句来计算该分词的词频逆向文本频率值,可以避免具有独特性的分词在一个待处理文本中只出现一次(即该分词属于稀疏词条),从而导致的该独特性分词的词频逆向文本频率值被忽视的现象。
可选的,分词的词频逆向文本频率值可以是:基于分词以及该分词的相似词计算获得的词频值以及基于分词以及该分词的相似词计算获得的逆向文本概率值的乘积。
可选的,本公开获得一分词的词频值的一个例子可以为:获取该分词在其所在分句所属意图下的所有分句(下述简称为意图分句集合)中出现的频率(下述简称为第一频率),并确定该分词在该意图分句集合中的所有相似词,之后,获取所有相似词在该意图分句集合中各自的出现频率(下述简称为第二频率),本公开可以利用第一频率和第二频率及其各自对应的权值计算该分词的词频值。本公开通过利用分词、分词的相似词以及意图分句集合中的所有分句,来计算该分词的词频值可以避免在待处理文本较短时,分词在待处理文本中只出现一次,从而导致的很多分词的词频逆向文本频率值均相同的现象。
可选的,本公开可以将相似词与分词的相似度作为相似词对应的权值。本公开可以通过计算分词的向量之间的距离来确定分词的相似词,且本公开可以将计算出的分词的向量之间的距离作为该相似词与分词之间的相似度。
可选的,假定分词a的相似词包括:分词b以及分词c,本公开可以利用下述公式(1)来计算分词a的词频值:
在上述公式(1)中,a1为分词a与分词a的相似度,a1的取值可以为1;a2为分词b与分词a的相似度;a3为分词c与分词a的相似度;b1为分词a在该意图分句集合中的出现频率,即第一频率,具体的,b1可以为意图分句集合中包含有分词a的分句的数量与意图分句集合中的所有分句的数量的比值;b2为分词b在该意图分句集合中的出现频率,即第二频率,具体的,b2可以为意图分句集合中包含有分词b的分句的数量与意图分句集合中的所有分句的数量的比值;b3为分词c在该意图分句集合中的出现频率,即第二频率,具体的,b3可以为意图分句集合中包含有分词c的分句的数量与意图分句集合中的所有分句的数量的比值。
可选的,本公开获得一分词的逆向文本概率值的一个例子可以为:获取该分词在其所在分句所属意图下的所有分句(下述简称为意图分句集合)的数量(下述简称为总数量),并确定该分词在该意图分句集合中的所有相似词,之后,获取该意图分句集合中包含有该分词或者相似词的分句的数量(下述简称为第一数量),本公开可以将总数量和第一数量的比值作为该分词的逆向文本概率值。
可选的,本公开获得一词组的词频逆向文本频率值的一个例子可以为:先获得该词组所包括的所有分词的词频逆向文本频率值,并计算该词组所包括的所有分词的词频逆向文本频率值之和,并将计算出的和作为该词组的词频逆向文本频率值。本公开通过将词组所包括的所有分词的词频逆向文本频率值的和作为词组的词频逆向文本频率值,为新词(如“清水房”、“简单装修”等)提供了一种获得其词频逆向文本频率值的实现方式。
可选的,在获得了所有分句中的未被组合的分词的词频逆向文本频率值以及所述分句中的组合而成的词组的词频逆向文本频率值之后,本公开可以对获得的所有词频逆向文本频率值按照从大到小的顺序进行排序,并选取前N个词频逆向文本频率值。选取出的前N个词频逆向文本频率值各自对应的分词以及词组被作为关键词组。
在一个可选示例中,本公开可以使用多种聚类算法对属于相同意图的各分句中的关键词组进行聚类处理,从而对于任一个意图而言,本公开均可以获得至少一个关键词组簇。例如,由于每个意图下的标签数量不确定,而且不同意图下的标签数量也可能并不相同,因此,本公开可以利用基于距离阈值参数的层次聚类算法,对属于相同意图的各分句中的关键词组进行聚类处理。
可选的,本公开可以根据聚类处理获得的各关键词组簇中的各关键词组分别与簇中心的距离,确定各意图下的标签。例如,对于任一意图中的任一关键词组簇而言,可以将该关键词组簇中的距离簇中心最近的关键词组,作为该意图下的一个标签,该标签也是包含有该关键词组簇中的任一关键词组的分句的标签。在一个文本包括多个分句,且每一个分句均具有相应的标签的情况下,该文本所包含的所有分句的标签也可以认为是该文本所具有的标签。
可选的,本公开可以对标签的质量进行评估,以纠正设置不恰当的标签。例如,在对标签的质量评估结果不理想时,可以重新利用本公开的技术方案设置标签。本公开可以利用意图的准确性、标签的多样性以及标签的准确性等标签质量参数,对标签的质量进行评估。意图的准确性可以是指文本分类模型对分句的意图预测的准确性。标签的多样性可以是指每一个意图下的标签是否涵盖了不同语义空间。标签的准确性可以是指标签是否能够代表分句的关键含义。
在一个可选示例中,本公开可以对意图下的标签进行排序,以方便用户选取标签,并快捷的阅览到符合其关注点的文本。本公开对意图下的标签进行排序的一个例子可以为:对于任一意图而言,本公开可以根据该意图下的各关键词组簇所包含的关键词组的数量,对该意图下的各标签进行排序。例如,如果一个关键词组簇所包含的关键词组的数量最多,则本公开可以将该关键词组簇对应的标签排在最前面,如果一个关键词组簇所包含的关键词组的数量次多,则本公开可以将该关键词组簇对应的标签排在第二位,以此类推,在此不再详细说明。
在一个可选示例中,本公开在根据用户选择的意图和标签,向用户显示具有该标签的所有文本时,本公开可以将文本中的具有该标签的分句突出显示,如以黄色高亮字体等方式显示。
在一个可选示例中,本公开的技术方案中使用了分词的向量,本公开可以利用训练成功的基于Gensim封装的Word2vec模型来获得分词的向量。例如,对待处理文本中的各分句分别进行分词处理后,获得该待处理文本中的所有分词,将该待处理文本中的所有分词分别提供给Word2vec模型,经由Word2vec模型为输入的每一个分词分别生成一个实数向量(如200维的实数向量)并输出,从而本公开可以获得该待处理文本中的所有分词的向量。再例如,对历史文本中的各历史分句分别进行分词处理后,获得该历史文本中的所有分词,将该历史文本中的所有分词分别提供给Word2vec模型,经由Word2vec模型为输入的每一个分词分别生成一个实数向量(如200维的实数向量)并输出,从而本公开可以获得该历史文本中的所有分词的向量。
可选的,本公开训练Word2vec模型的一个例子可以如图4所示。
图4中,S400、开始模型训练过程。
S401、设置Word2vec模型的模型参数。例如,将一组指定参数值作为Word2vec模型的模型参数。
S402、将各分词分别提供给Word2vec模型,经由Word2vec模型为每一个分词分别生成一个实数向量(如200维的实数向量)。
可选的,S402中的分词可以为待处理文本中的各分句中的分词,也可以为历史文本中的各历史分句中的分词。
S403、存储Word2vec模型本次输出的各分词的实数向量。
S404、将多个预定分词及其同义词分别提供给Word2vec模型,经由Word2vec模型为每一个预定分词及其同义词分别生成一个实数向量(如200维的实数向量),获得多组实数向量。一组实数向量包括一个预定分词的实数向量和其同义词的实数向量。本公开中的一个预定分词的同义词的数量可以为一个,也可以为多个。
可选的,预定分词可以是本公开的技术所使用的领域中的分词。预定分词的数量通常不多,例如,可以为20个预定分词。本公开可以利用相应的词典获得预定分词的同义词。例如,可以利用“哈工大同义词词林”等,获得预定分词的同义词。
S405、针对每一组实数向量,分别计算预定分词的实数向量与其同义词的实数向量之间的相似度。例如,计算预定分词的实数向量与其同义词的实数向量之间的余弦距离。
S406、对计算获得的各组实数向量的相似度进行判断,如果判断结果为相似度不满足预定要求,则到S407;如果判断结果为相似度满足预定要求,则到S408。
可选的,本公开可以计算所有组实数向量的相似度均值,在该均值达到预定相似度时,确定判断结果为相似度满足预定要求,而在判断出该均值未达到预定相似度时,确定判断结果为相似度不满足预定要求。
S407、调整Word2vec模型的模型参数,并返回S402。例如,将另一组指定参数值作为Word2vec模型的模型参数。
S408、将S403存储的Word2vec模型本次输出的各分词的实数向量作为各分词的实数向量。
S409、结束模型训练过程。
本公开通过对Word2vec模型进行训练,可以利用成功训练后的Word2vec模型获得准确的分词向量,从而有利于提高标签设置的准确性。
需要特别说明的是,在上述图4所示的实施例中,本公开也可以先后指定多组参数值,并利用具有每一组参数值的Word2vec模型分别获得并存储各分词的实数向量以及各预定分词及其同义词的实数向量。之后,本公开可以针对每一组参数值,分别计算采用该组参数值获得的各预定分词的实数向量及其同义词的实数向量之间的平均余弦距离,并选取出最小的平均余弦距离。本公开可以将利用该最小的平均余弦距离对应的那一组参数值,获得并存储的各分词的实数向量作为最终的各分词的实数向量。
示例性装置
图5为本公开的文本标签设置装置一个实施例的结构示意图。该实施例的装置可用于实现本公开上述各方法实施例。
如图5所示,本实施例的装置包括:获取意图模块500、确定凝聚度和信息熵模块501、组合模块502、确定关键词组模块503、聚类处理模块504、确定意图标签模块505和确定分句标签模块506。可选的,该装置还可以包括:排序模块507。
获取意图模块500用于获取多个待处理文本中的多个分句各自所属的意图。
可选的,获取意图模块500可以包括:获取分句子模块5001、获取分句向量子模块5002以及确定意图子模块5003。其中的获取分句子模块5001用于对多个待处理文本分别进行分句处理,获得多个待处理文本中的多个分句。其中的获取分句向量子模块5002用于获取多个分句的分句向量。例如,获取分句向量子模块5002可以对多个分句分别进行分词处理,获得多个分句中的分词,之后,获取分句向量子模块5002获取多个分句中的分词的词向量(例如,获取分句向量子模块5002可以利用Word2vec模型获取多个分句中的分词的词向量),对于任一分句而言获取分句向量子模块5002可以根据该分句包括的各分词的词向量,获得该分句的分句向量。其中的词向量可以为预定维数的实数向量。其中的确定意图子模块5003可以用于将多个分句的分句向量分别提供给文本分类模型,从而确定意图子模块5003可以根据文本分类模型的输出信息,确定多个分句各自所属的意图。
确定凝聚度和信息熵模块501用于确定多个分句中的前后邻接的至少两个分词的凝聚度和信息熵。
组合模块502用于将凝聚度符合第一预定条件,且信息熵符合第二预定条件的前后邻接的至少两个分词组合为一个词组。
确定关键词组模块503用于根据多个分句中的未被组合的分词以及词组,确定多个分句中的关键词组。
可选的,确定关键词组模块503包括:第一单元5031和第二单元5032。其中的第一单元5031用于获取各分句中的未被组合的分词的词频逆向文本频率值以及词组的词频逆向文本频率值。例如,对于任一未被组合的分词而言,第一单元5031可以根据该分词及其相似词在该分词所在分句所属的意图下的所有分句中的出现情况,确定该分词的词频逆向文本频率值。再例如,对于任一组合而成的词组而言,第一单元5031可以根据该词组所包含的各分词的词频逆向文本频率值,获得该词组的词频逆向文本频率值。其中的第二单元5032用于根据词频逆向文本频率值,对未被组合的分词和所述词组进行筛选,将筛选出的未被组合的分词和/或词组作为多个分句中的关键词组。例如,第二单元5032可以对未被组合的分词的词频逆向文本频率值和词组的词频逆向文本频率值进行排序,将最大的多个词频逆向文本频率值各自对应的分词和/或词组作为多个分句中的关键词组。
聚类处理模块504用于对属于相同意图的各分句中的关键词组进行聚类处理,获得各意图下的多个关键词组簇。例如,聚类处理模块504可以利用层次聚类算法,对属于相同意图的各分句中的关键词组的向量进行聚类处理。
确定意图标签模块505用于根据各关键词组簇中的各关键词组,确定各意图下的标签。例如,确定意图标签模块505可以根据各关键词组簇中的各关键词组分别与簇中心的距离,确定各意图下的标签。更具体而言,对于任一意图中的任一关键词组簇而言,确定意图标签模块505将该关键词组簇中的距离簇中心最近的至少一关键词组,作为该意图下的标签。
确定分句标签模块506用于根据各意图下的标签,确定多个分句各自对应的标签。
对于任一意图而言,排序模块507用于根据该意图下的各关键词组簇所包含的关键词组的数量,对该意图下的各标签进行排序,以方便用户选取标签,并快捷的阅览到符合其关注点的文本(如评论文本等)。
本公开的装置所包含的各模块、各子模块、各单元以及各自单元具体执行的操作,可以参见上述方法实施例中的相关描述,在此不再详细说明。
示例性电子设备
下面参考图6来描述根据本公开实施例的电子设备。图6示出了根据本公开实施例的电子设备的框图。如图6所示,电子设备61包括一个或多个处理器611和存储器612。
处理器611可以是中央处理单元(CPU)或者具有文本标签设置能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备61中的其他组件以执行期望的功能。
存储器612可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器,例如,可以包括:随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器,例如,可以包括:只读存储器(ROM)、硬盘以及闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器611可以运行所述程序指令,以实现上文所述的本公开的各个实施例的文本标签设置方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备61还可以包括:输入装置613以及输出装置614等,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。此外,该输入设备613还可以包括例如键盘、鼠标等等。该输出装置614可以向外部输出各种信息。该输出设备614可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备61中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备61还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的文本标签设置方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的文本标签设置方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列举)可以包括:具有一个或者多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势以及效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备以及系统。诸如“包括”、“包含、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述,以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改等对于本领域技术人员而言,是非常显而易见的,并且在此定义的一般原理可以应用于其他方面,而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式中。尽管以上已经讨论了多个示例方面以及实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。