命名实体识别方法、装置、存储介质及处理器与流程

文档序号:20875955发布日期:2020-05-26 16:31阅读:134来源:国知局
命名实体识别方法、装置、存储介质及处理器与流程

本发明涉及信息处理技术领域,更具体地说,涉及一种命名实体识别方法、装置、存储介质及处理器。



背景技术:

司法行业的文书的解析过程中,有一个很重要的步骤是“命名实体”的识别。这里的“命名实体”指的是指司法行业特有的名词,比如说法院名称、刑事罪名、诉讼地位等各类命名实体,每一类的命名实体是一个有限的名词集合。

目前,对文书进行命名实体识别的方法是逐句逐词的进行匹配,详细来说,就是先看第一句话是否包含第一个词,再看第二句话是否包含第一个词,……,直到文书中所有的句子遍历一遍后,再从头开始看第一句话是否包含第二个词,再看第二句话是否包含第二个词,……,直到所有命名实体集合中的所有词全都用此方式被匹配一遍。假设文书中一共有m句话,命名实体集合中一共有n个命名实体,则现有的命名实体的识别方法的算法复杂度是o(m*n),算法复杂度较高。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的命名实体识别方法、装置、存储介质和处理器。

一方面,本申请提供一种命名实体识别方法,包括:

将司法文书与预置的至少一状态转移自动机分别进行匹配,所述至少一状态转移自动机由多个类别的命名实体构建得到;

若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若所述当前状态在所述当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。

另一方面,本申请提供一种命名实体识别装置,包括:

匹配模块,用于将司法文书与预置的至少一状态转移自动机分别进行匹配,所述至少一状态转移自动机由多个类别的命名实体构建得到;

输出模块,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若所述当前状态在所述当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。

第三方面,本申请提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如前任意一项所述的命名实体识别方法。

第四方面,本申请提供一种处理器,所述处理器用于运行程序,所述程序运行时执行如前任意一项所述的命名实体识别方法。

借由上述技术方案,本发明提供的命名实体识别方法、装置、存储介质及处理器,通过多模式匹配将司法文书与预置的至少一状态转移自动机分别进行匹配,在匹配过程中,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。通过多模式匹配实现了不同类别的命名实体的最长匹配,达到提高命名实体匹配效率和匹配精度的目的。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本申请实施例提供的状态转移自动机的构建方法一种实现流程图;

图2示出了本申请实施例提供的将命名实体“失火罪”加入状态转移自动机的示例图;

图3示出了本申请实施例提供的将命名实体“过失决水罪”加入状态转移自动机的示例图;

图4示出了本申请实施例提供的将命名实体“过失爆炸罪”加入状态转移自动机的示例图;

图5示出了本申请实施例提供的状态转移自动机的一个示例图;

图6示出了本申请实施例提供的基于状态转移自动机进行命名实体识别的一种实现流程图;

图7示出了本申请实施例提供的命名实体识别装置的一种结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本申请实施例提供的命名实体识别方法的基本思想是:将各个命名实体作为模式串来构建状态转移自动机,然后,将司法文书与状态转移自动机进行匹配,从而可以实现对司法文书的一次遍历,识别出司法文书中的所有命名实体。

在构建状态转移自动机时,可以每一类命名实体构建一个状态转移自动机,则n类命名实体共需要构建n个状态转移自动机,这样在匹配的实时,需要将司法文书与n个状态转移自动机分别进行匹配以识别命名实体,虽然与现有技术相比,识别效率提高了,但识别效率仍然较低。

为了提高识别效率,本申请实施例中,可以将所有类别的命名实体构建一个状态转移自动机,或者,可以构建m(1<m<n)个状态转移自动机,每个状态转移自动机由至少两类命名实体构建得到,不同的状态转移自动机由不同类别的命名实体构建得到。

基于上述基本思想,本申请实施例提供的状态转移自动机的构建方法一种实现流程图如图1所示,可以包括:

步骤s11:获取用于构建第一状态转移自动机的命名实体集合,该命名实体集合中包括至少一类命名实体。

第一状态转移自动机是需要构建的至少一个状态转移自动机中的任意一个状态转移自动机。

步骤s12:将命名实体集合中的每一个命名实体r,按照其包含的字符从前往后依次输入状态转移自动机,从状态转移自动机的起始状态d[0]开始,每向状态转移自动机输入一个字符,执行如步骤s13-步骤s14的判断过程:

步骤s13:如果状态转移自动机的当前状态d[p],对于当前输入的字符r[k]没有可用的转移,则将状态转移自动机的总状态数s加1,并将当前状态d[p]输入字符r[k]后的转移位置设置为状态d[s+1]。

步骤s14:如果状态转移自动机的当前状态d[p],对于当前输入的字符r[k]存在可用的转移,且转移后的状态为d[q],则将当前状态d[p]输入字符r[k]后的位置转移到状态d[q]。

步骤s15:向状态转移自动机输入所述命名实体r的下一个字符,并继续执行前述判断过程。

例如,假设用于构建第一状态转移自动机的命名实体集合为{失火罪,过失决水罪,过失爆炸罪},则构建第一状态转移自动机的过程为:

请参考图2,图2为本申请实施例提供的将命名实体“失火罪”加入状态转移自动机的示例图。由于状态转移自动机中还未输入任何字符,因此,状态转移自动机的总状态数为0,当前状态d[0]输入“失”这个字符时,没有可用的转移,则将状态转移自动机的总状态数0加1,当前状态d[0]输入“失”这个字符时的转移状态为d[1],则当前状态更新为d[1],同理,在当前状态d[1]输入“火”这个字符时,也没有可用的转移,则将状态转移自动机的总状态数1加1,当前状态d[1]输入“火”这个字符时的转移状态为d[2],则当前状态更新为d[2],在当前状态d[2]输入“罪”这个字符时,也没有可用的转移,则将状态转移自动机的总状态数2加1,当前状态d[2]输入“火”这个字符时的转移状态为d[3],则当前状态更新为d[3]。至此,命名实体“失火罪”构建状态转移自动机的过程已完成。

下面说明“过失决水罪”构建状态转移自动机的过程。在图2的基础上,本申请提供的将命名实体“过失决水罪”加入状态转移自动机的示例图如图3所示。仍然是将d[0]作为当前状态,当前状态d[0]输入“过”这个字符时,没有可用的转移,则将状态转移自动机的总状态数3加1,当前状态d[0]输入“过”这个字符时的转移状态为d[4],则当前状态更新为d[4],同理,在当前状态d[4]输入“失”这个字符时,也没有可用的转移,则将状态转移自动机的总状态数4加1,当前状态d[4]输入“失”这个字符时的转移状态为d[5],则当前状态更新为d[5],在当前状态d[5]输入“决”这个字符时,也没有可用的转移,则将状态转移自动机的总状态数5加1,当前状态d[5]输入“决”这个字符时的转移状态为d[6],则当前状态更新为d[6],以此类推,直至“水”和“罪”也加入状态转移自动机,在“过失决水罪”加入状态转移自动机后,状态数变为8。

下面说明“过失爆炸罪”构建状态转移自动机的过程。在图3的基础上,本申请提供的将命名实体“过失爆炸罪”加入状态转移自动机的示例图如图4所示。仍然是将d[0]作为当前状态,当前状态d[0]输入“过”这个字符时,由于其存在可用转移,即转移到状态d[4],则将当前状态更新为d[4],当前状态d[4]输入“失”这个字符时,也存在可用转移,即转移到状态d[5],则将当前状态更新为d[5],当前状态d[5]输入“爆”这个字符时,由于没有可用的转移,则将状态转移自动机的总状态数8加1,当前状态d[5]输入“爆”这个字符时的转移状态为d[9],则当前状态更新为d[9],以此类推,直至“炸”和“罪”这两个字符均加入状态转移自动机,在“过失爆炸罪”加入状态转移自动机后,状态数变为11。

当命名实体集合中的所有命名实体均加入状态转移自动机后,第一状态转移自动机就构建完成了。除状态d[0]外,第一状态转移自动机的每个状态都对应一个输出模式(即已经匹配到的字符),例如,状态d[1]对应的输出模式为“失”,状态d[2]对应的输出模式为“失火”,状态d[3]对应的输出模式为“失火罪”,同理,状态d[4]对应的输出模式为“过”,状态d[5]对应的输出模式为“过失”,状态d[6]对应的输出模式为“过失决”,状态d[7]对应的输出模式为“过失决水”,状态d[8]对应的输出模式为“过失决水罪”,状态d[9]对应的输出模式为“过失爆”,状态d[10]对应的输出模式为“过失爆炸”,状态d[11]对应的输出模式为“过失爆炸罪”。

状态转移自动机中,除了最底层的状态(如图4中的状态d[3]、d[8]、d[11]、)外,其它状态均有有效输入,例如,状态d[0]的有效输入为“失”或“过”,状态d[1]的有效输入为“火”,状态d[2]的有效输入为“罪”,状态d[4]的有效输入为“失”,状态d[5]的有效输入为“爆”或“决”,依此类推,这里不再一一举例说明。对于状态d[0]来说,除“失”或“过”外,其它输入都是无效输入,同理,对于状态d[4]来说,除“失”外,其它输入都是无效输入,以此类推。

状态转移自动机建立之后,当处于状态转移自动机的某个状态时,若输入的字符不是该状态的有效输入,即不存在有效跳转时,若直接将该当前状态的转移状态转移到d[0],则有可能漏掉可能的匹配。因此,为了避免漏掉可能的匹配,本申请实施例中,还根据第一状态转移自动机构建失配跳转表,该失配调转表用于决定在将司法文书与第一状态转移自动机匹配过程中,第一状态转移自动机的当前状态不存在有效输入时,应该回退的状态。请参看图5,图5为本申请实施例提供的状态转移自动机的一个示例图。下面以图5为例,说明失配跳转表的构建过程包括:

将第一状态转移自动机中状态d[0]的各个转移状态的回退状态赋值为状态d[0]。

d[0]的各个转移状态是指,在d[0]状态接收到与d[0]状态对应的有效输入时的转移状态,如图5中,d[0]的各个转移状态为d[1]和d[4]。

第一状态转移自动机中其它状态(如图5中,其它状态是指除d[0]、d[1]和d[4]外的其它状态)的回退状态的确定方法为:

假设根据第一状态转移自动机,状态d[m]输入字符b时的转移状态g(m,b)=d[n],则

当第一状态转移自动机中状态d[m]的回退状态fail[m]=d[a]时,若a=0,或者状态d[a]输入字符b时的转移状态g(a,b)≠d[0],则第一状态转移自动机中状态d[m]输入字符b时的转移状态d[n]的回退状态fail[n]为g(a,b);

如果a≠0,且g(a,b)=d[0],则令fail[m]=fail[a],直到a=0,或者g(a,b)≠d[0]为止。

图5中,d[1]的回退状态fail[1]=d[0],d[4]的回退状态fail[4]=d[0]。

状态d[2]是状态d[1]输入“b”时的转移状态,由于状态d[1]的回退状态是d[0],则状态d[2]的回退状态fail[2]=g(0,b)=d[4]。

状态d[3]是状态d[2]输入“c”时转移状态,由于状态d[2]的回退状态为d[4],而状态d[4]输入“c”时的转移状态g(4,c)=d[5],则状态d[3]的回退状态fail[3]=g(4,c)=d[5]。

状态d[5]是状态d[4]输入“c”时的转移状态,由于状态d[4]的回退状态是d[0],则状态d[5]的回退状态fail[5]=g(0,c)=d[0]。

状态d[6]是状态d[5]输入“d”时转移状态,由于状态d[5]的回退状态是d[0],则状态d[6]的回退状态fail[6]=g(0,d)=d[0]。

同理,状态d[7]、d[8]、d[9]和d[10]的回退状态也均为d[0]。

下面说明基于状态转移自动机进行命名实体识别的过程。本申请实施例提供的命名实体识别方法可以包括:

将司法文书与预置的至少一状态转移自动机分别进行匹配,该至少一状态转移自动机由多个类别的命名实体构建得到。

在匹配过程中,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。

以图5为例,若当前状态为d[5],当前待匹配字符是d,则,当前状态转移后的状态为d[6],同理,若当前待匹配的字符是e,则当前状态转移后的状态为d[9]。

请参阅图6,图6为本申请实施例提供的基于第一状态转移自动机进行命名实体识别的一种实现流程图,可以包括:

步骤s61:将司法文书中未进行匹配的第一个字符作为待匹配字符;若待匹配字符是当前状态的有效输入,则执行步骤s62,否则,执行步骤s63。

本申请实施例中,将司法文书包含的字符按照从前往后依次输入状态转移自动机。

若待匹配字符是当前状态的有效输入,说明第一状态转移自动机的当前状态在输入待匹配字符时存在可用转移,否则说明第一状态转移自动机的当前状态在输入待匹配字符时不存在可用转移。

步骤s62:缓存由当前状态转移后的状态对应的输出模式,例如,将输出模式推入预先建立的栈的栈顶。并将当前状态更新为由当前状态转移后的状态(即,将由当前状态转移后的状态作为当前状态),返回执行步骤s61,即将司法文书中下一个未匹配的字符作为待匹配字符并进行匹配。

步骤s63:将缓存的输出模式输出,该输出模式即为一个命名实体,除了输出命名实体外,还输出该命名实体所属类别,命名实体所属类别是在建立状态转移自动机后,与该输出模式对应的状态处定义的。将缓存的输出模式输出后,清空缓存,如清空栈。

进一步的,若待匹配字符不是当前状态的有效输入,则还包括:

步骤s64:根据预先设定的失配跳转表确定当前状态的回退状态。

步骤s65:将当前状态更新为该回退状态,即将该回退状态作为当前状态。

步骤s66:判断待匹配字符是否是当前状态的有效输入,若是,则进入步骤s62,否则,若当前状态为d[0],则返回步骤s61,直至司法文本中所有字符均被匹配,若当前状态不为d[0],则进入步骤s64。

本申请提供的命名实体识别方法,利用状态转移自动机进行多模式匹配,使得命名实体识别算法的时间复杂度由o(m*n)级别下降到了o(n)级别,极大了提高了识别效率。而且,在匹配过程中进行最长匹配,提高了匹配精度。

例如,对于“劳动合同纠纷”和“合同纠纷”这两个命名实体,在识别到“劳动合同纠纷”这一命名实体时,实际上也识别到了“合同纠纷”这一命名实体,而基于本申请实施例,则只会输出“劳动合同纠纷”这一命名实体,而不会输出合同纠纷这一命名实体。

在一可选的实施例中,每个状态转移自动机由至少两类命名实体构建得到;不同的状态转移自动机中命名实体的类别不同。这样可以进一步提高识别效率。

与方法实施例相对应,本申请还提供一种命名实体识别装置,本申请提供的命名实体识别装置的一种结构示意图如图7所示,可以包括:

匹配模块71,用于将司法文书与预置的至少一状态转移自动机分别进行匹配,所述至少一状态转移自动机由多个类别的命名实体构建得到;

输出模块72,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。

本申请提供的命名实体识别装置,通过多模式匹配将司法文书与预置的至少一状态转移自动机分别进行匹配,在匹配过程中,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。通过多模式匹配实现了不同类别的命名实体的最长匹配,达到提高命名实体匹配效率和匹配精度的目的。

在一可选的实施例中,每个状态转移自动机由至少两类命名实体构建得到;不同的状态转移自动机中命名实体的类别不同。

在一可选的实施例中,上述命名实体识别装置还可以包括状态机建立模块,用于:

获取用于构建所述第一状态转移自动机的命名实体集合,所述命名实体集合中包括至少一类命名实体;

将所述命名实体集合中的每一个命名实体r,按照其包含的字符从前往后依次输入状态转移自动机,从所述状态转移自动机的起始状态d[0]开始,每向所述状态转移自动机输入一个字符,执行如下判断过程:

如果所述状态转移自动机的当前状态d[p],对于当前输入的字符r[k]没有可用的转移,则将所述状态转移自动机的总状态数s加1,并将所述当前状态d[p]输入所述字符r[k]后的转移位置设置为状态d[s+1];

如果所述状态转移自动机的当前状态d[p],对于当前输入的字符r[k]存在可用的转移,且转移后的状态为d[q],则将所述当前状态d[p]输入所述字符r[k]后的位置转移到状态d[q];

向所述状态转移自动机输入所述命名实体r的下一个字符,并继续执行所述判断过程。

在一可选的实施例中,上述命名实体识别装置还可以包括跳转表建立模块,所述失配跳转表用于决定在将司法文书与所述第一状态转移自动机匹配过程中,所述第一状态转移自动机的当前状态不存在有效输入时,应该回退的状态;所述跳转表建立模块用于:

将所述第一状态转移自动机中状态d[0]的各个转移状态的回退状态赋值为状态d[0];

所述第一状态转移自动机中其它状态的回退状态的确定方法为:

当所述第一状态转移自动机中状态d[m]的回退状态fail[m]=d[a]时,若a=0,或者所述状态d[a]输入字符b时的转移状态g(a,b)≠d[0],则所述第一状态转移自动机中状态d[m]输入字符b时的转移状态d[n]的回退状态fail[n]为g(a,b);

如果a≠0,且g(a,b)=d[0],则令fail[m]=fail[a],直到a=0,或者g(a,b)≠d[0]为止。

所述命名实体识别装置包括处理器和存储器,上述匹配模块模块和输出模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对司法文件进行命名实体识别,以便实现提高命名实体匹配效率和匹配精度的目的。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述命名实体识别方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述命名实体识别方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:

一种命名实体识别方法,包括:

将司法文书与预置的至少一状态转移自动机分别进行匹配,所述至少一状态转移自动机由多个类别的命名实体构建得到;

若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。

其中,每个状态转移自动机由至少两类命名实体构建得到;不同的状态转移自动机中命名实体的类别不同。

其中,所述至少一个状态转移自动机中,第一状态转移自动机的构建过程包括:

获取用于构建所述第一状态转移自动机的命名实体集合,所述命名实体集合中包括至少一类命名实体;

将所述命名实体集合中的每一个命名实体r,按照其包含的字符从前往后依次输入状态转移自动机,从所述状态转移自动机的起始状态d[0]开始,每向所述状态转移自动机输入一个字符,执行如下判断过程:

如果所述状态转移自动机的当前状态d[p],对于当前输入的字符r[k]没有可用的转移,则将所述状态转移自动机的总状态数s加1,并将所述当前状态d[p]输入所述字符r[k]后的转移位置设置为状态d[s+1];

如果所述状态转移自动机的当前状态d[p],对于当前输入的字符r[k]存在可用的转移,且转移后的状态为d[q],则将所述当前状态d[p]输入所述字符r[k]后的位置转移到状态d[q];

向所述状态转移自动机输入所述命名实体r的下一个字符,并继续执行所述判断过程。

其中,还包括:根据所述第一状态转移自动机构建失配跳转表,所述失配跳转表用于决定在将司法文书与所述第一状态转移自动机匹配过程中,所述第一状态转移自动机的当前状态不存在有效输入时,应该回退的状态;所述失配跳转表的构建过程包括:

将所述第一状态转移自动机中状态d[0]的各个转移状态的回退状态赋值为状态d[0];

所述第一状态转移自动机中其它状态的回退状态的确定方法为:

当所述第一状态转移自动机中状态d[m]的回退状态fail[m]=d[a]时,若a=0,或者所述状态d[a]输入字符b时的转移状态g(a,b)≠d[0],则所述第一状态转移自动机中状态d[m]输入字符b时的转移状态d[n]的回退状态fail[n]为g(a,b);

如果a≠0,且g(a,b)=d[0],则令fail[m]=fail[a],直到a=0,或者g(a,b)≠d[0]为止。

本文中的设备可以是服务器、pc、pad、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

一种命名实体识别方法,包括:

将司法文书与预置的至少一状态转移自动机分别进行匹配,所述至少一状态转移自动机由多个类别的命名实体构建得到;

若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时存在可用转移,则缓存由所述当前状态转移后的状态对应的输出模式,若当前状态转移自动机的当前状态在所述司法文书中的当前待匹配字符输入时不存在可用转移,则将缓存的输出模式作为命名实体输出,并输出该命名实体所属类别。

其中,每个状态转移自动机由至少两类命名实体构建得到;不同的状态转移自动机中命名实体的类别不同。

其中,所述至少一个状态转移自动机中,第一状态转移自动机的构建过程包括:

获取用于构建所述第一状态转移自动机的命名实体集合,所述命名实体集合中包括至少一类命名实体;

将所述命名实体集合中的每一个命名实体r,按照其包含的字符从前往后依次输入状态转移自动机,从所述状态转移自动机的起始状态d[0]开始,每向所述状态转移自动机输入一个字符,执行如下判断过程:

如果所述状态转移自动机的当前状态d[p],对于当前输入的字符r[k]没有可用的转移,则将所述状态转移自动机的总状态数s加1,并将所述当前状态d[p]输入所述字符r[k]后的转移位置设置为状态d[s+1];

如果所述状态转移自动机的当前状态d[p],对于当前输入的字符r[k]存在可用的转移,且转移后的状态为d[q],则将所述当前状态d[p]输入所述字符r[k]后的位置转移到状态d[q];

向所述状态转移自动机输入所述命名实体r的下一个字符,并继续执行所述判断过程。

其中,还包括:根据所述第一状态转移自动机构建失配跳转表,所述失配跳转表用于决定在将司法文书与所述第一状态转移自动机匹配过程中,所述第一状态转移自动机的当前状态不存在有效输入时,应该回退的状态;所述失配跳转表的构建过程包括:

将所述第一状态转移自动机中状态d[0]的各个转移状态的回退状态赋值为状态d[0];

所述第一状态转移自动机中其它状态的回退状态的确定方法为:

当所述第一状态转移自动机中状态d[m]的回退状态fail[m]=d[a]时,若a=0,或者所述状态d[a]输入字符b时的转移状态g(a,b)≠d[0],则所述第一状态转移自动机中状态d[m]输入字符b时的转移状态d[n]的回退状态fail[n]为g(a,b);

如果a≠0,且g(a,b)=d[0],则令fail[m]=fail[a],直到a=0,或者g(a,b)≠d[0]为止。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1