Dynamic Visual Analytics for Elicitation Meetings with ELICA

2
Dynamic Visual Analytics for Elicitation Meetings with ELICA Zahra Shakeri Hossein Abad * , Munib Rahman * , Abdullah Cheema * , Vincenzo Gervasi , Didar Zowghi , Ken Barker * * Department of Computer Science, University of Calgary, Calgary, Canada {zshakeri, murahman, cheemaab, kbarker}@ucalgary.ca Department of Computer Science, University of Pisa, Italy, [email protected] School of Software, University of Technology Sydney, Australia, [email protected] (a) assigned to a particular individual in particular. why do you need a queue for this process 0:14 the reason being is because they have both IT infrastructure issues and SAP related issues. once in the holding queue a person in IT looks at that particular ticket and determines who it gets assigned to and once assigned to that individual that person receives an email stating they have been assigned to a ticket 0:17 what are the end user complaints about the current system 0:31 depending on the location many users don’t know how to follow up on a ticket that they submitted because they either don’t know how to click on a link or it just says that your help desk ticket has been updated there is nothing that says that here’s an updated status with the technician’s response within the email and so forth 0:38 imagine the ideal situation can you describe the support process as it should be 0:50 either it is web based or lotus notes it must be easy to get to users would then type in their problem and it would go out and search for that issue and potentially give them a solution 0:57 another great solution would be to eliminate the holding queue whereas when the ticket selects a category from the drop down list it would get assigned to a particular individual 1:10 Done iPad (b) Snippet from: RT Essentials Tickets can have an owner—the user responsible for working on the ticket or for coordinating the work. To assign a ticket to someone, go to the People form from the ticket display page, and select the user from the Owner drop-down list. This list contains the usernames of all the users allowed to own tickets in the ticket’s current queue. You can assign only tickets that you own or that are unowned. If you need to reassign a ticket that you do not own, you can steal the ticket and then assign it to someone else. (c) Automatic Snippets Tenatative Confident Anger Analytical Sadness Joy Fear Classification Functional Requirement Analytical (78%) Snippet from: RT Essentials Overall Tone Client (d) Fig. 1. (a) The application of ELICA during the collaboration with Stakeholders, (b) diarization feature included in the speech to text component, (c) extraction bar, which represents the extracted relevant information, (d) visualization and analytical component. Abstract—Requirements elicitation can be very challenging in projects that require deep domain knowledge about the system at hand. As analysts have the full control over the elicitation process, their lack of knowledge about the system under study inhibits them from asking related questions and reduces the accuracy of requirements provided by stakeholders. We present ELICA, a generic interactive visual analytics tool to assist analysts during requirements elicitation process. ELICA uses a novel information extraction algorithm based on a combination of Weighted Finite State Transducers (WFSTs) (generative model) and SVMs (discriminative model). ELICA presents the extracted relevant information in an interactive GUI (including zooming, panning, and pinching) that allows analysts to explore which parts of the ongoing conversation (or specification document) match with the extracted information. In this demonstration, we show that ELICA is usable and effective in practice, and is able to extract the related information in real-time. We also demonstrate how carefully designed features in ELICA facilitate the interactive and dynamic process of information extraction. Index Terms—Requirements elicitation, Natural language pro- cessing, Tool support, SVMs, Information extraction I. I NTRODUCTION AND MOTIVATION Requirements elicitation is an information-intensive task, drawing on different sources of information to infer a consen- sus on the requirements of a system. There have been numer- ous attempts to improve the flow of information, knowledge, or decision in elicitation process (e.g. [1], [2]). However, two major obstacles still stand in the way of providing an effective communication between the systems analyst and clients: First, analysts and users often have different mental models and use different terminologies, filling the knowledge gap between the domain experts and the analysts during the requirements elici- tation process is itself an open research problem. Second, even if we had a perfect tool that could fully support analysts with requirements-related information, extracting and classifying the extracted information in real-time still remains challenging since this requires a dynamic modeling and analyzing the input text. For example, consider a situation in which an analyst is tasked to work on the requirements for a project from an unfamiliar domain. The misinformation during the requirements elicitation meeting reduces the accuracy of the requirements provided by stakeholders [3]. This paper describes ELICA (requirements ELICitation Aid), a tool for extracting and classifying requirements- relevant information during the elicitation process. Our focus is on both challenges: given an existing domain repository, how to extract requirements-relevant information in real-time. ELICA leverages the existing domain repositories as well as machine learning techniques to assist analysts to access relevant information about the application domain in real- time (Fig. 1a). In ELICA, we use an off-the-shelf API—IBM Watson [4]— to convert spoken utterances to text strings and to diarize meeting data (Fig. 1b). To extract requirements-relevant information (Fig. 1c) we design and implement a hierarchical language model to measure the lexical association [5] between the latest window of a conversation (or text snippet) and the ex- isting domain repositories. To extract this information in real- time, we apply Weighted Finite State Transducers (WFSTs) [6], powerful technique which handle variable-length feature vectors and support dynamic modeling and analysis of textual data. We leveraged the closure properties of WFSTs and the well-defined and flexible algebraic operations for these tools to enhance the SVMs technique for dynamic classification of the extracted requirements-relevant information (Fig. 1d). [Preprint version] Accepted to the 26 th IEEE International Conference on Requirements Engineering (RE’18) arXiv:1807.06076v1 [cs.CY] 10 Jul 2018

Transcript of Dynamic Visual Analytics for Elicitation Meetings with ELICA

Dynamic Visual Analytics for Elicitation Meetingswith ELICA

Zahra Shakeri Hossein Abad∗, Munib Rahman∗, Abdullah Cheema∗, Vincenzo Gervasi†, Didar Zowghi‡, Ken Barker∗∗ Department of Computer Science, University of Calgary, Calgary, Canada

{zshakeri, murahman, cheemaab, kbarker}@ucalgary.ca†Department of Computer Science, University of Pisa, Italy, [email protected]

‡School of Software, University of Technology Sydney, Australia, [email protected]

assigned to a particular individual in particular.

why do you need a queue for this process

0:14

the reason being is because they have both IT

infrastructure issues and SAP related issues.

once in the holding queue a person in IT looks at

that particular ticket and determines who it gets

assigned to and once assigned to that individual

that person receives an email stating they have

been assigned to a ticket

0:17

what are the end user complaints about the current

system

0:31

depending on the location many users don’t know

how to follow up on a ticket that they submitted

because they either don’t know how to click on a link

or it just says that your help desk ticket has been

updated there is nothing that says that here’s an

updated status with the technician’s response within

the email and so forth

0:38

imagine the ideal situation can you describe the

support process as it should be

0:50

either it is web based or lotus notes it must be easy

to get to users would then type in their problem and

it would go out and search for that issue and

potentially give them a solution

0:57

another great solution would be to eliminate the

holding queue whereas when the ticket selects a

category from the drop down list it would get

assigned to a particular individual

1:10

Done

Automatic Snippets

Tenatative

ConfidentAnger

Analytical

Sadness

Joy

Fear

ClassificationFunctional Requirement

Analytical (78%)

Snippet from: RT Essentials

Overall Tone

Client�

Tickets can have an owner—the user responsible for working on the ticket or for

coordinating the work. To assign a ticket to someone, go to the People form from

the ticket display page, and select the user from the Owner drop-down list. This

list contains the usernames of all the users allowed to own tickets in the ticket’s

current queue. You can assign only tickets that you own or that are unowned. If you

need to reassign a ticket that you do not own, you can steal the ticket and then

assign it to someone else.

Analyze

New Session

58 %

9:41 AM

iPad

(a)

assigned to a particular individual in particular.why do you need a queue for this process0:14the reason being is because they have both IT infrastructure issues and SAP related issues. once in the holding queue a person in IT looks at that particular ticket and determines who it gets assigned to and once assigned to that individual that person receives an email stating they have been assigned to a ticket

0:17

what are the end user complaints about the current system

0:31

depending on the location many users don’t know how to follow up on a ticket that they submitted because they either don’t know how to click on a link or it just says that your help desk ticket has been updated there is nothing that says that here’s an updated status with the technician’s response within the email and so forth

0:38

imagine the ideal situation can you describe the support process as it should be

0:50

either it is web based or lotus notes it must be easy to get to users would then type in their problem and it would go out and search for that issue and potentially give them a solution

0:57

another great solution would be to eliminate the holding queue whereas when the ticket selects a category from the drop down list it would get assigned to a particular individual

1:10

Done

Automatic Snippets

Tenatative

ConfidentAnger

Analytical

Sadness

Joy

Fear

Classification

Functional Requirement

Analytical (78%)

Snippet from: RT Essentials

Overall Tone

Client

Tickets can have an owner—the user responsible for working on the ticket or for coordinating the work. To assign a ticket to someone, go to the People form from the ticket display page, and select the user from the Owner drop-down list. This list contains the usernames of all the users allowed to own tickets in the ticket’s current queue. You can assign only tickets that you own or that are unowned. If you need to reassign a ticket that you do not own, you can steal the ticket and then assign it to someone else.

AnalyzeNew Session58 %9:41 AMiPad

(b)

assigned to a particular individual in particular.why do you need a queue for this process0:14the reason being is because they have both IT infrastructure issues and SAP related issues. once in the holding queue a person in IT looks at that particular ticket and determines who it gets assigned to and once assigned to that individual that person receives an email stating they have been assigned to a ticket

0:17

what are the end user complaints about the current system

0:31

depending on the location many users don’t know how to follow up on a ticket that they submitted because they either don’t know how to click on a link or it just says that your help desk ticket has been updated there is nothing that says that here’s an updated status with the technician’s response within the email and so forth

0:38

imagine the ideal situation can you describe the support process as it should be

0:50

either it is web based or lotus notes it must be easy to get to users would then type in their problem and it would go out and search for that issue and potentially give them a solution

0:57

another great solution would be to eliminate the holding queue whereas when the ticket selects a category from the drop down list it would get assigned to a particular individual

1:10

Done

Automatic Snippets

Tenatative

ConfidentAnger

Analytical

Sadness

Joy

Fear

Classification

Functional Requirement

Analytical (78%)

Snippet from: RT Essentials

Overall Tone

Client

Tickets can have an owner—the user responsible for working on the ticket or for coordinating the work. To assign a ticket to someone, go to the People form from the ticket display page, and select the user from the Owner drop-down list. This list contains the usernames of all the users allowed to own tickets in the ticket’s current queue. You can assign only tickets that you own or that are unowned. If you need to reassign a ticket that you do not own, you can steal the ticket and then assign it to someone else.

AnalyzeNew Session58 %9:41 AMiPad

(c)

assigned to a particular individual in particular.why do you need a queue for this process0:14the reason being is because they have both IT infrastructure issues and SAP related issues. once in the holding queue a person in IT looks at that particular ticket and determines who it gets assigned to and once assigned to that individual that person receives an email stating they have been assigned to a ticket

0:17

what are the end user complaints about the current system

0:31

depending on the location many users don’t know how to follow up on a ticket that they submitted because they either don’t know how to click on a link or it just says that your help desk ticket has been updated there is nothing that says that here’s an updated status with the technician’s response within the email and so forth

0:38

imagine the ideal situation can you describe the support process as it should be

0:50

either it is web based or lotus notes it must be easy to get to users would then type in their problem and it would go out and search for that issue and potentially give them a solution

0:57

another great solution would be to eliminate the holding queue whereas when the ticket selects a category from the drop down list it would get assigned to a particular individual

1:10

Done

Automatic Snippets

Tenatative

ConfidentAnger

Analytical

Sadness

Joy

Fear

Classification

Functional Requirement

Analytical (78%)

Snippet from: RT Essentials

Overall Tone

Client�

Tickets can have an owner—the user responsible for working on the ticket or for coordinating the work. To assign a ticket to someone, go to the People form from the ticket display page, and select the user from the Owner drop-down list. This list contains the usernames of all the users allowed to own tickets in the ticket’s current queue. You can assign only tickets that you own or that are unowned. If you need to reassign a ticket that you do not own, you can steal the ticket and then assign it to someone else.

AnalyzeNew Session58 %9:41 AMiPad

(d)

Fig. 1. The application of ELICA during the collaboration with Stakeholders.Fig. 1. (a) The application of ELICA during the collaboration with Stakeholders, (b) diarization feature included in the speech to text component,(c) extraction bar, which represents the extracted relevant information, (d) visualization and analytical component.

Abstract—Requirements elicitation can be very challenging inprojects that require deep domain knowledge about the systemat hand. As analysts have the full control over the elicitationprocess, their lack of knowledge about the system under studyinhibits them from asking related questions and reduces theaccuracy of requirements provided by stakeholders. We presentELICA, a generic interactive visual analytics tool to assist analystsduring requirements elicitation process. ELICA uses a novelinformation extraction algorithm based on a combination ofWeighted Finite State Transducers (WFSTs) (generative model)and SVMs (discriminative model). ELICA presents the extractedrelevant information in an interactive GUI (including zooming,panning, and pinching) that allows analysts to explore whichparts of the ongoing conversation (or specification document)match with the extracted information. In this demonstration,we show that ELICA is usable and effective in practice, andis able to extract the related information in real-time. We alsodemonstrate how carefully designed features in ELICA facilitatethe interactive and dynamic process of information extraction.

Index Terms—Requirements elicitation, Natural language pro-cessing, Tool support, SVMs, Information extraction

I. INTRODUCTION AND MOTIVATION

Requirements elicitation is an information-intensive task,drawing on different sources of information to infer a consen-sus on the requirements of a system. There have been numer-ous attempts to improve the flow of information, knowledge,or decision in elicitation process (e.g. [1], [2]). However, twomajor obstacles still stand in the way of providing an effectivecommunication between the systems analyst and clients: First,analysts and users often have different mental models and usedifferent terminologies, filling the knowledge gap between thedomain experts and the analysts during the requirements elici-tation process is itself an open research problem. Second, even

if we had a perfect tool that could fully support analysts withrequirements-related information, extracting and classifyingthe extracted information in real-time still remains challengingsince this requires a dynamic modeling and analyzing theinput text. For example, consider a situation in which ananalyst is tasked to work on the requirements for a projectfrom an unfamiliar domain. The misinformation during therequirements elicitation meeting reduces the accuracy of therequirements provided by stakeholders [3].

This paper describes ELICA (requirements ELICitationAid), a tool for extracting and classifying requirements-relevant information during the elicitation process. Our focusis on both challenges: given an existing domain repository,how to extract requirements-relevant information in real-time.ELICA leverages the existing domain repositories as wellas machine learning techniques to assist analysts to accessrelevant information about the application domain in real-time (Fig. 1a). In ELICA, we use an off-the-shelf API—IBMWatson [4]— to convert spoken utterances to text strings and todiarize meeting data (Fig. 1b). To extract requirements-relevantinformation (Fig. 1c) we design and implement a hierarchicallanguage model to measure the lexical association [5] betweenthe latest window of a conversation (or text snippet) and the ex-isting domain repositories. To extract this information in real-time, we apply Weighted Finite State Transducers (WFSTs)[6], powerful technique which handle variable-length featurevectors and support dynamic modeling and analysis of textualdata. We leveraged the closure properties of WFSTs and thewell-defined and flexible algebraic operations for these toolsto enhance the SVMs technique for dynamic classification ofthe extracted requirements-relevant information (Fig. 1d).

[Preprint version] Accepted to the 26th IEEE International Conference on Requirements Engineering (RE’18)

arX

iv:1

807.

0607

6v1

[cs

.CY

] 1

0 Ju

l 201

8

II. ELICA PROTOTYPE

The architecture of ELICA is shown in Fig. 2. The entireELICA system consists of two parts, the first part is re-sponsible for extracting and classifying requirements relevantinformation, including dynamic generative model (using WF-STs) and real-time classifier (using SVMs); the other providessupport for recording data and interaction with the extractedinformation, including speech to text, speech diarization, andvisualization components. A typical user interaction process inELICA engages both analytical and interactive components.

Data Repository: ELICA stores the domain repository andthe application data (e.g. users’ information, diarized conver-sation, and extracted information) in MongoDB on AmazonEC2, which communicates in JSON. ELICA is able to keepthe data up-to-date by running the diarization, tone analyzer,extraction, and classification components in real-time.

Extracting and Classifying requirements: Once the con-versation between the client and the analyst has been initiatedand transcribed, the most recent window of the conversation,along with the existing domain repository will be used asinputs to the information extraction module. After buildingthe hierarchical language models, this module calculates theintersection between the two language models and returns the“relevant” terms which can be used to measure the lexicalassociation between the on-going conversation and the existingrepositories and fetch those parts of the domain repository thatcontain those relevant terms. The analyst can then interactivelyselect among the returned text snippets those which bestdescribe the on-going discussion. ELICA not only returns theextracted relevant snippets but also classifies these snippets toFunctional/Non-Functional Requirements (NFRs) as well assub-categories of NFRs (e.g. usability, availability, security).

Interactive Visualization: ELICA offers an interactiveinterface that combines intuitive visualization about speak-ers’ intentions such as confidence level, analytical tone, andemotions with a range of visual-textual information such asdiarized speech (using a different color for each speaker) andextracted relevant information (highlighting content-carryingterms). Fig. 2 outlines these components which are includedin the IBM Watson APIs module. As the association betweeneach recorded utterance and its relevant extracted snippet isstored in the App data storage, an analyst will be able to usethis information at any time during/after the conversation andcan easily access and review those parts of the conversationhistory (Fig. 1b) that are of interest at the moment. Facilitiesthat allow the user to rate and analyze the results of the dataanalysis are also provided (Fig. 1d).

Application Scenarios: The main three potential scenariosof ELICA are: [S1: Elicitation Meetings]: An analyst isassigned to work on the requirements for a project from anunfamiliar domain. To support them during their elicitationmeeting, ELICA selects inside each document of domainrepository those textual snippets that are most relevant for themost recent part of the conversation; [S2: Resumption/In-formation Recall]: An analyst is working on a requirements

assigned to a particular individual in particular.why do you need a queue for this process0:14the reason being is because they have both IT infrastructure issues and SAP related issues. once in the holding queue a person in IT looks at that particular ticket and determines who it gets assigned to and once assigned to that individual that person receives an email stating they have been assigned to a ticket

0:17

what are the end user complaints about the current system

0:31

depending on the location many users don’t know how to follow up on a ticket that they submitted because they either don’t know how to click on a link or it just says that your help desk ticket has been updated there is nothing that says that here’s an updated status with the technician’s response within the email and so forth

0:38

imagine the ideal situation can you describe the support process as it should be

0:50

either it is web based or lotus notes it must be easy to get to users would then type in their problem and it would go out and search for that issue and potentially give them a solution

0:57

another great solution would be to eliminate the holding queue whereas when the ticket selects a category from the drop down list it would get assigned to a particular individual

1:10

Done

Automatic Snippets

Tenatative

ConfidentAnger

Analytical

Sadness

Joy

Fear

Classification

Functional Requirement

Analytical (78%)

Snippet from: RT Essentials

Overall Tone

Client�

Tickets can have an owner—the user responsible for working on the ticket or for coordinating the work. To assign a ticket to someone, go to the People form from the ticket display page, and select the user from the Owner drop-down list. This list contains the usernames of all the users allowed to own tickets in the ticket’s current queue. You can assign only tickets that you own or that are unowned. If you need to reassign a ticket that you do not own, you can steal the ticket and then assign it to someone else.

AnalyzeNew Session58 %9:41 AMiPad

AWS

App Data

DomainRepository

EC2

JS Node CoreRESTFUL API

C++ Nodecore

Extraction/Classification

IBM Watson APIs

Diarization

Speech to Text andTone Analyzer

Visualization

Fig. 2. The overall architecture of ELICA.

exploration task (e.g. elicitation meeting, discussion with otherteam members, ...) and needs to pause this task to addressan incoming task. ELICA uses the recorded textual dataduring the exploration task as well as the existing problemdomain documents to assist analysts better manage the issuesof memory recall [7], [8] after resuming the elicitation task;and [S3: Elicitation from Existing Documents]: An analystis assigned to an ongoing project and they need to becomefamiliar with a possibly large amount of documentation thathas already been produced. ELICA uses the existing problemdomain documents to select textual snippets that are mostrelevant to the part of the system under investigation.

III. CONCLUSION AND FUTURE WORK

The ELICA tool was developed to achieve two main goals.The first was to propose an effective tool for extractingrequirements-relevant information during the elicitation pro-cess. This tool records, analyzes, and synthesizes the existingrepository documents and incoming textual data in real-timeand enables easy exploration of relevant information. Sec-ond, once ELICA has extracted and classified the relevantinformation, it supports analysts to interact with textual andvisual results to increase their engagement with the extractedinformation and enhance their exploration abilities. So far,both components of the ELICA tool has been evaluated withan industrial dataset, yielding promising results, and we planto further evaluate the tool in real development environments.

REFERENCES[1] M. Noaeen, Z. S. H. Abad, and B. H. Far, “Let’s hear it from retta: A requirements

elicitation tool for traffic management systems,” in 2017 IEEE 25th InternationalRequirements Engineering Conference (RE), 2017, pp. 450–451.

[2] M. Gall and B. Berenbach, “Towards a Framework for Real Time RequirementsElicitation,” in 1st International Workshop on MRE, 2006.

[3] R. Appan and G. J. Browne, “The Impact of Analyst-induced Misinformation onthe Requirements Elicitation Process,” MIS quarterly, pp. 85–106, 2012.

[4] R Akkiraju, “IBM Watson Tone Analyzer?new service now available,” Jul, vol.16, pp. 1–13, 2015.

[5] P. Pecina, “Lexical Association Measures and Collocation Extraction,” LanguageResources and Evaluation, vol. 44, no. 1, pp. 137–158, 2010.

[6] M. Mohri, F. Pereira, and M. Riley, “Weighted Finite-State Transducers in SpeechRecognition,” Computer Speech & Language, vol. 16, no. 1, pp. 69 –88, 2002.

[7] Z. S. H. Abad, G. Ruhe, and M. Bauer, “Task Interruptions in Requirements En-gineering: Reality Versus Perceptions!” In Requirements Engineering Conference(RE), 2017 IEEE 25th International, IEEE, 2017, pp. 342–351.

[8] Z. S. H. Abad, O. Karras, K. Schneider, K. Barker, and M. Bauer, “TaskInterruption in Software Development Projects: What Makes Some InterruptionsMore Disruptive Than Others?” In Proceedings of the 22nd International Confer-ence on Evaluation and Assessment in Software Engineering 2018, ACM, 2018,pp. 122–132.