交媒体中包含了能够反映人们对周围环境感受的数据资料,能够帮助人们了解城市污染状况。该系统以新浪微博为例,提出了从社交媒体中获取城市污染相关数据的方案,设计了基于社交媒体的城市污染信息分类和可视化方法,以北京市为例对本方法的结果进行了分析与讨论。
- 把文件copy到服务器目录,python用户可在文件目录下执行
python -m SimpleHTTPServer
- 在浏览器访问页面
利用新浪微博API,结合微博用户提及行为,设计针对城市污染主题微博数据的获取方法:
- 用格网细分研究区域
- 对每个细分研究区域,利用新浪微博
API Nearby_Tineline
接口获取含位置信息的无主题微博 - 筛选微博中提及当地环保部门的所有微博作为研究使用
基于深度学习提出对微博中污染信息进行分类的方法。该方法依据预定义种子词,利用深度学习文本分析工具Word2vec
构建城市污染领域词典,从而进行微博中城市污染信息的分类,其思路如下:
种子词是构建领域词典的初始词汇,面向微博的城市污染信息领域词典的类别和种子词如表所示。
表 城市污染信息领域词典种子词词汇表
词典类别 | 种子词汇 |
---|---|
焚烧垃圾 | 垃圾,垃圾场,露天垃圾,垃圾桶,焚烧,焚烧垃圾,烧,烧荒,烧垃圾,燃烧异物,恶臭,臭气,熏,异味,火 |
化学工厂 | 黑烟,冒烟,烟,排烟,烟囱,烟筒,排毒,化学气味,熏,化学,刺激性,气味,呛鼻子,喉咙痛,咳嗽,工厂,化工,源头,毒,毒气,化工厂 |
露天烧烤 | 露天烧烤,烧烤,铁板烧,炸,臭豆腐,摊,贩,摆摊,商贩,摆摊烧烤 |
施工工地 | 施工,工地,扬尘,施工扬尘 |
河流水污染 | 污水,排污,水污染,恶臭,臭水沟 |
噪音与灯光污染 | 噪音,睡觉,睡不着,半夜,噪,吵,灯光,睡觉,光污染 |
环保公益活动 环保 | 环保活动,公益,绿地,生态,志愿,服务,树,绿色 |
Word2vec
是Google 公司开放的一款用于训练词向量的开源项目,基于Word2vec
构建面向微博的城市污染信息领域词典:
- 使用未筛选微博(未筛选提及当地环保部门的所有微博)作为语料库训练
Word2vec
; - 使用经过训练的
Word2vec
模型将种子词以及微博中出现的词表达成向量形式; - 找到与种子词余弦距离最近的前K项词汇(本文取前100项),这K项词汇与种子词一起构成城市污染信息的领域词典。
依据领域词典计算微博属于不同城市污染类别的概率,实现微博的分类。
由于中文句子没有形式上词的分界符,在计算概率前,需要首先将微博文本切分成有意义的词汇。
这里通过使用Jieba
分词工具执行微博文本分词。在分词时,将常用虚词如“的”以及标点符号加入停用词以避免切分出无意义词汇,将定义的种子词加入用户字典以确保有价值词汇被准确划分。
基于开放Web地图平台MapBox
,提出了可以进行交互的城市污染信息可视化方案包括以下几个部分:
社交媒体数据通过上述的城市污染信息分类模型后,被划分为不同的城市污染类别。分类后的数据被组织编码为面向Web的地理数据编码格式—— GeoJson
格式。
应用MapBox
平台的 Mapbox.js
实现城市污染背景地图的显示、导航与漫游操作,实现微博编码数据的处理、渲染及其与地图的集成显示。JS组件和HTML实现用户事件响应处理和可视化界面,如分类导航栏、图例等。
可视化功能主要包括地图基本功能、分类标注以及联动显示。地图为可视化系统提供一个整体的环境信息。分类标注将不同污染类别的微博标注为不同的颜色,并允许用户选择单独显示不同污染分类的微博数据。联动显示指微博数据点和微博文字图片的同步显示。