0%

美赛回顾(二) · 文本处理

背景

由前文美赛回顾(一) · 爬虫已经爬取到了若干非法野生动物贸易的审判书文本信息,现在我们尝试获取文本之中的信息并制成可用表格。

数据形式

- - - - - - - - - - - - - - - - - - - - -
Title: 云南普洱一男子非法运输穿山甲片被刑拘
Time: 2019-12-07 21:39:58
Link: https://www.cxxxxxxxt.org/article/detail/2019/12/id/4709300.shtml
Text:
近日,云南省普洱市宁洱县森林公安局查获一起非法运输珍贵濒危野生动物制品案,缴获国家二级保护动物穿山甲甲片0.95千克,抓获犯罪嫌疑人一名。
据介绍,宁洱县公安局民警在检查站开展公开查缉时,发现一名男子所骑的摩托车后备箱内一个塑料袋有疑似野生动物穿山甲制品,于是把案件移交给宁洱县森林公安局。
经审讯,摩托车驾驶员吕某昌交代,一个朋友托他从境外买点穿山甲片做药引子,并通过微信向他转了2000多元人民币。吕某昌随后在境外某集市花500多元人民币购买了这些穿山甲片,并驾驶自己的摩托车非法将穿山甲片运输入境。
经鉴定,这些制品确系国家二级保护野生动物穿山甲的甲片,数量为0.95千克。因涉嫌非法收购、运输珍贵濒危野生动物制品,吕某昌目前已被公安机关刑事拘留,案件还在进一步办理中。
- - - - - - - - - - - - - - - - - - - - -

文本分析

由于美赛时间紧迫,需要较短时间得出可用数据,私以为提取手法是过于粗糙的。今适逢春节,后续大创也事情繁多,这里就不重新修改,源码也就不放出来了T.T
简单说说大概思路吧~

预处理

把多次爬取的文本直接合成为一个word录入字符串变量,建立set集合,把链接相同的文章去除,达到不重复的目的。

提取文本信息

设立滑窗,提取关键文本(如龟,竹鼠,虎 ···)附近的语段,采用正则表达式或自然语言模型如word2vec,甚至用本体提取等知识图谱相关知识可以提取地点,年份,人物,野生动物种类,数目等信息(如0.95千克穿山甲;316只竹鼠····)

有趣的点

采取字典可以便利地录入信息:
每一个link作为key便于提取文章的信息。

采用多层字典,便捷地生成多层信息!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 年份字典
year_phrases = [2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024]
year_phrases_dict = {year: defaultdict(int) for year in year_phrases}

# 省份内层字典
sheng_phrases = [
"河北", "山西", "辽宁", "吉林", "黑龙江", "江苏", "浙江", "安徽",
"福建", "江西", "山东", "河南", "湖北", "湖南", "广东", "海南",
"四川", "贵州", "云南", "陕西","甘肃", "青海", "台湾", "内蒙",
"广西", "西藏", "宁夏", "新疆", "北京", "天津", "上海", "重庆", "香港", "澳门"]
·
·
·
·
·
·
for year_ in year_phrases_dict:
if year_ == year:
year_phrases_dict[year][sheng] += extract_and_sum_numbers(sentence)

建立字典时定义了内层省份字典是defaultdict,遇到新出现的key时自动初始化为0,达到二维化数据的目的!稍后把提取到的数据变为Excel等文件就变得十分容易!


------------- THE END -------------