◆裴炳森 张新宇 邢欣涛 王铭杰
基于python中文分词的卷宗信息逻辑研究
◆裴炳森 张新宇 邢欣涛 王铭杰
(中国人民公安大学信息网络安全学院 北京 102623)
询问/讯问笔录是公安工作目前使用较多的文本材料,然而在实际调研和实习中发现卷宗有录入笔误和不合逻辑等问题。卷宗送交至检察院时往往被驳回数次修改,除了送检程序等问题外,由于一些主客观因素,导致笔录信息需要经常性的反复查验,轻则增加了工作量,严重则造成案卷信息错误。本文基于python中文分词的Jieba组件对笔录内容进行文本分析,提取时间、地点、事件等关键词,并与标准库进行比对,提示并纠正错误并生成流程图,有效减少了民警工作量,对一线执法有较好的实际作用。
笔录卷宗;文本分析;Jieba组件;一线执法
在文本分析方面,国外对英文文本提取信息的研究较为成熟,例如STALKER、WHISK、SRV等系统,对英文文本信息提取效率较高。与英文文本信息提取技术相比,由于汉语语法复杂,中文文本分析技术相对滞后。但是近年来中文互联网文本数据指数上升,针对其的文本分析也渐渐发展并应用。文献[1-2]利用python研究了中文文本分析以及构建了可视化平台,文献[4-5]使用Python中的结巴工具进行了分词研究和技术实现。
随着文本分析在各个领域逐渐应用,如文献[6]在教育领域进行了文本情感分析探索,文献[7]将文本分析服务于疫情防控。然而在公安工作的应用较少。随着数据警务的发展,应该充分利用公安笔录这一数据以更好的打击办案。为使公安工作更加高效准确,结合实际调研发现公安工作卷宗笔录仍需人工多次反复审核。受主客观不同因素影响,会有“犯罪发生时长”录入错误,“距离”与“时间”不匹配等信息错误问题,例如某两地之间相距20公里,驾车大概20~30分钟,而笔录中却出现5min的现象。本文针对现存问题首先设立自己的标准比对条件,着眼于讯问/询问笔录中的关键词,基于python环境的Jieba工具进行中文分词和关键词提取,通过事先爬取的知识库与笔录信息进行比对,智能检测,最后根据笔录内容生成流程图,自动提示错误信息,以达到避免重复核查的目的。
本文基于python的Jieba组件利用隐马尔卡夫模型(HMM),TF-IDf和TextRank算法,构建VSM向量空间模型,实时计算并智能核对,是针对案件信息的大胆尝试。对于地理位置信息,首先依据图1所示的 Viterbi 算法,通过训练出隐马尔科夫(HMM)相关的模型,然后进行求解,得到最优的状态序列,最后通过深度学习输出分词结果。同时融合基于频率的TF-IDF算法和基于排序的TextRank算法综合运用提取关键词,构建VSM向量空间模型。Jieba库提供了三种模式的分词方式,针对笔录的特征,本文主要采用精确模式进行分词,如下所示为“从南城县家园小区110号楼出来,通过驾车至天天市场在李翠花家盗窃得到的手机”的分析源码。
import jieba.analyse
#导入自定义词典
jieba.load_userdict("./dic.txt")
#精确模式
text="从南城县家园小区110号楼出来,通过驾车至天天市场在李翠花家盗窃得到的手机"
seg_list = jieba.cut(text, cut_all = False)
print(u"分词结果:")
print(",".join(seg_list))
#获取关键词
tags = jieba.analyse.extract_tags(text,topK=5)
print(u"关键词:")
print(" ".join(tags))
图1 Viterbi 算法处理流程
公安工作笔录分析需要极其丰富的知识库,在对地理位置分析中通过Python爬虫工具首先向“高德地图”发送Request,申请”Web服务API”密钥,拼接HTTP请求URL;然后正常获取到Response后接收HTTP请求返回的数据响应体,转化为Json格式。如下为解析数据部分源码。利用网络爬虫将整个目标数据获取后转化为文本信息,形成一个可进行比对的信息库,并进一步对数据进行挖掘处理,为数据提供最为基本的支撑[9]。如图2、图3所示为获取的县级行政区域点状图和详细信息。将含有更详细的地名信息、距离信息、往返时间信息的知识库应用于笔录处理。知识库的构建对于笔录错误信息有重要的参考作用,在依据地理位置和时间信息做出分析时,要考虑客观实际因素于案情实际状况。后续再根据实际工作需要和以往的笔录信息构建出“交通工具库”、“作案类型库”、“作案工具库”等知识库便于进一步文本分析。
def get_json(url):
# 读取数据
uh = urllib.request.urlopen(url)
data = uh.read().decode()
# 解析数据
try:
json_data = json.loads(data)
except:
json_data = None
if not json_data or 'status' not in json_data or json_data['status'] != 0:
print('json数据获取失败')
else:
#输出Json数据
print(json.dumps(json_data, indent=4, ensure_ascii=False))
return json_data
图2 点状图
图3 县级行政区域信息
在生成流程图时,引入wordcloud和matplotlib库、安装Graphviz[10]赋予关键词相应的节点属性、连接线属性等属性信息。根据提取到的地理、时间信息等关键词,由地理信息知识库分析两者距离,通过时间智能校对检测。后续需要对交通工具、作案手段等关键词同时提取并分析。根据笔录内容生成被询问/讯问人活动流程可视化报告,将有助于理清案件线索,检查是否出现不匹配问题,并且帮助后期纠错。如图4所示为可视化处理流程。
图4 可视化处理流程
根据实际案件要素与笔录中的录入信息进行比对,发现错误并且提示。并由关键要素(时间,事件,地点,交通工具)生成流程图。例如:计算A地到B地的距离,依据程序依赖的知识库,统计不同交通工具时间范围,与笔录中获取的作案工具关键词和时间关键词进行比对,若不在合理范围内,提示错误信息,并提示合理的时间范围。最后完成中文分词,作案信息提取,错误信息提示,并生成流程图。如图5所示为智能比对流程。
图5 处理流程
结合实际调研与实习经验,数据源以模拟的公安工作笔录进行训练,数据都经过处理不涉及任何公安秘密。本文以强奸、盗窃为作案类型,汽车为作案交通工具以及构造的地理位置为模型进行分析。
实验环境为Windows10操作系统、4G运行内存、Python环境。导入Jieba、tkinter、python_docx-0.8.10-py2.py3-none-any.whl、wordcloud、matplotlib等库并安装Graphviz。
Python提供IDE工具,Jieba作为第三方中文分词库,tkinter库用于程序窗口化,docx库引入文本文件,wordcloud、matplotlib和Graphviz用于生成流程图并且展示。
首先加载程序打开需要的分析笔录,根据应用的知识库,使用Jieba工具进行分词,完成了分词检测后提取作案信息。根据知识库比对完成了错误信息提示,最后根据笔录信息生成了流程图得到了智能分析结果。根据比对信息,一线民警能够快速知晓被讯问/询问人言语间的逻辑漏洞,使案件进展相对较为清晰,从而做出正确的预测和判断,同时避免了人为录入错误,减小了工作量。
对笔录进行Jieba分词检测后如图6所示。其中根据分词结果提取到的作案信息和错误信息如表1和表2所示。最后生成的流程图如图7所示。
图6 笔录分词结果
图7 流程图生成
表1 作案信息
表2 错误信息
本文基于Python中文分词的Jieba工具对公安工作笔录进行了分析,结合部分加载的知识库,经过实验验证,有效完成了分词,作案信息提取,错误信息提示,并生成流程图等功能。公安工作是一项严谨且工作量巨大的任务,该项目提供了笔录智慧分析的设想和雏形。为更好全面应用于公安实战,还需要用大量的数据进行训练。同时出于公安工作的特殊性,完备知识库的建立应该基于公安内网PGIS[11]的信息以及实时或定期的数据更新。
[1]宋永生,黄蓉美,王军.基于Python的数据分析与可视化平台研究[J].现代信息科技,2019,3(21):7-9.
[2]祝永志,荆静.基于Python语言的中文分词技术的研究[J].通信技术,2019,52(07):1612-1619.
[3]李泽,古超,龙政.基于Python的文本分析方法研究[J].电脑编程技巧与维护,2018(04):25-26+51.
[4]曾小芹.基于Python的中文结巴分词技术实现[J].信息与电脑(理论版),2019,31(18):38-39+42.
[5]徐博龙.应用Jieba和Wordcloud库的词云设计与优化[J].福建电脑,2019,35(06):25-28.
[6]欧阳元新,王乐天,李想,蒲菊华,熊璋.教育领域反馈文本情感分析方法及应用研究[J].计算机教育,2020(06):80-84.
[7]李燕萍,陈文.后疫情时代我国人力资源服务业发展转型:基于疫情防控常态化下人力资源服务政策文本分析[J].中国人力资源开发,2020,37(10):18-32.
[8]谢春艳.基于python的Flickr地理标签照片信息的爬虫[J].电脑与信息技术,2019,27(06):39-41.
[9]缪治,任敏敏.基于网络爬虫的地理空间信息采集方法[J].电脑知识与技术,2019,15(18):9-10.
[10]张伟欣. 基于Graphviz的ProM模式提取插件图形系统的设计与实现[D].哈尔滨工业大学,2015.
[11]田野,杨帆,胡磊,易民盛.大数据环境下警用地理信息系统运维方案的研究[J].科学技术创新,2019(30):69-71.