生成内容标签的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据查询相关技术领域,特别是涉及一种生成内容标签的方法和装 置。
【背景技术】
[0002] 目前在搜索音乐时可以输入查询词,然后通过匹配查询词与音乐的音乐名称、歌 手名称以及专辑名称等来实现音乐搜索。但这种搜索音乐的方法并不能满足用户搜索音乐 的需求,主要原因是这种方法只能查找到文本资料中含有该查询词的音乐,没有分析查询 词所包含的潜在的语义需求。
[0003] 为了结合用户的潜在语义需求搜索音乐,目前的主流做法是人工将语义需求用音 乐标签来表示,通过匹配音乐标签来实现音乐的搜索。比如,按照流派来划分,音乐标签可 以包括"古典"、"流行"、"摇滚"、"节奏布鲁斯、"嘻哈"、"乡村"、"民谣"、"电子"、"爵士"。按 照表达情感进行划分,音乐标签可以包括"伤感想念"、"寂寞"、"安静"、"甜蜜"、"励志"、"舒 服"、"怀念"、"浪漫"、"喜悦"、"深情"、"美好"、"怀旧"、"激情"。按照年代划分,音乐标签又 可以包括"经典老歌" "80年代" "90后"等。目前人工建立的音乐标签体系规整、准确。
[0004] 然而,目前人工编辑生成的音乐标签数量有限,扩展性能差,只能解决部分语义需 求。而且人工编辑生成的音乐标签语义生硬,不符合大多数用户的自由语言的描述,导致当 采用人工编辑生成的音乐标签来搜索音乐时,难以搜索到符合用户实际需求的音乐,搜索 效率低。比如"古典"和"节奏布鲁斯"这样的音乐标签,普通用户可能不知道这种专业的 音乐分类,难以通过该音乐标签的匹配来进行音乐的搜索。
【发明内容】
[0005] 基于此,有必要针对目前人工编辑生成的音乐标签导致搜索效率低下的问题,提 供一种生成内容标签的方法和装置。
[0006] -种生成内容标签的方法,所述方法包括:
[0007] 将用户生成内容进行分词处理而获得分词片段序列;
[0008] 根据所述分词片段序列中多个相邻的分词片段在预设语料库中共同出现的次数, 将具备合并条件的多个相邻的分词片段合并以获得语义片段的集合;
[0009] 从所述语义片段的集合中过滤掉预设的无语义片段;
[0010] 将所述语义片段的集合中剩余的语义片段确定为内容标签。
[0011] 一种生成内容标签的装置,所述装置包括:
[0012] 分词模块,用于将用户生成内容进行分词处理而获得分词片段序列;
[0013] 语义片段生成模块,用于根据所述分词片段序列中多个相邻的分词片段在预设语 料库中共同出现的次数,将具备合并条件的多个相邻的分词片段合并以获得语义片段的集 合;
[0014] 无语义片段过滤模块,用于从所述语义片段的集合中过滤掉预设的无语义片段;
[0015] 内容标签确定模块,用于将所述语义片段的集合中剩余的语义片段确定为内容标 签。
[0016] 上述生成内容标签的方法和装置,将用户生成内容进行分词处理而获得分词片段 序列。由于当多个词经常一起出现时,通常表示该多个词合并在一起表达一个整体的语义, 因此根据分词片段序列中多个相邻的分词片段在预设语料库中出现的次数,就可以判断这 些词是否需要合并在一起以表达一个整体的语义。将需要合并的分词片段合并,不需要合 并的则保留下来,再从中过滤掉预设的无语义片段,使得剩余的语义片段集合主要由具有 明确语义的语义片段组成,最后将其中的语义片段作为内容标签。
[0017] 这样用户生成内容符合广大普通用户的自由的语言使用习惯,经过分词、共现词 合并以及无语义片段过滤等处理,以从用户生成内容中分离出具有明确语义的语义片段作 为内容标签。使用该内容标签符合大多数用户的自由语言的描述,可以更好地命中查询词, 使得基于该内容标签的内容搜索更加商效。
【附图说明】
[0018] 图1为一个实施例中一种设备的内部结构图;
[0019] 图2为一个实施例中生成内容标签的方法的流程示意图;
[0020] 图3为另一个实施例中生成内容标签的方法的流程示意图;
[0021] 图4为一个实施例中生成内容标签的装置的结构框图;
[0022] 图5为另一个实施例中生成内容标签的装置的结构框图;
[0023] 图6为再一个实施例中生成内容标签的装置的结构框图;
[0024] 图7为一个实施例中图4中的语义片段生成模块的结构框图。
【具体实施方式】
[0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0026] 本发明基于这样的应用场景,对内容的搜索需要生成内容标签,再与内容项目关 联后就可以实现基于内容标签的内容搜素。目前人工编辑生成的音乐标签存在搜索效率 低下的问题。发明人考虑到网络上存在大量的UGC(User Generated Content,用户生成内 容),这些用户生成内容由广大用户自由生成并不断更新,符合用户自由的语言使用习惯。 对这些用户生成内容进行语义分析,提取出具有语义的内容标签,那么这些用户生成内容 就符合大多数用户的自由语言的描述,更贴近用户的实际搜索需求。将提取出的内容标签 与指定的内容项目关联,可以更好地命中查询词,使得基于该内容标签的内容搜索更加高 效。具体如何对这些用户生成内容进行语义分析以提取出具有语义的内容标签将在下述各 个实施例中详细阐述。
[0027] 如图1所示,提供了一种设备,该设备包括通过系统总线连接的处理器、存储介质 和内存。其中,该设备的存储介质存储有操作系统、数据库和一种生成内容标签的装置,该 生成内容标签的装置用于实现一种生成内容标签的方法。该设备的处理器用于提供计算和 控制能力,支撑整个设备的运行。该设备的内存为存储介质中的生成内容标签的装置的运 行提供环境。该设备可以是一个独立的设备,或者可以是多个可互联通信的设备组成的设 备群,生成内容标签的装置的各个功能模块可分别分布在设备群中的各个设备上。该设备 可以是台式计算机。
[0028] 如图2所示,在一个实施例中,提供了一种生成内容标签的方法,本实施例以该方 法应用于图1所示的设备中来举例说明。该方法具体包括如下步骤:
[0029] 步骤202,将用户生成内容进行分词处理而获得分词片段序列。
[0030] 内容是指具有思想表达功能的数据载体,可以是文本内容或者多媒体内容。一个 内容项目则是指一项独立的内容,文本内容项目比如可以包括文本题目名称,还可以包括 相关文本的访问地址链接;多媒体内容项目为音乐项目、电影项目或电视剧项目中的至少 一种。
[0031] 在一个实施例中,将内容项目集合所对应的主题名称进行分词处理而获得分词片 段序列,该主题名称为用户生成内容。多个内容项目构成内容项目集合,比如一个作为内容 项目集合的歌单包括多个音乐项目,每个音乐项目至少包括歌曲名称,还可以包括该音乐 项目所表示的歌曲的播放地址链接。
[0032] 内容项目集合所对应的主题名称反映了该集合中所有的内容项目所具有的共同 的语义表达信息。比如一个歌单包括若干音乐项目,每个音乐项目分别表示与青春回忆相 关的歌曲,那么该歌单的主题名称就可以是"忆青春"或者"青春的回忆"等。该主题名称 是用户生成内容,广大用户各自将自己生成的内容项目集合以及其所对应的主题名称发布 到网络,该设备主动或者被动接收到用户发布的内容项目集合以及其所对应的主题名称, 并进行后续的处理。
[0033] 分词处理是指将一个文字序列分割为一个个独立的分词片段的过程。主题名称可 以用英文或者中文表述,英文表述的主题名称可以直接按照英文单词以及英文短语进行分 词处理。中文表述的主题名称可以采用多种已有的分词方式进行分词处理,可以采用字符 串匹配的分词方法进行分词处理,比如正向最大匹配法、反向最大匹配法、最短路径分词法 以及双向最大匹配法等。其中正向最大匹配法就是从左到右将待分词文本中的几个连续字 符与词表匹配,如果匹配上,则切分出一个分词片段。
[0034] 获得的分词片段序列是指将主题名称进行分词处理后,将获得的分词片段按照其 在主题名称中的位置进行排序而获得的字符序列。比如若主题名称为"爸爸妈妈的最爱", 则将该主题名称后所获得的分词片段序列为"爸爸,妈妈,的,最爱",且其中"爸爸"、"妈 妈"、"的"和"最爱"都是分词片段。
[0035] 步骤204,根据分词片段序列中多个相邻的分词片段在预设语料库中共同出现的 次数,将具备合并条件的多个相邻的分词片段合并以获得语义片段的集合。
[0036] 这里多个包括两个,共同出现是指两个分词片段按照其在分词片段序列中的顺序 组合而成的整体而出现。当多个词经常一起出现时,通常表示该多个词合并在一起表达一 个整体的语义,因此根据分词片段序列中多个相邻的分词片段在预设语料库中共同出现的 次数,就可以判断这些分词片段是否具备合并为一个新的词片段的条件,从而判断该多个 分词片段是否需要合并在一起来表达一个整体的语义。将需要合并的分词片段合并而获得 新的片段,不需要合并的则原样保留下来,获得的新的片段和保留下来的分词片段都是经 过处理后确定的语义片段,组成语义片段的集合。
[0037] 预设语料库用来统计词出现的次数从而据以进行统计量的分析,具体用来判断分 词片段之间是否具有语义关联
,以判断其是否需要合并。预设语料库可以采用与内容项目 相关的文本。在一个实施例中,预设语料库包括指定时间段内的网页搜索日志和/或多个 内容项目集合各自对应的主题名称所形成的主题名称集合。比如可以采用最近一个月内的 网页搜索日志以及需要分离出内容标签的所有主题名称所形成的主题名称集合构成预设 语料库,且每个主题名称分别对应多个内容项目集合中的一个。
[0038] 举例说明,比如分词序列为"爸爸,妈妈,的,最爱",经过在预设语料库中统计并去 除掉噪声后,发现"爸爸妈妈"在预设语料库中出现的频率非常高,则可以判定"爸爸"、"妈 妈"这两个分词片段具备合并的条件,可以组合成为"爸爸妈妈"。
[0039] 步骤206,从语义片段的集合中过滤掉预设的无语义片段。
[0040] 具体地,预设的无语义片段包括预设的人名、预设的单字片段、预设的停用词以及 预设的模板词中的至少一种。其中人名比如"孙俪"或"王菲"等,这些人名并不是确切的语 义片段。预设的单字片段比如"我"或者"的"等,没有明确意义。停用词比如"按照"、"彼 此"或者"不仅"等,对确定内容标签的目的来说没有意义。预设的模板词比如"习惯"、"适 合"、"的* "音乐"、"歌曲"等,对于确定内容标签来说没有意义。这里的"的* "中的" " 表示任意一个字符。在一个实施例中,从语义片段的集合中过滤掉预设的无语义片段时,可 以限定过滤掉的无语义片段的长度,以提升过滤的准确率。
[0041] 在一个实施例中,步骤206之前或者之后,还包括:检测到语义片段的集合中的多 个语义片段之间具有子串包含关系时,过滤掉作为子串的语义片段。具体地,多个语义片段 之间具有子串包含关系,是指一个语义片段至少包括另一个语义片段,此时该另一个语义 片段就是该一个语义片段的子串。比如"爸爸妈妈"的分词片段包括"爸爸"或者"妈妈"的 分词片段,则过滤掉作为子串的分词片段"爸爸"或者"妈妈"。这是因为在查询时,若"爸 爸"是查询词,则该查询词可以与"爸爸"以及"爸爸妈妈"匹配,过滤掉作为子串的分词片 段"爸爸",可以控制内容标签的数量以提高查询效率。
[0042] 步骤208,将语义片段的集合中剩余的语义片段确定为内容标签。
[0043] 具体地,语义片段的集合中剩余的语义片段基本都是具有明确语义的、适用于内 容标签的语义片段,将这些语义片段作为内容标签输出。
[0044] 在一个实施例中,该生成内容标签的方法还包括:建立内容标签和指定的内容项 目的关联,内容标签用于根据关联查询指定的内容项目。比如将作为内容标签的音乐标签 与歌曲信息关联起来,通过该内容标签便可以查询到与其关联的歌曲信息。
[0045] 上述生成内容标签的方法,将用户生成内容进行分词处理而获得分词片段序列。 由于当多个词经常一起出现时,通常表示该多个词合并在一起表达一个整体的语义,因此 根据分词片段序列中多个相邻的分词片段在预设语料库中出现的次数,就可以判断这些词 是否需要合并在一起以表达一个整体的语义。将需要合并的分词片段合并,不需要合并的 则保留下来,再从中过滤掉预设的无语义片段,使得剩余的语义片段集合主要由具有明确 语义的语义片段组成,最后将其中的语义片段作为内容标签。
[0046] 这样用户生成内容符合广大普通用户的自由的语言使用习惯,经过分词、共现词 合并以及无语义片段过滤等处理,以从用户生成内容中分离出具有明确语义的语义片段作 为内容标签。使用该内容标签符合大多数用户的自由语言的描述,可以更好地命中查询词, 使得基于该内容标签的内容搜索更加商效。
[0047] 如图3所示,在一个具体的实施例中,一种生成内容标签的方法,本实施例以该方 法应用于上述图1中的设备来举例说明。该方法具体包括如下步骤:
[0048] 步骤301,从多个内容项目集合各自对应的主题名称所形成的主题名称集合中过 滤掉具有预设的无语义主题名称形式的主题名称;主题名称集合中的主题名称为用户生成 内容。
[0049] 具体地,主题名称是用户生成内容,噪声很多,在进行分词处理前需要过滤掉明显 无语义的主题名称,以过滤掉一些明显的噪声数据。比如预设的无语义主题名称形式包括 主题名称为空、主题名称为单个字、主题名称由非正规化文字符号组合而成以及主题名称 仅包括标点符号等。这里非正规化文字符号可通俗地称为火星文。
[0050] 步骤302,对于主题名称集合中经过过滤后所剩余的每个主题名称分别进行分词 处理而获得对应该主题名称的分词片段序列。
[0051] 具体地,对于每个主题名称分别进行如上述步骤202所描述的分词处理,每个主 题名称对应一个分词片段序列。假设分词片段序列包括的分词片段的总数为n,则该分词片 段序列可以表示为%? 2··ιη,下标表示相应的分词片段在该分词片段序列中排列的序号。
[0052] 以下步骤303~步骤313为上述步骤204的具体步骤。
[0053] 步骤303,将分词片段序列中相邻的分词片段按照在分词片段序列中的顺序进行 组合而获得分词片段组合。
[0054] 具体地,采用N-Gram(多元组)语言模型,该模型基于这样一种假设,一个词序列 中的词只与该词之前的词相关,而与词序列中其它词不相关。按照分词片段在分词片段序 列中的顺序,将相邻的分词片段进行组合来获得分词片段组合。对于分词片段序列 Wlw2~ Wn,获得的分词片段组合表示为WiWiVWj,j > i+1。举例来说,若η = 3,则相应的分词片 段组合包括w^、w2w3和
[0055] 步骤304,统计分词片段序列中的分词片段和分词片段组合各自在预设语料库中 出现的次数。
[0056] 具体地,统计分词片段序列…wn中的每个分词片段WpW;;、…、wn各自在预设 语料库中出现的次数表示为count (w^、count (w2)、…、count (wn)。统计每个分词片段组 合各自在预设语料库中出现的次数表示为count (WiWi+1··· Wj)。
[0057] 步骤305,根据统计的次数计算每个分词片段和每个分词片段组合各自相对于分 词片段序列中的所有分词片段的统计频率,以建立对称的频率矩阵。
[0058] 具体地,每一个主题名称可以描述为一个对称的频率矩阵M,矩阵Μ的维度等于分 词片段的总数η。矩阵Μ的元素 mii]表示矩阵Μ第i行第j列的元素,采用以下公式(1)计 算:
[0060] 其中,公式(1)中的F(Wl)采用以下公式(2)计算:
[0062] 公式⑴中的F(WlWl+1···%)采用以下公式⑶计算:
[0064] 频率矩阵Μ中(i = j)表示分词片段%相对于统计分词片段序列WW;;··· wn中 的所有分词片段^、的统计频率,表示在该分词片段序列的上下文环境下,分词片段 Wi在预设语料库中出现的频率。而矩阵Μ中古j)则表示分词片段组合¥卞;+1···% 1 与分词片段在该分词片段序列的上下文环境下,在预设语料库中共同出现的频率。
[0065] 步骤306,对频率矩阵进行特征分解,获得特征值和对应的特征向量。
[0066] 因为频率矩阵Μ是对称正定矩阵,其特征值是实数,特征值对应的特征向量是非 零的,将特征值按照降序排序,记频率矩阵Μ的特征值为λ (Μ) = {λρ λ2,…,λη},且 λ2>…> λη。且频率矩阵Μ的每个特征值都有相应的特征向量,表示为:V(M)= {x!,x2,…,xn} 〇
[0067] 步骤307,根据获得的特征值估计输出的语义片段数。
[0068] 为了获取有意义的语义片段,需要将几个相邻的一起出现的分词片段合并成一个 新的片段,这体现在矩阵Μ中的列向量是相关的,可以使用特征空间映射以达到降维的目 的。同时,由于噪声的存在,选择信息量更高的k维数据,能够达到去噪的目的。k就是需要 估计的输出的语义片段数。
[0069] 可采用主成份分析法,从频率矩阵Μ降序排列的特征值λ (Μ) = {λ ρ λ2,…, λ J中选取前k个特征值,满足以下公式(4):
[0071] 公式(4)所表述的是选取的k个特征值的和与分解获得的所有特征值的和的比值 大于或等于预设比值阈值。给定预设比值阈值Threshold,利用公式(4)计算出k的取值范 围,从该取值范围中选取该范围内的最小正整数作为估计的输出的语义片段数。
[0072] 其中预设比值阈值Threshold的取值范围为(0,1),优选的取值范围是( 0,5,
),预设比值阈值Threshold
时效果非常理想,此时预设比值阈值与分词 片段序列中分词片段的总数正相关。这里η为分词片段序列所包括的分词片段的总数。
[0073] 在一个实施例中,还可以在预设比值阈值Threshold的取值范围中选取有限的离 散值,遍历这些离散值而分别采用上述公式(4)来计算相应的k的值,再从中选取最优的k 值来实现估计输出的语义片段数。
[0074] 步骤308,在降序排列的特征值中从首位开始顺序选取数量为语义片段数的特征 值,将选取的特征值所对应的特征向量构成特征空间。
[0075] 具体地,从频率矩阵Μ降序排列的特征值λ (Μ) = {λ 17 λ2,…,λη}中,从首位 入:开始选取k个特征值为λ2,…,。将选取的k个特征值λ 2,…,各自 所对应的特征向量Xi, x2,…,xk构成特征空间W = .ψ? …-.ri丨,其中sPan表示将选 取的k个特征值
各自所对应的特征向量Xl,x2,…,xk张成特征空间。其中一个特征向量为 η行1列。
[0076] 步骤309,将频率矩阵的每行映射到特征空间中获得对应的映射向量,并计算映射 向量之间的相似度。
[0077] 频率矩阵Μ的第i行可以映射到特征空间及的一个映射向量ct i,具体将选 取的k个特征值的第i行组成一个1行k列的映射向量a i,这样获得的映射向量满足 {叫,'···,% }= ,其中 T 表不转直。
[0078] 如果分词片段Wl和Wj经常一起出现,其对应的映射向量a i和a j在特征空间中 近似平行,可以采用映射向量之间的余弦值来度量映射向量之间的相似度。
[0079] 步骤310,将相似度大于或等于预设相似度阈值的映射向量所对应的相邻分词片 段合并,将相似度小于预设相似度阈值的映射向量所对应的相邻分词片段保留,以获得语 义片段的集合。
[0080] 具体地,可以采用以下公式(5)来计算两个分词片段^和%在特征空间中数据分 布的相似度,也是表示合并或保留相应的分词片段的标记:
[0082]
表示映射向量a i和a j的余弦值;δ是预设相似度阈值,初始 可取0.5。将映射向量之间的余弦值大于或等于预设相似度阈值δ的标记为1,表示需要 合并;将映射向量之间的余弦值小于预设相似度阈值S的标记为0,表示不需要合并仅保 留。这样就可以获得由合并获得新的片段以及保留的分词片段所构成的语义片段的集合。
[0083] 步骤311,判断语义片段的集合中语义片段的数量是否等于语义片段数,若是则执 行步骤312,采用当前获得的语义片段的集合;若否则执行步骤313,调整预设相似度阈值, 并返回步骤310继续执行。
[0084] 若语义片段的集合中语义片段的数量不等于语义片段数k,说明上述预设相似度 阈值S取值不合适,需要动态调整预设相似度阈值δ来形成估计的语义片段数k的语义 片段。具体来说,若当前语义片段的集合中语义片段的数量小于语义片段数k,则应该增大 预设相似度阈值S来形成更多的语义片段;反之,若当前语义片段的集合中语义片段的数 量大于语义片段数k,则应该减小预设相似度阈值δ来形成更少的语义片段。
[0085] 在一个实施例中,当执行步骤310达到预设次数时,结束迭代计算,并采用当前获 得的语义片段的集合。考虑到运行效率,若重复执行步骤310迭代过多次,会严重影响生成 内容标签的效率,因此限定迭代计算的次数可以提高生成内容标签的效率。
[0086] 步骤314,从语义片段的集合中过滤掉预设的无语义片段。
[0087] 具体地,预设的无语义片段包括预设的人名、预设的单字片段、预设的停用词以及 预设的模板词中的至少一种。在一个实施例中,从语义片段的集合中过滤掉预设的无语义 片段时,可以限定过滤掉的无语义片段的长度,以提升过滤的准确率。在一个实施例中,步 骤314之前或者之后,还包括:检测到语义片段的集合中的多个语义片段之间具有子串包 含关系时,过滤掉作为子串的语义片段。
[0088] 步骤315,将语义片段的集合中剩余的语义片段确定为内容标签。
[0089] 具体地,语义片段的集合中剩余的语义片段基本都是具有明确语义的、适用于内 容标签的语义片段,将这些语义片段作为内容标签输出。
[0090] 上述生成内容标签的方法,考虑了主题名称的分词片段之间的相关性以及主题名 称的上下文环境,减少了噪声的影响,使得生成的内容标签能够更加准确地反应出主题名 称所包含的语义信息。
[0091 ] 如图4所示,在一个实施例中,提供了一种生成内容标签的装置400,用于实现上 述的生成内容标签的方法。该生成内容标签的装置400包括:分词模块420、语义片段生成 模块440、无语义片段过滤模块460和内容标签确定模块480。
[0092] 分词模块420,用于将用户生成内容进行分词处理而获得分词片段序列。
[0093] 内容是指具有思想表达功能的数据载体,可以是文本内容或者多媒体内容。一个 内容项目则是指一项独立的内容,文本内容项目比如可以包括文本题目名称,还可以包括 相关文本的访问地址链接;多媒体内容项目为音乐项目、电影项目或电视剧项目中的至少 一种。
[0094] 在一个实施例中,分词模块420用于将内容项目集合所对应的主题名称进行分词 处理而获得分词片段序列,该主题名称为用户生成内容。多个内容项目构成内容项目集合, 比如一个作为内容项目集合的歌单包括多个音乐项目,每个音乐项目至少包括歌曲名称, 还可以包括该音乐项目所表示的歌曲的播放地址链接。
[0095] 内容项目集合所对应的主题名称反映了该集合中所有的内容项目所具有的共同 的语义表达信息。该主题名称是用户生成内容,广大用户各自将自己生成的内容项目集合 以及其所对应的主题名称发布到网络,该生成内容标签的装置400用于主动或者被动接收 到用户发布的内容项目集合以及其所对应的主题名称,并进行后续的处理。
[0096] 分词处理是指将一个文字序列分割为一个个独立的分词片段的过程。主题名称可 以用英文或者中文表述,英文表述的主题名称可以直接按照英文单词以及英文短语进行分 词处理。中文表述的主题名称可以采用多种已有的分词方式进行分词处理,可以采用字符 串匹配的分词方法进行分词处理,比如正向最大匹配法、反向最大匹配法、最短路径分词法 以及双向最大匹配法等。其中正向最大匹配法就是从左到右将待分词文本中的几个连续字 符与词表匹配,如果匹配上,则切分出一个分词片段。获得的分词片段序列是指将主题名称 进行分词处理后,将获得的分词片段按照其在主题名称中的位置进行排序而获得的字符序 列。
[0097] 语义片段生成模块440,用于根据分词片段序列中多个相邻的分词片段在预设语 料库中共同出现的次数,将具备合并条件的多个相邻的分词片段合并以获得语义片段的集 合。
[0098] 这里多个包括两个,共同出现是指两个分词片段按照其在分词片段序列中的顺序 组合而成的整体而出现。当多个词经常一起出现时,通常表示该多个词合并在一起表达一 个整体的语义,因此语义片段生成模块440用于根据分词片段序列中多个相邻的分词片段 在预设语料库中出现的次数,就可以判断这些分词片段是否具备合并为一个新的词片段的 条件,从而判断该多个分词片段是否需要合并在一起来表达一个整体的语义。语义片段生 成模块440用于将需要合并的分词片段合并而获得新的片段,不需要合并的则原样保留下 来,获得的新的片段和保留下来的分词片段都是经过处理后确定的语义片段,组成语义片 段的集合。
[0099] 预设语料库用来统计词出现的次数从而据以进行统计量的分析,具体用来判断分 词片段之间是否具有语义关联,以判断其是否需要合并。预设语料库可以采用与内容项目 相关的文本。在一个实施例中,预设语料库包括指定时间段内的网页搜索日志和/或多个 内容项目集合各自对应的主题名称所形成的主题名称集合。比如可以采用最近一个月内的 网页搜索日志以及需要分离出内容标签的所有主题名称所形成的主题名称集合构成预设 语料库,且每个主题名称分别对应多个内容项目集合中的一个。
[0100] 无语义片段过滤模块460,用于从语义片段的集合中过滤掉预设的无语义片段。
[0101] 具体地,预设的无语义片段包括预设的人名、预设的单字片段、预设的停用词以及 预设的模板词中的至少一种。在一个实施例中,无语义片段过滤模块460用于从语义片段 的集合中过滤掉预设的无语义片段时,限定过滤掉的无语义片段的长度,以提升过滤的准 确率。无语义片段过滤模块460还用于检测到语义片段的集合中的多个语义片段之间具有 子串包含关系时,过滤掉作为子串的语义片段。过滤掉作为子串的分词片段可以控制内容 标签的数量以提高查询效率。
[0102] 内容标签确定模块480,用于将语义片段的集合中剩余的语义片段确定为内容标 签。
[0103] 具体地,语义片段的集合中剩余的语义片段基本都是具有明确语义的、适用于内 容标签的语义片段,内容标签确定模块480用于将这些语义片段作为内容标签输出。
[0104] 上述生成内容标签的装置400,将用户生成内容进行分词处理而获得分词片段序 列。由于当多个词经常一起出现时,通常表示该多个词合并在一起表达一个整体的语义,因 此根据分词片段序列中多个相邻的分词片段在预设语料库中出现的次数,就可以判断这些 词是否需要合并在一起以表达一个整体的语义。将需要合并的分词片段合并,不需要合并 的则保留下来,再从中过滤掉预设的无语义片段,使得剩余的语义片段集合主要由具有明 确语义的语义片段组成,最后将其中的语义片段作为内容标签。
[0105] 这样用户生成内容符合广大普通用户的自由的语言使用习惯,经过分词、共现词 合并以及无语义片段过滤等处理,以从用户生成内容中分离出具有明确语义的语义片段作 为内容标签。使用该内容标签符合大多数用户的自由语言的描述,可以更好地命中查询词, 使得基于该内容标签的内容搜索更加商效。
[0106] 如图5所示,在一个实施例中,生成内容标签的装置400还包括:关联模块490,用 于建立内容标签和指定的内容项目的关联,内容标签用于根据关联查询指定的内容项目。
[0107] 如图6所示,在一个实施例中,该生成内容标签的装置400还包括无语义主题名称 过滤模块410,用于从多个内容项目集合各自对应的主题名称所形成的主题名称集合中过 滤掉具有预设的无语义主题名称形式的主题名称;主题名称集合中的主题名称为用户生成
内容。且分词模块420还用于对于主题名称集合中经过过滤后所剩余的每个主题名称分别 进行分词处理而获得对应该主题名称的分词片段序列。
[0108] 具体地,主题名称是用户生成内容,噪声很多,无语义主题名称过滤模块410用于 在进行分词处理前需要过滤掉明显无语义的主题名称,以过滤掉一些明显的噪声数据。比 如预设的无语义主题名称形式包括主题名称为空、主题名称为单个字、主题名称由非正规 化文字符号组合而成以及主题名称仅包括标点符号等。这里非正规化文字符号可通俗地称 为火星文。对于海量的主题名称分别进行处理以获得内容标签,使得获得的内容标签能够 覆盖广大用户的查询需求。
[0109] 如图7所示,在一个实施例中,语义片段生成模块440包括:分词片段组合生成模 块441、次数统计模块442、频率矩阵建立模块443、特征分解模块444、语义片段数估计模块 445、特征空间构建模块446、相似度计算模块447、分词片段合并模块448和预设相似度阈 值调整模块449。
[0110] 分词片段组合生成模块441,用于将分词片段序列中相邻的分词片段按照在分词 片段序列中的顺序进行组合而获得分词片段组合。
[0111] 具体地,每个主题名称对应一个分词片段序列,假设分词片段序列包括的分词片 段的总数为n,则该分词片段序列可以表示为Wlw2~wn,下标表示相应的分词片段在该分词 片段序列中排列的序号。
[0112] 分词片段组合生成模块441用于采用N-Gram语言模型,该模型基于这样一种假 设,一个词序列中的词只与该词之前的词相关,而与词序列中其它词不相关。按照分词片段 在分词片段序列中的顺序,将相邻的分词片段进行组合来获得分词片段组合。对于分词片 段序列¥ 2·ιη,获得的分词片段组合表示为twy·%,j彡i+1。
[0113] 次数统计模块442,用于统计分词片段序列中的分词片段和分词片段组合各自在 预设语料库中出现的次数。
[0114] 具体地,次数统计模块442用于统计分词片段序列Wlw2~w n中的每个分词片段Wl、 w2、…、wn各自在预设语料库中出现的次数表示为county)、count (w2)、…、count (wn)。 次数统计模块442用于统计每个分词片段组合各自在预设语料库中出现的次数表示为 count (??+1··.?^) 〇
[0115] 频率矩阵建立模块443,用于根据统计的次数计算每个分词片段和每个分词片段 组合各自相对于分词片段序列中的所有分词片段的统计频率,以建立对称的频率矩阵。
[0116] 具体地,频率矩阵建立模块443用于将每一个主题名称描述为一个对称的频率矩 阵M,矩阵Μ的维度等于分词片段的总数η。矩阵Μ的元素 mii j表示矩阵Μ第i行第j列的 元素,采用以下公式⑴计算:
[0118] 其中,公式(1)中的F(Wl)采用以下公式(2)计算:
[0120] 公式⑴中的F(Wlw1+1~W])采用以下公式⑶计算:
[0122] 频率矩阵Μ中(i = j)表示分词片段%相对于统计分词片段序列WW;;··· wn中 的所有分词片段^、的统计频率,表示在该分词片段序列的上下文环境下,分词片段 Wi在预设语料库中出现的频率。而矩阵Μ中古j)则表示分词片段组合¥卞;+1···% 1 与分词片段在该分词片段序列的上下文环境下,在预设语料库中共同出现的频率。
[0123] 特征分解模块444,用于对频率矩阵进行特征分解,获得特征值和对应的特征向 量。
[0124] 因为频率矩阵Μ是对称正定矩阵,其特征值是实数,特征值对应的特征向量是非 零的,将特征值按照降序排序,记频率矩阵Μ的特征值为λ (Μ) = {λρ λ2,…,λη},且 λ2>…> λη。且频率矩阵Μ的每个特征值都有相应的特征向量,表示为:V(M)= {x!,x2,…,xn} 〇
[0125] 语义片段数估计模块445,用于根据获得的特征值估计输出的语义片段数。
[0126] 为了获取有意义的语义片段,需要将几个相邻的一起出现的分词片段合并成一个 新的片段,这体现在矩阵Μ中的列向量是相关的,可以使用特征空间映射以达到降维的目 的。同时,由于噪声的存在,选择信息量更高的k维数据,能够达到去噪的目的。k就是需要 估计的输出的语义片段数。
[0127] 语义片段数估计模块445可用于采用主成份分析法,从频率矩阵Μ降序排列的特 征值λ (Μ) = {λ^ λ2,…,λη}中选取前k个特征值,满足以下公式(4):
[0129] 公式(4)所表述的是选取的k个特征值的和与分解获得的所有特征值的和的比值 大于或等于预设比值阈值。给定预设比值阈值Threshold,利用公式(4)计算出k的取值范 围,从该取值范围中选取该范围内的最小正整数作为估计的输出的语义片段数。
[0130] 其中预设比值阈值Threshold的取值范围为(0,1),优选的取值范围是(0.5,
),预设比值阈值Threshold
时效果非常理想,此时预设比值阈值与分词 片段序列中分词片段的总数正相关。
[0131] 在一个实施例中,语义片段数估计模块445还可用于在预设比值阈值Threshold 的取值范围中选取有限的离散值,遍历这些离散值而分别采用上述公式(4)来计算相应的 k的值,再从中选取最优的k值来实现估计输出的语义片段数。
[0132] 特征空间构建模块446,用于在降序排列的特征值中从首位开始顺序选取数量为 语义片段数的特征值,将选取的特征值所对应的特征向量构成特征空间。
[0133] 具体地,特征空间构建模块446用于从频率矩阵Μ降序排列的特征值λ (M)= { λ ρ λ 2,…,λ J中,从首位λ 1开始选取k个特征值为λ ρ λ 2,…,λ k。特征空间构建 模块446用于将选取的k个特征值λ ρ λ 2,…,λ k各自所对应的特征向量Χι,χ2,…,Xk构 成特征空间^^.研〃?|.\^,_-,^?其中8口311表示将选取的1^个特征值各自所对应的特征 向量Xd x2,…,xk张成特征空间。其中一个特征向量为η行1列。
[0134] 相似度计算模块447,用于将频率矩阵的每行映射到特征空间中获得对应的映射 向量,并计算映射向量之间的相似度。
[0135] 相似度计算模块447用于将频率矩阵Μ的第i行映射到特征空间丽的一个映射向 量ct i,具体用于将选取的k个特征值的第i行组成一个1行k列的映射向量a i,这样获得 的映射向量满足,·_·,<]·= {^1,·^,·",·^丨;其中T表不转置。
[0136] 如果分词片段Wl和Wj经常一起出现,其对应的映射向量a i和a j在特征空间中 近似平行,相似度计算模块447可用于采用映射向量之间的余弦值来度量映射向量之间的 相似度。
[0137] 分词片段合并模块448,用于将相似度大于或等于预设相似度阈值的映射向量所 对应的相邻分词片段合并,将相似度小于预设相似度阈值的映射向量所对应的相邻分词片 段保留,以获得语义片段的集合。
[0138] 具体地,分词片段合并模块448可用于采用以下公式(5)来计算两个分词片段Wl 和w,在特征空间中数据分布的相似度,也是表示合并或保留相应的分词片段的标记:
[0140]
表示映射向量a i和a j的余弦值;δ是预设相似度阈值,初始 可取0.5。将映射向量之间的余弦值大于或等于预设相似度阈值δ的标记为1,表示需要 合并;将映射向量之间的余弦值小于预设相似度阈值S的标记为0,表示不需要合并仅保 留。这样就可以获得由合并获得新的片段以及保留的分词片段所构成的语义片段的集合。
[0141] 预设相似度阈值调整模块449,用于当语义片段的集合中语义片段的数量不等于 语义片段数时,调整预设相似度阈值。分词片段合并模块448还用于继续执行将相似度大 于或等于预设相似度阈值的映射向量所对应的相邻分词片段合并,将相似度小于预设相似 度阈值的映射向量所对应的相邻分词片段保留,以获得语义片段的集合的步骤,直至语义 片段的集合中语义片段的数量等于语义片段数。
[0142] 若语义片段的集合中语义片段的数量不等于语义片段数k,说明上述预设相似度 阈值S取值不合适,预设相似度阈值调整模块449用于动态调整预设相似度阈值δ来形 成估计的语义片段数k的语义片段。具体来说,若当前语义片段的集合中语义片段的数量 小于语义片段数k,则应该增大预设相似度阈值δ来形成更多的语义片段;反之,若当前语 义片段的集合中语义片段的数量大于语义片段数k,则应该减小预设相似度阈值δ来形成 更少的语义片段。
[0143] 在一个实施例中,分词片段合并模块448还用于当执行将相似度大于或等于预设 相似度阈值的映射向量所对应的相邻分词片段合并,将相似度小于预设相似度阈值的映射 向量所对应的相邻分词片段保留,以获得语义片段的集合达到预设次数时,结束迭代计算, 并采用当前获得的语义片段的集合。考虑到运行效率,若迭代计算过多次,会严重影响生成 内容标签的效率,因此限定迭代计算的次数可以提高生成内容标签的效率。
[0144] 本实施例中,考虑了主题名称的分词片段之间的相关性以及主题名称的上下文环 境,减少了噪声的影响,使得生成的内容标签能够更加准确地反应出主题名称所包含的语 义信息。
[0145] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令
相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0146] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1. 一种生成内容标签的方法,所述方法包括: 将用户生成内容进行分词处理而获得分词片段序列; 根据所述分词片段序列中多个相邻的分词片段在预设语料库中共同出现的次数,将具 备合并条件的多个相邻的分词片段合并以获得语义片段的集合; 从所述语义片段的集合中过滤掉预设的无语义片段; 将所述语义片段的集合中剩余的语义片段确定为内容标签。2. 根据权利要求1所述的方法,其特征在于,所述将用户生成内容进行分词处理而获 得分词片段序列之前,还包括:从多个内容项目集合各自对应的主题名称所形成的主题名 称集合中过滤掉具有预设的无语义主题名称形式的主题名称;所述主题名称集合中的主题 名称为用户生成内容; 所述将用户生成内容进行分词处理而获得分词片段序列,包括:对于所述主题名称集 合中经过过滤后所剩余的每个主题名称分别进行分词处理而获得对应该主题名称的分词 片段序列。3. 根据权利要求1所述的方法,其特征在于,所述根据所述分词片段序列中多个相邻 的分词片段在预设语料库中共同出现的次数,将具备合并条件的多个相邻的分词片段合并 以获得语义片段的集合,包括: 将所述分词片段序列中相邻的分词片段按照在所述分词片段序列中的顺序进行组合 而获得分词片段组合; 统计所述分词片段序列中的分词片段和所述分词片段组合各自在预设语料库中出现 的次数; 根据统计的次数计算每个所述分词片段和每个所述分词片段组合各自相对于所述分 词片段序列中的所有分词片段的统计频率,以建立对称的频率矩阵; 对所述频率矩阵进行特征分解,获得特征值和对应的特征向量; 根据获得的特征值估计输出的语义片段数; 在降序排列的特征值中从首位开始顺序选取数量为语义片段数的特征值,将所述选取 的特征值所对应的特征向量构成特征空间; 将所述频率矩阵的每行映射到所述特征空间中获得对应的映射向量,并计算所述映射 向量之间的相似度; 将相似度大于或等于预设相似度阈值的映射向量所对应的相邻分词片段合并,将相似 度小于预设相似度阈值的映射向量所对应的相邻分词片段保留,以获得语义片段的集合; 当所述语义片段的集合中语义片段的数量不等于所述语义片段数时,调整所述预设相 似度阈值,并继续执行所述将相似度大于或等于预设相似度阈值的映射向量所对应的相邻 分词片段合并,将相似度小于预设相似度阈值的映射向量所对应的相邻分词片段保留,以 获得语义片段的集合的步骤,直至所述语义片段的集合中语义片段的数量等于所述语义片 段数。4. 根据权利要求3所述的方法,其特征在于,所述选取的特征值的和与分解获得的所 有特征值的和的比值大于或等于预设比值阈值。5. 根据权利要求4所述的方法,其特征在于,所述预设比值阈值与所述分词片段序列 中分词片段的总数正相关。6. 根据权利要求3所述的方法,其特征在于,所述方法还包括:当执行所述将相似度大 于或等于预设相似度阈值的映射向量所对应的相邻分词片段合并,将相似度小于预设相似 度阈值的映射向量所对应的相邻分词片段保留,以获得语义片段的集合的步骤达到预设次 数时,结束迭代计算,并采用当前获得的语义片段的集合。7. 根据权利要求1所述的方法,其特征在于,所述内容项目为多媒体内容项目;所述多 媒体内容项目为音乐项目、电影项目或电视剧项目中的至少一种。8. 根据权利要求1所述的方法,其特征在于,所述预设语料库包括指定时间段内的网 页搜索日志和/或多个内容项目集合各自对应的主题名称所形成的主题名称集合。9. 根据权利要求1所述的方法,其特征在于,所述从所述语义片段的集合中过滤掉预 设的无语义片段的步骤之前或之后,还包括: 检测到所述语义片段的集合中的多个语义片段之间具有子串包含关系时,过滤掉作为 子串的语义片段。10. 根据权利要求1-9中任意一项所述的方法,其特征在于,所述方法还包括: 建立所述内容标签和指定的内容项目的关联,所述内容标签用于根据所述关联查询所 述指定的内容项目。11. 一种生成内容标签的装置,其特征在于,所述装置包括: 分词模块,用于将用户生成内容进行分词处理而获得分词片段序列; 语义片段生成模块,用于根据所述分词片段序列中多个相邻的分词片段在预设语料库 中共同出现的次数,将具备合并条件的多个相邻的分词片段合并以获得语义片段的集合; 无语义片段过滤模块,用于从所述语义片段的集合中过滤掉预设的无语义片段; 内容标签确定模块,用于将所述语义片段的集合中剩余的语义片段确定为内容标签。12. 根据权利要求11所述的装置,其特征在于,所述装置还包括: 无语义主题名称过滤模块,用于从多个内容项目集合各自对应的主题名称所形成的主 题名称集合中过滤掉具有预设的无语义主题名称形式的主题名称;所述主题名称集合中的 主题名称为用户生成内容; 所述分词模块还用于对于所述主题名称集合中经过过滤后所剩余的每个主题名称分 别进行分词处理而获得对应该主题名称的分词片段序列。13. 根据权利要求11所述的装置,其特征在于,所述语义片段生成模块包括: 分词片段组合生成模块,用于将所述分词片段序列中相邻的分词片段按照在所述分词 片段序列中的顺序进行组合而获得分词片段组合; 次数统计模块,用于统计所述分词片段序列中的分词片段和所述分词片段组合各自在 预设语料库中出现的次数; 频率矩阵建立模块,用于根据统计的次数计算每个所述分词片段和每个所述分词片 段组合各自相对于所述分词片段序列中的所有分词片段的统计频率,以建立对称的频率矩 阵; 特征分解模块,用于对所述频率矩阵进行特征分解,获得特征值和对应的特征向量; 语义片段数估计模块,用于根据获得的特征值估计输出的语义片段数; 特征空间构建模块,用于在降序排列的特征值中从首位开始顺序选取数量为语义片段 数的特征值,将所述选取的特征值所对应的特征向量构成特征空间; 相似度计算模块,用于将所述频率矩阵的每行映射到所述特征空间中获得对应的映射 向量,并计算所述映射向量之间的相似度; 分词片段合并模块,用于将相似度大于或等于预设相似度阈值的映射向量所对应的相 邻分词片段合并,将相似度小于预设相似度阈值的映射向量所对应的相邻分词片段保留, 以获得语义片段的集合; 预设相似度阈值调整模块,用于当所述语义片段的集合中语义片段的数量不等于所述 语义片段数时,调整所述预设相似度阈值; 所述分词片段合并模块还用于继续执行所述将相似度大于或等于预设相似度阈值的 映射向量所对应的相邻分词片段合并,将相似度小于预设相似度阈值的映射向量所对应的 相邻分词片段保留,以获得语义片段的集合的步骤,直至所述语义片段的集合中语义片段 的数量等于所述语义片段数。14. 根据权利要求13所述的装置,其特征在于,所述选取的特征值的和与分解获得的 所有特征值的和的比值大于或等于预设比值阈值。15. 根据权利要求14所述的装置,其特征在于,所述预设比值阈值与所述分词片段序 列中分词片段的总数正相关。16. 根据权利要求13所述的装置,其特征在于,所述分词片段合并模块还用于当执行 所述将相似度大于或等于预设相似度阈值的映射向量所对应的相邻分词片段合并,将相似 度小于预设相似度阈值的映射向量所对应的相邻分词片段保留,以获得语义片段的集合达 到预设次数时,结束迭代计算,并采用当前获得的语义片段的集合。17. 根据权利要求11所述的装置,其特征在于,所述内容项目为多媒体内容项目;所述 多媒体内容项目为音乐项目、电影项目或电视剧项目中的至少一种。18. 根据权利要求11所述的装置,其特征在于,所述预设语料库包括指定时间段内的 网页搜索日志和/或多个内容项目集合各自对应的主题名称所形成的主题名称集合。19. 根据权利要求11所述的装置,其特征在于,所述无语义片段过滤模块还用于检测 到所述语义片段的集合中的多个语义片段之间具有子串包含关系时,过滤掉作为子串的语 义片段。20. 根据权利要求11-19中任意一项所述的装置,其特征在于,所述装置还包括: 关联模块,用于建立所述内容标签和指定的内容项目的关联,所述内容标签用于根据 所述关联查询所述指定的内容项目。
【专利摘要】本发明提供了一种生成内容标签的方法和装置,该方法包括:将用户生成内容进行分词处理而获得分词片段序列;根据所述分词片段序列中多个相邻的分词片段在预设语料库中共同出现的次数,将具备合并条件的多个相邻的分词片段合并以获得语义片段的集合;从所述语义片段的集合中过滤掉预设的无语义片段;将所述语义片段的集合中剩余的语义片段确定为内容标签。本发明提供的生成内容标签的方法和装置生成的内容标签符合大多数用户的自由语言的描述,可以更好地命中查询词,使得基于该内容标签的内容搜索更加高效。
【IPC分类】G06F17/30, G06F17/27
【公开号】CN105488077
【申请号】CN201410531163
【发明人】连凤宗, 轩文烽
【申请人】腾讯科技(深圳)有限公司
【公开日】2016年4月13日
【申请日】2014年10月10日