wybert / showcase

the showcase for urban pollutions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

社交媒体探测城市污染

交媒体中包含了能够反映人们对周围环境感受的数据资料,能够帮助人们了解城市污染状况。该系统以新浪微博为例,提出了从社交媒体中获取城市污染相关数据的方案,设计了基于社交媒体的城市污染信息分类和可视化方法,以北京市为例对本方法的结果进行了分析与讨论。


如何运行

  1. 把文件copy到服务器目录,python用户可在文件目录下执行 python -m SimpleHTTPServer
  2. 在浏览器访问页面

1.城市污染社交媒体数据获取

利用新浪微博API,结合微博用户提及行为,设计针对城市污染主题微博数据的获取方法:

  • 用格网细分研究区域
  • 对每个细分研究区域,利用新浪微博API Nearby_Tineline接口获取含位置信息的无主题微博
  • 筛选微博中提及当地环保部门的所有微博作为研究使用

2.城市污染信息分类

基于深度学习提出对微博中污染信息进行分类的方法。该方法依据预定义种子词,利用深度学习文本分析工具Word2vec构建城市污染领域词典,从而进行微博中城市污染信息的分类,其思路如下:

定义种子词

种子词是构建领域词典的初始词汇,面向微博的城市污染信息领域词典的类别和种子词如表所示。

表 城市污染信息领域词典种子词词汇表

词典类别 种子词汇
焚烧垃圾 垃圾,垃圾场,露天垃圾,垃圾桶,焚烧,焚烧垃圾,烧,烧荒,烧垃圾,燃烧异物,恶臭,臭气,熏,异味,火
化学工厂 黑烟,冒烟,烟,排烟,烟囱,烟筒,排毒,化学气味,熏,化学,刺激性,气味,呛鼻子,喉咙痛,咳嗽,工厂,化工,源头,毒,毒气,化工厂
露天烧烤 露天烧烤,烧烤,铁板烧,炸,臭豆腐,摊,贩,摆摊,商贩,摆摊烧烤
施工工地 施工,工地,扬尘,施工扬尘
河流水污染 污水,排污,水污染,恶臭,臭水沟
噪音与灯光污染 噪音,睡觉,睡不着,半夜,噪,吵,灯光,睡觉,光污染
环保公益活动 环保 环保活动,公益,绿地,生态,志愿,服务,树,绿色

构建领域词典

Word2vec是Google 公司开放的一款用于训练词向量的开源项目,基于Word2vec构建面向微博的城市污染信息领域词典:

  • 使用未筛选微博(未筛选提及当地环保部门的所有微博)作为语料库训练Word2vec
  • 使用经过训练的Word2vec模型将种子词以及微博中出现的词表达成向量形式;
  • 找到与种子词余弦距离最近的前K项词汇(本文取前100项),这K项词汇与种子词一起构成城市污染信息的领域词典。

微博城市污染信息分类

依据领域词典计算微博属于不同城市污染类别的概率,实现微博的分类。

由于中文句子没有形式上词的分界符,在计算概率前,需要首先将微博文本切分成有意义的词汇。

这里通过使用Jieba 分词工具执行微博文本分词。在分词时,将常用虚词如“的”以及标点符号加入停用词以避免切分出无意义词汇,将定义的种子词加入用户字典以确保有价值词汇被准确划分。

3.城市污染信息可视化

基于开放Web地图平台MapBox ,提出了可以进行交互的城市污染信息可视化方案包括以下几个部分:

数据和模型

社交媒体数据通过上述的城市污染信息分类模型后,被划分为不同的城市污染类别。分类后的数据被组织编码为面向Web的地理数据编码格式—— GeoJson格式。

可视化技术

应用MapBox平台的 Mapbox.js实现城市污染背景地图的显示、导航与漫游操作,实现微博编码数据的处理、渲染及其与地图的集成显示。JS组件和HTML实现用户事件响应处理和可视化界面,如分类导航栏、图例等。

可视化功能

可视化功能主要包括地图基本功能、分类标注以及联动显示。地图为可视化系统提供一个整体的环境信息。分类标注将不同污染类别的微博标注为不同的颜色,并允许用户选择单独显示不同污染分类的微博数据。联动显示指微博数据点和微博文字图片的同步显示。


About

the showcase for urban pollutions


Languages

Language:HTML 71.1%Language:Python 25.8%Language:Dockerfile 2.8%Language:JavaScript 0.3%