基于互联网信息抓取的企业业务标签挖掘的方法和系统与流程

文档序号:30066522发布日期:2022-05-18 01:04阅读:179来源:国知局
基于互联网信息抓取的企业业务标签挖掘的方法和系统与流程

1.本发明涉及自动化,特别是一种基于互联网信息抓取的企业业务标签挖掘的方法和系统。


背景技术:

2.标签思维是互联网时代的核心思维之一,也是一个对象能被快速了解的渠道之一。而企业的业务标签可以让投资者快速了解该企业的核心业务,以及其在整个供应链中的主要角色。如南京中新赛克科技有限公司的业务标签为“通信信息安全服务提供商”。
3.这个标签需要是高度抽象的描述企业的主要业务,而不同的企业又基本上不相同的。所以事先不能够定义好所有的标签类别,就不能使用传统的分类方法得到。而公开互联网上对公司业务的描述信息可能是冗长的,如“中新赛克是一家国有控股的上市公司(002912),紧密围绕国家安全战略需求,将“构建更数字、更安全、更健康的世界”作为企业使命,专注于数据提取、数据融合计算及其在信息安全、...”,且该条信息的来源可能是企业官网、百度百科、爱企查、企查查、一些论坛网站、社交网站等,其在搜索引擎查询中可能排序在比较靠后的位置。
4.基于上述原因,企业业务标签挖掘有较大的难度。一是标签不固定无法使用传统的处理标签画像类的分类方法来给企业打业务标签。二是无法确定从一个固定上下文描述风格固定又一定含有该企业业务相关描述的渠道中获取到信息来源,换句通俗的话来说,就是不知道哪里有企业业务相关的描述,需要到网上去找才知道。所以使用单一的模型和单一的技术手段,很难取得较好的效果。
5.因此,给企业打业务标签是业界共同的难题,当前业界在打标过程中主要还是依赖人工对搜索互联网上该公司的相关信息后进行筛选和总结,甚至对企业进行实地调研后进行打标,效率很低,少数自动化打标的已知系统中,仅能应用与先人工整理出一系列已知的业务标签,然后使用分类的技术,来给企业进行画像打标。但对于这种事先无法限定标签类型和标签内容的企业业务标签打标问题,还需要研究探索一种效果更好的自动化打标方法和系统来解决该问题。


技术实现要素:

6.发明目的:本发明的目的是提供一种基于互联网信息抓取的企业业务标签挖掘方法和系统,从而在不限定企业类型、不限定业务标签种类和内容、不提供同类型企业业务描述上下文的情况下,自动化挖掘简短、通顺的企业业务标签。
7.技术方案:本发明所述的一种基于互联网信息抓取的企业业务标签挖掘方法,包括以下步骤:
8.(1)给定一个公司名称,根据该公司名称拼接一系列的搜索关键词,从后台自动抓取互联网搜索结果文本;企业业务相关的描述,来源于网络上不同的渠道,可以通过拼接不同的关键词,从百度搜索引擎上抓取尽量全面的信息。
9.(2)对上一步互联网爬取到的搜索结果进行排序,获取最有可能包含企业业务描述的前5条文本;该处理步骤相当于搜索结果排序。搜索结果排序算法有很多,其中比较典型的是基于词频统计的tf-idf算法,基于n-gram的bm25算法,基于近年来基于自然语言语义向量深度学习模型。因tf-idf和bm25等算法没有考虑“业务标签”这一抽象的语义和段落之前的关联关系,所以我们使用基于深度学习预训练模型微调的句子对匹配模型,来计算某一条搜索结果包含企业业务描述的得分,根据得分多少来进行排序,并取得分最高的前5条记录。
10.(3)对段落排序得分最高的前5条结果,进行业务标签抽取。
11.(3.1)业务标签抽取采用基于预训练深度学习语言模型bert,通过训练微调模型;
12.(3.2)预测整个篇章内容中,每个字作为标签开始位置和结束位置的一个打分;
13.(3.3)选出一组开始位置和结束位置得分最高的;如果其分值之和比空答案的分值高,则为成功抽取的业务标签,否则表示该篇章文本无法直接抽取业务标签。
14.(4)对于无法直接抽取业务标签的企业,进行业务标签生成。业务标签生成采用基于预训练深度学习语言模型cpt,cpt的具体结构为一个输入,多个输出的非对称transformer encoder-decoder结构,主要包括三个部分:
15.s-enc:共享encoder,双向attention结构,建模输入文本;
16.u-dec:理解用decoder,双向attention结构,输入s-enc得到的表示,输出mlm的结果,为模型增强理解任务;
17.g-dec:生成用decoder,利用encoder-decoder attention与s-enc相连,用于生成。
18.cpt作为一个兼顾理解和生成的中文预训练模型,在很多的中文类生成任务上,例如在多个生成摘要的公开数据集(lcsts和csl)以及长文本生成数据集adgen等公开测试数据集上,均取得目前为止最好的效果。
19.一种基于互联网信息抓取的企业业务标签挖掘的系统,所述系统包括以下模块:
20.爬虫模块:该模块负责互联网信息抓取,即给定一个公司名称,根据该公司名称拼接一系列的搜索关键词,从后台自动抓取互联网搜索结果文本;该模块从百度上爬取互联网信息,并提供给后续的模型训练模块和预测模块;
21.模型训练模块:使用爬虫模块所爬取的数据,训练文本段落排序模型,业务标签抽取模型和业务标签生成模型;
22.预测应用模块:根据给定的公司名,调用爬虫模块从百度上爬取该公司的相关信息,并调用模型训练模块所训练出来的段落排序模型、业务标签抽取模型和业务标签生成模型,最终预测出所给定公司的业务标签。
23.一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的一种基于互联网信息抓取的企业业务标签挖掘的方法。
24.一种计算机设备,包括储存器、处理器及存储在存储器上并可再处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种基于互联网信息抓取的企业业务标签挖掘的方法。
25.有益效果:与现有技术相比,本发明具有如下优点:
26.1、本发明所依赖的信息来源于开发领域的互联网信息,进行公司业务标签挖掘时
仅需要提供公司名称,系统后台自动从互联网上抓取信息并分析挖掘,所抓取的信息不限定来源种类和格式,给企业业务标签挖掘提供了极大的方便性、灵活性、泛化性;
27.2、本发明结合多种nlp深度学习模型和方法,在企业业务标签挖掘中取得较好的效果。
附图说明
28.图1为业务标签挖掘系统的模型训练及业务标签打标应用预测结合的流程图;
29.图2为段落排序模型、标签抽取模型、标签生成模型训练流程图;
30.图3为给公司打业务标签流程图;
31.图4为公司业务标签效果图。
具体实施方式
32.下面结合附图对本发明的技术方案作进一步说明。
33.如图1所示,一种基于互联网信息抓取的企业业务标签挖掘的方法,包括以下步骤:
34.s1、给定一个公司名称,根据该公司名称,拼接一系列的搜索关键词,从后台自动抓取互联网搜索结果文本。例如对于公司“南京中新赛克有限责任公司”,分别使用关键词“南京中新赛克有限责任公司”,“南京中新赛克有限责任公司是一家研发商”,“南京中新赛克有限责任公司是一家供应商”,“南京中新赛克有限责任公司是一家平台”位搜索关键词,从百度上爬取这些关键词对应的第一页结果中的10条文本,并把所有关键字的爬取结果进行合并和去重,作为后面步骤的业务标签挖掘的信息来源。
35.s2、对上一步互联网爬取到的搜索结果进行排序,获取最有可能包含企业业务描述的前5条文本。本实施例中,我们采用基于bert的预训练语言模型,训练一个公司名与搜索结果之前关联性的模型。具体包含以下步骤:
36.s2.1、先从互联网上爬取一定量(至少5千家公司)企业信息;
37.s2.2、基于规则抽取企业的业务标签,再经过人工修改不正确或者不够抽象的标签值,另外标注该条标签来自于哪一条搜索结果,或者根据哪一条搜索结果进行总结提炼,把这条结果作为正例。接着后台自动从未被选中的其他搜索结果中,找一条跟企业名最相似的搜索记录,和一条跟标签名最相似的记录,作为两个反例。这样每个公司对应3条训练数据(一个正例和两个反例),作为训练数据。
38.s2.3、把每条训练数据以“[cls]《公司名》[sep]《一条搜索结果》[sep]”这样的形式作为模型的输入数据,进而转换为数据的预训练语义向量,位置向量,类型向量(公司名的每个字对应的类型为1,搜索结果的每个字对应的类型为0),把这些向量进行叠加作为模型的输入向量,使用预训练的bert所基于的transformer来构建网络,并使用训练数据和对应标签来训练网络,得到一个判断搜索结果是否与公司业务标签相关的bert预训练语言微调模型。
[0039]
s2.4、在预测阶段,把公司名和根据该公司关键词所爬取的所有结果,组成多条输入数据,通过s2.3的模型预测该条输入数据为正例(包含该公司的业务标签)和负例的概率。
[0040]
s2.5、把s2.4中的所有正例概率得分进行降序排序,选出得分最高的前5条记录。
[0041]
s3、对段落排序得分最高的前5条结果,进行业务标签抽取。具体包含以下步骤:
[0042]
s3.1、使用s2.2中所标注的正例数据,作为此步业务标签抽取的训练数据。每条数据包含一段搜索结果文本和一个业务标签描述,该业务标签为从该搜索结果中直接提取或者根据标注人员从该搜索结果的描述中总结生成。
[0043]
s3.2、进一步把该训练数据,处理为抽取式阅读理解型问答模型的输入数据,即对于业务标签为搜索文本段中的一个子串的,则生成该业务标签在搜索文本段中的开始位置和结束位置的下标值。对于业务标签不属于搜索文本段中的任何子串的,这些标签是人工根据业务描述进行抽象总结出来的,此类数据其业务标签在搜索文本中的开始位置和结束位置生成为-1,表示业务标签为空。
[0044]
s3.3、把每条训练数据以“[cls]《公司名》[sep]《一条搜索结果》[sep]”这样的形式作为模型的输入数据,进而转换为数据的预训练语义向量,位置向量,类型向量(公司名的每个字对应的类型为1,搜索结果的每个字对应的类型为0),把这些向量进行叠加作为模型的输入向量,其标签值为每个字作为标签开始位置和结束位置的标签,每个字的标签值为一个二维数组,分别代表该字是否为业务标签的开始位置和结束位置。如果某个字为该业务标签的开始位置,则其标签值第一个元素则为1,否则为0;而如果某个字为业务标签的结束位置,则其标签的第二个元素为1,否则为0。对于那些业务标签为空的记录(起止位置为-1),则把输入序列中的第一个分类标识符[cls]的开始位置标签和结束位置标签都设置为1。
[0045]
s3.4、使用预训练的bert所基于的transformer来构建网络,并使用训练数据和对应标签来训练网络,得到一个判断搜索段落中每个字是否为业务标签的开始位置和结束位置的bert预训练语言微调模型。
[0046]
s3.5、在预测阶段,先把段落排序模型预测出来的前5条搜索结果,拼接成一个较长的文本篇章。然后使用滑块的方式,从头开始以128个字为一滑块区间,从前往后滑动取512个字作为一条阅读理解的输入数据,来预测每一个字作为业务标签开始位置和结束位置的概率得分。
[0047]
s3.6、把前5条搜索结果所分割成的多条数据中,取每一条输入数据中最高得分的一个起始位置和结束位置(两个位置不能对应同一个字),再比较每一条数据中所取的最高的分的起始位置和结束位置的得分之和,最终得到一个起止位置得分之和最高的位置对。
[0048]
s3.7、判断该起止位置得分之和,与代表空答案的[cls]对应的起止位置的得分之和进行对比,若该得分大于[cls]得分,则为成功抽取的业务标签,否则业务标签抽取失败,其结果为空。对于结果为空的业务标签,会进入下一步骤进行业务标签的生成。
[0049]
s4、对于无法直接抽取业务标签的企业,进行业务标签生成。具体包含以下步骤:
[0050]
s4.1、使用s2.2步骤中所标注的正例数据,作为此步业务标签抽取的训练数据。每条数据包含一段搜索结果文本和一个业务标签描述,该业务标签为从该搜索结果中直接提取或者根据标注人员从该搜索结果的描述中总结生成。
[0051]
s4.2、把公司名称加入到s4.1步骤中所描述的搜索结果的开头,作为训练模型的输入数据,其业务标签为训练模型的生成标签。把输入数据转换为预训练语义向量,位置向量,类型向量(公司名的每个字对应的类型为1,搜索结果的每个字对应的类型为0),把这些
向量进行叠加作为模型的输入向量,其标签值为业务标签所转换为的字符id序列。
[0052]
s4.3、使用预训练的cpt所基于非对称transformer encoder-decoder结构来构建网络,并使用训练数据和对应标签来训练网络,其模型生成标签为从generation decoder层输出中,进行一个beam search搜索得到的字符id序列。通过训练得到一个根据输入文本生成业务标签的cpt预训练语言微调模型。
[0053]
s4.4、在预测阶段,先把段落排序模型预测出来的前3条搜索结果,拼接成一个文本篇章,在整个篇章前面加上公司名称,然后截取最前面的512个字作为输入数据,来预测得到所生成的企业业务标签。
[0054]
实施中发现,本实施例使用从互联网爬取的3962家医药领域和集成电路领域的企业作为bert段落排序微调模型、bert标签抽取微调模型以及cpt标签生成微调模型的训练数据,训练好段落排序模型,标签抽取模型和标签生成模型。然后对从互联网信息抓取另外1000家医药领域和继承电路领域的企业进行测试,使用本实施例中bert微调模型进行段落排序,再使用bert微调模型进行标签提取,最后使用cpt微调模型进行标签生成的方式,其所生成业务标签的bleu评价指标值能达到85.6%。而在仅使用规则对互联网爬取的信息进行标签抽取时,其bleu值仅有49.8%;仅使用bert微调模型进行标签抽取时,其bleu值仅有60.3%。可见本发明中的所使用的方法和系统对企业业务标签进行抽取,其bleu评价指标值有明显的提高,其中所抽取的部分公司的业务标签如图4所示。此方案比之前用人工上网搜索、判断、总结的方式给企业打标签效率能提升几十倍,也取得较高的准确性。
[0055]
一种基于互联网信息抓取的企业业务标签挖掘的系统,所述系统包括以下模块:
[0056]
爬虫模块:该模块负责互联网信息抓取,即给定一个公司名称,根据该公司名称拼接一系列的搜索关键词,从后台自动抓取互联网搜索结果文本;该模块从百度上爬取互联网信息,并提供给后续的模型训练模块和预测模块,如图2和图3所示;
[0057]
模型训练模块:使用爬虫模块所爬取的数据,训练文本段落排序模型,业务标签抽取模型和业务标签生成模型,如图2所示;
[0058]
预测应用模块:根据给定的公司名,调用爬虫模块从百度上爬取该公司的相关信息,并调用模型训练模块所训练出来的段落排序模型、业务标签抽取模型和业务标签生成模型,最终预测出所给定公司的业务标签,如图3所示。
[0059]
(1)爬虫模块:该模块负责互联网信息抓取,即给定一个公司名称,根据该公司名称拼接一系列的搜索关键词,从后台自动抓取互联网搜索结果文本;该模块从百度上爬取互联网信息,并提供给后续的模型训练模块和预测模块。
[0060]
(2)模型训练模块:使用上一个步骤(1)中所爬取的数据,训练文本段落排序模型,业务标签抽取模型和业务标签生成模型。
[0061]
(3)预测应用模块:根据给定的公司名,调用步骤(1)的爬虫模块从百度上爬取该公司的相关信息,并调用步骤(2)中所训练出来的段落排序模型、业务标签抽取模型和业务标签生成模型,最终预测出所给定公司的业务标签。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1