掌桥专利:专业的专利平台
掌桥专利
首页

基于自动化词库更新和前缀树结构的专有名词纠错方法

文献发布时间:2024-01-17 01:24:51


基于自动化词库更新和前缀树结构的专有名词纠错方法

技术领域

本发明属于语义识别技术领域,具体来说涉及一种基于自动化词库更新和前缀树结构的专有名词纠错方法。

背景技术

新闻文本中的专有名词常常会出现拼写、语法等错误,这些往往会给读者带来较差的阅读体验,同时还会影响新闻的真实性,若使用人工审核将会带来较高的成本,构建自动纠错的方法对提高新闻的审核效率、降低成本都有重要的意义。专有名词纠错作为文本纠错领域中较为实用的落地场景,在新闻文本的核查与纠错中有着较好的应用前景。目前主流的技术方案分为基于模型的纠错和基于规则的纠错两类,基于模型的纠错方法是利用已标注的训练语料,训练一个具有纠错功能的深度学习模型;基于规则的纠错方法是预先构建词库,通过制定纠错的规则逻辑检测出错误词,并对照音近、形近字典,搜索词库中的相关词作为正确的词。

在专有名词的纠错场景下,基于模型的纠错方法在准确率及稳定性上往往不及基于规则的方法,另一方面,基于规则的纠错方法的准确性由于主要依赖其词库,需要持续不断地通过人工的方式将新词补充到词库中,成本较高。

发明内容

本发明的目的在于提供一种基于自动化词库更新和前缀树结构的专有名词纠错方法,以解决背景技术中提出的基于模型的纠错方法在准确率及稳定性上表现不佳且基于规则的纠错方法的准确性的维护成本较高的问题。

为实现上述目的,本发明提供技术方案如下:

一种基于自动化词库更新和前缀树结构的专有名词纠错方法,所述方法包括以下步骤:

步骤1,专有名词库自动化更新;

步骤2,获取专有名词的触发词,获取关于触发词的前缀树以及专有名词的触发字典;

步骤3,基于前缀树在待纠错文本中搜寻触发词,并基于触发词典获取专有名词候选词;步骤4,在待纠错文本中截取与触发词关联的多个文本片段,并计算与专有名词候选词间的编辑距离,以最小化编辑距离为目标选取其中最长的一个文本片段执行对应的编辑操作。

优选地,所述步骤1中,专有名词库自动化更新为通过定时爬取任务获取文本数据,并通过训练后的实体识别模型进行专有名词识别,更新专有名词库。

优选地,所述步骤1包括以下步骤:

步骤1.1,爬取含有专有名词的新闻文本,并进行人工标注,包括专有名词的标注;

步骤1.2,利用NER实体识别技术,在标注文本上训练得到训练后的实体识别模型;

步骤1.3,定时爬取含有专有名词的新闻文本并通过训练后的实体识别模型进行识别,得到新的专有名词;

步骤1.4,将新的专有名词加入到专有名词库中更新专有名词库。

优选地,所述步骤2包括以下步骤:

步骤2.1,对专有名词库中任一专有名词切片并作为专有名词的触发词;

步骤2.2,基于触发词构建前缀树,基于触发词与专有名词的对应关系构建触发字典{key:[word1,word2,...]},其中key表示触发词,word表示专有名词。

优选地,所述步骤2.1为,对任一专有名词根据其词的长度L

优选地,所述步骤4包括以下步骤:

步骤4.1,基于触发词长度,在待纠错文本中对应位置截取窗口片段;

步骤4.2,在窗口片段内,基于触发词位置的偏移截取若干文本片段;

步骤4.3,并将各文本片段与候选词对比,获取其编辑距离及编辑操作;

步骤4.4,保留编辑距离最短且文本切片最长的一条编辑操作作为候选名词的最优纠错。

优选地,所述步骤4.1中,若触发词所在位置为起始位置或者结尾位置,则在触发词之前或之后截取预设长度的字符,与候选词构成窗口片段,否则在触发词之前和之后各截取预设长度的字符,与候选词构成窗口片段。

优选地,所述步骤4.2包括以下步骤:

步骤4.2.1,确定文本片段的截取长度区间,其最小截取长度为触发词长度,最大截取长度为窗口片段长度;

步骤4.2.2,基于截取长度区间选择不同的截取长度,通过窗口滑动方法对窗口片段截取文本片段。

优选地,所述步骤4.4中,若两条编辑操作对纠错文本中同一处进行编辑操作且纠错操作均一致,则只保留一条;若两条编辑操作针对的文本片段,存在被包含关系,则保留更长的一条。

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

本发明利用实体识别技术实现了专有名词纠错词库的持续自动化更新,基于专有词库的自动化更新将新词补充至专有名词库中,解决了人工更新词库成本高的问题;同时利用前缀树及窗口滑动的检错方法能实时兼容所更新的词库,解决了可复用性差的问题。

附图说明

图1为本发明的流程图。

图2为实体识别模型的示意图。

图3为前缀树的结构示意图。

具体实施方式

下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

参照图1所示,一种基于自动化词库更新和前缀树结构的专有名词纠错方法,该方法通过4个步骤来实现。

步骤1,专有名词库自动化更新:通过定时爬取任务获取文本数据,并通过训练后的实体识别模型进行专有名词识别,以更新专有名词库。

具体来说,该步骤1包括以下流程:

步骤1.1,爬取含有专有名词的新闻文本,并进行人工标注,包括专有名词的标注;

步骤1.2,利用NER实体识别技术,在标注文本上训练得到训练后的实体识别模型;

步骤1.3,定时爬取含有专有名词的新闻文本并通过训练后的实体识别模型进行识别,得到新的专有名词;

步骤1.4,将新的专有名词加入到专有名词库中更新专有名词库。

作为本发明的其中一具体实施方式,该步骤1.1的具体操作如下:从官方网站爬取含有专有名词的新闻文本1000篇,将每篇文本按照最大长度512进行切分,最终得到4000条数据,并按照8∶2的比例划分为训练集和验证集;对每条数据中所包含的专有名词、所属类别及其在文中的头尾位置进行标注;使用tokenizer分词器对各标注文本进行分词,得到对应的各文本序列(w

其中,

定义损失函数为:

其中,

该实体识别模型Bert-CRF通过梯度下降的方式在训练集上进行学习,使得上述损失函数达到最小值,经过每轮训练之后,在验证集上进行评测,保存评测效果最好那一轮的模型参数,从而得到训练后的实体识别模型。

步骤2,获取专有名词的触发词,获取关于触发词的前缀树以及专有名词的触发字典。

该步骤2具体包括以下步骤:

步骤2.1,对专有名词库中任一专有名词切片并作为专有名词的触发词;

步骤2.2,基于触发词构建前缀树,基于触发词与专有名词的对应关系构建触发字典{key:[word1,word2,...]),其中key表示触发词,word表示专有名词。

作为本发明的其中一具体实施方式,该步骤2.1中,对任一专有名词根据其词的长度L

本发明步骤2.2中,以专有名词″个人所得税″为例,″-1″表示达到搜索结尾,其树结构如图3所示。

步骤3,从待纠错文本中根据前缀树搜寻触发词,并基于搜寻到的触发词,从触发词字典中获取对应的所有专有名词作为候选词。

举例来说,若待纠错文本为″应当按时缴纳个人个人所税并进行......″,其中根据前缀树可得到触发词″个人所″,而触发词字典中记载有关于该触发词″个人所″的所有专有名词[word1,word2,...]。

步骤4,在待纠错文本中截取与触发词关联的多个文本片段,并计算与专有名词候选词间的编辑距离,以最小化编辑距离为目标选取其中最长的一个文本片段执行对应的编辑操作。

编辑距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

该步骤4具体包括以下步骤:

步骤4.1,基于触发词长度及触发词所在位置确定截取窗的长度,在待纠错文本中对应位置截取窗口片段;

步骤4.2,在窗口片段内,基于触发词位置的偏移截取若干文本片段;

步骤4.3,并将各文本片段与候选词对比,获取其编辑距离及编辑操作;

步骤4.4,保留编辑距离最短且文本切片最长的一条编辑操作作为对应的候选名词的最优纠错。

本发明步骤4.1中,若触发词所在位置为起始位置或者结尾位置,则在触发词之前或之后截取预设长度的字符,与候选词构成窗口片段,否则在触发词之前和之后各截取预设长度的字符,与候选词构成窗口片段。这里,预设长度为2个字符,该触发词″个人所″的长度为3,触发词所在位置不在句首或句尾,因此在触发词″个人所″之前和之后各截取2个长度的字符,得到窗口片段″个人个人所税并″。

本发明步骤4.2包括以下步骤:步骤4.2.1,基于触发词确定文本片段的截取长度区间,其最小截取长度为触发词长度,最大截取长度为窗口片段长度;步骤4.2.2,基于截取长度区间选择不同的截取长度,通过窗口滑动方法对窗口片段截取文本片段。这里,文本片段的最小截取长度和最大截取长度区间分别为3和7,那么滑动窗口的窗长有5个,分别为3、4、5、6、7;使用这些滑动窗对窗口片段进行滑动切片,得到多个文本片段,如当滑动窗口的窗长为3时,得到文本片段″个人个″、″人个人″、″个人所″、″人所税″、″所税并″。

本发明步骤4.3中,需要将各文本片段与各候选词进行编辑距离的计算,编辑距离的计算过程中,如果文本片段的长度大于候选词的长度,首先进行删除操作,删除起始位置和尾部位置多余的字符;文本片段的起始位置和尾部位置没有多余字符的情况下,如果需要对文本片段执行删除操作,且删除的字符不属于专有名词的字符,或者需要对文本片段执行替换操作,且替换的字符不是原字符的同音字时,则认为该文本片段与该候选词不匹配,不再进行编辑操作和编辑距离的计算,进行下一个文本片段的比对;除equal操作外,若其它操作涉及修改的字符总数大于预设阈值,则认为该文本片段与该候选词不匹配,不再进行编辑操作和编辑距离的计算,进行下一个文本片段的比对;这里该预设阈值设置为2。

举例来说,窗口片段为″个人个人所税并″对应有多个文本片段,其中一文本片段是″个人个人所税并″,而触发词″个人所″对应的所有专有名词中有一个专有名词为″个人所得税″,其作为候选词需要与文本片段″个人个人所税并″进行比较以计算编辑距离,由于该文本片段的文本长度为7,而候选词的文本长度为5,因此需要判断该起始位置和结尾位置是否有多余的字符,这里,需要将″个人″和″并″删除,此时的编辑距离为3,得到″个人所税″,然后进行插入操作,插入″得″,得到″个人所得税″,此时编辑距离由3变为4。这里,由于删除操作涉及修改的字符总数为3,超过预设阈值2,因此认为该文本片段与该候选词不匹配,不在进行插入操作和编辑距离的计算,而是进行下一个文本片段的比对。

本发明步骤4.4中,针对每一窗口片段,其获取的所有的文本片段和所有候选词进行一一比对,并选择其中编辑距离最短且文本切片最长的一条编辑操作作为最优纠错,这里需要注意的是,″一条编辑操作″包括一个或多个编辑操作,而非表示只有一个编辑操作,这里的″一条编辑操作″能将文本片段修改为对应的候选词。

进一步的,若两条编辑操作对纠错文本中同一个窗口片段进行编辑操作且纠错操作均一致,则只保留一条;若两条编辑操作针对的文本片段,存在被包含关系,则保留更长的文本片段对应的一条编辑操作。

技术分类

06120116198049