首页> 中国专利> 一种应用于新闻领域的短文本匹配方法及系统

一种应用于新闻领域的短文本匹配方法及系统

摘要

本发明提供了一种应用于新闻领域的短文本匹配方法及系统,包括:步骤M1:将待匹配的机构词利用k字前缀树方法构建机构索引;步骤M2:将机构索引及待匹配的新闻按照预设格式进行存储;步骤M3:根据待匹配新闻以及机构索引进行新闻机构匹配。本发明能够在海量新闻数据中,能够快速匹配相关机构,解决新闻数据匹配效率低,提高查询效率,同时节省存储空间。

著录项

  • 公开/公告号CN112527957A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 上海大智慧财汇数据科技有限公司;

    申请/专利号CN202011424390.7

  • 发明设计人 张友豪;冯卫强;

    申请日2020-12-08

  • 分类号G06F16/33(20190101);G06F16/31(20190101);

  • 代理机构31334 上海段和段律师事务所;

  • 代理人高璀璀;郭国中

  • 地址 200120 上海市浦东新区自由贸易试验区郭守敬路498号12幢21501-21507室

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明涉及数据处理及新闻检索技术领域,具体地,涉及一种应用于新闻领域的短文本匹配方法及系统;更为具体地,涉及一种字符串处理及高并发新闻机构匹配的方法及系统。

背景技术

随着互联网的发展,在科技不断进步的形势下,数据进入大爆发时代,尤其是各式各样的新闻,层出不穷。而在海量的新闻中,如何快速获取新闻中机构的,成为新闻数据处理领域的一项重要技术。

当前新闻机构匹配技术发展过程中主要面临两个挑战:第一个是匹配时间复杂度问题,随着大数据时代的到来,新闻数据量激增,匹配特征越来越多,导致匹配过程越来越复杂;第二挑战是效率要求,随着互联网发展,数据的时效性要求越来越高,对机构匹配系统的处理能力很高的要求。

为解决上述难点,本系统采用K字前缀树方法,对千万级机构构造索引,利用Redis集群进行分布式索引存储,极大降低大空间复杂度,并具有折中后缀数和后缀数组在计算空间和搜索速度上的优点。同时采用KMP算法,提高匹配性能。

专利文献CN110321562A(申请号:201910576788.3)公开了一种基于BERT的短文本匹配方法,根据第一场景的需求,获取第一场景的第一监督任务数据,并对第一监督任务数据进行降噪处理,生成第一数据,然后从第一数据中提取第一关键词,并对第一数据和第一关键词进行转换处理,生成第一原始表达式和第一特征表达式,再分别将第一原始表达式和第一特征表达式输入至预设的短文本匹配模型,生成第一原始表达式的第一得分和第一特征表达式的第二得分,最后判断第一得分和/或第二得分是否达到预设阈值,若是,则判定第一监督任务数据属于正面样本,否则判定第一监督任务数据属于负面样本,能够在监督任务数据有限的情况下,最大限度地发挥先验知识的作用,具有较强的鲁棒性和可解释性。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种应用于新闻领域的短文本匹配方法及系统。

根据本发明提供的一种应用于新闻领域的短文本匹配方法,包括:

步骤M1:将待匹配的机构词利用K字前缀树方法构建机构索引;

步骤M2:将机构索引及待匹配的新闻按照预设格式进行存储;

步骤M3:根据待匹配新闻以及机构索引进行新闻机构匹配。

优选地,所述步骤M1包括:

步骤M1.1:机构词包括N个字,选取机构词前K字作为机构词前缀,将N-K个字作为机构词后缀;

步骤M1.2:将K字前缀词作为key值,前缀词相同的机构后缀词作为value值,构建前缀树。

优选地,所述步骤M1.2包括:当前缀词相同的机构后缀词value值列表大小超过预设值时,则进行前缀长度扩充,使每个key值的value值列表大小在预设范围内。

优选地,所述步骤M2包括:

步骤M2.1:将机构索引中K字前缀词通过哈希算法转换为哈希码并进行存储,存储为前缀词字典;

步骤M2.2:将机构索引中value值列表中的机构进行编码并进行存储。

优选地,所述步骤M3包括:

步骤M3.1:对不同格式文件的待匹配新闻进行格式化预处理,得到预处理后的待匹配新闻;

步骤M3.2:将预处理后的待匹配新闻按照预设规则进行分句和分词;

步骤M3.3:根据机构索引进行机构前缀匹配以及机构全称匹配;

步骤M3.4:对匹配到的机构进行包括数据过滤处理,输出匹配到的机构。

优选地,所述步骤M3.3包括:

步骤M3.3.1:加载前缀文件获取前缀词字典;

步骤M3.3.2:循环待匹配新闻的句子集,将每句中的K字短词与前缀词字典进行比较,当短词存在于前缀词字典中,则将包含前缀词的句子与前缀词对应的value列表进行机构全称匹配;当短词不存在与前缀词字典中,则重复执行步骤M3.3.2;当包含前缀词的句子中匹配到value列表中的机构,则将匹配结构加入结果列表中,当包含前缀词的句子中没有匹配到value列表中的机构时,则重复执行步骤M3.3.2,直至待匹配新闻匹配结束。

根据本发明提供的一种应用于新闻领域的短文本匹配系统,包括:

模块M1:将待匹配的机构词利用K字前缀树方法构建机构索引;

模块M2:将机构索引及待匹配的新闻按照预设格式进行存储;

模块M3:根据待匹配新闻以及机构索引进行新闻机构匹配。

优选地,所述模块M1包括:

模块M1.1:机构词包括N个字,选取机构词前K字作为机构词前缀,将N-K个字作为机构词后缀;

模块M1.2:将K字前缀词作为key值,前缀词相同的机构后缀词作为value值,构建前缀树;

所述模块M1.2包括:当前缀词相同的机构后缀词value值列表大小超过预设值时,则进行前缀长度扩充,使每个key值的value值列表大小在预设范围内。

优选地,所述模块M2包括:

模块M2.1:将机构索引中K字前缀词通过哈希算法转换为哈希码并进行存储,存储为前缀词字典;

模块M2.2:将机构索引中value值列表中的机构进行编码并进行存储。

优选地,所述模块M3包括:

模块M3.1:对不同格式文件的待匹配新闻进行格式化预处理,得到预处理后的待匹配新闻;

模块M3.2:将预处理后的待匹配新闻按照预设规则进行分句和分词;

模块M3.3:根据机构索引进行机构前缀匹配以及机构全称匹配;

模块M3.4:对匹配到的机构进行包括数据过滤处理,输出匹配到的机构;

所述模块M3.3包括:

模块M3.3.1:加载前缀文件获取前缀词字典;

模块M3.3.2:循环待匹配新闻的句子集,将每句中的K字短词与前缀词字典进行比较,当短词存在于前缀词字典中,则将包含前缀词的句子与前缀词对应的value列表进行机构全称匹配;当短词不存在与前缀词字典中,则重复触发模块M3.3.2执行;当包含前缀词的句子中匹配到value列表中的机构,则将匹配结构加入结果列表中,当包含前缀词的句子中没有匹配到value列表中的机构时,则重复触发模块M3.3.2执行,直至待匹配新闻匹配结束。

与现有技术相比,本发明具有如下的有益效果:

1、本发明提供了一种文本索引构建及分布式存储的方法,提高查询效率;

2、本发明提供一种字符串匹配的方法和系统,在于解决海量数据情况下,数据匹配效率低的技术问题;

3、本发明能够在海量新闻数据中,能够快速匹配相关机构,解决新闻数据匹配效率低,提高查询效率,同时节省存储空间。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为前缀树构造示意图;

图2为不同前缀长度效率比较;

图3为新闻机构匹配流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

根据本发明提供的一种应用于新闻领域的短文本匹配方法,包括:如图1至图3所示;

步骤M1:将待匹配的机构词利用K字前缀树方法构建机构索引;

步骤M2:将机构索引及待匹配的新闻按照预设格式进行存储;

步骤M3:根据待匹配新闻以及机构索引进行新闻机构匹配。

具体地,所述步骤M1包括:

步骤M1.1:机构词包括N个字,选取机构词前K字作为机构词前缀,将N-K个字作为机构词后缀;

步骤M1.2:将K字前缀词作为key值,前缀词相同的机构后缀词作为value值,构建前缀树。

具体地,所述步骤M1.2包括:当前缀词相同的机构后缀词value值列表大小超过预设值时,则进行前缀长度扩充,使每个key值的value值列表大小在预设范围内。

具体地,所述步骤M2包括:

步骤M2.1:将机构索引中K字前缀词通过哈希算法转换为哈希码并进行存储,存储为前缀词字典;

步骤M2.2:将机构索引中value值列表中的机构进行编码并进行存储。

具体地,所述步骤M3包括:

步骤M3.1:对不同格式文件的待匹配新闻进行格式化预处理,得到预处理后的待匹配新闻;

步骤M3.2:将预处理后的待匹配新闻按照预设规则进行分句和分词;

步骤M3.3:根据机构索引进行机构前缀匹配以及机构全称匹配;

步骤M3.4:对匹配到的机构进行包括数据过滤处理,输出匹配到的机构。

具体地,所述步骤M3.3包括:

步骤M3.3.1:加载前缀文件获取前缀词字典;

步骤M3.3.2:循环待匹配新闻的句子集,将每句中的K字短词与前缀词字典进行比较,当短词存在于前缀词字典中,则将包含前缀词的句子与前缀词对应的value列表进行机构全称匹配;当短词不存在与前缀词字典中,则重复执行步骤M3.3.2;当包含前缀词的句子中匹配到value列表中的机构,则将匹配结构加入结果列表中,当包含前缀词的句子中没有匹配到value列表中的机构时,则重复执行步骤M3.3.2,直至待匹配新闻匹配结束。

根据本发明提供的一种应用于新闻领域的短文本匹配系统,包括:

模块M1:将待匹配的机构词利用K字前缀树方法构建机构索引;

模块M2:将机构索引及待匹配的新闻按照预设格式进行存储;

模块M3:根据待匹配新闻以及机构索引进行新闻机构匹配。

具体地,所述模块M1包括:

模块M1.1:机构词包括N个字,选取机构词前K字作为机构词前缀,将N-K个字作为机构词后缀;

模块M1.2:将K字前缀词作为key值,前缀词相同的机构后缀词作为value值,构建前缀树;

所述模块M1.2包括:当前缀词相同的机构后缀词value值列表大小超过预设值时,则进行前缀长度扩充,使每个key值的value值列表大小在预设范围内。

具体地,所述模块M2包括:

模块M2.1:将机构索引中K字前缀词通过哈希算法转换为哈希码并进行存储,存储为前缀词字典;

模块M2.2:将机构索引中value值列表中的机构进行编码并进行存储。

具体地,所述模块M3包括:

模块M3.1:对不同格式文件的待匹配新闻进行格式化预处理,得到预处理后的待匹配新闻;

模块M3.2:将预处理后的待匹配新闻按照预设规则进行分句和分词;

模块M3.3:根据机构索引进行机构前缀匹配以及机构全称匹配;

模块M3.4:对匹配到的机构进行包括数据过滤处理,输出匹配到的机构;

所述模块M3.3包括:

模块M3.3.1:加载前缀文件获取前缀词字典;

模块M3.3.2:循环待匹配新闻的句子集,将每句中的K字短词与前缀词字典进行比较,当短词存在于前缀词字典中,则将包含前缀词的句子与前缀词对应的value列表进行机构全称匹配;当短词不存在与前缀词字典中,则重复触发模块M3.3.2执行;当包含前缀词的句子中匹配到value列表中的机构,则将匹配结构加入结果列表中,当包含前缀词的句子中没有匹配到value列表中的机构时,则重复触发模块M3.3.2执行,直至待匹配新闻匹配结束。

实施例2是实施例1的变化例

1、机构索引构建模块

步骤1:选取机构前K字作为机构词前缀,将机构词N-K个字作为后缀;

步骤2:将K字前缀词作为Key值,前缀词相同的机构后缀词作为Value值,构建前缀树;

构造效果示意图如下(以K=3为例):如图1所示,

不同前缀长度效率比较:如图2所示

步骤3:对于前缀词通用性较大的机构,即后缀Value列表过大的前缀,如上海、北京等,进行前缀长度扩充,使每个Key值的Value列表大小在自定义的范围之内。

数据存储模块

步骤1:对于上述已构建的机构前缀树,将K字前缀词转通过哈希算法转为HashCode

步骤2:将Value值列表中的机构构造编码对应关系,利用编码将字符串型转为数值型,减少存储空间,加快查询速率;

步骤3:将前缀词保存为文件存储至硬盘,将转换后的机构索引存入Redis集群;

3、新闻机构匹配模块

3.1、输入模块

本模块用于获取待匹配新闻。输入模块可适用于多种输入方式,如:复制粘贴新闻正文、数据库读取、消息队列传输、文件路径读取等;

3.2、新闻预处理模块

本模块主要对从输入模块获取到的新闻进行规范化处理

步骤1:若新闻为文件格式,如PDF,Word,HTML等,则需先进行文件转换,获取文件中的文字内容;若新闻为文本格式,则执行步骤2;

步骤2;将文本标点进行统一处理,转换为统一的标识符;剔除文本中非中文,英文,阿拉伯数字的文字;

步骤3:输出格式化后的新闻文本

3.3、文本拆分模块

步骤1:根据标点,将文本拆分为新闻句子集;

步骤2:根据机构前缀长度,将句子拆分为K字短词,进入机构匹配模块

3.4、机构匹配模块,如图3所示;

步骤1:加载前缀文件,获得前缀词字典;

步骤2:循环句子集,将每句中的K字短词与前缀词字典进行比较;若短词存在于前缀词字典中,则进入步骤3,若不存在,则继续步骤2;

步骤3:将包含前缀词的句子Sen1与前缀词Key1所对应的Value1列表进行机构全称匹配,利用KMP算法,加快匹配速度;若Sen1中匹配到Value1列表中的机构[Org1,Org2,...],则将匹配结果加入结果列表,若未匹配到机构,则返回步骤2;

3.5、输出模块

加载停用词及停用机构,将机构匹配模块的输出结果列表进行过滤,输出最终机构匹配结果。本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号