案发地址提取方法、电子设备及计算机可读存储介质与流程

文档序号:27132717发布日期:2021-10-29 22:10阅读:134来源:国知局
案发地址提取方法、电子设备及计算机可读存储介质与流程

1.本发明属于信息提取技术领域,尤其涉及一种案发地址提取方法、电子设备及计算机可读存储介质。


背景技术:

2.在日常警务办公中,报警案情与大众生活紧密相关。案情记录中蕴含了大量信息,它记录了时间/地点/犯罪事务信息。这种数据量大,但是没有很好的工具或者系统能够对这其中的信息进行挖掘、提取,再进行结构化存储,只能依赖人工总结、筛选、记录,最后把纸笔信息进行数字化存储。这种方式缺陷明显,速度慢,依赖人工劳动力,而且需要人工复查才能确保准确性。除此外,人为主观因素可能导致提取文本信息中内容,会存在一致性问题。传统的自动化办公工具,可以起到很好的辅助作用,可以促进整个流程的生产效率,但是依然依赖人工操作,很难做到完全自动化的智能提取,与智能结构化。
3.因此,有必要提供一种可以从案情文本中自动化智能提取准确的案发地址的方案,从而可以对提取的案发地址数据进行结构化存储。


技术实现要素:

4.基于此,针对上述技术问题,提供一种自动、准确的案发地址提取方法、电子设备及计算机可读存储介质。
5.本发明采用的技术方案如下:
6.一方面,提供一种案发地址提取方法,其特征在于,包括:
7.将案情文本输入预先训练的模型,输出以各字符的字符类别标识表示的案情文本,所述字符类别标识包括非地址类别标识以及地址类别标识;
8.其中,训练所述模型的样本集由多个包含案发地址的案情文本构成;
9.根据所述案情文本中每个字符的类别,确定案发地址在所述案情文本中的位置;
10.根据所述位置,从所述案情文本中提取案发地址。
11.另一方面,提供一种电子设备,其特征在于,包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行上述的一种案发地址提取方法。
12.再一方面,提供一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,其特征在于,所述一个或多个程序当被处理器执行时,实现上述的一种案发地址提取方法。
13.本发明可以从案情文本中自动化智能提取准确的案发地址,从而实现对提取的案发地址数据进行结构化存储。
附图说明
14.下面结合附图和具体实施方式对本发明进行详细说明:
15.图1为本发明的流程图;
16.图2为本发明的模型的结构示意图。
具体实施方式
17.如图1所示,本说明书实施例提供一种案发地址提取方法,包括:
18.s101、将案情文本输入预先训练的模型,输出以各字符的字符类别标识表示的案情文本,字符类别标识包括非地址类别标识以及地址类别标识。
19.在一种实施方式中,非地址类别标识为o,地址类别标识包括地址首字符标识、地址尾字符标识以及地址首尾之间字符标识,分别为b_add、e_add以及i_add。
20.如案情文本为:xxxxxxx在xx路10号兄弟饭店发生了一起抢劫,将该案情文本输入模型后输出:
21.oooooooo
22.b_addi_addi_addi_addi_addi_addi_addi_addi_adde_addooooooo。
23.当然,对于地址类别标识也可以只用一种标识。
24.其中,训练上述模型的样本集由多个包含案发地址的案情文本构成,样本集制作过程如下:
25.a、获取预设区域内的全量标准地址,对全量标准地址进行分词,构成地址词库corpus。
26.以预设区域设为上海为例,全量标准地址就是指上海市所有地址的标准地址,标准地址如:上海市浦东新区金海路2011号新奥广场。
27.在一种实施方式中,对全量标准地址进行分词,进一步包括:
28.1)将规定的地理行政单位词以及具备地址属性的词加入jieba工具分词词表。
29.可以采用国家统计局规定的地理行政单位词,从国家统计局网站可以获得省/市/县区/镇/村/路的数据表,具备地址属性的词诸如:xx门口、xx楼下、候车区、候车处、停车区、停车处、排队区、排队处等等。
30.加入jieba工具分词词表后就可以知道每个省下的所有市,每个市下的所有从属地址,以此类推。
31.2)开启jieba精确模式进行分词,这个模式可以优先把整个地址词切分出来,当整个地址词还可以切分的时候,会进行再次分词,由大词变成小词,这样尽量减小了分词的颗粒度,可以提高步骤b中的匹配命中率,避免匹配失败。
32.如对“上海市闵行区虹莘路2166号上海文来中学”进行分词,分词后为:上海市,闵行区,虹莘路,2166号,上海,文来中学
33.而不是:上海市,闵行区,虹莘路,2166号,上海文来中学
34.b、对各报警数据分别进行如下处理:
35.1)从报警数据的电话信息中,确定报警人当时所在的地址的字符串,记作address_p。
36.报警数据包括电话信息以及案情文本,报警人通过电话报警时,一般警务系统会自动锁定报警人的电话,然后根据电话定位出地址,同时会记录报警人的报警内容,形成案情文本,案情文本包含案件的详情。
37.2)将报警数据的案情文本与地址词库corpus进行匹配,获得匹配成功的地址词,构成集合address_w。
38.其中,address_w中的元素记为address_u。
39.如将案情文本:上海市闵行区虹莘路2166号上海文来中学与地址词库corpus进行匹配,发现命中的词为:
40.上海市,闵行区,虹莘路,2166号,上海,文来中学
41.这些词组成的集合记做address_w,其元素记做address_u。
42.当集合address_w中的多个address_u在对应的案情文本中紧密连接中间无其它字符时,将多个address_u合并为一个address_u。
43.紧密连接中间无其它字符的情况,说明多个address_u原本属于一个整体,这样符合语言规范,如果不合并,很可能在识别的时候将一些非地址,或者长度较短的词,或者非案发地址的词,错误识别成案发地址短语。
44.合并后可以减低模型的复杂度,如果模型复杂度提升了,模型过拟合的概率也会提升,对应模型的识别准确率会降低。
45.3)对集合address_w中的地址词进行进标准化,构成集合address_c。
46.如以案情文本:杨某在文来中学门口被一男子从身后xxxx,为例:
47.通过与地址词库corpus进行匹配得到:
48.文来中学,门口。
49.合并为:文来中学门口。
50.然后标准化为:上海市闵行区虹莘路2166号上海文来中学。
51.c、当某报警数据对应的address_p与集合address_c中的任意标准化地址匹配成功时,则将该报警数据的案情文本加入样本集。
52.由于案情文本有四种情况:文本描述中无地址信息;文本描述中有一个地址短语,并且该地址就是案发地址;文本描述中有地址短语,但是这些地址短语都不是案发地址;文本描述中有多个地址短语,其中只有一个地址短语是案发地址,所以需要选择那些有案发地址的文本,才可以作为模型训练样本,大多数情况下,报警人通过110报案时,案发地点就是打电话110的时候的地点。
53.因此,通过步骤c匹配后可以确保加入样本集案情文本均包含案发地址。
54.d、将样本集中的每个案情文本分别转换为以每个字符的字符类别标识来表示,分别作为训练的目标值。
55.在训练时,转换后的结果作为目标值,而模型输出的是预测值,通过目标函数对目标值和预测值进行比对,优化模型的参数。
56.为了在转换时,便于区分地址和非地址,步骤d还包括:
57.1)根据当前案情文本在步骤c中匹配成功的标准化地址,反推确定集合address_w中与该匹配成功的标准化地址对应的address_u。
58.2)在当前案情文本中的address_u前后添加分隔符。
59.分隔符可以采用&,如案情文本:xxxxxxx在xx路10号兄弟饭店发生了一起抢劫,加入分隔符后为:
60.xxxxxxx在&xx路10号兄弟饭店&发生了一起抢劫,转换后为:
61.oooooooo
62.b_addi_addi_addi_addi_addi_addi_addi_addi_addeooooooo。
63.使用b_add,i_add,e_add进行标识地址字符是一种优选的实施方式,这样可以很好的让模型去学习到目标词的边界信息,比如某些字在地址词中有高概率是出现在词头部或者尾部。
64.如图2所示,模型可以采用bert+crf的结构,其被训练为:
65.通过bert模块从输入的案情文本中提取对应每个输入字符的向量,构成高维度向量,再通过bert模块的nn.linear层将每个向量进行线性变换,输出每个字符的编码得分,比如{o:0.7,b_add:2.3,i_add:0.4,e_add:0.3}。
66.nn.linear层的输出,会作为crf模块的输入,通过crf模块将nn.linear层的输出进行约束,输出最终预测结果:每个字符对应的字符类别标识。
67.bert模型输出的字符类别标识之间的约束不佳,可能会出现语法错误,b_addi_addi_adde_add可能识别成b_adde_addi_addei_adde或者b_addooi_add或者i_addob_add或者e_addob_add。比如:大(b_add)门(i_add)口(e_add)发(o)生(o)了(o)错误识别成大(b_add)门(o)口(o)发(b_add)生(o)了(o)。
68.故采用crf模块的作用就是为了通过一些约束来保证最终预测结果是有效的,这些约束可以在训练数据时被crf模块自动学习得到,句子的开头应该是“b_add”或“o”,而不是“i_add”,通过约束,错误的预测序列将会大大减少。
69.每个字有四种字符类别标识,每个字则有4个节点(每个字有四种可能的类别,每一种可能的结果可以看做一个节点,当前字符的类别(节点)转移到前或者后一个字符的类别(节点)时,就完成了一个节点连接到另外一个节点转移的过程),字中节点转移到下个字的节点就构成了边,多个边就组成了一条路径。目标函数相当于是从k
n
(k为字符的类别数量,这里为4,n为案情文本的字符数)条路径中找到一个权重最大的路径,因为最终的正确路径只有一条即为y
ture
,使这个概率最高。
70.训练采用的目标函数为:
[0071][0072]
其中:
[0073]
x为x
i
的集合,也即为模型的输入字符串,字符数量记做n,x
i
为位置i的字符;
[0074]
y
true
为模型对x的正确预测结果,即正确的路径;
[0075]
目标函数的分母为所有路径的得分总和,即目标函数的分母为所有路径的得分总和,即该式中的该式中的y
i
为模型对x的预测结果中的第i种,即第i条路径,y
x
为所有路径集合,y
i
代表位置i的字符的字符类别,y
i+1
代表位置i+1的字符的字符类别,a代表转移矩阵,它的得分是由crf模块学习得到,为从y
i
转移到y
i+1
的得分,表示位置i的字符x
i
为y
i
类别的得分,组成的集合为发射矩阵,由nn.linear层输出得到的;
[0076]
目标函数的分子为正确路径的得分;
[0077]
e为自然对数的底数,亦称之为欧拉数(euler's number),是一个无限不循环小数。
[0078]
当然,作为一种次选的实施方式,也可以不区分地址字符的头尾和中部,比如只采用两种编码o与add,其中o表示非地址类别,add表示地址类别,但是,这样模型无法识别出字与字的类别转移规则。
[0079]
比如o转移到add(当前字为o,后面字为add),add转移到o(当前字为add,后面字为o),以及add转移到add(当前字为add,后面字为add),这种转移的分数(概率)意义不大。
[0080]
相反,b_add到i_add,i_add到e_add完全合乎语法规则(这种转移的得分就会很大),而e_add到i_add则完全不符合语法规则(这种转移的得分就会很小)。
[0081]
s102、根据案情文本中每个字符的类别,确定案发地址在该案情文本中的位置;
[0082]
s103、根据确定的位置,从上述案情文本中提取案发地址。
[0083]
基于同一发明构思,本说明书实施例还提供一种电子设备,包括存储模块,存储模块包括由处理器加载并执行的指令,指令在被执行时使处理器执行本说明书上述一种案发地址提取方法部分中描述的根据本发明各种示例性实施方式的步骤。
[0084]
其中,存储模块可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以进一步包括只读存储单元(rom)。
[0085]
基于同一发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,一个或多个程序当被处理器执行时,实现本说明书上述一种案发地址提取方法部分中描述的根据本发明各种示例性实施方式的步骤。
[0086]
计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。计算机可读存储介质的更具体示例包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0087]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0088]
但是,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1