基于知识图谱的结构化数据分类算法研究*
2022-09-07王胜漪刘汪洋蔡惠民
王胜漪,刘汪洋,邹 佳,蔡惠民
(中电科大数据研究院有限公司 提升政府治理能力大数据应用技术国家工程实验室,贵州 贵阳 550081)
0 引言
在大数据发展的今天,政府数据资源的开放共享是大数据产业蓬勃发展的关键。我国的数据资源分类管理体系还不健全,这是阻碍政府数据开放共享的重要因素之一。政府数据的分类管理有助于理清数据管理和共享开放的义务及权利,帮助政府加快推动政务信息系统互联及数据共享,增强政府公信力,为大数据产业发展提供安全支撑。目前我们需要聚焦于政府数据的自动分类。
政府数据存在多种类型,如:结构化库表数据、非结构化文本数据以及多媒体数据等,本文针对政府领域结构化库表数据展开深入研究,探讨文本的自动分类算法。尝试通过知识图谱解决标签数据少及数据交叉性问题。
1 文本分类算法
按照领域划分,文本分类任务可分为主题分类、情感分类、问题分类等。按照计算方法划分,文本分类任务可分为传统文本分类和基于深度学习的文本分类。传统文本分类中特征选择对分类结果至关重要。靳一凡等人提出了基于频繁项特征扩展的短文本分类方法,通过FP-growth 算法将扩展特征权重加入到特征空间,训练SVM 实现短文本分类。黄春梅等人提出将词袋模型和TF-IDF 结合,实现短文本分类,通过词袋模型提取词频矩阵,结合TF-IDF 提取文本特征实现分类。但传统文本分类算法不适用于政府结构化库表数据中的大量的交叉性数据。
近几年,基于深度学习的文本分类方法得到了广大研究学者的欢迎。Kim提出TextCNN 模型,通过卷积神经网络学习句子特征实现文本分类。Jacob提出了非常经典的BERT 预训练模型,在大规模语料库上实现模型预训练,基于下游NLP 任务的数据集对BERT 预训练模型进行微调。刘硕等人提出一种基于混合字词特征深度神经网络模型的中文短文本分类算法。深度模型虽然能较好地捕捉文本中的语义信息,但深度模型需要大量的训练数据集,对政府结构化库表数据的小样本数据无法完成模型训练。
政府领域结构化库表数据的特点是标签数据少、数据交叉多,而传统文本分类模型和深度学习模型均不适用于该类数据。
2 知识图谱
知识图谱是结构化的语义知识库,以符号形式描述物力世界中的概念及其相互关系,揭示各领域知识的动态发展规律,为领域研究提供可解释性数据。现如今,知识图谱已经成为推动人工智能和互联网发展的核心技术之一。
按知识图谱的构建领域进行划分,分为通用知识图谱和领域知识图谱。通用知识图谱属于百科类图谱,互联网上发布有大量百科类图谱供学者们使用,常用的有DBpedia、YAGO、Freebase等。领域知识图谱指特定应用领域的图谱,如:金融知识图谱、自然灾害应急知识图谱、医学知识图谱等。通过信息抽取、知识融合、知识推理等技术实现高精度、高效率的知识图谱自动构建,为知识图谱的大量应用提供技术支撑,如语义搜索、智能问答、个性化推荐、辅助决策等。
3 基于知识图谱的文本分类算法
3.1 算法结构
针对政府结构化库表数据中存在的标签数据少、数据交叉多等难题,本文采用结合政务知识图谱、BERT 模型以及基于TF-IDF 的主题权重模型共同实现政府数据自动分类,如图1所示。
图1 本文分类算法流程图
整个分类算法可划分为四个模块,分别是分词模块、KG-BERT模块、KG-STopic(KG-Single Topic)模块和KG-MTopic(KG-Multiple Topic)模块。分词模块采用工具将输入数据划分为单个词组;KGBERT 模块主要针对政务知识图谱中查询无主题的库表数据进行分类;KG-STopic 模块对单主题数据进行分类;KG-MTopic 模块是通过TF-IDF 实现多主题数据分类。
3.2 政务知识图谱的构建
政务知识图谱是依据《综合电子政务主题词表》构建所得,该词表是我国第一部按国家标准编制的,是目前国内外收纳词汇量最多、专业覆盖面最广的综合性电子政务主题词表。
该词表分为范畴表和字顺表,共收录20252 条关键词,范畴索引划分为21 个大类、132 个二级类和37个三级类。通过分词工具把词表中的全部实体信息抽取出来,再结合范畴表中三个级别的类型划分,依次将抽取出来的实体设定为头实体和尾实体,实体间的关系为“包含”和“被包含”的关系,呈现出网状关系型结构。并采用词袋模型取前后实体指称项的词构成特征向量,通过对比余弦相似度达到聚类的目的,解决实体冗余、实体消歧的问题。
3.3 KG-BERT分类模型
本论文在结合知识图谱与BERT 模型基础上,通过数据扩充增加数据量用以训练BERT 模型,再结合TF-IDF 和LDA 模型共同实现政府结构化库表数据的分类任务,算法流程如图2所示。
图2 KG-BERT算法流程图
KG-BERT算法流程具体步骤如下:
⑴结合政府领域核心词库完成jieba 分词,划分出每条数据的核心词汇;
⑵将核心词依次输入知识图谱,查询唯一主题词过滤掉无主题词和多个主题词的数据,得到ST(Single Topic)数据集;
⑶通过政府数据匹配规则修正ST 数据集,得到PM(Preliminary Modified)数据集;
⑷ 结合政务知识图谱和LDA(Latent Dirichlet Allocation)模型实现数据扩充,得到DR(Data Replacement)数据集;
⑸融合PM 数据和DR 数据,得到经扩展后的KE(KG Expansion)数据集;
⑹通过KE 数据集训练BERT 模型,完成文本分类任务。
以上步骤⑷中设定k=10作为扩充停止条件,遍历所有主题词,若该词在政务知识图谱中存在对应的关联关系,则实现数据的词替换。数据匹配规则是修正通过知识图谱得到的唯一主题词数据,提高训练集标签准确率。
为了体现出匹配规则和扩充算法的有效性,本文选取结构化库表数据中的十个类别数据作为实验数据,包含3600 条无标注数据,通过除去无主题和多主题数据后得到1500条唯一主题数据,经数据扩充后得到3284条有效数据,并将以上步骤得到的数据分别通过BERT、CNN、RNN、LSTM 完成实验对比,详细测试结果如表1所示。
表1 不同数据集下的BERT模型分类准确率%
与其余三个模型相比,BERT 模型在政府库表短文本数据分类任务中表现更佳。从训练集上看,添加匹配规则和数据扩充的训练集在模型上表现更好。其原因在于通过初选出来的训练集存在较大误差,对模型训练存在误导,而纠错后的数据更接近真实标注结果,通过图谱扩充后模型会更好的拟合真实数据。
3.4 基于TF-IDF的多主题权重判定模型
针对在图谱中查询到多个主题的情况,本文提出基于TF-IDF 的多主题权重判定模型,通过计算多主题的TF-IDF 权重,选取最具有代表性的主题词,从而达到政府数据分类的目的。
TF-IDF是一种统计方法,用以评估一个词语对语料库中某份文件的重要程度。在一份文件中,词频(Term Frequency,TF)是指某个特定词语在文件中出现的次数,并考虑到词频计算的合理性,需要对词频进行归一化处理,可表示为:
其中,n是词语t在文件d中出现的次数,分母则表示文件d中出现的所有词语之和,公式⑴表示关键词在文档中出现的频率。
逆文件频率(Inverse Document Frequency,IDF)是衡量一个词重要性的度量,可表示为:
其中,|D|表示语料库的总文件数,分母表示包含词语ti的文件数目,即表示n≠0 的文件数目。通常,为了避免分母为零的情况,分母一般采用1+{:t∈d} 。最终,TF-IDF的公式为:
本文利用TF-IDF 计算主题权重,选取权重最大值作为文本类型,步骤如下:
⑴对每个文本进行关键词扩展;
⑵将拓展后的数据进行jieba分词操作;
⑶将分词后的结果再输入政务知识图谱进行主题查询;
⑷由原始主题和拓展后的主题计算出每个原始主题的TF-IDF权重;
⑸对各原始主题的TF-IDF 权重进行排序,选取权重最大主题作为原数据类别。
以上步骤⑴中,通过政府数据基础库进行关键词扩展。步骤⑵中,为了更准确的衡量各主题的重要性,TF-IDF 权重计算公式如下,其中,S表示扩展主题与原始主题相同的个数,n为扩展主题数,并将IDF设定为经验取值100。
4 实验与分析
4.1 实验数据来源
实验数据来源于某市政府库表数据全量目录,共计106698 条无标签数据。抽取1500 条数据作为测试数据。数据类别为:交通运输、医药卫生管理、企业、计划生育、机构编制、法院、统计、经济管理、政府工作、金融。该1500 条数据均由人工进行准确标注,其样例如表2所示。
表2 某地级市政府数据样例
本实验数据包含各“委办局名称”、“系统名称”、“表名称”以及“字段名称”,各名称之间使用空格作为分隔符,每一行包含数据和与之相应的分类标签。数据间存在严重的交叉性和标签缺乏,对自动分类存在一定难度。
4.2 实验结果及分析
为分析各个模块对整个分类算法的影响程度,本实验分模块进行实验统计。以1500 条测试数据作为输入,统计出每种分类方法的精确率、召回率和F1值,如表3所示。
表3 不同模块的实验结果%
采用KG-STopic 进行数据过滤实现分类的准确率最高,这归根于政府数据的强领域特征。与此同时,由于KG-BERT 模型采用的扩充训练集,使得模型在处理多主题边缘数据时效果欠佳。总的来说,结合知识图谱的融合模型很大程度上依赖于KG-Stopic模块,同时在KG-BERT 和KG-Mtopic 的协同下达到了理想的分类效果。
如图3、图4、图5 分别统计了三种算法在各类别上的精确率、召回率和F1值。其中“无扩展分类算法”指采用无扩展数据训练的融合方法,“扩展分类算法”指采用扩展数据训练的KG-BERT。
图3 三种分类算法精确率对比
图4 三种分类算法召回率对比图
图5 三种分类算法F1值对比图
从以上分类结果对比图中不难发现,三种分类算法结果相比,本文算法的精确率、召回率和F1 值均有提高,并且本文多模块融合算法和无扩展分类算法在三个评价指标上均高于单一模块的扩展分类算法,说明多模块的混合策略更适用于政府结构化库表数据分类。与无扩展分类算法相比,本文算法提高了文本分类准确率,并在大多类别上表现出良好的分类效果,更加肯定了本算法在政府结构化库表数据分类中的适用性。
5 结束语
本文采用KG-BERT、KG-STopic、KG-MTopic 多模块结合的方法实现政府结构化库表数据的自动分类。其中结合政务知识图谱的KG-BERT 是本文研究重点,KG-BERT 相较与CNN、RNN 模型而言分类效果更好,经实验表明,本文提出的多模块结合方法在数据分类任务中表现较好,即本文算法对政府结构化库表数据达到良好的分类效果。但经扩展后的数据与真实数据仍存在差异,这也是KG-BERT 模型待解决的问题,后续我们会将工作重点投入到有效的数据扩展中,提高模型分类精度。