地平线扫描数据消重去噪系统设计
2023-12-13鄢天安张文强吴思张英杰
鄢天安, 张文强, 吴思, 张英杰
(中国科学技术信息研究所, 工程中心, 北京 100038)
0 引言
目前互联网中存在大量的数据冗余、数据缺失和数据异常的情况[1],造成地平线扫描搜集的数据质量较低,无法形成高质量的数据库。为了提升地平线扫描数据质量,需要去除数据库中造成数据冗余的重复数据以及干扰正常数据的噪声数据。通过降低重复数据和噪声数据比例来更好地利用数据,以便于数据分析师和科研人员能从数据中预测技术发展趋势和寻找产业生命周期演化规律[2-3]。
本文聚焦地平线扫描数据,改进符合多源异构数据特征的重复数据和噪声数据检测算法,采用SOA架构设计地平线扫描数据消重去噪系统。系统可以通过数据类型不同,实现重点科技领域所采集的专利数据、期刊数据、论文数据和舆情数据的重复数据和噪声数据检测工作,降低多源异构重复数据和噪声数据比例,来提升地平线扫描所获得的海量多源异构数据的整体质量,为后续产业分析、技术识别做好数据层面的支撑。
1 关键技术概述
1.1 Java技术
Java技术是一门面向对象编程语言,Java技术完善了C语言和C++语言的不足之处,Java技术能够实现更好的跨系统性,减少不同操作系统进行再次编写的繁琐步骤,实现一次编译处处使用的效果。Java编程语言的安全系数较高,因此企业在开发和设计计算机软件时大多使用Java编程语言,从而为企业内部信息化管理提供支持,所以Java编程语言在企业中广泛地被应用[4]。
1.2 基于可变长度数据分块的重复数据检测方法
重复消重方法是一种基于文件或指纹提取匹配的数据冗余消重方法[5-6],主要思路是通过比较系统中文件和数据库的Hash值来识别相同的数据内容。将数据对象记为S={S1,S2, …,Sn},根据数据集来源,对数据对象关键字段内容按照单词空格分为不同长度的数据块,得到数据块集C= {C1,C2, …,Cn},接着对不同数据块进行比对。若不同数据块长度不同,则数据对象S1和数据对象S2不重复。反之,若数据块长度相同,比较数据块内容。若数据块内容不同,则滑动数据块比较窗口,从前至后进行比较。执行完毕后,开始对数据对象S1与数据对象S3的重复内容进行检测。
1.3 基于TF-IDF的噪声数据检测方法
TF-IDF方法是一种常用的数据挖掘技术,用以评估数据集或文件集的其中一条数据和一份文件的重要程度[7]。TF代表词频,可以表示关键词在文本中出现的频率。IDF代表逆文档频率,可以说明关键词的区分能力。首先,对文本进行预处理,将半结构化和非结构化文本转化为结构化文本,利用分词系统去除停用词,将数据划分为单词。通过不同单词出现的次数与全文词的比值,得出TF值。接着,根据文本中数据量除以包含该词语的数据数量的值取对数,计算IDF值,最终得到TF-IDF值,根据值的大小对关键词的重要性进行划分。
2 系统设计与实现
2.1 系统建设思路
地平线扫描数据消重去噪系统是基于SOA架构研发的轻量化Web应用系统,目的是解决地平线扫描数据中存在重复数据和噪声数据,无法为重点领域产业分析和颠覆性技术识别提供有效支撑的问题。系统以地平线扫描科技领域公开数据为对象,能够实现重点科技领域公开数据的消重去噪工作。系统与地平线扫描实际业务关联,不同类型用户可按照实际需求,对所获取的数据进行重复数据、噪声数据的检测和删除。通过系统的使用和推广,可以在数据挖掘分析前,优化和提升数据质量[8-9],实现对4种类型的地平线扫描数据消重去噪工作。系统可通过地平线扫描主平台页面,与用户信息关联,依据用户自身权限进行重复数据和噪声数据检测,实现对不同领域、多种结构数据的地平线数据消重去噪工作。
2.2 总体框架设计
系统按照轻量化、开放性的设计原则,应用SOA框架体系设计地平线扫描数据消重去噪系统,建立包括数据层、逻辑层和应用层的3层框架结构,如图1所示。数据层作为基础层,能为系统运行提供基本的数据资源,主要包括汇集的网络采集数据和自购数据,形成专利数据库、期刊数据库、论文数据库以及舆情数据库。逻辑层为中间层,作为系统核心,提供业务逻辑,能够提供数据消重、数据去噪、视图模型等服务,直接为应用层提供各实施技术。应用层是用户和系统交互层,能直接为用户提供用户信息管理、数据导入、数据下载、重复数据处理、噪声数据处理、统计分析等系统所有服务。
2.3 数据库设计
通过对网络采集数据、自购数据的主要字段进行整合后,形成地平线扫描重点科技领域自建数据库。系统数据库表包括用户信息表、用户权限表、专利数据表、期刊数据表、论文数据表、舆情数据表等6个表。
2.3.1 专利数据表设计
专利数据表设计如表1所示。
表1 专利数据表设计
2.3.2 专利数据表创建
专利数据表创建如下。
CREATE TABLE `patent` (
`id` varchar(255) DEFAULT NULL,
`ApplicationNumber` varchar(64) DEFAULT NULL,
`ApplicationDate` varchar(64) DEFAULT NULL,
`PublicationNumber` varchar(64) DEFAULT NULL,
`PublicationDate` longtext,
`GrantNumber` longtext,
`GrantDate` longtext,
`Title` longtext,
`Abstract` longtext,
`MainClaim` longtext,
`LegalStatus` longtext,
`IPC` longtext,
`IPCFirst` longtext,
`ApplicationType` longtext,
`PublicationType` longtext,
`ApplicantName` longtext,
`Patentholder` longtext,
`PatentAddress` longtext,
`ApplicantContryCode` longtext,
`InventorName` longtext,
`AgentJiGou` longtext,
`AgentName` longtext,
`InventroCoutryCode` longtext,
`InventrorProvinceCode` longtext,
`PriorityApplicationNumber` longtext,
`PCTApplicationNumber` longtext,
`PCTApplicationDate` longtext,
`PCTPublicationNumber` longtext,
`PCTPublicationDate` longtext,
`EntryDate` longtext,
`领域` longtext,
`CPC` longtext,
`USPC` longtext,
`PatentCited` longtext,
`NonPatendCited` longtext,
`CitedTimes` longtext,
`InventorAddress` varchar(255) DEFAULT NULL,
`SimplePatentFamilyID` longtext,
`SimplePatentFamilyMembers` longtext,
`PatengAssignmentInfo` longtext,
`PatentLicenseInfo` longtext,
KEY `id` (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 mb4;
2.4 系统功能
地平线扫描数据消重去噪系统包括用户信息管理、数据导入、数据下载、重复数据处理、噪声数据处理、统计分析等六大功能模块,可以实现对地平线扫描工作中多源数据类型识别、多源数据导入和分类、数据处理后数据文件下载、多源异构重复数据检测和删除、多源异构噪声数据检测和去除以及数据检测结果统计分析等功能性服务。为简化系统操作流程,便于用户理解与使用,对与未进行、已进行、处于进行中的按钮进行不同颜色的展示,通过按钮颜色变化来表示任务状态和可进行的操作。
2.4.1 用户信息管理
系统能支持对不同用户权限的管理。管理员用户具有管理系统内普通管理的权限,能够查看普通用户的个人信息和全系统重复数据和噪声数据处理情况,还可以增加和删除普通用户,以及限制普通用户使用系统。普通用户能修改个人信息,查看个人重复数据和噪声数据处理的情况。
2.4.2 数据导入
本系统主要支撑地平线扫描监测重点领域多源异构数据的导入。为保障系统能准确进行多源数据消重去噪工作,平台采用多源数据主动导入操作。对不同来源数据根据数据类型不同分别导入。在导入数据文件过程中,在系统页面中可以查看已识别导入的多源数据信息,包括数据名称、数据类型、数据来源、数据大小、导入状态、导入时间。在导入数据后,可以使用系统的消重去噪功能。
2.4.3 数据下载
数据文件下载提供对已经进行重复数据删除和噪声数据删除的文件下载。根据导入的源文件名称,消重后的数据存放在空文件中,下载新文件名为源文件名_消重。降噪后的数据存放在空文件中,下载新文件名为源文件名_降噪。用户对数据消重去噪后,可以根据自身需求选择较高质量数据文件下载。
2.4.4 重复数据处理
本功能对于已经导入多源异构数据,使用基于可变长度数据分块的重复数据检测方法,通过导入文件的数据来源,分别对数据内容、摘要等关键字段进行重复数据检测和消除,可以去除完全相同的多源数据。在进行数据消重时,根据数据处理进度条,可以实时跟踪重复数据检测进度。
2.4.5 噪声数据处理
噪声数据检测功能可以对文本数据进行检测,筛选出与文本中其他数据关联性不大的或存在较大区分度的数据。对导入的文本数据,根据数据来源不同选择不同的关键字段进行文本相似度检查,计算出文档中数据的TF-IDF值,接着根据TF-IDF值的大小进行噪声数据的划分。
2.4.6 统计分析
统计分析模块主要包含对系统使用情况统计、重复数据检测和消除的统计、噪声数据检测和删除的统计等3部分。系统使用情况统计包括使用系统的用户情况、系统已导入的文件情况、系统已处理数据的情况。重复数据检测和删除的统计包括检测和消除的重复数据量、分来源的重复数据消除情况、重复数据消除率。噪声数据检测和消除统计包括检测和消除的噪声数据量、分来源的噪声数据消除情况、噪声数据去除率。
3 系统测试结果
根据地平线扫描数据所属重点科技领域进行分类,选取人工智能领域的测试数据进行消重去噪。首先对数据类型进行识别,系统识别数据共计4000条,专利数据、期刊数据、论文数据、舆情数据各1000条。在进行重复数据检测后,经过系统处理和分析得出:人工智能领域检测重复数据360条,人工智能领域重复数据检测率为9%;噪声数据296条,人工智能领域噪声数据检测率为7.4%。具体运行情况如表2所示。
表2 地平线扫描数据消重去噪系统运行结果
4 总结
本文结合地平线扫描数据特点,针对数据重复、数据噪声的问题,利用SOA架构的设计思想,实现了地平线扫描数据消重去噪系统的设计与开发。在系统试运行期间,进行4000条重点科技领域数据的消重去噪工作,删除重复数据360条、噪声数据296条,数据处理共耗时2.52 ms,证明了系统的可靠性和稳定性,能够有效提升高质量数据比例,为后续重点领域产业分析、颠覆性技术识别提供高质量数据支撑,实现了预期目标。