Lei Peng, Fudan University, 20210980132@fudan.edu.cn PRIMARY
Yuheng Zhao, Fudan University, yuhengzhao_cn@163.com
Yijie Hou, Fudan University, 1156281933@qq.com
Qinghong Wang, Data Star Observatory, wangqinghong@shuziguanxing.com
Siqi Shen, Fudan University, 20210980083@fudan.edu.cn
Xingui Lai, Fudan University, 20210980095@fudan.edu.cn
Junting Gao, Data Star Observatory, gaojunting@shuziguanxing.com
Jiaqi Dong, Fudan University, 20210980045@fudan.edu.cn
Ziyue Lin, Fudan University, ziyuelin917@gmail.com
Siming Chen, Fudan University, simingchen@fudan.edu.cn
Student Team: NO
VSCode
Python
Vue
D3.js
Approximately how many hours were spent
working on this submission in total?
200 hours
May we post your submission in the
Visual Analytics Benchmark Repository after VAST Challenge 2021 is complete? YES
Video
https://www.guanxingtai.net/vastchallenge2021/mc3.wmv
Use visual analytics to analyze the available
data and develop responses to the questions to be provided. In addition,
prepare a video that shows how you used visual analytics to solve this challenge.
Questions
1 ––
Using visual analytics,
characterize the different types of content in the dataset. What distinguishes
meaningful event reports from typical chatter from junk or spam? Please limit your answer to 8 images and 500
words.
1 Data Processing and
Modeling
We implement basic data cleaning and data mining
on the given data. From the raw texts, we extract entities such as authors,
tags, organizations, locations, and persons. We also implement sentiment analysis
on the microblog data. As for the call center data, we transform their
addresses into coordinates based on the given geospatial information so that we
can later visualize them on the map.
In order to distinguish meaningful information,
chatter, and spam, we consider a combined approach consists of machine learning
and human interaction. We first encode microblog messages into tensors with the
BERT model and then use a lightGBM model (which is trained with 150 manually
labeled messages) as a classifier. Here we obtain a preliminary classification
of relevant information, chatter, and spam.
1.1 Characterize the
different types of content in the dataset.

Figure 1. The overview of the first design. (a)
Timeline of the stream graph. (b) Central View consists of messages and word
cloud calculated by frequency. (c) Filter Panel can add keywords, and authors
in the whitelist or blacklist for better classification.:
To better classify these 3 types of messages, we
design an interactive visualization system which consists of a brushable
timeline, a central view, and a filter panel. All the subviews in our interface
are linked with the timeline. In the central view, each category of messages is
displayed with its corresponding word cloud. Users can directly relabel a
certain message by clicking on the button. They can also do batch operations
with the help of our filter panel.
For example, we find that @Clevvah4Evah sent lots
of meaningless messages, and @KronosQuoth is a typical chicken soup
blogger. Therefore, we can add them into
the blacklist to prevent them from appearing in the relevant information set.
We also provide a whitelist. As we think #AbilaFire must be an important tag
directly related to a public risk event, we may add it into the whitelist to
avoid potential misclassifications from the model. To sum up, we distinguish
useful information from chatter and spam through both machine learning and
human interaction. This approach is flexible, efficient, and produces a nice
classification result.

Figure 2. The demonstration of steps to relabel a
single message for classification.

Figure 3. The demonstration of the steps to use
filters for classification.
1.2 What distinguishes
meaningful event reports from typical chatter from junk or spam?
1.
Content: Semantics in the sets of Relevant, Chatter, and
Spam are different. For example, we can see that in the Relevant information
set, people mainly discuss about "pok" "rally" and
"abila", which are closely relative to the case. However, In the
Chatter set, messages are about some motivational philosophies around
"life" and "time", "failure" and
"success". In the Spam set,
obviously, there are mainly advertisements related to "followers"
"credit cards" from junk or spam.

Figure 4. Word clouds of Relevant, Chatter and
Spam.
2. Emotion:
We put 2 circles below the relabel button on each message card. The upper one
represents sentiment (red for negative, yellow for neutral, and green for positive)
and the one below represents objectivity (blue for objective). We observe that
relevant messages tend to be with more negative sentiments. In addition,
according to the timeline (which is now rendered as a stacked area chart for
sentiments), we find that during certain periods, relevant messages show
extremely negative emotions since people were mainly discussing about
"shot", "fire", "police" and so on. In contrast,
average sentiments of chatter or spam seldom change.

Figure 5. The design illustration of a message
card.

Figure 6. The illustration of the interaction of
sentiment timeline, word cloud and specific messages.
3. User:
As we found, some users tent to post a lot of spams or chatters. For example,
@Clevvah4Evah sent lots of meaningless messages, and @KronosQuoth is a typical
chicken soup blogger.
2 – Use visual analytics to represent and
evaluate how the level of the risk to the public evolves over the course of the
evening. Consider the potential consequences of the situation and the number of
people who could be affected. Please
limit your answer to 10 images and 1000 words.
2.1 Represent the level of
the risk to the public over night.
To evaluate the risk to the public overnight, we
first define several essential indexes which would help us in quantifying and
clarifying the risk level in a certain area during a certain period.
The first index we define is the risk level (R).
It is defined based on a fixed area S, and a certain period of time T. We
divide the map of Abila city into equally large hexagons (a hexbin map). Assume
that during period T, there are m microblog messages sent and n call center
actions recorded within Hexagon S. Let Neg denote the average negative
sentiment level of those m micro blog messages. Then, the risk level in area S
during period T is computed as Risk(S, T) = m*e^(Neg) + n*C, where C is a
constant. (In practice, we take C = 1.5). This definition takes into account
both the occurrences of events and the negative sentiments that we identify in
texts. Here in practice, we always have e^(Neg) < C. That is to say, we
value more on call center records than microblog messages because they are more
directly related to public risk events.
The second index we define is population
influence rate, whch is the percentage of the population in Abila who might be
affected by risk events (P). Since we do not know the exact population of Abila
or its distribution, we can only give a rough estimation based on the microblog
information that we have. Let N denote the aggregated number of microblog
messages and call center records in Hexagon S. Let N_T denote the number of all
the messages and records that are generated during period T. Then, the
percentage of the potentially affected population can be defined as P(S, T) =
N/N_T.
As is shown in the picture below, the blue
rectangles approximately represent the locations (POI) that we identified in
Abila city. During a certain time period, the hexagons represent the computed
risk level of the area. The higher the
risk level is, the redder the hexagon will be coloured. When users hover on
a hexagon, a tooltip will display all the useful information about this area
including its risk level, the its population influence rate, its negative
sentiment level, and so on. Therefore, by brushing to select a certain time
period, users can easily obtain a general understanding of the situation based
on the map.

Figure 7. The illustration of map design. T
represents time period, S represents the area.
In fact, indexes such as risk level only provide basic knowledge about
risks evolving in the city. To know exactly what happens and how it may affect
the citizens, we need to dig further into the existing text data. Therefore, we
implement other functions and views in our system to support this exploration.
First, we build an entity graph based on the
entities(tags, organizations, locations, and persons) we extracted from the
texts. Two entites are linked together if they both appear in one message. The
entity graph is also linked to the timeline. The entity graph can provide us
with highly refined clues, and relationships between entities. The picture
below shows 4 different cases (about the rally, the fire, the police shot and
the traffic incidence) that we find using the entity graph.

Figure 8. The entity graph shows 4 events about
the POK rally, the fire, shooting police and the traffic incidence.
Having explored with the original text columns, the word clouds and the
entity graph, users may now obtain several keywords of different events that
happen during this evening. Therefore, the next step is to explore with
keywords. Users can now input self-defined events with corresponding keywords
into the system. The system will render the timeline with keywords, generate a
bar chart race, and highlight every message card that contains a keyword. The
event timeline makes it clear when a certain event happens and how it evolves.

Figure 9: Adding self-defined events and keywords
and the timeline and the bar chart race will react.
Case: The Black Van
This case shows how the exploration process with keyword
works. We roughly know that there's an risk event related to a van. So we input
a self-defined event 'Black Van' with keywords 'van', 'accident', and 'car'. To
our surprise, we find that actually it is not a single event, but a series of
events. The keyword 'van' first appeared at 19:20 and hit a car. Then, it hit a
bike at 19:22 and ran away. Based on new observations, we replace keyword 'car'
with 'cop'. And later at 19:40, we find that the driver shot a police officer
and triggered a wave of panic among citizens. Finally at 21:24, a man and a
woman in the van surrendered and hostages were freed. We are glad to see that
the hostages were the missing GASTech employees.

Figure 10. The figures show four events related
to the Black Van arranged in chronological order.
2.2 Consider the potential consequences of the
situation and the number of people who could be affected.
Example 1: The Fire
The fire would affect people who were in the
dancing dolphin building or neighboring buildings. Using the population
influence rate that we define at the beginnig of this answer, we can observe
the proportion of people who were affected by the fire. From the map we can see
that there are many public facilities such as cafes and factories around the
site. Once the fire spreads, it might cause serious casualty.

Figure 11. The map of the event fire happened
close to a couple of public facilities.
By brushing on the timeline, we can find that when the fire started
at 18:40, its risk level was 18.31 and its population influence rate was 1.96%.
And then at 21:15, the fire was under control and the risk index decreased to a
low level. However, there later happened an explosion on the site, which was
somehow unpredictable.

Figure 12. The risk level of the event fire
decresed from 18:40 to 21:15.
Example 2: The Gun shot
Based on the coloured hexagons on the map we
successfully locate the site of gun shot. Relevant messages showed that the
shot made a great noise which was heard by lots of surrounding residents. The
population influence rate there was 3.55%, which was relatively very high.

Figure 13. The risk level and population
influence the rate of the gunshot.
Example 3: Traffic Stops
In order to track down and catch the suspicious
black van, the police imposed several traffic stops , one of which resulted in
a population influence rate of 0.09%. The traffic stops interrupted normal
traffic order.

Figure 14. The risk level and population
influence the rate of traffic stops.
3 – If you were able to send a team of first responders
to any single place, where would it be? Provide your rationale. How might your
response be different if you had to respond to the events in real time rather
than retrospectively? Please limit your answer to 8 images and 500 words.
Looking back over the past period of time,
considering the risk level and the population influence rate that we defined,
we can decide the priority of each public risk event. For example, from 18:40
to 19:30, the rescue team is suggested to be sent to the fire site since the
risk level and the population influence rate of the fire event are higher.

Figure 15. A comparison of the fire and traffic
incidence for deciding the priority of sending first responders.
Similarly, from 18:40 to 21:40, according to the indexes showed
below, we can get an order : "gun shot"> "fire">
"traffic accident"> "Rally". In the visualization
system, we find that a special force unit called SWAT arrived at the shooting site
at 19:40, which also indicates how dangerous the shooting event is. So the
priority should be given to the shooting site.
|
Event |
Risk Level |
Influence Rate |
Negative level |
|
Gun shot |
89.06 |
2.61% |
1.11 |
|
Fire |
39.35 |
1.08% |
1.04 |
|
Traffic accident |
38.77 |
1.18% |
1.04 |
|
Rally |
11.80 |
0.34% |
1.04 |

Figure 16. A comparison of four events for
deciding the priority of sending first responders.

Figure 17. The finding of the "SWAT"
arrived at the shooting place on 19:55.
3.2 How might your response
be different if you had to respond to the events in real time rather than
retrospectively?
Under this case, the new principle is to respond
to serious public risk events at once. Therefore, the rescue team might have
been sent to the fire site before the gun shot happens.
If several events occur simultaneously within a few
minutes, we may want to examine the current event influence first. Our system
enables this using a dynamic bar chart race which can be used for comparing the
discussions about events on social media in real-time. The map can also show
the risk level in real-time within several minutes, telling us which is the
most dangerous.