以前文的研究成果为基础,可获取学科领域网络资源集合。但这些资源结构多元,涵盖部分无效信息,必须对其开展一定形式的整理,形成计算机能迅速识别处理的结构化文本,以用于后期的资源聚合。针对数据特征进行详细剖析,考虑进行如下步骤的预处理:资源清洗、资源过滤与资源结构化表示。
学科网络资源的清洗本质上是对所采集到的数据进行清洗。数据清洗主要应用于数据挖掘、数据仓库和数据总体质量管理三个领域,其核心目标是消除数据中存在的错误、冗余与不一致等问题,从而提升数据质量。
(一)信息资源清洗框架
数据清洗是数据分析与挖掘的关键问题。特别是随着大规模数据应用需求的增加,如何提升数据质量以保障算法效能并获得稳健的实验结果,受到业界与学术界的广泛关注。面向不同的应用场景,国内外学者提出了一系列数据清洗框架,以探索数据清洗的标准化流程。根据适用范围的不同,数据清洗框架可分为领域无关与领域相关两种类型。领域无关数据清洗框架是通用型数据清洗框架,其目标是构建具有较强迁移能力的数据清洗流程;然而,由于数据清洗对数据特征具有较强依赖性,通用型数据清洗框架构建的难度相对较大,因此当前少数针对领域无关数据清洗框架的研究,实际上仅能够做到部分领域无关。领域相关的数据清洗框架则是以解决特定领域的数据清洗问题为目标。此类框架大多遵循相似的数据清洗流程,仅在异常值判定、清洗规则等方面通过个性化设计满足特定领域数据清洗需求。
学科网络资源的数据清洗框架主要围绕专利数据的清洗问题展开。例如,吴鹏等以中文专利法律状态数据为对象,提出了由基础准备、数据问题检测以及问题修正三个模块组成的基于模型检测方法的数据清洗框架,该框架将计算模型与数据清洗流程相结合,实现了数据清洗的自动化与智能化 。路霞等在总结现有数据清洗框架的设计逻辑后,提出包括基本数据处理、数据对照检验与清洗结果验证的中文专利数据地址信息清洗框架。 此外,也有学者对其他类型的学科网络数据清洗问题展开研究。例如,赵月琴和范通让围绕国家科技计划项目、地方财政科技拨款、科研机构的数据清洗问题,提出科技创新大数据清洗框架,该框架主要包括数据分析、规则制定和效果验证三个模块,能够为提高公共科技服务平台信息的质量助力 。而对于网络中所采集到的其他数据,尽管目前几乎没有研究对此类数据的清洗问题展开系统化地探索,但常用的网络数据清洗流程实际上也适用于学科网络数据清洗工作。
根据以往研究成果,本书认为学科网络资源清洗框架主要包括五个模块,即清洗需求分析、数据特征检测、清洗标准制定、清洗方法设计、清洗结果验证。
①清洗需求分析旨在明确后期数据使用过程中所期望的数据形式,以及关键信息内容(即不可缺失的数据内容),此步骤主要用于指导后续的规则设定与方法设计。
②数据特征检测的目标是对采集到的信息进行初步分析,以了解数据的基本特征以及可能存在的问题,主要用于对数据质量进行初步的判定。清洗标准制定与清洗方法设计是数据清洗的关键步骤。
③清洗标准制定主要针对数据质量存在的问题制定相应的解决方案,例如,空值数据清洗规则、异常数据清洗规则以及冗余数据清洗规则等。
④清洗方法设计则是根据所需解决的数据质量问题选择或设计相应的清洗方法,以实现清洗目标。需要注意的是清洗方法的设计与选择应当适应清洗标准的要求,以保障清洗工作的顺利开展。
⑤清洗结果验证是数据清洗的必要步骤,其目的是对清洗方法的效率和正确性进行验证与评估,并且根据验证结果对清洗标准以及清洗方法进行修正,以保证数据清洗的最终有效性,此过程可抽取待清洗数据集中的小样本开展少量多次的测试。
上述数据清洗框架可基本满足学科网络数据的清洗需求,但在具体的应用过程中,还需根据研究情景的不同对相关步骤进行针对性改进,以最大程度地提升数据质量。
(二)信息资源清洗方法
当前数据清洗方法研究主要围绕冗余数据、异常数据、冲突数据和缺失数据四类数据噪音的修正与优化问题展开。 这里对这四类数据的清洗方法进行总结,以解释数据清洗技术的发展现状。
①冗余数据清洗方法
冗余数据又可称为重复数据,指同一数据在数据集合中多次出现。冗余数据在学科网络信采集中较为常见,例如,采集特定主题的文献信息时,由于部分期刊同时采用在线出版和纸质出版两种方式,一些文献在数据库中存在多条编号不同的记录,这些重复的记录便造成了数据冗余。当前学术界提出了大量的数据清洗方法以解决数据冗余问题,这些方法的核心思想是通过对分组后的数据进行相似度比对,以判断其是否存在冗余。 具体来说,相关研究主要采用数据排序 高维数据聚类 和数据压缩 等方法对数据进行分组,然后通过测度同组数据的相似性并设置阈值判断数据冗余现象。常用的相似度测度方法可以分为基于规则的方法和基于机器学习的方法,前者主要通过多类规则的设定实现对冗余数据的过滤,后者则将冗余识别问题转化为分类问题,并通过训练相关分类模型识别冗余数据。
②异常数据清洗方法
异常数据清洗的前提是对异常数据进行检测,异常数据检测的目标是识别出不符合预期模式的数据记录,例如异常值、离群值和不一致数据等。当前往往基于统计学或者机器学习来开展异常数据的检测。其中,基于统计学的数据检测方法主要是面向数值型数据的异常情况进行数据检测,该方法通过计算相应字段的统计特征(比如最大值、最小值、平均值、标准差和置信区间)以识别数据集中的异常记录 。基于机器学习的检测方法又可进一步细分为基于分类的异常检测和基于聚类的异常检测,它们在具体的应用场景中均表现出较好的检测能力。
③数据冲突清洗方法
数据冲突指数据记录之间存在不一致现象,该问题在机构地址信息的清洗过程中较为常见。例如,同一个城市在两条数据记录中可能指向不同的省份,而实际情况中城市与省份应当一一对应。当前相关学者提出了一系列的数据冲突检测方法,包括基于编码规则、函数依赖或空间矢量的方法,以解决不同类型数据集的冲突问题。 基于编码规则和函数依赖的方法主要适用于数据属性冲突的检测,前者通过规则匹配识别冲突数据,而后者则通过生成依赖函数实现对数据集的过滤,从而识别并解决数据冲突。 与上述方法不同,基于空间矢量的方法则更加适用于几何冲突的检测。
④数据缺失清洗方法
数据缺失通常包括两种情况,即数据空缺或无效。从学术相关社交媒体采集到的数据大多会存在数据缺失问题,因此数据缺失同样是学科网络信息资源清洗需要重点关注的问题。对于数据空缺问题,数值型数据可以根据实际需求从原数据集中筛选并计算相关记录的平均值、中间值或其他概率统计函数值,用于替代空缺数据,而非数值型数据则需通过标记或者根据研究设计对其进行删除。对于数据无效问题,则可使用如FAHES系统、DiMaC系统的检测模型对无效值进行识别。
信息资源清洗后将获取纯文本数据,具有统一的结构,但还有如垃圾文本、超短文本、领域不匹配文本等会对聚合效果产生影响的噪音类信息,需通过信息资源过滤对相关内容进行处理。
(一)超短资源过滤
超短资源具体指文本长度极短的网络信息内容,例如一些带有情感色彩的短语(“给力”“点赞”等)。该类信息通常与研究内容无关,属于噪音数据。超短资源过滤的具体步骤包括:(1)对过滤的阈值进行设置;(2)对每个待过滤文本的长度开展统计;(3)对文本长度低于阈值的文本(即超短文本)进行删除。在此过程中,阈值的确定可采用抽样分析的方法进行,即通过人工标注提取部分超短文本,并统计标注文本平均长度作为阈值;值得注意的是,需要在测试数据上对阈值区分能力进行评估。
(二)垃圾资源过滤
垃圾邮件识别领域最早关注垃圾文本过滤问题,相关研究常用基于用户与基于内容的识别方法实现垃圾文本过滤。(1)可面向用户特征、用户行为进一步划分面向用户的识别技术。前者通过分析邮件发送用户身份,实现对垃圾邮件的识别,后者则根据邮件发送与接收双方的使用行为获取邮件特征,以实现垃圾邮件识别。(2)基于内容的垃圾邮件识别则大多通过规则识别和文本分类算法实现。 前者通过分析垃圾邮件文本特征进行相关规则制定,然后通过规律匹配识别垃圾邮件;后者则通过支持向量机(SVM)、贝叶斯(Bayes)、KNN等文本分类算法实现对正常邮件与垃圾邮件的分类。对于网络学科资源而言,由于其关联用户信息缺失或获取难度较大,并且信息内容本身包含的垃圾文本有限,相关研究通常采用基于规则的垃圾文本识别方法进行文本过滤。
(三)领域不相关资源过滤
领域不相关资源指不属于目标分析领域但具有学术价值的资源。该类资源在当前研究问题中属于噪音数据,需将其进行过滤以保证研究结论的可靠性。 鉴于对领域不相关资源的识别主要是将待过滤文本区分为领域相关、领域不相关的资源,因此可运用文本分类技术对领域不相关资源实施过滤。类别特征词集是分类模型的重要组成部分,也是通过文本分类过滤领域不相关资源的核心。现有文献指出当前最为普及的三种领域特征词集获取方法涵盖如下:
①以待过滤文本为基础,获取高频词构建领域特征词集。其关键在于对文本的准确分词,通常需要人工与词典相结合的方法实现。
②以相关领域的研究文献为基础,获取一定数量的自标引关键词构建领域特征词集。其相关提取技术成熟且操作简单,但提取过程中可能出现较多通用词(如“模型”“方法”等),需要对提取到的词语进行筛选。为此,学界提出了对应提升策略,例如,胡昌平等指出不可仅基于高频关键词来表征领域 ;陈果等基于在领域内外关键词出现的概率抽取领域特征词 。
③基于现有背景知识库、领域词典获取特征词集。获取的词集有一定的质量保障,但不是面向全部领域均有实时更新的词典或知识库能够支持相关应用。
由于清洗、过滤后的数据仍归属非结构化数据,计算机不能直接识别处理,因此还须开展进一步的结构化,以满足后续深度聚合与信息服务对数据结构的要求。尽管目前可采集的网络信息资源包括文本、图片、视频等多样化的数据形式,但在实际的数据分析与应用过程中最常规的做法仍然是将多媒体内容转化为文本类型的数据,以实现统一化的处理,为此本节主要介绍两类常用的文本结构化表示模型:离散表示模型和分布式表示模型。
需要注意的是,去除停用词、同义词归并、词干还原(stemming) 、词形归并(lemmatization)等基础的预处理步骤应当在文本结构化表示前完成。Silva和Ribeiro的研究指出相较其他预处理方式,去除停用词对后续文本的进一步深度分析具有更大的影响。
(一)离散表示模型
离散表示模型将文本中的词语视为相互独立的个体,然后根据文本中词语的出现特征将文本进行向量化。经典的离散表示方法有one-hot表示、词袋表示和n-gram表示。
(1)one-hot表示
one-hot编码又称为独热编码,是一类传统的离散表示方式。one-hot的基本思想是将词表中的每一个词都表示为一个长度等于词表大小的向量,向量中目标词对应的位置设置为1,而其余位置则为0。例如,词表中包含了“情报学”“图书馆学”和“档案学”三个学科名称,那么按照词表中学科的顺序使用one-hot编码即可获得以下编码矩阵(如表4-1),其中,“情报学”可使用向量[1,0,0]进行表示。
表4-1 one-hot表示模型
尽管one-hot编码的实现难度较低,但词表规模的增加将造成数据稀疏和维度灾难。此外,由于one-hot没有考虑词语的相对顺序以及词语间的语义关联,难以对一词多义和一义多词的问题进行处理。
(2)词袋表示
词袋模型将文本视为多个独立特征的集合,同时假设特征间的先后顺序和关联不存在。特征往往由文本分词结果中的词语构成,此外,相关学者也将具有完整含义的段落、句子、字符串等视为特征。词袋模型传统涵盖布尔模型、概率模型、向量空间模型。
①布尔模型
布尔模型是最基础的词袋模型,向量中每一个维度代表了处于该位置的特征是否在目标文本中出现,如果该特征存在于目标文本中,则相应维度设置为1,否则为0。例如,由“网络信息资源深度聚合与服务研究”和“网络信息资源的采集方法”两段文本构成的语料集,经过分词及去停用词处理后,可得到“网络信息资源”“深度聚合”“服务”“研究”和“采集方法”五个特征,使用布尔模型可将每个文本表示为表4-2中的向量。
表4-2 布尔模型
布尔模型在语料相对充足的情况下能够满足简单自然语言处理任务的需求,但由于其并未对特征的重要程度进行区分,因此该模型的准确率相对较低。
②概率模型
概率模型是一种基于贝叶斯理论、以文本中各个特征词出现的概率表示文本的文本表示模型。在概率模型中,文本被表示成文本中各词向量出现概率的乘积,往往通过对文本集的线性扫描便可获取概率模型参数,从而建立基于概率模型的文本表示。
③向量空间模型
在1975年,现代信息搜索之父Salton提出向量空间模型,以匹配信息检索中的文本和问题 ,因为其表征的非结构化文本的强大能力,在文本挖掘、自然语言处理等领域得到大量应用。基于模型的基础思想,每个文本皆能转化为如公式(4-1)表现的形式,其中D j 指代文本集中第j个文本,t i 指代文本集中第i个特征,w ij 指代特征i在文本j内的权重值,相关研究通常使用TF-IDF权重加权特征项。 在向量空间模型中,特征间被假设相互独立,进而忽视了文本的特征语义关联、上下文环境,为此受到学界的质疑,同时开展了改进措施研究。核心提升措施是主题图、领域本体等相关背景知识库的引入,同时采用特征在背景知识库中的语义关联对特征在文本中的权重值进行调整,从而改进传统模型。
需要注意的是上述两类词袋模型均忽略了词语出现的顺序及其对文本表示的影响。
(3)N-gram表示
N-gram是一类统计语言模型,其将目标文本分词后得到的特征集合在顺序不变的情况下进行大小为N的滑动窗口操作,以形成长度为N的特征序列(gram)。然后,根据阈值对gram进行筛选作为特征向量维度,并统计每一个被选gram出现的概率,以生成用于表示文本内容的向量。N-gram假设一个词的出现仅与它前面的n-1个词有关,因此目标文本出现的概率为所包含的所有词语出现概率的乘积。
最常用的N-gram模型包括二元的Bi-gram(2-gram)和三元的Tri-gram(3-gram)。假设目标文本T由n词语(w)构成,即T =w 1 w 2 …w n ,那么采用Bi gram计算文本T出现的概率可得到:
其中,P(w i |w i 1 )为目标词w i 出现的条件概率。Tri-gram的计算方法以此类推。
N-gram模型常被用于评估目标文本的合理性,但随着参数N的增加,特征词表将迅速膨胀使得整体计算性能降低,并且数据稀疏问题也将导致在实际应用中难以对目标文本的语义进行测量。
总体来说,离散表示模型可将文本抽象为特征集合,以便于计算机处理及贮存,很大程度上实现文本分析效率的提升。然而,因为特征间的关联被忽视,背离了客观的现实,使其语义表征的能力不强,所以学界不断发展语义表征能力更强的相关模型。
(二)分布式表示模型
分布式表示以分布假说(distributional hypothesis)为前提,认为语义相近的词语可能会在相似的语境中出现。 与离散表示模型不同,分布式表示需要对语料文本进行训练,并根据训练结果使用低维向量对目标文本进行表示。基于神经网络的分布式表示模型是目前最常用的模型,其中Word2vec(包括CBOW和Skip-gram两类模型)、GloVe以及BERT更是被广泛应用于不同的研究情景。
(1)Word2vec
Word2vec是由Mikolov等提出的分布式表示工具包,主要包括CBOW(Continuous Bag-of-Words)与Skip-Gram两类分布式表示模型。 CBOW与Skip-gram均采用包括输入层、隐藏层和输出层的三层神经网络结构(如图4-1),但两者的内在原理存在差异。
图4-1 CBOW模型与Skip-gram模型
CBOW模型的基本原理是在给定滑动窗口(skip_window)s后,根据目标词w(t)的上下文,即w(t-s),w(t-s+1),…,w(t+s-1)和w(t+s),对其出现概率进行预测。预测过程通常使用对数似然函数:
其中,Context(w t )为目标词w t 的上下文,该模型本质上是w t 出现的条件概率。
与CBOW模型的原理正好相反,Skip-gram模型则是在已知目标词w(t)的情况下,对其上下文进行预测。Skip-gram模型的目标函数为:
上述两类表示模型均可将目标文本映射于低维连续向量,进而根据生成向量的距离测度获得目标词语之间的语义相似度。
(2)GloVe
GloVe模型是一种基于矩阵分解的全局词向量模型,其首先为语料库中所有的词构建共现矩阵获得单词之间的关联,然后利用共现关系矩阵中非零元素进行模型训练,最终获得目标词的词向量。与CBOW和Skip-gram模型相比,GloVe模型的运行效率较高并且能够充分运用所有的语料资源 。
(3)BERT
BERT(Bidirectional Encoder Representation from Transformers)与以往采用单向语言模型不同,其创新性地引入Masked Language Model(MLM)进行预训练,并采用Transformer组建进行模型构建 ,其在训练过程中会综合考虑目标词的完整上下文信息,用于对参数的调节,从而实现深层双向语言表示。
BERT模型只有经过预训练和微调两个步骤才能用于目标文本的结构化表示。预训练过程是以大规模文本语料为基础,通过自监督训练生成深层次文本向量,并获得预训练模型;微调过程则是根据具体的任务要求对预训练模型进行调整,以获得最终的表示结果。由于BERT模型在多种自然语言任务中均有较为优异的表现,当前大量学者不仅将其直接应用于文本的结构化表示,还根据个性化的需求对基础模型进行改进,并形成了一系列的优化模型。
至此,即可完成对学科领域网络资源的预处理,通过对数据的清洗、过滤与结构化表示等步骤,将获取到的网络资源转化成结构化的文本数据,并存入对应的数据库中,为后面学科资源聚合与导航等提供数据支持。