Using Keystroke Dynamics in a Multi-Agent System for User Guiding in Online Social Networks
Abstract
:Featured Application
Abstract
1. Introduction
2. Related Work
3. System Description
- Happy: Mapped as positive sentiment.
- Bored: Mapped as negative sentiment.
- Relaxed: Mapped as positive sentiment.
- Anxious: Mapped as negative sentiment.
- Angry: Mapped as negative sentiment.
- Presentation agent: This agent receives data from users navigating in a SNS through certain widgets that are used by users to interact with the system. Then the agent sends this data of text and keystroke dynamics to the analyzer agents. It also receives the feedback generated by the advisor agent and sends it back to users navigating the SNS.
- Sentiment analyzer (text data): This agent computes a sentiment polarity (positive or negative), using text data.
- Stress analyzer (text data): This agent computes a stress level (low or high), using text data.
- Sentiment analyzer (keystroke dynamics data): This agent computes a sentiment polarity (positive or negative), using keystroke dynamics data.
- Stress analyzer (keystroke dynamics data): This agent computes a stress level (low or high), using keystroke dynamics data.
- Advisor agent: The advisor agent calculates the combined analysis from the outputs of the four analyzer agents, and generates feedback for the users if the message is deemed negative. The final definition of the process used for generating the feedback is extracted after the conclusions reached in the experiments with data from our SNS Pesedia, which are both shown in the next section.
- Persistence agent: This agent receives data from the analyzer agents and feedback generated and stores it in the database of the MAS.
Keystroke Dynamics Analyzer Agents
- Key press: Measures the average key press time of users or dwell time (the time a key is pressed), which is included for being able to detect variations on general key dwelling speed that might be caused by sentiment polarities or stress level variations.
- Key release and press interval: Measures the average interval of time which takes a user to release a key and press another one. It serves the purpose of detecting variations of key input speed on a different action that the key press—in this case, the interval between releasing a key and pressing another, which denotes the time in which the user starts inputting different information after finishing one.
- Key press and second press interval: Similar to the previous one, this time the average interval between two key presses is measured. This interval measures the time that the user uses from starting to input one piece of information to inputting another.
- Key release and second release interval: Measures the average interval between two key releases, which represents the time that the user spends from some information being inputted to more getting input as well.
- Key press related to digraphs: Since digraph features are timing characteristics for two-key sequences, this feature measures the key press timing related to sequences of two keys; that is, the average key press timing in the digraphs detected at the text, using a list of common digraphs for detecting them. This feature captures timing information which is associated with commonly typed digraphs, which might offer useful information in addition to the previously presented features.
- Key release and press interval related to digraphs: The feature that measures average release and press interval for common digraphs.
- Key press related to trigraphs: Average key press timing for common trigraphs.
- Key release and press interval related to digraphs: Average release and press interval for common trigraphs.
- Digraph typing: Averaged value of total time for inputting a digraph.
- Trigraph typing: Analog to the previous feature but for the case of trigraphs.
- General typing speed: The feature that represents average typing speed.
4. Experiments with Data from the SNS Pesedia
4.1. Metric for the Experiments
- messages_with_replies: Total amount of messages that generated replies.
- messages_with_propagated_state: Aggregated value of messages with the propagated state, which are messages with the same detected state as is present in most replies.
4.2. Plan of the Experiments
- PCOMB_or_text: PDV of the “or” version of combined sentiment and stress analyzers on text.
- PSEN_text: PDV of the sentiment analyzer on text.
- PSTR_text: PDV of the stress analyzer on text.
- PCOMB_and_text: PDV of the “and” version of combined sentiment and stress analyzers on text.
- PCOMB_or_ksd: PDV of the “or” version of combined sentiment and stress analyzers on keystroke dynamics.
- PSEN_ksd: PDV of the sentiment analyzer on keystroke dynamics.
- PSTR_ksd: PDV of the stress analyzer on keystroke dynamics.
- PCOMB_and_ksd: PDV of the “and” version of combined sentiment and stress analyzers on keystroke dynamics.
- PCOMB_TEXT_OR_KSD_or: “or” version of combined analysis, using the values resulting from the output of PCOMB_or_text and PCOMB_or_ksd.
- PCOMB_TEXT_OR_KSD_and: “and” version of combined analysis, using the values resulting from the output of PCOMB_or_text and PCOMB_or_ksd.
- PCOMB_TEXT_AND_KSD_or: “or” version of combined analysis, using the values resulting from the output of PCOMB_and_text and PCOMB_and_ksd.
- PCOMB_TEXT_AND_KSD_and: “and” version of combined analysis, using the values resulting from the output of PCOMB_and_text and PCOMB_and_ksd.
4.3. Results
4.4. Reformulation of the Advisor Agent
- As the default case, if there are no issues detecting input, or with data availability or neutral detections, then the warning is generated when a negative message is detected by the text and keystroke dynamics data combined analysis.
- The tokenizer sometimes is not able to detect any token in the input text; in this case, the feedback to warn the user is generated when the sentiment and stress combined analysis on keystroke dynamics data assigns a negative label to the message.
- One source of data is not available, text or keystroke dynamics, so the warning is generated if the combined analysis on the available data detects a negative message.
- The class probability detected is in the range of 0.5–0.525 for both sentiment and stress analysis on one kind of data, meaning that the ANN models for this data source detect a neutral state. In this case, the warning is generated if the combined analysis on the other data source detects a negative message outside of the mentioned range of class probability. If both data sources generated an output with a class probability inside the mentioned range, then the combined analysis of text and keystroke dynamics data is used for the generation of the warning, doing so if a negative message is detected by this combined analysis.
5. Conclusions and Future Work
Author Contributions
Funding
Conflicts of Interest
References
- De Moor, S.; Dock, M.; Gallez, S.; Lenaerts, S.; Scholler, C.; Vleugels, C. Teens and ICT: Risks and Opportunities; TIRO: Belgium, 2008; Available online: http://goo.gl/vvNl2z (accessed on 18 May 2020).
- Livingstone, S.; Haddon, L.; Görzig, A.; Ólafsson, K. Risks and Safety on the Internet: The Perspective of European Children: Full Findings and Policy Implications from the EU Kids Online Survey of 9–16 Year Olds and Their Parents in 25 Countries; EU Kids Online, Deliverable D4; EU Kids Online Network: London, UK, 2011. [Google Scholar]
- Vandenhoven, E.; Schellens, T.; Valacke, M. Educating teens about the risks on social network sites. Media Educ. Res. J. 2014, 43, 123–131. [Google Scholar]
- O’Keeffe, G.S.; Clarke-Pearson, K. The impact of social media on children, adolescents, and families. Pediatrics 2011, 127, 800–804. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- George, J.M.; Dane, E. Affect, emotion, and decision making. Organ. Behav. Hum. Decis. Process. 2016, 136, 47–55. [Google Scholar] [CrossRef]
- Thelwall, M. TensiStrength: Stress and relaxation magnitude detection for social media texts. Inf. Process. Manag. 2017, 53, 106–121. [Google Scholar] [CrossRef] [Green Version]
- Aguado, G.; Julian, V.; Garcia-Fornes, A. Towards Aiding Decision-Making in Social Networks by Using Sentiment and Stress Combined Analysis. Information 2018, 9, 107. [Google Scholar] [CrossRef] [Green Version]
- Epp, C.; Lippold, M.; Mandryk, R.L. Identifying emotional states using keystroke dynamics. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Vancouver, BC, Canada, 7–12 May 2011; pp. 715–724. [Google Scholar]
- Schouten, K.; Frasincar, F. Survey on aspect-level sentiment analysis. IEEE Trans. Knowl. Data Eng. 2016, 28, 813–830. [Google Scholar] [CrossRef]
- Bordera, J.A. PESEDIA. Red Social Para Concienciar en Privacidad. Master’s Thesis, Universitat Politècnica de València, Valencia, Spain, 2016. [Google Scholar]
- Lee, P.M.; Tsui, W.H.; Hsiao, T.C. The influence of emotion on keyboard typing: An experimental study using auditory stimuli. PLoS ONE 2015, 10, e0129056. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Bradley, M.; Lang, P. The International Affective Digitized Sounds (2-nd Edition; IADS-2): Affective Ratings of Sounds and Instruction Manual Gainesville; The Center for Research in Psychophysiology: Gainesville, FL, USA, 2007. [Google Scholar]
- Kołakowska, A. Towards detecting programmers’ stress on the basis of keystroke dynamics. In Proceedings of the 2016 Federated Conference on Computer Science and Information Systems (FedCSIS), Gdańsk, Poland, 11–14 September 2016; pp. 1621–1626. [Google Scholar]
- Vizer, L.M.; Zhou, L.; Sears, A. Automated stress detection using keystroke and linguistic features: An exploratory study. Int. J. Hum. Comput. Stud. 2009, 67, 870–886. [Google Scholar] [CrossRef]
- Huang, F.; Zhang, X.; Zhao, Z.; Xu, J.; Li, Z. Image–text sentiment analysis via deep multimodal attentive fusion. Knowl. Based Syst. 2019, 167, 26–37. [Google Scholar] [CrossRef]
- Poria, S.; Chaturvedi, I.; Cambria, E.; Hussain, A. Convolutional MKL based multimodal emotion recognition and sentiment analysis. In Proceedings of the 2016 IEEE 16th International Conference on Data Mining (ICDM), Barcelona, Spain, 12–15 December 2016; pp. 439–448. [Google Scholar]
- Gregori, M.E.; Cámara, J.P.; Bada, G.A. A jabber-based multi-agent system platform. In Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, Hakodate, Japan, 8–12 May 2006; pp. 1282–1284. [Google Scholar]
- Mehrabian, A. Pleasure-arousal-dominance: A general framework for describing and measuring individual differences in temperament. Curr. Psychol. 1996, 14, 261–292. [Google Scholar] [CrossRef]
- Kingma, D.P.; Ba, J. Adam: A Method for Stochastic Optimization, 2014. In Proceedings of the 3rd International Conference for Learning Representations, San Diego, CA, USA, 7–9 May 2015. [Google Scholar]
- Lau, S.H. Stress Detection for Keystroke Dynamics. Ph.D. Thesis, Carnegie Mellon University, Pittsburgh, PA, USA, May 2018. [Google Scholar]
- Ulinskas, M.; Damaševičius, R.; Maskeliūnas, R.; Woźniak, M. Recognition of human daytime fatigue using keystroke data. Procedia Comput. Sci. 2018, 130, 947–952. [Google Scholar] [CrossRef]
Text Typing Speed Features | Key Frequency Features |
---|---|
key press | enter |
key release and press interval | space bar |
key press and second press interval | back space |
key release and second release interval | delete |
key press related to digraphs | key up |
key release and press interval related to digraphs | key down |
key press related to trigraphs | key left |
key release and press interval related to trigraphs | key right |
digraph typing | shift |
trigraph typing | home |
general typing speed | end |
page up | |
page down | |
caps lock |
Version of PDV | No Changes in the Thresholds | Threshold 0.7 in Sentiment Analysis | Threshold 0.7 in Stress Analysis | Threshold 0.7 in Analyses on Text | Threshold 0.7 in Analyses on Keystroke Data |
---|---|---|---|---|---|
1 | 0.8879 (0.0171) | 0.8879 (0.0171) | 0.8951 (0.0257) | 0.8951 (0.0257) | 0.8879 (0.0171) |
2 | 0.6823 (0.0214) | 0.7644 (0.0066) | 0.6743 (0.0203) | 0.7633 (0.0110) | 0.6823 (0.0214) |
3 | 0.6868 (0.0238) | 0.8093 (0.0074) | 0.6868 (0.0238) | 0.8093 (0.0074) | 0.6868 (0.0238) |
4 | 0.9196 (0.0237) | 0.9567 (0.0117) | 0.9293 (0.0244) | 0.9634 (0.0113) | 0.9196 (0.0237) |
5 | 0.9235 (0.0219) | 0.9235 (0.0219) | 0.9963 (0.0015) | 0.9235 (0.0219) | 0.9963 (0.0015) |
6 | 0.8700 (0.0285) | 0.9186 (0.0221) | 0.9314 (0.0229) | 0.8700 (0.0285) | 0.9907 (0.0027) |
7 | 0.9193 (0.0244) | 0.9928 (0.0022) | 0.9193 (0.0244) | 0.9193 (0.0244) | 0.9928 (0.0022) |
8 | 0.9811 (0.0126) | 0.9976 (0.0013) | 0.9843 (0.0127) | 0.9811 (0.0126) | 0.9984 (0.0012) |
9 | 0.7033 (0.0337) | 0.7676 (0.0270) | 0.7354 (0.0330) | 0.7551 (0.0293) | 0.7236 (0.0335) |
10 | 0.5333 (0.0432) | 0.6763 (0.0191) | 0.5541 (0.0405) | 0.6220 (0.0233) | 0.5826 (0.0407) |
11 | 0.9153 (0.0242) | 0.9559 (0.0116) | 0.9278 (0.0251) | 0.9484 (0.0173) | 0.9196 (0.0235) |
12 | 0.8951 (0.0350) | 0.9523 (0.0129) | 0.9092 (0.0352) | 0.9441 (0.0195) | 0.9026 (0.0323) |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Aguado, G.; Julián, V.; García-Fornes, A.; Espinosa, A. Using Keystroke Dynamics in a Multi-Agent System for User Guiding in Online Social Networks. Appl. Sci. 2020, 10, 3754. https://doi.org/10.3390/app10113754
Aguado G, Julián V, García-Fornes A, Espinosa A. Using Keystroke Dynamics in a Multi-Agent System for User Guiding in Online Social Networks. Applied Sciences. 2020; 10(11):3754. https://doi.org/10.3390/app10113754
Chicago/Turabian StyleAguado, Guillem, Vicente Julián, Ana García-Fornes, and Agustín Espinosa. 2020. "Using Keystroke Dynamics in a Multi-Agent System for User Guiding in Online Social Networks" Applied Sciences 10, no. 11: 3754. https://doi.org/10.3390/app10113754
APA StyleAguado, G., Julián, V., García-Fornes, A., & Espinosa, A. (2020). Using Keystroke Dynamics in a Multi-Agent System for User Guiding in Online Social Networks. Applied Sciences, 10(11), 3754. https://doi.org/10.3390/app10113754