CN105824828B - 一种标签挖掘方法及装置 - Google Patents
一种标签挖掘方法及装置 Download PDFInfo
- Publication number
- CN105824828B CN105824828B CN201510004659.9A CN201510004659A CN105824828B CN 105824828 B CN105824828 B CN 105824828B CN 201510004659 A CN201510004659 A CN 201510004659A CN 105824828 B CN105824828 B CN 105824828B
- Authority
- CN
- China
- Prior art keywords
- nth
- template
- sentence
- seed
- matching
- 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
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
一种标签挖掘方法及装置,该方法包括:从结构化数据中挖掘第n种子集合,该第n种子集合中的种子为APP名称与标签构成的二元组,并利用该第n种子集合中的种子在非结构化数据中进行搜索,获取第n句子集合,该第n句子集合中的句子包含该第n种子集合中的任意一个种子的APP名称与标签,且利用该第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合,根据该第n泛化模板集合中的泛化模板在该非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。通过生成能够在非结构化数据中进行标签挖掘的泛化模板集合,能够有效的实现在非结构化数据中的标签挖掘,标签挖掘更加全面。
Description
技术领域
本发明涉及互联网应用领域,尤其涉及一种标签挖掘方法及装置。
背景技术
目前,有关应用程序(Application,APP)的标签挖掘主要有两种方式,一种是通过人工标记的方式为APP打标签,但是随着技术的发展,APP的数目越来越多,通过人工打标签的方式将消耗大量的人力物力且不方便,效率不高,且随着APP版本的升级,其对应的标签也会随之变化。因此,可以使用第二种方式进行标签挖掘,目前,在垂直网站或者百科页面中,数据信息往往会以表格的形式展现出来,其显示的数据即为结构化数据,因此,可通过对结构化数据进行标签挖掘,以得到具有APP名称与标签的二元组,为更好的理解,请参阅图1,为游戏天天酷跑的百科页面的示意图,且虚线框内的数据为结构化数据,其中小方框内的文字即为天天酷跑的标签,包括“单人”及“动作射击”,其中,“玩家人数”为标签“单人”的类型,“游戏模式”为标签“动作射击”的类型。利用从结构化数据中挖掘标签的方式可从图1所示的天天酷跑的百科页面中挖掘出标签(天天酷跑,单人)及(天天酷跑,射击游戏)。
然而,通过从结构化数据中挖掘APP的标签的方式并不适用于非结构化数据,因此,如何从非结构化数据中进行标签挖掘成为亟待解决的问题。
发明内容
有鉴于此,本发明提供一种标签挖掘方法及装置,用于解决现有技术中无法从非结构化数据中进行标签挖掘的问题。
本发明实施例提供的标签挖掘方法,包括:
从结构化数据中挖掘第n种子集合,所述第n种子集合中的种子为应用程序APP名称与标签构成的二元组,所述n的初始值为1,且n为正整数;
利用所述第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,所述第n句子集合中的句子包含所述第n种子集合中的任意一个种子的APP名称与标签;·
利用所述第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合;
根据所述第n泛化模板集合中的泛化模板在所述非结构数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
本发明实施例提供的标签挖掘装置,包括:
第一挖掘模块,用于从结构化数据中挖掘第n种子集合,所述第n种子集合中的种子为应用程序APP名称与标签构成的二元组,所述n的初始值为1,且n为正整数;
检索模块,用于在所述第一挖掘模块得到所述第n种子集合之后,利用所述第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,所述第n句子集合中的句子包含所述第n种子集合中的任意一个种子的APP名称与标签;
匹配模块,用于在所述检索模块得到所述第n句子集合之后,利用所述第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合;
第二挖掘模块,用于在所述匹配模块得到所述第n泛化模板集合之后,根据所述第n泛化模板集合中的泛化模板在所述非结构数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
从以上技术方案可以看出,本发明实施例具有以下优点:
装置从结构化数据中挖掘第n种子集合,该第n种子集合中的种子为APP名称与标签构成的二元组,并利用该第n种子集合中的种子在非结构化数据中进行搜索,获取第n句子集合,该第n句子集合中的句子包含该第n种子集合中的任意一个种子的APP名称与标签,且利用该第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合,根据该第n泛化模板集合中的泛化模板在该非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。通过利用结构化数据中挖掘出来的第n种子集合在非结构化数据中进行检索,得到第n句子集合,使得能够利用该第n句子集合得到能够在非结构化数据中进行标签挖掘的泛化模板集合,能够有效的实现在非结构化数据中的标签挖掘,标签挖掘的更加全面。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为现有技术中游戏天天酷跑的百科页面的示意图;
图2为本发明实施例中服务器的结构的一个示意图;
图3为本发明实施例中标签挖掘方法的一个示意图;
图4为本发明实施例中标签挖掘方法的另一示意图;
图5为本发明实施例中标签挖掘装置的结构的一个示意图;
图6为本发明实施例中标签挖掘装置的结构的另一示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
在本发明实施例中,标签挖掘方法可以由标签挖掘装置执行,该标签挖掘装置可以是服务器,请参阅图2,为本发明实施例中该服务器的结构的示意图,服务器100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)122(例如,一个或一个以上处理器)和存储器132,一个或一个以上存储应用程序142或数据144的存储介质130(例如一个或一个以上海量存储设备)。其中,存储器132和存储介质130可以是短暂存储或持久存储。存储在存储介质130的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器122可以设置为与存储介质130通信,在服务器100上执行存储介质130中的一系列指令操作。服务器100还可以包括一个或一个以上电源126,一个或一个以上有线或无线网络接口150,一个或一个以上输入输出接口158,和/或,一个或一个以上操作系统141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
请参阅图3,为本发明实施例中一种标签挖掘方法的实施例,包括:
301、从结构化数据中挖掘第n种子集合,第n种子集合中的种子为APP名称与标签构成的二元组,n的初始值为1,且n为正整数;
在本发明实施例中,标签挖掘装置(以下简称装置)将从结构化数据中挖掘第n种子集合,该第n种子集合中包含至少一个种子,且每一个种子均为APP名称与标签构成的二元组,例如:(天天酷跑,单人)为一个种子。
其中,n的初始值为1,且n为正整数。
在本发明实施例中,结构化数据是指能够用数据或者统一的结构加以表示的数据,例如垂直网站或者百科页面中以表格形式展现的数据,其中,结构化数据可通过一些规则模板提取数据,且从结构化数据中挖掘数据为现有技术,此处不做赘述。
302、利用第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,第n句子集合中的句子包含第n种子集合中的任意一个种子的APP名称与标签;
在本发明实施例中,装置将利用第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,其中,第n句子集合中包含至少一个句子,该句子可以是一个完整的句子也可以是一个句子片段。
其中,第n句子集合中的每一个句子都包含第n种子集合中的任意一个种子的APP名称与标签。例如:第n句子集合中包含的一个句子为:植物大战僵尸是非常热门的塔防游戏,在该句子中包含的种子为(植物大战僵尸,塔防游戏),且该种子为该第n种子集合中的一个种子。
在本发明实施例中,除结构化数据以外的数据均可称为非结构化数据,且非结构化数据包括例如:垂直网站页面中除结构化数据以外的其他文本描述的数据,百科页面中除结构化数据以外的其他文本描述的数据,APP的描述内容,APP的新闻正文等等。
303、利用第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合;
在本发明实施例中,装置在得到第n句子集合后,将利用第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合,即第n句子集合中的每一个句子都要与该集合中的其他句子进行匹配,得到第n泛化模板集合,其中,该第n泛化模板集合中包含至少一个泛化模板,且泛化模板可以用于在非结构化数据中进行标签挖掘。
304、根据第n泛化模板集合中的泛化模板在非结构数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
在本发明实施例中,装置在得到第n泛化模板集合之后,将根据该第n泛化模板集合中的泛化模板在非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。其中,语音标签库是装置挖掘出来的二元组的集合。
在本发明实施例中,装置从结构化数据中挖掘第n种子集合,该第n种子集合中的种子为APP名称与标签构成的二元组,并利用该第n种子集合中的种子在非结构化数据中进行搜索,获取第n句子集合,该第n句子集合中的句子包含该第n种子集合中的任意一个种子的APP名称与标签,且利用该第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合,根据该第n泛化模板集合中的泛化模板在该非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。通过利用结构化数据中挖掘出来的第n种子集合在非结构化数据中进行检索,得到第n句子集合,使得能够利用该第n句子集合得到能够在非结构化数据中进行标签挖掘的泛化模板集合,能够有效的实现在非结构化数据中的标签挖掘,标签挖掘的更加全面。
为了更好的理解本发明实施例中的技术方案,请参阅图4,为本发明实施例中标签挖掘方法的实施例,包括:
401、从结构化数据中挖掘第n种子集合,第n种子集合中的种子为APP名称与标签构成的二元组;
在本发明实施例中,标签挖掘装置(以下简称装置)将先执行种子获取的过程,即将从结构化数据中挖掘第n种子集合,该第n种子集合中包含至少一个种子,且每一个种子均为APP名称与标签构成的二元组,例如:(天天酷跑,单人)为一个种子。
在本发明实施例中,装置在完成种子获取之后,将执行用于标签挖掘的模板即泛化模板的生成的过程,具体请参阅步骤402至步骤404。
402、利用第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配技术抽取句子,抽取的句子构成第n句子集合;
在本发明实施例中,装置在得到第n种子集合之后,将利用该第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配技术抽取句子,抽取的句子构成第n句子集合,且该第n句子集合中的每一个句子都包含该第n种子集合中的任意一个种子的APP名称与标签,且每一个句子均满足预先设置的启发式约束规则。
在本发明实施例中,启发式约束规则可以是句子中包含的种子的APP名称和标签在该句子中的距离小于或等于预先设置的字符串数目;或者,在句子中,种子的名称与标签之间的标签符号的个数小于预先设置的第一数值;或者,句子中包含的种子的APP名称和标签在句子中的距离小于或等于预先设置的字符串数目,且在句子中,种子的APP名称与标签之间的标点符号的个数小于预先设置的第一数值。
为了更好的理解利用种子检索得到的句子,请参阅表1,在表1的左侧为第n种子集合中的两个种子,表1的右侧为对应的在第n句子集合中的句子。
种子 | 句子 |
(保护萝卜,塔防) | 保护萝卜是一款好玩的塔防游戏 |
(植物大战僵尸,塔防) | 植物大战僵尸是非常热门的塔防游戏 |
表1
403、将第n句子集合中的句子划分为多个词单元,按照多个词单元生成句子的上下文模板;
在本发明实施例中,装置将该第n句子集合中的每一个句子都划分为多个词单元,且对于每一个句子,都将按照该句子划分得到的多个词单元生成该句子的上下文模板。
其中,装置将第n句子集合中的句子划分为多个词单元,按照该多个词单元生成句子的上下文模板,具体可以为:装置将该第n句子集合中的句子裁剪划分为多个词单元,为词单元中的APP名称与标签分别设置对应的标识;例如,在将APP名称统一设置成标识SLOT1,将标签统一设置成标识SLOT2。且装置还将确定词单元中除APP名称与标签之外其他的词单元的词性或者语义代码,并将标识、与前述的词性或语义代码按多个词单元的顺序进行组合得到句子的上下文模板。
为了更好的进行上下文模板的生成,下面将举例介绍一个生成上下文模板的规则:
1)句子中的词单元为APP名称时,该词单元在上下文模板中对应着SLOT1,句子中的词单元标签时,该词单元在上下文模板中对应着SLOT2;
2)句子中的词单元为实词时,该词单元在上下文模板中对应着该词的语义代码及词性,其中,实词主要包括名词、动词、形容词和名词修饰语,其中,语义代码是指该实词在《同义词词林(扩展版)》中的语义代码;
3)句子中的词单元为数词、代词和标点符号时,则该词单元在上行文模板中对应其词性;
4)若句子中的词单元不满足上述的1)至3)中的任意一条,则在上下文模板中对应着该词单元及其词性。
为了更好的理解上述的上下文生成规则,请参阅表2,为句子与其上下文模板的示意图:
句子 | 上下文模板 |
保护萝卜 | SLOT1 |
是 | Ed12A(语义代码),动词 |
一 | 数词 |
款 | 款、量词 |
好玩 | Ed42A(语义代码),形容词 |
的 | 的,助词 |
塔防 | SLOT2 |
游戏 | Hj48A(语义代码),名词 |
。 | 标点 |
表2
404、对第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合;
在本发明实施例中,装置将对第n句子集合中的任意两个句子的上行文模板进行匹配,得到第n泛化模板集合,该第n泛化模板集合中的泛化模板可用于对非结构化数据进行APP的标签挖掘。其中,若第n句子集合中包含m个句子的上下文模板,则该第n句子集合中的每一个句子的上下文模板,都要分别与该第n句子集合中的其他m-1个句子的m-1个上下文模板进行匹配。
具体的:装置将第n句子集合中的任意两个上下文模板进行匹配,得到匹配后的泛化模板,且按照预先设置的匹配代价的计算方式确定泛化模板的匹配代价,得到初始泛化模板集合;且在得到初始泛化模板集合之后,为了过滤掉不合适的模板,装置还将过滤掉初始泛化模板集合中匹配代价大于预先设置的第二数值的泛化模板,得到过滤后的初始泛化模板集合;且在得到过滤后的初始泛化模板集合之后,装置为了得到优化后的泛化模板集合,装置还可以按照预先设置的模板优化规则对过滤后的初始化模板集合中的发泛化模板进行优化,得到第n泛化模板集合,该第n泛化模板集合中的泛化模板可以作为在非结构化数据中进行标签挖掘的模板。
其中,上述的基于两个上下文模板进行匹配得到一个泛化模板主要是对两个上下文模板的相似度进一步泛化得到泛化模板。
在本发明实施例中,基于上下文模板求解泛化模板的问题可以转化为最长公共子序列(Longest Common Subsequence,LCS)问题,这样一来,可以使用动态规划算法实现。传统的LCS是基于完全匹配求最长匹配公共子序列,而在本发明实施例中上下文模板之间可以进行模糊匹配,从而增加了匹配代价的概念,目的是获取最佳匹配公共子序列,即得到了改进的BestMatch算法,因此,上述的预先设置的匹配代价的计算方法可以是改进的BestMatch算法。
其中,该预先设置的匹配代价的计算方法的计算规则包括:
1)若两个待匹配单元完全相同,则该两个匹配单元的匹配代价为0,则在泛化模板中,对应的位置为该两个匹配单元的任意一个,即保持匹配单元原始状态;
2)若两个待匹配单元均含有语义代码,且两个语义代码有交集,则确认为时模糊匹配,两个匹配单元的匹配代价为5,且在泛化模板中,对应的位置为第一个匹配单元的词、词性及语义代码有交集的部分;
3)若两个待匹配单元的词性相同,则两个匹配单元的匹配代价为8,在泛化模板中,对应的位置仅保留词性;
4)若两个待匹配单元完全不匹配,则该两个匹配单元的匹配代价为10,在泛化模板中,对应的位置为省略单元,该省略单元可以用“*”表示。
在本发明实施例中,两个上下文模板匹配是将该两个上下文模板中具有相同编号的匹配单元进行匹配,例如将两个上下文模板的匹配单元1进行匹配,匹配单元2进行匹配,匹配单元3进行匹配并以此类推,以确定匹配代价及得到泛化模板,该泛化模板的匹配代价则为该两个上下文模板完成匹配后的所有的匹配代价的和。
需要说明的是,在本发明实施例中,在对两个上下文模板进行匹配时,一定是SLOT1与SLOT1进行匹配且一定是SLOT2与SLOT2进行匹配,若开始时两个上下文模板中的SLOT1及SLOT2的匹配单元的编号均不相同,则为了能够进行匹配,可以通过插入空白匹配单元的方式使得两个上下文模板中的匹配单元SLOT1的编号及匹配单元SLOT2的编号均相同。
需要说明的是,上述设置的匹配代价0,5,8,10仅为一个可实施的应用数字,并不对本方案造成限定,在实际应用中,可根据具体的情况设置每一个匹配状态下的匹配代价,此处不做限定。
在本发明实施例中,泛化模板的匹配代价越小,则说明用于生成该泛化模板的两个上下文模板的匹配度越大,反之,则匹配度越小。
为了更好的理解本发明实施例中泛化模板的生成,请参阅表3,上下文模板CP1为句子“保护萝卜是一款好玩的塔防游戏。”的上下文模板,上下文模板CP2为句子“植物大战僵尸是非常热门的塔防游戏。”的上下文模板,上下文模板CP1和上下文模板CP2进行匹配得到的泛化模板,具体如下:
表3
从上述表3可得出,上下文模板CP1及上下文模板CP2进行匹配得到泛化模板的匹配代价为28,其中,上下文模板CP2的匹配单元4即为空白单元。
在本发明实施例中,装置可按照上述描述的泛化模板的生成方法及匹配代价的计算方法得到初始泛化模板集合。且在得到该初始泛化模板之后,装置还将过滤掉初始泛化模板集合中匹配代价大于预先设置的第二数值的泛化模板,得到过滤后的初始泛化模板集合。
且在得到过滤后的初始泛化模板集合之后,还将对该过滤后的初始泛化模板集合按照预先设置的模板优化规则进行优化,其中,模板优化规则包括一下的任意一项或者多项:过滤掉jaccard系数小于预先设置的第三数值的泛化模板;在泛化模板的开头和结尾均增加省略单元;若停用词的相邻两边均为省略单元,则删除停用词;将连续的省略单元合并为一个省略单元;过滤掉APP名称的标识或标签的标识的两边均为省略单元的泛化模板。
其中,泛化模板的jaccard系数的计算公式为:
J(CP1,CP2)=BM(CP1,CP2)/(L(CP1)+L(CP2)-BM(CP1,CP2))
其中,J(CP1,CP2)表示上下文模板CP1与上下文模板CP2生成的泛化模板的jaccard系数,BM(CP1,CP2)表示在匹配过程中,得到的匹配单元的匹配代价中小于10的匹配单元的数目,L(CP1)表示上下文模板CP1中除空白单元以外的匹配单元的数目,L(CP2)表示上下文模板CP2中除空白单元以外的匹配单元的数目。
按照上述的计算公式,则表3中的泛化模板的jaccard系数=7/(9+8-7)=0.7。
在本发明实施例中,装置在得到泛化模板集合之后,将利用该泛化模板集合中的泛化模板抽取种子,具体请参阅步骤405至步骤409。
405、利用第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合;
在本发明实施例中,装置在得到第n泛化模板集合之后,将利用该第n泛化模板集合中的泛化模板从非机构化数据中抽取第n+1句子集合,即对包含非结构化数据的网页进行正文提取、断句、分词、词性标注等操作,提取同时包含APP名称与标签的句子。
406、将第n+1句子集合中的句子的上下文模板依次与第n泛化模板集合中的每一个泛化模板进行代价匹配,确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合;
在本发明实施例中,装置将第n+1句子集合中的句子的上下文模板依次与第n泛化模板集合中的每一个泛化模板进行代价匹配,确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合。
具体可以为:装置将该第n+1句子集合中的句子裁剪划分为多个词单元,为词单元中的APP名称与标签分别设置对应的标识;例如,在将APP名称统一设置成标识SLOT1,将标签统一设置成标识SLOT2。且装置还将确定词单元中除APP名称与标签之外其他的词单元的词性或者语义代码,并将标识、与前述的词性或语义代码按多个词单元的顺序进行组合得到句子的上下文模板。在完成上行文模板的生成之后,装置将第n+1句子集合中的每一个上下文模板均依次与第n泛化模板集合中的每一个泛化模板进行匹配,若第n泛化模板集合中包含100个泛化模板,则每一个上下文模板都需要匹配100次,且得到100个匹配代价,即得到每一个上下文模板的匹配代价集合,该集合中包含了二元组,且每一个二元组为第n泛化模板中每一个泛化模板与匹配代价之间构成的二元组。
为了更好的进行上下文模板的生成,下面将举例介绍一个生成上下文模板的规则:
5)句子中的词单元为APP名称时,该词单元在上下文模板中对应着SLOT1,句子中的词单元标签时,该词单元在上下文模板中对应着SLOT2;
6)句子中的词单元为实词时,该词单元在上下文模板中对应着该词的语义代码及词性,其中,实词主要包括名词、动词、形容词和名词修饰语,其中,语义代码是指该实词在《同义词词林(扩展版)》中的语义代码;
7)句子中的词单元为数词、代词和标点符号时,则该词单元在上行文模板中对应其词性;
8)若句子中的词单元不满足上述的1)至3)中的任意一条,则在上下文模板中对应着该词单元及其词性。
具体的例子请参阅表3,此处不再赘述。
为了更好的理解上下文模板与泛化模板的匹配,请参阅表4,为句子“蜘蛛纸牌是一款可玩性高的益智游戏。”的上下文模板与一个泛化模板的匹配,如下:
表4
在上述表4中,匹配的泛化木块中的匹配单元4至7均为空白单元。且最后的匹配代价为58。
407、确定第n+1种子集合,将第n+1种子集合保存到语义标签库中,第n+1种子集合中的种子为第n+1句子集合中的句子的上下文模板中的APP名称与标签,且句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价;
在本发明实施例中,装置在确定第n+1句子集合中的每一个句子的匹配代价集合之后,将确定第n+1种子集合,在该第n+1种子集合中的种子为第n+1句子集合中的句子的上下文模板中的APP名称与标签,且句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价。
具体可以是,装置处理第n+1句子集合中的每一个句子的匹配代价集合,以句子K的匹配代价集合为例,装置将判断该句子K的匹配代价集合中是否存在小于预先设置的第四数值的匹配代价,若存在,则将该句子K中包含的APP名称与标签作为第n+1种子集合中的种子。
408、若第n+1种子集合中包含非空集的第n+2种子集合,在第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且第五数值小于第四数值,则令n=n+2,返回执行步骤402;
409、若第n+1种子集合中的所有种子所在的句子的匹配代价集合中的最小匹配代价均大于或等于预先设置的第五数值,第五数值小于第四数值,则结束标签挖掘。
在本发明实施例中,装置在得到第n+1种子集合之后,若该第n+1集中包含非空集的第n+2种子集合,则令n=n+2,返回执行上述步骤402中的利用第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配抽取技术抽取句子,抽取的句子构成第n句子集合的步骤。
其中,在第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且第五数值小于第四数值。通过使用匹配代价更小的句子中的APP名称和标签作为种子使用,使得标签挖掘的准确率更高。
在本发明实施例中,若第n+1种子集合中的所有种子所在的句子的匹配代价集合中的最小匹配代价均大于或等于预先设置的第五数值,其中该第五数值小于第四数值,即第n+1种子集合中的第n+2种子集合为空集,则结束标签挖掘。
需要说明的是,在本发明实施例中,步骤406中是先确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合之后再确定第n+1种子集合,在实际应用中,装置在依次计算一个句子的上下文模板与第n泛化模板集合中的泛化模板的匹配代价时,可以每计算得到一个匹配代价,就将该匹配代价与预先设置的第四数值进行比较,若小于该预先设置的第四数值,则确定该句子中包含的APP名称与标签的二元组为第n+1种子集合中的种子,同时确定该匹配代价是否小于预先设置的第五数值,若该匹配代价还小于该预先设置的第五数值,则确定该句子中包含的APP名称与标签的二元组为第n+2种子集合中的种子。且停止该句子的上下文模板与其泛化模板之间的匹配及匹配代价的计算,使得能够有效的节约计算资源。
在本发明实施例中,装置从结构化数据中挖掘第n种子集合,该第n种子集合中的种子为APP名称与标签构成的二元组,且利用该第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配抽取技术抽取句子,抽取的句子构成第n句子集合,并将第n句子集合中的句子划分为多个词单元,按照该多个词单元生成句子的上下文模板,对该第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,并利用该第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合,将该第n+1句子集合中的句子的上下文模板依次与第n泛化模板集合中的每一个泛化模板进行代价匹配,确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合,利用第n+1句子集合中的每一个句子的上下文模板的匹配代价集合确定第n+1种子集合及第n+2种子集合,并将第n+1种子集合保存到语义标签库中,其中第n+1种子集合中的种子为第n+1句子集合中的句子的上下文模板中的APP名称与标签,且句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价,其中,第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且第五数值小于第四数值,若第n+2种子集合为非空集,则令n=n+2,进行迭代计算,若n+2种子集合为空集,则结束标签挖掘。上述的通过生成泛化模板,使得能够对非结构化数据进行标签挖掘,且准确性高,提高了标签挖掘的全面性,且使用泛化模板抽取第n+1句子集合,增加了模板的泛化能够,抽取性能更好,最后,通过迭代算法,能够有效的增加种子检索的召回率,能够对标签进行更加深入的挖掘。
请参阅图5,为本发明实施例中标签挖掘装置的结构的实施例,包括:
第一挖掘模块501,用于从结构化数据中挖掘第n种子集合,第n种子集合中的种子为应用程序APP名称与标签构成的二元组,n的初始值为1,且n为正整数;
检索模块502,用于在第一挖掘模块501得到第n种子集合之后,利用第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,第n句子集合中的句子包含第n种子集合中的任意一个种子的APP名称与标签;
匹配模块503,用于在检索模块502得到第n句子集合之后,利用第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合;
第二挖掘模块504,用于在匹配模块503得到第n泛化模板集合之后,根据第n泛化模板集合中的泛化模板在非结构数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
在本发明实施例中,在本发明实施例中,结构化数据是指能够用数据或者统一的结构加以表示的数据,例如垂直网站或者百科页面中以表格形式展现的数据,其中,结构化数据可通过一些规则模板提取数据,且从结构化数据中挖掘数据为现有技术,此处不做赘述。
其中,第n句子集合中包含至少一个句子,该句子可以是一个完整的句子也可以是一个句子片段。
其中,第n句子集合中的每一个句子都包含第n种子集合中的任意一个种子的APP名称与标签。例如:第n句子集合中包含的一个句子为:植物大战僵尸是非常热门的塔防游戏,在该句子中包含的种子为(植物大战僵尸,塔防游戏),且该种子为该第n种子集合中的一个种子。
在本发明实施例中,除结构化数据以外的数据均可称为非结构化数据,且非结构化数据包括例如:垂直网站页面中除结构化数据以外的其他文本描述的数据,百科页面中除结构化数据以外的其他文本描述的数据,APP的描述内容,APP的新闻正文等等。
在本发明实施例中,标签挖掘装置中的第一挖掘模块501从结构化数据中挖掘第n种子集合,第n种子集合中的种子为应用程序APP名称与标签构成的二元组,n的初始值为1,且n为正整数;接着,检索模块502利用第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,第n句子集合中的句子包含第n种子集合中的任意一个种子的APP名称与标签;并由匹配模块503利用第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合;最后第二挖掘模块504根据第n泛化模板集合中的泛化模板在非结构数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
在本发明实施例中,装置从结构化数据中挖掘第n种子集合,该第n种子集合中的种子为APP名称与标签构成的二元组,并利用该第n种子集合中的种子在非结构化数据中进行搜索,获取第n句子集合,该第n句子集合中的句子包含该第n种子集合中的任意一个种子的APP名称与标签,且利用该第n句子集合中的任意两个句子进行匹配,得到第n泛化模板集合,根据该第n泛化模板集合中的泛化模板在该非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。通过利用结构化数据中挖掘出来的第n种子集合在非结构化数据中进行检索,得到第n句子集合,使得能够利用该第n句子集合得到能够在非结构化数据中进行标签挖掘的泛化模板集合,能够有效的实现在非结构化数据中的标签挖掘,标签挖掘的更加全面。
为了更好的理解本发明实施例中的标签挖掘装置,请参阅图6,为本发明实施例中标签挖掘装置的实施例,包括:如图5所示的第一挖掘模块501、检索模块502、匹配模块503及第二挖掘模块504,且与图5所示实施例中描述的内容相似,此处不做赘述。
在本发明实施例中,检索模块502具体用于:利用第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配技术抽取句子,抽取的句子构成第n句子集合,句子中包含第n种子集合中的任意一个种子的APP名称与标签,且满足预先设置的启发式约束规则。
其中,启发式约束规则包括:句子中包含的种子的APP名称和标签在句子中的距离小于或等于预先设置的字符串数目;和/或,在句子中,种子的APP名称与标签之间的标点符号的个数小于预先设置的第一数值。
在本发明实施例中,匹配模块503包括:
生成模块601,用于在检索模块502得到第n句子集合之后,将第n句子集合中的句子划分为多个词单元,按照多个词单元生成句子的上下文模板;
模板匹配模板602,用于在生成模块601生成上下文模板之后,对第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,第n泛化模板集合中的泛化模板用于对非结构化数据进行APP的标签挖掘。
其中,生成模块601包括:
划分模块603,用于在检索模块502得到第n句子集合之后,将第n句子集合中的句子裁剪划分为多个词单元,为词单元中的APP名称与标签分别设置对应的标识;
组合生成模块604,用于在划分模块603之后,确定词单元中除APP名称与标签之外其他的词单元的词性或语义代码,将标识与词性或语义代码按多个词单元的顺序进行组合得到句子的上下文模板。
在本发明实施例中,模板匹配模块602包括:
匹配计算模块605,用于在生成模块601生成上下文模板之后,将第n句子集合中的任意两个上下文模板进行匹配,得到匹配后的泛化模板,且按照预先设置的匹配代价的计算方式确定泛化模板的匹配代价,得到初始泛化模板集合;
过滤模块606,用于在匹配计算模块605得到初始泛化模板集合之后,过滤掉初始泛化模板集合中匹配代价大于预先设置的第二数值的泛化模板,得到过滤后的初始泛化模板集合;
优化模块607,用于在过滤模块606得到过滤后的初始泛化模板集合之后,按照预先设置的模板优化规则对过滤后的初始泛化模板集合中的泛化模板进行优化,得到第n泛化模板集合。
其中,模板优化规则包括以下的任意一项或者多项:
过滤掉jaccard系数小于预先设置的第三数值的泛化模板;在泛化模板的开头和结尾均增加省略单元;若停用词的相邻两边均为省略单元,则删除停用词;将连续的省略单元合并为一个省略单元;过滤掉APP名称的标识或标签的标识的两边均为省略单元的泛化模板。
在本发明实施例中,第二挖掘模块505包括:
抽取模块608,用于在匹配模块504得到第n泛化模板集合之后,利用第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合;
代价匹配模块609,用于在抽取模块608抽取第n+1句子集合集合之后,将第n+1句子集合中的句子的上下文模板依次与第n泛化模板集合中的每一个泛化模板进行代价匹配,确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合;
确定保存模块610,用于在代价匹配模块609之后,确定第n+1种子集合,将第n+1种子集合保存至语义标签库中,第n+1种子集合中的种子为第n+1句子集合中的句子的上下文模板中的APP名称与标签,且句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价;
迭代模块611,用于若第n+1种子集合中包含非空集的第n+2种子集合,在第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且第五数值小于第四数值,则令n=n+2,返回执行检索模块502;
结束模块612,用于若第n+1种子集合中的所有种子所在的句子的匹配代价集合中的最小匹配代价均大于或等于预先设置的第五数值,第五数值小于第四数值,则结束标签挖掘。
为了更好的进行上下文模板的生成,下面将举例介绍一个生成上下文模板的规则:
9)句子中的词单元为APP名称时,该词单元在上下文模板中对应着SLOT1,句子中的词单元标签时,该词单元在上下文模板中对应着SLOT2;
10)句子中的词单元为实词时,该词单元在上下文模板中对应着该词的语义代码及词性,其中,实词主要包括名词、动词、形容词和名词修饰语,其中,语义代码是指该实词在《同义词词林(扩展版)》中的语义代码;
11)句子中的词单元为数词、代词和标点符号时,则该词单元在上行文模板中对应其词性;
12)若句子中的词单元不满足上述的1)至3)中的任意一条,则在上下文模板中对应着该词单元及其词性。
在本发明实施例中,基于上下文模板求解泛化模板的问题可以转化为最长公共子序列(Longest Common Subsequence,LCS)问题,这样一来,可以使用动态规划算法实现。传统的LCS是基于完全匹配求最长匹配公共子序列,而在本发明实施例中上下文模板之间可以进行模糊匹配,从而增加了匹配代价的概念,目的是获取最佳匹配公共子序列,即得到了改进的BestMatch算法,因此,上述的预先设置的匹配代价的计算方法可以是改进的BestMatch算法。
其中,该预先设置的匹配代价的计算方法的计算规则包括:
5)若两个待匹配单元完全相同,则该两个匹配单元的匹配代价为0,则在泛化模板中,对应的位置为该两个匹配单元的任意一个,即保持匹配单元原始状态;
6)若两个待匹配单元均含有语义代码,且两个语义代码有交集,则确认为时模糊匹配,两个匹配单元的匹配代价为5,且在泛化模板中,对应的位置为第一个匹配单元的词、词性及语义代码有交集的部分;
7)若两个待匹配单元的词性相同,则两个匹配单元的匹配代价为8,在泛化模板中,对应的位置仅保留词性;
8)若两个待匹配单元完全不匹配,则该两个匹配单元的匹配代价为10,在泛化模板中,对应的位置为省略单元,该省略单元可以用“*”表示。
在本发明实施例中,两个上下文模板匹配是将该两个上下文模板中具有相同编号的匹配单元进行匹配,例如将两个上下文模板的匹配单元1进行匹配,匹配单元2进行匹配,匹配单元3进行匹配并以此类推,以确定匹配代价及得到泛化模板,该泛化模板的匹配代价则为该两个上下文模板完成匹配后的所有的匹配代价的和。
需要说明的是,在本发明实施例中,在对两个上下文模板进行匹配时,一定是SLOT1与SLOT1进行匹配且一定是SLOT2与SLOT2进行匹配,若开始时两个上下文模板中的SLOT1及SLOT2的匹配单元的编号均不相同,则为了能够进行匹配,可以通过插入空白匹配单元的方式使得两个上下文模板中的匹配单元SLOT1的编号及匹配单元SLOT2的编号均相同。
需要说明的是,上述设置的匹配代价0,5,8,10仅为一个可实施的应用数字,并不对本方案造成限定,在实际应用中,可根据具体的情况设置每一个匹配状态下的匹配代价,此处不做限定。
在本发明实施例中,泛化模板的匹配代价越小,则说明用于生成该泛化模板的两个上下文模板的匹配度越大,反之,则匹配度越小。
在本发明实施例中,泛化模板的jaccard系数的计算公式为:
J(CP1,CP2)=BM(CP1,CP2)/(L(CP1)+L(CP2)-BM(CP1,CP2))
其中,J(CP1,CP2)表示上下文模板CP1与上下文模板CP2生成的泛化模板的jaccard系数,BM(CP1,CP2)表示在匹配过程中,得到的匹配单元的匹配代价中小于10的匹配单元的数目,L(CP1)表示上下文模板CP1中除空白单元以外的匹配单元的数目,L(CP2)表示上下文模板CP2中除空白单元以外的匹配单元的数目。
在本发明实施例中,标签挖掘装置中的第一挖掘模块501从结构化数据中挖掘第n种子集合,第n种子集合中的种子为应用程序APP名称与标签构成的二元组,n的初始值为1,且n为正整数;接着,检索模块502利用第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配技术抽取句子,抽取的句子构成第n句子集合,句子中包含第n种子集合中的任意一个种子的APP名称与标签,且满足预先设置的启发式约束规则;并由匹配模块503中的生成模块601将第n句子集合中的句子划分为多个词单元,按照多个词单元生成句子的上下文模板;及由模板匹配模板602对第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,第n泛化模板集合中的泛化模板用于对非结构化数据进行APP的标签挖掘,关于生成模块601具体的,生成模块601中的划分模块603将第n句子集合中的句子裁剪划分为多个词单元,为词单元中的APP名称与标签分别设置对应的标识;及生成模块601中的组合生成模块604确定词单元中除APP名称与标签之外其他的词单元的词性或语义代码,将标识与词性或语义代码按多个词单元的顺序进行组合得到句子的上下文模板。关于模板匹配模块602,具体的,模板匹配单元602中的匹配计算模块605将第n句子集合中的任意两个上下文模板进行匹配,得到匹配后的泛化模板,且按照预先设置的匹配代价的计算方式确定泛化模板的匹配代价,得到初始泛化模板集合;并由过滤模块606过滤掉初始泛化模板集合中匹配代价大于预先设置的第二数值的泛化模板,得到过滤后的初始泛化模板集合;并由优化模块607按照预先设置的模板优化规则对过滤后的初始泛化模板集合中的泛化模板进行优化,得到第n泛化模板集合。
最后第二挖掘模块504中的抽取模块608利用第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合;且代价匹配模块609将第n+1句子集合中的句子的上下文模板依次与第n泛化模板集合中的每一个泛化模板进行代价匹配,确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合;并由确定保存模块610确定第n+1种子集合,将第n+1种子集合保存至语义标签库中,第n+1种子集合中的种子为第n+1句子集合中的句子的上下文模板中的APP名称与标签,且句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价;若第n+1种子集合中包含非空集的第n+2种子集合,在第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且第五数值小于第四数值,则迭代模块611令n=n+2,返回执行检索模块502;若第n+1种子集合中的所有种子所在的句子的匹配代价集合中的最小匹配代价均大于或等于预先设置的第五数值,第五数值小于第四数值,则结束模块612结束标签挖掘。
在本发明实施例中,装置从结构化数据中挖掘第n种子集合,该第n种子集合中的种子为APP名称与标签构成的二元组,且利用该第n种子集合中的种子在非结构化数据中进行检索,根据字符串匹配抽取技术抽取句子,抽取的句子构成第n句子集合,并将第n句子集合中的句子划分为多个词单元,按照该多个词单元生成句子的上下文模板,对该第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,并利用该第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合,将该第n+1句子集合中的句子的上下文模板依次与第n泛化模板集合中的每一个泛化模板进行代价匹配,确定第n+1句子集合中的每一个句子的上下文模板的匹配代价集合,利用第n+1句子集合中的每一个句子的上下文模板的匹配代价集合确定第n+1种子集合及第n+2种子集合,并将第n+1种子集合保存到语义标签库中,其中第n+1种子集合中的种子为第n+1句子集合中的句子的上下文模板中的APP名称与标签,且句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价,其中,第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且第五数值小于第四数值,若第n+2种子集合为非空集,则令n=n+2,进行迭代计算,若n+2种子集合为空集,则结束标签挖掘。上述的通过生成泛化模板,使得能够对非结构化数据进行标签挖掘,且准确性高,提高了标签挖掘的全面性,且使用泛化模板抽取第n+1句子集合,增加了模板的泛化能够,抽取性能更好,最后,通过迭代算法,能够有效的增加种子检索的召回率,能够对标签进行更加深入的挖掘。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (14)
1.一种标签挖掘方法,其特征在于,包括:
从结构化数据中挖掘第n种子集合,所述第n种子集合中的种子为应用程序APP名称与标签构成的二元组,所述n的初始值为1,且n为正整数;
利用所述第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,所述第n句子集合中的句子包含所述第n种子集合中的任意一个种子的APP名称与标签;
将所述第n句子集合中的句子划分为多个词单元,按照所述多个词单元生成所述句子的上下文模板;
对所述第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,所述第n泛化模板集合中的泛化模板用于对所述非结构化数据进行APP的标签挖掘;
根据所述第n泛化模板集合中的泛化模板在所述非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
2.根据权利要求1所述的方法,其特征在于,所述利用所述第n种子集合在非结构化数据中进行检索,获取第n句子集合,所述第n句子集合中的句子包含所述第n种子集合中的任意一个种子的APP名称与标签,包括:
利用所述第n种子集合中的种子在所述非结构化数据中进行检索,根据字符串匹配技术抽取句子,抽取的句子构成所述第n句子集合,所述句子中包含所述第n种子集合中的任意一个种子的APP名称与标签,且满足预先设置的启发式约束规则。
3.根据权利要求2所述的方法,其特征在于,所述启发式约束规则包括:所述句子中包含的种子的APP名称和标签在所述句子中的距离小于或等于预先设置的字符串数目;和/或,在所述句子中,种子的APP名称与标签之间的标点符号的个数小于预先设置的第一数值。
4.根据权利要求1所述的方法,其特征在于,所述将所述第n句子集合中的句子划分为多个词单元,按照所述多个词单元生成所述句子的上下文模板,包括:
将所述第n句子集合中的句子裁剪划分为多个词单元,为所述词单元中的APP名称与标签分别设置对应的标识;
确定所述词单元中除所述APP名称与标签之外其他的词单元的词性或语义代码,将所述标识与所述词性或语义代码按所述多个词单元的顺序进行组合得到所述句子的上下文模板。
5.根据权利要求1所述的方法,其特征在于,所述对所述第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,包括:
将所述第n句子集合中的任意两个上下文模板进行匹配,得到匹配后的泛化模板,且按照预先设置的匹配代价的计算方式确定所述泛化模板的匹配代价,得到初始泛化模板集合;
过滤掉所述初始泛化模板集合中匹配代价大于预先设置的第二数值的泛化模板,得到过滤后的初始泛化模板集合;
按照预先设置的模板优化规则对所述过滤后的初始泛化模板集合中的泛化模板进行优化,得到所述第n泛化模板集合。
6.根据权利要求5所述的方法,其特征在于,所述模板优化规则包括以下的任意一项或者多项:
过滤掉jaccard系数小于预先设置的第三数值的泛化模板;在泛化模板的开头和结尾均增加省略单元;若停用词的相邻两边均为省略单元,则删除所述停用词;将连续的省略单元合并为一个省略单元;过滤掉APP名称的标识或标签的标识的两边均为省略单元的泛化模板。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述根据所述第n泛化模板集合中的泛化模板在所述非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中,包括:
利用所述第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合;
将所述第n+1句子集合中的句子的上下文模板依次与所述第n泛化模板集合中的每一个泛化模板进行代价匹配,确定所述第n+1句子集合中的每一个句子的上下文模板的匹配代价集合;
确定第n+1种子集合,将所述第n+1种子集合保存至语义标签库中,所述第n+1种子集合中的种子为所述第n+1句子集合中的句子的上下文模板中的APP名称与标签,且所述句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价;
若所述第n+1种子集合中包含非空集的第n+2种子集合,在所述第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且所述第五数值小于所述第四数值,则令n=n+2,返回执行所述利用所述第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合的步骤;
若所述第n+1种子集合中的所有种子所在的句子的匹配代价集合中的最小匹配代价均大于或等于预先设置的第五数值,所述第五数值小于所述第四数值,则结束标签挖掘。
8.一种标签挖掘装置,其特征在于,包括:
第一挖掘模块,用于从结构化数据中挖掘第n种子集合,所述第n种子集合中的种子为应用程序APP名称与标签构成的二元组,所述n的初始值为1,且n为正整数;
检索模块,用于在所述第一挖掘模块得到所述第n种子集合之后,利用所述第n种子集合中的种子在非结构化数据中进行检索,获取第n句子集合,所述第n句子集合中的句子包含所述第n种子集合中的任意一个种子的APP名称与标签;
生成模块,用于在所述检索模块得到所述第n句子集合之后,将所述第n句子集合中的句子划分为多个词单元,按照所述多个词单元生成所述句子的上下文模板;
模板匹配模块,用于在所述生成模块生成所述上下文模板之后,对所述第n句子集合中的任意两个句子的上下文模板进行匹配,得到第n泛化模板集合,所述第n泛化模板集合中的泛化模板用于对所述非结构化数据进行APP的标签挖掘;
第二挖掘模块,用于在所述匹配模块得到所述第n泛化模板集合之后,根据所述第n泛化模板集合中的泛化模板在所述非结构化数据中进行标签挖掘,将挖掘得到的符合预先设置条件的APP名称与标签的二元组保存到语义标签库中。
9.根据权利要求8所述的装置,其特征在于,所述检索模块具体用于:
利用所述第n种子集合中的种子在所述非结构化数据中进行检索,根据字符串匹配技术抽取句子,抽取的句子构成所述第n句子集合,所述句子中包含所述第n种子集合中的任意一个种子的APP名称与标签,且满足预先设置的启发式约束规则。
10.根据权利要求9所述的装置,其特征在于,所述启发式约束规则包括:所述句子中包含的种子的APP名称和标签在所述句子中的距离小于或等于预先设置的字符串数目;和/或,在所述句子中,种子的APP名称与标签之间的标点符号的个数小于预先设置的第一数值。
11.根据权利要求8所述的装置,其特征在于,所述生成模块包括:
划分模块,用于在所述检索模块得到所述第n句子集合之后,将所述第n句子集合中的句子裁剪划分为多个词单元,为所述词单元中的APP名称与标签分别设置对应的标识;
组合生成模块,用于在所述划分模块之后,确定所述词单元中除所述APP名称与标签之外其他的词单元的词性或语义代码,将所述标识与所述词性或语义代码按所述多个词单元的顺序进行组合得到所述句子的上下文模板。
12.根据权利要求8所述的装置,其特征在于,所述模板匹配模块包括:
匹配计算模块,用于在所述生成模块生成所述上下文模板之后,将所述第n句子集合中的任意两个上下文模板进行匹配,得到匹配后的泛化模板,且按照预先设置的匹配代价的计算方式确定所述泛化模板的匹配代价,得到初始泛化模板集合;
过滤模块,用于在所述匹配计算模块得到所述初始泛化模板集合之后,过滤掉所述初始泛化模板集合中匹配代价大于预先设置的第二数值的泛化模板,得到过滤后的初始泛化模板集合;
优化模块,用于在所述过滤模块得到所述过滤后的初始泛化模板集合之后,按照预先设置的模板优化规则对所述过滤后的初始泛化模板集合中的泛化模板进行优化,得到所述第n泛化模板集合。
13.根据权利要求12所述的装置,其特征在于,所述模板优化规则包括以下的任意一项或者多项:
过滤掉jaccard系数小于预先设置的第三数值的泛化模板;在泛化模板的开头和结尾均增加省略单元;若停用词的相邻两边均为省略单元,则删除所述停用词;将连续的省略单元合并为一个省略单元;过滤掉APP名称的标识或标签的标识的两边均为省略单元的泛化模板。
14.根据权利要求8至13任意一项所述的装置,其特征在于,所述第二挖掘模块包括:
抽取模块,用于在所述匹配模块得到所述第n泛化模板集合之后,利用所述第n泛化模板集合中的泛化模板从非结构化数据中抽取第n+1句子集合;
代价匹配模块,用于在所述抽取模块抽取所述第n+1句子集合集合之后,将所述第n+1句子集合中的句子的上下文模板依次与所述第n泛化模板集合中的每一个泛化模板进行代价匹配,确定所述第n+1句子集合中的每一个句子的上下文模板的匹配代价集合;
确定保存模块,用于在所述代价匹配模块之后,确定第n+1种子集合,将所述第n+1种子集合保存至语义标签库中,所述第n+1种子集合中的种子为所述第n+1句子集合中的句子的上下文模板中的APP名称与标签,且所述句子的匹配代价集合中存在小于预先设置的第四数值的匹配代价;
迭代模块,用于若所述第n+1种子集合中包含非空集的第n+2种子集合,在所述第n+2种子集合中,种子所在的句子的匹配代价集合中最小的匹配代价小于预先设置的第五数值,且所述第五数值小于所述第四数值,则令n=n+2,返回执行所述检索模块;
结束模块,用于若所述第n+1种子集合中的所有种子所在的句子的匹配代价集合中的最小匹配代价均大于或等于预先设置的第五数值,所述第五数值小于所述第四数值,则结束标签挖掘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004659.9A CN105824828B (zh) | 2015-01-06 | 2015-01-06 | 一种标签挖掘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004659.9A CN105824828B (zh) | 2015-01-06 | 2015-01-06 | 一种标签挖掘方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105824828A CN105824828A (zh) | 2016-08-03 |
CN105824828B true CN105824828B (zh) | 2020-01-10 |
Family
ID=56513796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510004659.9A Active CN105824828B (zh) | 2015-01-06 | 2015-01-06 | 一种标签挖掘方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105824828B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108090041B (zh) * | 2016-11-22 | 2021-05-18 | 北京国双科技有限公司 | 一种广告创意的生成方法及装置 |
CN107992585B (zh) | 2017-12-08 | 2020-09-18 | 北京百度网讯科技有限公司 | 通用标签挖掘方法、装置、服务器及介质 |
CN110633084B (zh) * | 2019-09-12 | 2020-10-02 | 北京大学 | 基于单个样例的代码转换推导方法和装置 |
CN112675539B (zh) * | 2020-12-30 | 2024-05-03 | 成都乐信圣文科技有限责任公司 | 牌类游戏的难度等级判断方法、牌面生成方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404033A (zh) * | 2008-11-14 | 2009-04-08 | 北京大学 | 本体层级结构的自动生成方法及系统 |
CN102298589A (zh) * | 2010-06-24 | 2011-12-28 | 腾讯科技(深圳)有限公司 | 情感倾向性模板的生成方法和装置以及应用方法和装置 |
CN104217717A (zh) * | 2013-05-29 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 构建语言模型的方法及装置 |
-
2015
- 2015-01-06 CN CN201510004659.9A patent/CN105824828B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404033A (zh) * | 2008-11-14 | 2009-04-08 | 北京大学 | 本体层级结构的自动生成方法及系统 |
CN102298589A (zh) * | 2010-06-24 | 2011-12-28 | 腾讯科技(深圳)有限公司 | 情感倾向性模板的生成方法和装置以及应用方法和装置 |
CN104217717A (zh) * | 2013-05-29 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 构建语言模型的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105824828A (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11625436B2 (en) | Systems and methods for query autocompletion | |
CN105824828B (zh) | 一种标签挖掘方法及装置 | |
US20200364299A1 (en) | Systems and methods for unsupervised autoregressive text compression | |
US10528664B2 (en) | Preserving and processing ambiguity in natural language | |
US10528662B2 (en) | Automated discovery using textual analysis | |
CN104699797B (zh) | 一种网页数据结构化解析方法和装置 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
Zarrella et al. | Mitre: Seven systems for semantic similarity in tweets | |
CN110969517B (zh) | 一种招投标生命周期关联方法、系统、存储介质及计算机设备 | |
CN101799802A (zh) | 利用结构信息进行实体关系提取的方法和系统 | |
CN107436955A (zh) | 一种基于Wikipedia概念向量的英文词语相关度计算方法和装置 | |
CN115017268B (zh) | 一种基于树结构的启发式日志抽取方法及系统 | |
CN105404677A (zh) | 一种基于树形结构的检索方法 | |
CN110705285B (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
CN107169011B (zh) | 基于人工智能的网页原创性识别方法、装置及存储介质 | |
CN111190873A (zh) | 一种用于云原生系统日志训练的日志模式提取方法及系统 | |
CN103150409A (zh) | 一种用户检索词推荐的方法及系统 | |
Ashari et al. | Document summarization using TextRank and semantic network | |
CN110717014B (zh) | 一种本体知识库动态构建方法 | |
Dianati et al. | Words stemming based on structural and semantic similarity | |
CN105095276B (zh) | 一种挖掘最大重复序列的方法及装置 | |
CN102945231A (zh) | 一种面向增量式翻译的结构化语言模型构建方法及系统 | |
CN112395856B (zh) | 文本匹配方法、装置、计算机系统及可读存储介质 | |
US10552459B2 (en) | Classifying a document using patterns | |
CN113065340A (zh) | 基于相近词挖掘的相近资产提示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |