一种数据标签生成方法和装置与流程

文档序号:12305420阅读:511来源:国知局
一种数据标签生成方法和装置与流程

本发明涉及互联网数据技术领域,尤其涉及一种数据标签生成方法和装置。



背景技术:

标签是一种比分类更准确、更具体,可以概括一个信息主体内容的关键词。标签体系是互联网时代网站,app,数字营销,广告,推荐系统等的重要组成部分。是实现用户画像,精准定向的基础。大部分系统的标签来自于人工生成,用户自定义,或是机器关键词提取后的映射处理。

在大数据背景下,人们所接触到的文字信息越来越多,文本数据量呈指数级增长。这时以人工的方式去分析归纳文本的主题已不能再满足需要。人工文本处理的方式不仅耗时昂贵,而且在处理时会参杂一些主观偏见,从而降低了主题聚类的质量。

采用人工生成的可以成为一个系统体系,但全部依赖人工定义的方法无法大规模生产,这样的标签体系可扩展性不强,也不会很丰富;采用用户自定义的标签过于零散和自由,无法结构化,对于标签的使用是一个挑战;采用简单的分词算法关键词提取能靠机器产生大量标签,但并不具备代表性和不成体系。



技术实现要素:

有鉴于此,本发明实施例提供了一种数据标签生成方法和装置,主要目的是提供一种体系完整、分类准确、更贴近实际应用的标签的生成方法。

为达到上述目的,本发明主要提供了如下技术方案:

一方面,本发明实施例提供了一种数据标签生成方法,该方法包括如下步骤:

获取原始文本数据;

利用顶层主题数据库对所述原始文本数据进行顶层分类,得到多个顶层主题文本数据;

对每个所述顶层主题文本数据进行去冗余预处理,得到多个顶层主题预处理文本数据;

获取每个所述顶层主题预处理文本数据的文档总数量和词语总数量,提取同一个所述顶层主题预处理文本数据中每个词语在每一个文档中的tf-idf特征值,得到每个所述顶层主题预处理文本数据的矩阵数据,其中,矩阵数据的行数为所述文档总数量,一行为一个文档,矩阵数据的列数为所述词语总数量,一列为一个词在文档中的tf-idf特征值;

对每个所述矩阵数据进行主题聚类,得到多个不同主题聚类;

从每个所述矩阵数据的每一个主题聚类中分别挑取20-50个与对应的主题聚类密切相关的关键词;

根据关键词与其对应的主题聚类相关度,由高至低进行排序,对应得到多个关键词排序表;

根据实际应用对所述多个关键词排序表进行校正,留取与对应的主题聚类内容相关度密切且正确表达对应主题聚类内容的关键词,删除与对应主题聚类内容相关度密切但错误表达主题聚类内容的关键词,形成多个新关键词排序表;

根据所述新关键词排序表与其对应主题聚类的相关度,对每一个主题聚类定义标签。

作为优选,所述定义标签的步骤之后还包括以下步骤:

将主题聚类得到的多个标签形成原始标签库;

将新产生的标签与所述原始标签库中的标签进行校验,去除主题名称重复的标签;

将校验通过的新标签加入所述原始标签库中,形成现有标签库;

所述现有标签库根据每一次新标签的加入自动更新和增长。

作为优选,所述顶层主题数据库包括基本属性主题的数据、生活场景主题的数据、影响因子主题的数据以及性格心理主题的数据。

作为优选,所述原始文本数据是从网站爬取或客户提供;

所述去冗余预处理是对所述顶层分类文本数据进行统一编码、繁体转简体、半角转全角、去除标点符号、去除链接、去除html以及中文分词;

从每一个主题聚类中分别挑取30个与对应主题聚类密切相关的关键词;

所述tf-idf特征值为词频和逆向文档频率。

作为优选,所述对每个所述矩阵数据进行主题聚类是采用非负矩阵分解方法,得到的主题聚类结构为平级结构;

或者,所述对每个所述矩阵数据进行主题聚类是采用多层次主题聚类方法,得到的主题聚类结构为树形结构。

作为优选,所述树形结构的形成过程具体为:

对每个所述顶层主题文本数据的多个文档进行非负矩阵分解,找出所述多个文档中最显著的两个主题,所述两个主题为第一主题和第二主题;根据所述多个文档与所述第一主题和所述第二主题之间的相关度,将所述多个文档分为两组,得到第一主题文档集和第二主题文档集;

所述第一主题和与其对应的第一主题文档集以及所述第二主题和与其对应的第二主题文档集均为所述树形结构的第一层子结构数据;

对所述第一主题文档集和所述第二主题文档集分别进行非负矩阵分解,在所述第一主题文档集中找到最显著的两个主题,所述主题为第三主题和第四主题,根据所述所述第一主题文档集与所述第三主题和所述第四主题之间的相关度,将所述第一主题文档集分为两组,得到第三主题文档集和第四主题文档集;在所述第二主题文档集中找到最显著的两个主题,所述主题为第五主题和第六主题,根据所述所述第二主题文档集与所述第五主题和所述第六主题之间的相关度,将所述第二主题文档集分为两组,得到第五主题文档集和第六主题文档集;

所述第三主题和与其对应的第三主题文档集、所述第四主题和与其对应的第四主题文档集、所述第五主题和与其对应的第五主题文档集以及所述第六主题和与其对应的第六主题文档集均为所述树形结构的第二层子结构数据;

采用迭代方式,按照非负矩阵分解方式将上一层子结构数据中的所有主题文档集分别分为两组,得到下一层子结构数据,所述下一层子结构数据包括多个主题以及与所述多个主题分别对应的多个主题文档集;

当得到的下一层子结构数据满足预定需求时停止主题聚类过程,得到每个所述顶层主题文本数据的n个文档主题聚类的树形结构。

另一方面,本发明还提供了一种数据标签生成装置,所述装置包括:

获取原始数据模块;

顶层主题数据库模块,用于对所述原始文本数据进行顶层分类,得到所述原始文本数据的顶层主题文本数据;

数据预处理模块,用于对每个所述顶层主题文本数据进行去冗余预处理,得到多个顶层主题预处理文本数据;

获取矩阵数据模块,用于在每个所述顶层主题预处理文本数据中获取其文档总数量和词语总数量,提取同一所述顶层主题预处理文本数据的每个词在每一个文档中的tf-idf特征值,得到矩阵数据;其中,矩阵数据的行数为文档总数量,一行为一个文档,矩阵数据的列数为词语总数量,一列为一个词分别在多个文档中的tf-idf特征值;

主题聚类模块,用于对多个所述矩阵数据进行主题聚类,得到多个不同主题聚类;

获取关键词模块,用于从每个所述矩阵数据的每一个主题聚类中分别挑取20-50个与对应的主题聚类密切相关的关键词;

关键词排序模块,用于根据关键词与其对应的主题聚类相关度由高至低进行排序,得到多个关键词排序表;

校正关键词模块,用于根据实际应用对多个关键词排序表进行校正,留取与对应的主题聚类内容相关度密切且正确表达对应主题聚类内容的关键词,删除与对应主题聚类内容相关度密切且错误表达主题聚类内容的关键词,形成多个新关键词排序表;

定义标签模块,用于根据所述新关键词排序表与其对应主题聚类的相关度,对每一个主题聚类定义标签。

作为优选,在所述定义标签模块之后还包括标签校验入库模块,用于将主题聚类得到的多个标签形成原始标签库,将新产生的标签与所述原始标签库中的标签进行校验,去除主题名称重复的标签,将校验通过的新标签加入所述原始标签库中,形成现有标签库,所述现有标签库根据每一次新标签的加入自动更新和增长;

所述顶层主题数据库模块包括基本属性子模块、生活场景子模块、影响因子子模块以及性格心理子模块。

作为优选,所述主题聚类模块包括:非负矩阵分解模块,得到的主题聚类结构为平级结构;以及,

树形结构模块,得到的主题聚类结构为树形结构。

与现有技术相比,本发明的有益效果是:

本发明针对标签体系可扩展性差,无法结构化,无法形成完整体系、定义标签不准确导致用户不能方便快速查询数据的技术问题,通过先将海量数据根据顶层主题数据库划分为最具有代表性的四大类别,分别对四大类别的子数据库的数据采集tf-idf特征值以形成矩阵数据,再对所有矩阵数据进行更细化的主题聚类,尤其采用树形结构的主题聚类方式,层次感强,内容细化且丰富,通过以上操作对海量数据先大分后小分得到了结构完整,层次感强,内容划分准确的标签库体系,为用户使用提供了较完善、使用方便以及更贴近实际生活应用的数据体系。

附图说明

图1为本发明实施例生成数据标签的流程示意图;

图2为本发明实施例非负矩阵分解示意图。

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下以较佳实施例,对依据本发明申请的具体实施方式、技术方案、特征及其功效,详细说明如后。下述说明中的多个实施例中的特定特征、结构、或特点可由任何合适形式组合。

实施例1

一种数据标签生成方法:获取原始文本数据;利用顶层主题数据库对原始文本数据进行顶层分类,得到多个顶层主题文本数据;对多个顶层主题文本数据进行去冗余预处理,得到多个顶层主题预处理文本数据;在每一个顶层主题预处理文本数据中获取文档总数量n和词语总数量m,提取每个词在每一个文档中的tf-idf特征值,得到矩阵数据v;其中,v的行数为n,一行为一个文档,v的列数为m,一列为一个词分别在n个文档中的tf-idf特征值;对矩阵数据v进行主题聚类,得到x个不同主题聚类;从每一个主题聚类中分别挑取20-50个与对应的主题聚类密切相关的关键词;根据关键词与其对应的主题聚类相关度由高至低进行排序,得到x个关键词排序表;根据实际应用对x个关键词排序表进行校正,留取与对应的主题聚类内容相关度密切且正确表达对应主题聚类内容的关键词,删除与对应主题聚类内容相关度密切且错误表达主题聚类内容的关键词,形成x个新关键词排序表;根据新关键词排序表与其对应主题聚类内容的相关度得到每一个主题聚类的主题名称,即得到每一个主题聚类的标签。

本发明的数据标签生成方法处理能力强、体系结构完整、内容丰富、分类准确以及更贴近实际应用的标签体系。

作为上述实施例的优选,在得到每一个主题聚类的标签的步骤之后还包括以下步骤:将主题聚类得到的多个标签形成原始标签库;将新产生的标签与原始标签库中的标签进行校验,去除主题名称重复的标签;将校验通过的新标签加入原始标签库中,形成现有标签库;现有标签库根据每一次新标签的加入自动更新和增长;上述标签的生成流程运转起来后会随着内容的增加不断更新和迭代,形成一个动态化、自生长的深度标签体系。

作为上述实施例的优选,顶层主题数据库(也称为clip标签库体系,c(characteristics)——基本属性,l(living)——生活场景,i(influence)——影响因子,p(psychographics)——性格心理)是将获取的数据根据消费人群的空间坐标、社会属性、行为特征、阶段特征、心理特征以及对于环境的反应分为基本属性主题、生活场景主题、影响因子主题以及性格心理主题的一种数据库;顶层分类文本数据分为四类,分别为基本属性主题的数据、生活场景主题的数据、影响因子主题的数据以及性格心理主题的数据;上述顶层主题数据库可通过机器根据预定程序生成,也可由各领域专业人员根据其专业知识和领域经验筛选产生;该顶层主题数据库可应用于海量数据内容的大致分类,尤其针对中高端消费人群的状态和特性建立顶层柱体数据库时更具有商业应用前景;如图1所示。

作为上述实施例的优选,上述基本属性主题为消费人群的人口属性、地理位置、设备属性和职业属性;

上述生活场景主题为消费人群的消费类型、兴趣、规划以及场景;

上述影响因子主题为消费人群的好感、互惠、社会影响力、言行一致、权威以及稀缺性;

上述性格心理主题为消费人群的开放性、自觉性、外向性、适应性以及情绪稳定性。

优选的,上述人口属性包括人的性别、年龄以及婚姻状况;职业属性包括学历、学位、所在领域、从业经历、职位、职级以及薪酬水平;

上述地理位置包括稳定生活地方以及该地方的经纬度;

上述设备属性包括移动端、pc端以及移动端的操作系统,例如android或者ios;

上述消费类型包括服饰、饮食、居住、出行、日用、文化和奢侈品;

兴趣包括阅读、摄影、旅游、运动、收藏、戏剧以及音乐;

规划包括事业、家庭、健康、财富以及教育;

场景包括金融、商业、互联网以及产业。

作为上述实施例的优选,原始文本数据是从网站爬取或客户提供;这些未经处理的原始文本数据包含很多冗余或不一致的信息,这些噪音会对模型训练产生不利的影响;去冗余预处理是对顶层分类文本数据进行统一编码、繁体转简体、半角转全角、去除标点符号、去除链接、去除html以及中文分词。

优选的,对于中文编码统一采用utf-8格式,以保证处理时文字的一致性。转码之后使用opencc将繁体字统一为简体字,并将全角字符归一为半角字符,在此之后使用jieba分词工具对文本进行中文分词,分词后每个词之间用空格分隔,分词完成后,语料库重还存在大量的url,标点符号,html等冗余信息,使用regularexpression对这些信息进行过滤;至此顶层分类文本数据的预处理已基本完成;通过对文本数据的预处理,将不相关的信息剔除,将不一致的信息归一化,并将文本分词,词与词之间用空格分开。

作为上述实施例的优选,文本数据预处理之后,将每个文档矢量化,对文档提取出tf-idf特征值。这些特征值是文档量化后的表述;tf-idf是文档的一种向量化的表述形式,它包含词频(termfrequency)与逆向文档频率(inversedocumentfrequency)两个部分;词频部分描述了文档与词之间的相关度;如果该词在文档中出现多次,认为文档与这个词很相关;与之不同的是,逆向文档频率表述的是该词在整个语料库中出现的广度;如果某个词在所有文档中出现,认为这个词太普遍,反而不能说明和文档相关;具体来说,用w代表词库里某词,d代表某文档,那么tf-idf的计算公式为:

tfidfd,w=idfw×tfd,w

词频(termfrequency)的计算公式为:

逆向文档频率(inversedocumentfrequency)

计算好每个文档的tf-idf特征向量之后,我们可以把语料库表示成一个n乘m的矩阵数据v,n是语料库中文档的总数量,m是词库中词的总个数;矩阵数据中的值代表的某词在某文档中的tf-idf特征值;这个矩阵数据v作为主题聚类模型的输入数据源。

作为上述实施例的优选,采用非负矩阵分解(non-negativematrixfactorization,nmf)方法作为主题聚类的首要算法。运用该算法,可从大量文本中自动挖掘出主题的聚类的信息;矩阵分解是一种能将矩阵分解为两个子矩阵内积的技术。如图2所示,假设我们已有矩阵v,通过矩阵分解,我们可以找到两个矩阵w和h,使得这两个矩阵的内积可以近似的表述v;w的列和h的行数均为k,k代表所需要提取的主题个数;具体到主题聚类的实际问题中,v代表的是训练集所有文档的tf-idf特征矩阵,w和h是模型的两个参数矩阵;v的每一行代表一篇文档,每一列存放着词库中某个词在文档中的tf-idf值;假设语料库重包含n篇文档,词库中有m个词,那么参数矩阵w是一个n×k矩阵,它描述的是语料库中的文档在各主题上的分布情况。参数矩阵h是一个k×m矩阵,它描述的是每个主题和词语的关联性,值越高,该词和该主题越相关;因为相关度是一个非负值,在矩阵分解时对参数矩阵的取值做了非负的限定,这就是非负矩阵分解中“非负”的来源。在模型训练时,需要找到一组w和h的组合,使得二者的内积产生的矩阵越接近v越好。从数学角度讲,可以需要在保证w和h为正的前提下,找到w和h使得v-wh的均方差(mse,meansquarederror)最小,即:

s.t.w≥0,h≥0

上述的优化目标是一个典型的凸优化(convexoptimization)的过程。目标函数是一个二项式,而限制方程为线性。

训练好nmf模型后,可以提取出w和h两个矩阵。通过w可以得到语料库中每个文档和各主题之间的相关度。在实际运用中,通常会遇到新文档,而这些文档是语料库中没有出现过的。在预测新文档的主题分布时,我们可以采用类似的方法。首先对新文档进行预处理和特征提取,从而得到新文档的v′(1×m),然后可以通过矩阵h计算得到新文档的w矩阵,即

s.t.h≥0

其中计算得出的w矩阵就是任务目标,即该新文档在各主题上的分布情况。

nmf模型是一种非常快速高效的聚类方法,通常比lda的inference时间会更短。无论是nmf还是普通的lda都是一种单层模型,即提炼出来的主题都是平级关系而没有层次化的信息。

作为上述实施例的优选,树形结构的形成过程具体为:对n个文档进行非负矩阵分解,找出n个文档中最显著的两个主题,两个主题为第一主题和第二主题;根据n个文档与第一主题和第二主题之间的相关度,将n个文档分为两组,得到第一主题文档集和第二主题文档集;第一主题和与其对应的第一主题文档集以及第二主题和与其对应的第二主题文档集均为树形结构的第一层子结构数据;

对第一主题文档集和第二主题文档集分别进行非负矩阵分解,在第一主题文档集中找到最显著的两个主题,主题为第三主题和第四主题,根据第一主题文档集与第三主题和第四主题之间的相关度,将第一主题文档集分为两组,得到第三主题文档集和第四主题文档集;在第二主题文档集中找到最显著的两个主题,主题为第五主题和第六主题,根据第二主题文档集与第五主题和第六主题之间的相关度,将第二主题文档集分为两组,得到第五主题文档集和第六主题文档集;第三主题、第四主题、第五主题及第六主题均为树形结构的第二层子结构;第三主题和与其对应的第三主题文档集、第四主题和与其对应的第四主题文档集、第五主题和与其对应的第五主题文档集以及第六主题和与其对应的第六主题文档集均为树形结构的第二层子结构数据;采用迭代方式,按照非负矩阵分解方式将上一层子结构数据中的所有主题文档集分别分为两组,得到下一层子结构数据,下一层子结构数据包括多个主题以及与多个主题分别对应的多个主题文档集;当得到的下一层子结构数据满足预定需求时停止主题聚类过程,得到n个文档主题聚类的树形结构。上述多层次分类方式快速高效并能自动生成一个树形结构。

作为上述实施例的优选,根据实际应用对x个关键词排序表进行校正,留取与对应的主题聚类内容相关度密切且正确表达对应主题聚类内容的关键词,删除与对应主题聚类内容相关度密切且错误表达主题聚类内容的关键词,形成x个新关键词排序表;上述选择关键词的过程可以由机器根据预定程序和设定数据库自动进行,也可优选的采用人工标注方式进行挑选,采用人工标注的意义在于,在机器对大数据海量处理的基础上,即机器对海量的数据已经进行主题聚类,标签数据库的百分之九十多的工作已经完成,机器的工作忠于“事实”,人工标注更贴近实际应用更具有人性化,因此,在数据分类的最后操作中,采用人工方式,根据留取的最关键的30个关键词对与该关键词对应的主题聚类给定义一个准确的主题名称,即标签。

实施例2

一种数据标签生成装置,包括:获取原始数据模块;顶层主题数据库模块,用于对原始文本数据进行顶层分类,得到原始文本数据的顶层主题文本数据;

数据预处理模块,用于对每个顶层主题文本数据进行去冗余预处理,得到多个顶层主题预处理文本数据;

获取矩阵数据模块,用于在每个顶层主题预处理文本数据中获取其文档总数量和词语总数量,提取同一顶层主题预处理文本数据的每个词在每一个文档中的tf-idf特征值,得到矩阵数据;其中,矩阵数据的行数为文档总数量,一行为一个文档,矩阵数据的列数为词语总数量,一列为一个词分别在多个文档中的tf-idf特征值;

主题聚类模块,用于对多个矩阵数据进行主题聚类,得到多个不同主题聚类;获取关键词模块,用于从每个矩阵数据的每一个主题聚类中分别挑取20-50个与对应的主题聚类密切相关的关键词;

关键词排序模块,用于根据关键词与其对应的主题聚类相关度由高至低进行排序,得到多个关键词排序表;

校正关键词模块,用于根据实际应用对多个关键词排序表进行校正,留取与对应的主题聚类内容相关度密切且正确表达对应主题聚类内容的关键词,删除与对应主题聚类内容相关度密切且错误表达主题聚类内容的关键词,形成多个新关键词排序表;

定义标签模块,用于根据新关键词排序表与其对应主题聚类的相关度,对每一个主题聚类定义标签。

作为上述实施例的优选,在定义标签模块之后还包括标签校验入库模块,用于将主题聚类得到的多个标签形成原始标签库,将新产生的标签与原始标签库中的标签进行校验,去除主题名称重复的标签,将校验通过的新标签加入原始标签库中,形成现有标签库,现有标签库根据每一次新标签的加入自动更新和增长;

顶层主题数据库模块包括基本属性子模块、生活场景子模块、影响因子子模块以及性格心理子模块。

作为上述实施例的优选,主题聚类模块包括:非负矩阵分解模块,得到的主题聚类结构为平级结构;以及,

树形结构模块,得到的主题聚类结构为树形结构。

本发明设计了一套基于机器学习算法的大文本主题聚类的解决方案。运用这套方案,可以对大量文本进行自动处理并且提炼出文本中的主题。通常的主题模型假设主题之间是相互独立的,主题和主题之间没有层次化的关系。在本发明的优选方案中,在生成主题的同时可以提炼出主题的层次架构,并能将文本归纳入各层次中。在模型训练完成后,模型可以预测新文章在各个主题的概率分布,并且在层次结构中精准地对该文章进行定位。为了使机器生产出的主题更有实际意义,本发明对提取的各主题的关键词可优选的采用人工标注,该人工标注是在已经通过机器计算出的新的关键词排序表,该排序表反应了几十个关键词与其主题聚类内容的相关度,并从高至低排列,本领域的技术人员可根据该已排好的关键词序列表挑选更能表达内容的关键词或与其相近的词语作为该类数据的标签。

因为本发明采用了先将海量数据根据顶层主题数据库划分为最具有代表性的四大类别,分别对四大类别的子数据库的数据采集tf-idf特征值以形成矩阵数据,再对所有矩阵数据进行更细化的主题聚类,尤其采用树形结构的主题聚类方式,层次感强,内容细化且丰富,通过以上操作对海量数据先大分后小分得到了结构完整,层次感强,内容划分准确的标签库体系,并且机器在最后细化后排出了关键词顺序表,因此,本领域技术人员即使操作人员不同,在排序表限定范围内挑选后的结果基本能够一致,差异较小,均可满足本发明目的,可满足用户使用需求。

以上公开的仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以上述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1