一种基于AC自动机的化学品名称检索和抽取方法及装置制造方法及图纸

技术编号:30520895 阅读:20 留言:0更新日期:2021-10-27 23:04
本申请为一种基于AC自动机的化学品名称检索方法,包括:获取所有化学品名称,生成所有化学品名称对应的名称id并记录;将所有化学品名称逐字依次加入到字典树中形成化学品名称字典树,建立所述化学品名称字典树中每个非叶子节点的索引字典并合并相同的索引字典;为化学品名称字典树设定一个指针,所述指针初始状态指向化学品名称字典树的根节点;检索时,所述指针从根节点向子节点遍历查找,直至指针指向叶子节点,从叶子节点返回输出所检索化学品名称的名称id,实现精确或者模糊查找所有的化学品名称,不仅检索全面而且效率高,有助于化学品知识图谱和知识问答库的建立,进一步完善化学品数据库,给相关从业人员提供指导。给相关从业人员提供指导。给相关从业人员提供指导。

【技术实现步骤摘要】
一种基于AC自动机的化学品名称检索和抽取方法及装置


[0001]本申请涉及自然语言处理
,领域,具体为一种基于AC自动机的化学品名称检索和抽取方法及装置。

技术介绍

[0002]化工产业是国民经济的重要支柱产业。中国化工行业在经过半个多世纪的发展已经形成配套齐全的化学工业体系,随之而来的是各类海量化学品及对应性质、反应关系等信息。目前收录的化学品数量已多达数十万种,且每年还在以几万种的速度增加。面对数量如此庞大的化学品种类,为其建立基本信息库以便管理是必不可少的工作。此外,随着大数据的发展,仅检索化学品名称和性质已不能满足化工人员的日常需求,建立化学品的知识图谱和知识问答库正成为新的趋势,由此产生的化学品名称快速检索、精确匹配、模糊匹配以及长文本中的抽取技术等算法问题则显得至关重要。

技术实现思路

[0003]本申请的目的:提出一种基于AC自动机的化学品名称检索和抽取方法及装置。实现输入待检索化学品名称,精确匹配或模糊匹配到所有候选的名称;实现输入一段包含化学品名称的长文本,从中抽取出长文本中包含的化学品名称的相同或相似的名称,解决目前化学品信息检索不全面、检索方法单一以及检索效率低的问题。
[0004]本申请的目的是通过如下技术方案来完成的,一种基于AC自动机的化学品名称检索方法,包括:获取所有化学品名称,将所有化学品名称转成utf

8的编码格式,生成所有化学品名称对应的名称id并记录;将所有化学品名称逐字依次加入到字典树中形成化学品名称字典树,建立所述化学品名称字典树中每个非叶子节点的索引字典并合并相同的索引字典;为化学品名称字典树设定一个指针,所述指针初始状态指向化学品名称字典树的根节点;检索时,所述指针从根节点向子节点遍历查找,直至指针指向叶子节点,从叶子节点返回输出所检索化学品名称的名称id。
[0005]优选地,所述指针初始状态指向所检索的化学品名称的第一个字符对应的子节点;检索时,所述指针从第一个字符对应的子节点往下遍历查找,直至指针指向叶子节点,从叶子节点返回输出所检索化学品名称的名称id。
[0006]一种基于AC自动机的化学品名称抽取方法,包括:获取所有化学品名称,将所有化学品名称转成utf

8的编码格式,生成所有化学品名称对应的名称id并记录;将所有化学品名称逐字依次加入到字典树中形成化学品名称字典树,建立化学品
名称字典树中每个非叶子节点的失败指针,所述失败指针用于当遍历过程中出现匹配失败的情况时,化学品名称字典树马上可以进入新的状态而不至于回到根节点重新开始匹配;所述失败指针的构造方法包括:当失败非叶子节点为任一非叶子节点,则失败指针指向根节点;获取一段包含化学品名称的长文本,根据化学品名称字典树抽取所述一段包含化学品名称的长文本中的包含的名称id。
[0007]优选地,当失败非叶子节点为根节点的子节点,则失败指针指向根节点;当失败非叶子节点为其他非叶子节点:则查找所述其他非叶子节点的上层子节点的失败子节点,从失败子节点的子节点中查找与所述其他节点相同的子节点,若查找到与所述其他节点相同的子节点,则失败指针指向与所述其他节点相同的子节点;若查找不到与所述其他节点相同的子节点,则重复上述步骤,直至失败指针指向根节点。
[0008]一种基于AC自动机的化学品名称检索装置,包括:处理器,所述处理器与存储器耦合;所述存储器用于存储指令;所述处理器用于执行所述存储器中存储的存储指令,以使所述装执行以上任一项所述的基于AC自动机的化学品名称检索方法。
[0009]一种基于AC自动机的化学品名称抽取装置,包括:处理器,所述处理器与存储器耦合;所述存储器用于存储指令;所述处理器用于执行所述存储器中存储的存储指令,以使所述装执行以上任一项所述的基于AC自动机的化学品名称抽取方法。
[0010]一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以上任一项所述的方法。
[0011]一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现以上任一项所述的方法。
[0012]本申请与现有技术相比,至少具有以下明显优点和效果:1、利用一种基于AC自动机的化学品名称检索方法,包括:获取所有化学品名称,将所有化学品名称转成utf

8的编码格式,生成所有化学品名称对应的名称id并记录;将所有化学品名称逐字依次加入到字典树中形成化学品名称字典树,建立所述化学品名称字典树中每个非叶子节点的索引字典并合并相同的索引字典;为化学品名称字典树设定一个指针,所述指针初始状态指向化学品名称字典树的根节点;检索时,所述指针从根节点向子节点遍历查找,直至指针指向叶子节点,从叶子节点返回输出所检索化学品名称的名称id,实现精确或者模糊查找所有的化学品名称,不仅检索全面而且效率高,有助于化学品知识图谱和知识问答库的建立,进一步完善化学品数据库,给相关从业人员提供指导。
附图说明
[0013]图1是本专利技术实现一种基于AC自动机的化学品名称检索方法的流程图;
图2是本专利技术一种实施例的化学品字典树示意图;图3是本专利技术实现一种基于AC自动机的化学品名称抽取方法的流程图;图4是本专利技术实现一种基于AC自动机的化学品名称抽取方法的化学品名称字典树的示意图;图5是实现本专利技术的方法的一种电子设备示意图。
具体实施方式
[0014]下面将结合附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0015]本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他单元。
[0016]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同,本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
[0017]下面对本申请实施例中的一些专业术语以及该专业术语与本申请的关系进行解释说明。
[0018]Aho

Corasick自动机算法(简称AC自动机)是最著名的多模式匹配算法之一,其本质是一种树形结构,具有线性时间复杂度、柔韧性高、可容忍短模式等突出优点,该算法于1975年产生自贝尔实验室,在字符匹配问题中取得了很好的效果。化学品种类虽本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于AC自动机的化学品名称检索方法,其特征在于,包括:获取所有化学品名称,将所有化学品名称转成utf

8的编码格式,生成所有化学品名称对应的名称id并记录;将所有化学品名称逐字依次加入到字典树中形成化学品名称字典树,建立所述化学品名称字典树中每个非叶子节点的索引字典并合并相同的索引字典;为化学品名称字典树设定一个指针,所述指针初始状态指向化学品名称字典树的根节点;检索时,所述指针从根节点向子节点遍历查找,直至指针指向叶子节点,从叶子节点返回输出所检索化学品名称的名称id。2.根据权利要求1所述的基于AC自动机的化学品名称检索方法,其特征在于,所述指针初始状态指向所检索的化学品名称的第一个字符对应的子节点;检索时,所述指针从第一个字符对应的子节点往下遍历查找,直至指针指向叶子节点,从叶子节点返回输出所检索化学品名称的名称id。3.一种基于AC自动机的化学品名称抽取方法,其特征在于,包括:获取所有化学品名称,将所有化学品名称转成utf

8的编码格式,生成所有化学品名称对应的名称id并记录;将所有化学品名称逐字依次加入到字典树中形成化学品名称字典树,建立化学品名称字典树中每个非叶子节点的失败指针,所述失败指针用于当遍历过程中出现匹配失败的情况时,化学品名称字典树马上可以进入新的状态而不至于回到根节点重新开始匹配;所述失败指针的构造方法包括:当失败非叶子节点为任一非叶子节点,则失败指针指向根节点;获取一段包含化...

【专利技术属性】
技术研发人员:俞一奇邱彦林朱安安赵粉玉
申请(专利权)人:杭州叙简科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1