Entry Name:  Fudan University-Peng- MC3

VAST Challenge 2021
Mini-Challenge 3

 

 

Team Members:

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

 

Tools Used:

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.

5cafdc635827eb24fc4381dce418d02

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.

Figure 18. The risk level of different events and the race bar chart (animation).