本发明涉及领域词表自动构建技术领域,特别是指一种基于分类体系的领域词表自动构建的方法及装置。
背景技术:
近年来,领域词表是专业教育和职业教育的重要资源,也在产业中广泛应用,如解决分类问题等。当前领域词表的获取方式通常有两种:通过词频统计和专家鉴定的词表生成,或者,通过机器学习方式构建一个分类模型,使用该模型对大量数据进行分类。但这两种方式均具有效率较低的缺点,且运算量较大,准确率也无法保证。
技术实现要素:
本发明实施例提供了一种基于分类体系的领域词表自动构建的方法及装置。所述技术方案如下:
一方面,提供了一种基于分类体系的领域词表自动构建的方法,该方法应用于电子设备,该方法包括:
s1、获取数据,所述数据包括领域层次树状结构的领域节点数据以及每个领域节点对应的多篇文章;
s2、确定所述领域节点的父节点以及每个子节点,获取领域节点对应的多个关联词;
s3、根据所述数据,确定所述领域节点的每个关联词在所述领域节点中平均千词中出现的概率,确定所述每个关联词在每个子节点领域中平均千词中出现的概率;
s4、根据所述数据,确定所述每个关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定所述每个关联词在父节点领域中每篇文章中出现的平均概率的倒数;
s5、根据每个关联词在所述领域节点中平均千词中出现的概率、以及所述关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数;
s6、根据所述每个关联词在每个子节点领域中平均千词中出现的概率、以及所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数;
s7、根据每个关联词的第一中间分数以及所述第二中间分数,确定所述每个关联词的总分数;
s8、获取预设分数阈值,根据所述领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表。
可选地,所述根据每个关联词在所述领域节点中平均千词中出现的概率、以及所述关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数,包括:
计算所述每个关联词在所述领域节点中平均千词中出现的概率与所述关联词在父节点领域中每篇文章中出现的平均概率的倒数之间的乘积,将所述乘积确定为每个关联词的第一中间分数。
可选地,所述根据所述每个关联词在每个子节点领域中平均千词中出现的概率、以及所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数,包括:
对于任一关联词,计算根据所述关联词在每个子节点领域中平均千词中出现的概率与所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,为每个子节点计算对应乘积,取最大值确定为所述关联词的第二中间分数。
可选地,所述根据每个关联词的第一中间分数以及所述第二中间分数,确定每个关联词的总分数,包括:
计算每个关联词的第一中间分数与所述第二中间分数的加权和值,将所述加权和值确定为每个关联词的总分数。
可选地,所述根据所述领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表,包括:
将所述领域节点中所有关联词按照总分数从大到小降序排列;
确定降序排列后的关联词中总分数大于预设分数阈值的部分关联词,将所述部分关联词按照排序生成专业词表。
一方面,提供了一种基于分类体系的领域词表自动构建的装置,该装置应用于电子设备,该装置包括:
获取单元,用于获取数据,所述数据包括领域层次树状结构的领域节点数据以及每个领域节点对应的多篇文章;
确定单元,用于确定所述领域节点的父节点以及每个子节点,获取领域节点对应的多个关联词;
所述确定单元,用于根据所述数据,确定所述领域节点的每个关联词在所述领域节点中平均千词中出现的概率,确定所述每个关联词在每个子节点领域中平均千词中出现的概率;
所述确定单元,用于根据所述数据,确定所述每个关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定所述每个关联词在父节点领域中每篇文章中出现的平均概率的倒数;
所述确定单元,用于根据每个关联词在所述领域节点中平均千词中出现的概率、以及所述关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数;
所述确定单元,用于根据所述每个关联词在每个子节点领域中平均千词中出现的概率、以及所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数;
所述确定单元,用于根据每个关联词的第一中间分数以及所述第二中间分数,确定所述每个关联词的总分数;
所述确定单元,用于获取预设分数阈值,根据所述领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表。
可选地,所述确定单元,用于:
计算所述每个关联词在所述领域节点中平均千词中出现的概率与所述关联词在父节点领域中每篇文章中出现的平均概率的倒数之间的乘积,将所述乘积确定为每个关联词的第一中间分数。
可选地,所述确定单元,用于:
对于任一关联词,计算根据所述关联词在每个子节点领域中平均千词中出现的概率与所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,为每个子节点计算对应乘积,取最大值确定为所述关联词的第二中间分数。
可选地,所述确定单元,用于:
计算每个关联词的第一中间分数与所述第二中间分数的加权和值,将所述加权和值确定为每个关联词的总分数。
可选地,所述确定单元,用于:
将所述领域节点中所有关联词按照总分数从大到小降序排列;
确定降序排列后的关联词中总分数大于预设分数阈值的部分关联词,将所述部分关联词按照排序生成专业词表。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述基于分类体系的领域词表自动构建的方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述基于分类体系的领域词表自动构建的方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
上述方案中,通过领域节点的关联词在领域节点中平均千词中出现的概率与关联词在父节点领域中每篇文章中出现的平均概率的倒数衡量领域节点的专业性,通过关联词在子节点领域中平均千词中出现的概率与关联词在领域节点中每篇文章中出现的平均概率的倒数衡量领域节点的内聚性,综合专业性以及内聚性衡量领域节点是否是专业词,进而简单、高效地自动构建专业词表,且构建得到的专业词表准确性很高,适用大规模构建专业词表。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于分类体系的领域词表自动构建的方法流程图;
图2是本发明实施例提供的一种基于分类体系的领域词表自动构建的方法流程图;
图3是本发明实施例提供的一种基于分类体系的领域词表自动构建的装置示意图;
图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例提供了一种基于分类体系的领域词表自动构建的方法,该方法可以由电子设备实现,该电子设备可以是终端或服务器。如图1所示的基于分类体系的领域词表自动构建的方法流程图,该方法的处理流程可以包括如下的步骤:
s101、获取数据,数据包括领域层次树状结构的领域节点数据以及每个领域节点对应的多篇文章;
s102、确定领域节点的父节点以及每个子节点,获取领域节点对应的多个关联词;
s103、根据数据,确定领域节点的每个关联词在领域节点中平均千词中出现的概率,确定每个关联词在每个子节点领域中平均千词中出现的概率;
s104、根据数据,确定每个关联词在领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词在父节点领域中每篇文章中出现的平均概率的倒数;
s105、根据每个关联词在领域节点中平均千词中出现的概率、以及关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数;
s106、根据每个关联词在每个子节点领域中平均千词中出现的概率、以及关联词在领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数;
s107、根据每个关联词的第一中间分数以及第二中间分数,确定每个关联词的总分数;
s108、获取预设分数阈值,根据领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表。
可选地,根据每个关联词在领域节点中平均千词中出现的概率、以及关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数,包括:
计算每个关联词在领域节点中平均千词中出现的概率与关联词在父节点领域中每篇文章中出现的平均概率的倒数之间的乘积,将乘积确定为每个关联词的第一中间分数。
可选地,根据每个关联词在每个子节点领域中平均千词中出现的概率、以及关联词在领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数,包括:
对于任一关联词,计算根据关联词在每个子节点领域中平均千词中出现的概率与关联词在领域节点中每篇文章中出现的平均概率的倒数,为每个子节点计算对应乘积,取最大值确定为关联词的第二中间分数。
可选地,根据每个关联词的第一中间分数以及第二中间分数,确定每个关联词的总分数,包括:
计算每个关联词的第一中间分数与第二中间分数的加权和值,将加权和值确定为每个关联词的总分数。
可选地,根据领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表,包括:
将领域节点中所有关联词按照总分数从大到小降序排列;
确定降序排列后的关联词中总分数大于预设分数阈值的部分关联词,将部分关联词按照排序生成专业词表。
本发明实施例中,通过领域节点的关联词在领域节点中平均千词中出现的概率与关联词在父节点中每篇文章中出现的平均概率的倒数衡量领域节点的专业性,通过关联词在子节点中平均千词中出现的概率与关联词在领域节点中每篇文章中出现的平均概率的倒数衡量领域节点的内聚性,综合专业性以及内聚性衡量领域节点是否是专业词,进而简单、高效地自动构建专业词表,且构建得到的专业词表准确性很高,适用大规模构建专业词表。
本发明实施例提供了一种基于分类体系的领域词表自动构建的方法,该方法可以由电子设备实现,该电子设备可以是终端或服务器。如图2所示的基于分类体系的领域词表自动构建的方法流程图,该方法的处理流程可以包括如下的步骤:
s201、获取数据。
其中,数据包括领域层次树状结构的领域节点数据以及每个领域节点对应的多篇文章。领域也是有层次的,例如:通用--计算机科学--人工智能--计算机视觉。层次可以是人确定的,也可以通过聚类方法聚类形成体系,如通过k-means(k均值聚类算法),gmm(gaussianmixedmodel,高斯混合模型)等,本发明对此不作限定。
一种可行的实施方式中,在当今时代,大量数据的获取成为可能,获取数据的方式有很多种,例如,通过网络爬虫技术自动获取符合条件的文章、课本扫描ocr提取等,可以是现有技术中常用的获取方式,本发明在此不做赘述。充分利用当前已有的分类体系,如新闻app中已经对新闻进行了领域分类和详细的tag标签等,通过大数据分析,可行且基于真实数据,价值更高。
s202、确定领域节点的父节点以及每个子节点,获取领域节点对应的多个关联词。
一种可行的实施方式中,可以形式化表示领域节点的等级,这样更便于公式的代入。举例来说,如果领域层次为:
通用--计算机科学--人工智能--计算机视觉,
则可以形式化表示为:
level_1,level_2,level_3,leve_4
其中,level_1是level_2的父节点,level_3是level_2的子节点,因此,假设level_x表示领域节点,则领域节点的父节点表示为level_x-1,领域节点的子节点表示为level_x+1。
每个节点都关联着多篇文章,从领域节点中的每篇文章中,通过分词算法提取出多个关联词,该算法可以采用现有技术中常用的分词算法,本发明对此不做赘述。
s203、根据数据,确定领域节点的每个关联词在领域节点中平均千词中出现的概率,确定每个关联词在每个子节点领域中平均千词中出现的概率。
一种可行的实施方式中,在大数据中统计确定领域节点的每个关联词在平均千词中出现的概率,以及确定每个关联词在每个子节点领域中平均千词中出现的概率可以采用现有技术中常用的统计方法,本发明对此不做赘述。
假设用level_x表示领域节点,则可以形式化表示关联词在平均千词中出现的概率为level_x_tf,可以形式化表示每个关联词在每个子节点领域中平均千词中出现的概率为level_x+1_tf。
s204、根据数据,确定每个关联词在领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词在父节点领域中每篇文章中出现的平均概率的倒数。
一种可行的实施方式中,在大数据中统计每个关联词在领域节点中每篇文章中出现的平均概率的倒数以及关联词在父节点领域中每篇文章中出现的平均概率的倒数,均可采用现有技术中常用的统计方法,本发明对此不做赘述。
假设用level_x表示领域节点,则可以形式化表示关联词在领域节点中每篇文章中出现的平均概率的倒数为level_x_idf,可以形式化表示关联词在父节点领域中每篇文章中出现的平均概率的倒数为level_x-1_idf。
s205、计算每个关联词在领域节点中平均千词中出现的概率与关联词在父节点领域中每篇文章中出现的平均概率的倒数之间的乘积,将乘积确定为每个关联词的第一中间分数。
一种可行的实施方式中,根据下述公式(1)计算每个关联词的第一中间分数。
score_1=level_x_tf*level_x-1_idf……(1)
其中,score_1表示第一中间分数,level_x_tf表示关联词在领域节点中平均千词中出现的概率,level_x-1_idf表示关联词在父节点领域中每篇文章中出现的平均概率的倒数。
这样,可以考虑领域节点上一层父节点的专业性,领域属性是相对于更通用领域的适用范围。
s206、计算根据关联词在每个子节点领域中平均千词中出现的概率与关联词在领域节点中每篇文章中出现的平均概率的倒数,为每个子节点计算对应乘积,取最大值确定为关联词的第二中间分数。
一种可行的实施方式中,根据下述公式(2)计算每个关联词的第二中间分数。
score2=max(level_x+1_tf*level_x_idf)……(2)
其中,score2表示第二中间分数,level_x+1_tf表示关联词在每个子节点领域中平均千词中出现的概率,level_x_idf表示关联词在领域节点中每篇文章中出现的平均概率的倒数,max()表示取最大值运算。
这样,可以考虑选取的领域节点的内聚性,领域里面会继续细分,往往专业词集中分布于某一子领域中。
s207、计算每个关联词的第一中间分数与第二中间分数的加权和值,将加权和值确定为每个关联词的总分数。
一种可行的实施方式中,通过第一中间分数以及第二中间分数的加权和值得到每个关联词的总分数,可以综合考虑领域节点的专业性以及内聚性。可选地,设定为第一中间分数的权重为a,第二中间分数的权重为b,则可以参考以下公式(3)计算总分数:
score=a×score1+b×score2……(3)
s208、将所有关联词按照总分数从大到小降序排列。
一种可行的实施方式中,关联词的总分数表示该关联词的专业性以及内聚性,总分数越高,其对应的关联词的专业性以及内聚性越高,表示该关联词是专业词的可能性越高。
s209、确定降序排列后的关联词中总分数大于预设分数阈值的部分关联词,将部分关联词按照排序生成专业词表。
一种可行的实施方式中,预设分数阈值可以是技术人员根据多次试验后设定的,总分数大于预设分数阈值的关联词是专业词的可能性比较大,这样,在降序排列的关联词中截取大于预设分数阈值的部分关联词,通过这些关联词自动构建专业词表。
本发明实施例中,通过领域节点的关联词在领域节点中平均千词中出现的概率与关联词在父节点领域中每篇文章中出现的平均概率的倒数衡量领域节点的专业性,通过关联词在子节点领域中平均千词中出现的概率与关联词在领域节点中每篇文章中出现的平均概率的倒数衡量领域节点的内聚性,综合专业性以及内聚性衡量领域节点是否是专业词,进而简单、高效地自动构建专业词表,且构建得到的专业词表准确性很高,适用大规模构建专业词表。
图3是根据一示例性实施例示出的一种基于分类体系的领域词表自动构建的装置框图。参照图3,该装置包括获取单元310和确定单元320。
获取单元,用于获取数据,所述数据包括领域层次树状结构的领域节点数据以及每个领域节点对应的多篇文章;
确定单元,用于确定所述领域节点的父节点以及每个子节点,获取领域节点对应的多个关联词;
所述确定单元,用于根据所述数据,确定所述领域节点的每个关联词在所述领域节点中平均千词中出现的概率,确定所述每个关联词在每个子节点领域中平均千词中出现的概率;
所述确定单元,用于根据所述数据,确定所述每个关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定所述每个关联词在父节点领域中每篇文章中出现的平均概率的倒数;
所述确定单元,用于根据每个关联词在所述领域节点中平均千词中出现的概率、以及所述关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数;
所述确定单元,用于根据所述每个关联词在每个子节点领域中平均千词中出现的概率、以及所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数;
所述确定单元,用于根据每个关联词的第一中间分数以及所述第二中间分数,确定所述每个关联词的总分数;
所述确定单元,用于获取预设分数阈值,根据所述领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表。
可选地,所述确定单元,用于:
计算所述每个关联词在所述领域节点中平均千词中出现的概率与所述关联词在父节点领域中每篇文章中出现的平均概率的倒数之间的乘积,将所述乘积确定为每个关联词的第一中间分数。
可选地,所述确定单元,用于:
对于任一关联词,计算根据所述关联词在每个子节点领域中平均千词中出现的概率与所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,为每个子节点计算对应乘积,取最大值确定为所述关联词的第二中间分数。
可选地,所述确定单元,用于:
计算每个关联词的第一中间分数与所述第二中间分数的加权和值,将所述加权和值确定为每个关联词的总分数。
可选地,所述确定单元,用于:
将所述领域节点中所有关联词按照总分数从大到小降序排列;
确定降序排列后的关联词中总分数大于预设分数阈值的部分关联词,将所述部分关联词按照排序生成专业词表。
本发明实施例中,通过领域节点的关联词在领域节点中平均千词中出现的概率与关联词在父节点领域中每篇文章中出现的平均概率的倒数衡量领域节点的专业性,通过关联词在子节点领域中平均千词中出现的概率与关联词在领域节点中每篇文章中出现的平均概率的倒数衡量领域节点的内聚性,综合专业性以及内聚性衡量领域节点是否是专业词,进而简单、高效地自动构建专业词表,且构建得到的专业词表准确性很高,适用大规模构建专业词表。
图4是本发明实施例提供的一种电子设备400的结构示意图,该电子设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)401和一个或一个以上的存储器402,其中,所述存储器402中存储有至少一条指令,所述至少一条指令由所述处理器401加载并执行以实现下述基于分类体系的领域词表自动构建的方法的步骤:
s1、获取数据,所述数据包括领域层次树状结构的领域节点数据以及每个领域节点对应的多篇文章;
s2、确定所述领域节点的父节点以及每个子节点,获取领域节点对应的多个关联词;
s3、根据所述数据,确定所述领域节点的每个关联词在所述领域节点中平均千词中出现的概率,确定所述每个关联词在每个子节点领域中平均千词中出现的概率;
s4、根据所述数据,确定所述每个关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定所述每个关联词在父节点领域中每篇文章中出现的平均概率的倒数;
s5、根据每个关联词在所述领域节点中平均千词中出现的概率、以及所述关联词在父节点领域中每篇文章中出现的平均概率的倒数,确定每个关联词的第一中间分数;
s6、根据所述每个关联词在每个子节点领域中平均千词中出现的概率、以及所述关联词在所述领域节点中每篇文章中出现的平均概率的倒数,确定每个关联词的第二中间分数;
s7、根据每个关联词的第一中间分数以及所述第二中间分数,确定所述每个关联词的总分数;
s8、获取预设分数阈值,根据所述领域节点中所有关联词的总分数大于预设分数阈值的关联词,确定专业词表。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述基于分类体系的领域词表自动构建的方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。