The document discusses new opportunities for using natural language processing (NLP) techniques to support requirements conversations between analysts and stakeholders. It presents an initial tool called Trace2Conv that aims to trace formal requirements back to informal conversations to provide additional context. A second tool called Requirements Conversation Summarizer is proposed to facilitate analysts in exploring long recorded conversation transcripts by identifying questions and filtering information by relevance.
When All Teammates Speak The Same Language
Two main problems in software development
It's all about brains
What is BDD?
BDD vs TDD vs ATDD
Three Amigos
Gherkin
Cucumber and Selenium WebDriver
How to use feature files and create steps definitions
Examples
Behaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the features they deliver are the ones the client actually needs.
Learn what BDD is, and what it is not
Understand that the core of BDD is around conversation and requirements discovery, not around tools.
Understand the difference and similarities between BDD at the requirements level, and BDD at the coding level.
Learn what BDD tools exist for different platforms, and when to use them
ehaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the features they deliver are the ones the client actually needs.
• Learn what BDD is, and what it is not
• Understand that the core of BDD is around conversation and requirements discovery, not around tools.
• Understand the difference and similarities between BDD at the requirements level, and BDD at the coding level.
Learn what BDD tools exist for different platforms, and when to use them.
This is a variation on the talk I gave at Agile Australia, that I delivered at the Sydney Agile meetup on July 15 2014.
business model, business model canvas, mission model, mission model canvas, customer development, lean launchpad, lean startup, stanford, startup, steve blank, entrepreneurship, I-Corps, Stanford
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...Preetha Chatterjee
The document describes an exploratory study of mining information from Slack Q&A chat logs to support software engineering tools. The researchers analyzed conversations from several Slack communities to address how prevalent useful information is for tools (RQ1) and what challenges automatic mining faces (RQ2). Results found that while Slack contains similar information as Stack Overflow, identifying accepted answers is difficult. Future work is proposed to link Slack and Stack Overflow and mine conversations for insights.
Storytelling for research software engineersAlbanLevy
The document discusses the essentials of storytelling for research software engineers. It recommends keeping a story-like structure with an origination, conflict, and resolution. It also suggests adapting the story to the audience, such as emphasizing improved science for laypeople or reduced workload for researchers. The story should detail how research software engineers solve the issue of researchers lacking coding skills by combining research and software engineering expertise. Public speaking skills and personal anecdotes are also important to engage the audience.
Deep Natural Language Processing for Search and Recommender SystemsHuiji Gao
Tutorial for KDD 2019:
Search and recommender systems process rich natural language text data such as user queries and documents. Achieving high-quality search and recommendation results requires processing and understanding such information effectively and efficiently, where natural language processing (NLP) technologies are widely deployed. In recent years, the rapid development of deep learning models has been proven successful for improving various NLP tasks, indicating their great potential of promoting search and recommender systems.
In this tutorial, we summarize the current effort of deep learning for NLP in search/recommender systems. We first give an overview of search/recommender systems with NLP, then introduce basic concept of deep learning for NLP, covering state-of-the-art technologies in both language understanding and language generation. After that, we share our hands-on experience with LinkedIn applications. In the end, we highlight several important future trends.
A common perception of behavior-driven development (BDD) focuses on test automation with Cucumber-style “Given..When..Then” scenarios. But this is just the tip of the iceberg: in fact BDD ranges from requirements discovery and description through to driving technical design and implementation; helping testers focus their testing efforts more effectively; and even providing reliable, useful, and accurate technical documentation.
This session discusses what BDD is about, its benefits, and how it affects development teams and processes. You will see how JVM teams can effectively implement BDD with tools such as JBehave, Cucumber, Thucydides, and Spock. Come learn how much more there is to BDD than just “Given..When..Then.”
When All Teammates Speak The Same Language
Two main problems in software development
It's all about brains
What is BDD?
BDD vs TDD vs ATDD
Three Amigos
Gherkin
Cucumber and Selenium WebDriver
How to use feature files and create steps definitions
Examples
Behaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the features they deliver are the ones the client actually needs.
Learn what BDD is, and what it is not
Understand that the core of BDD is around conversation and requirements discovery, not around tools.
Understand the difference and similarities between BDD at the requirements level, and BDD at the coding level.
Learn what BDD tools exist for different platforms, and when to use them
ehaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the features they deliver are the ones the client actually needs.
• Learn what BDD is, and what it is not
• Understand that the core of BDD is around conversation and requirements discovery, not around tools.
• Understand the difference and similarities between BDD at the requirements level, and BDD at the coding level.
Learn what BDD tools exist for different platforms, and when to use them.
This is a variation on the talk I gave at Agile Australia, that I delivered at the Sydney Agile meetup on July 15 2014.
business model, business model canvas, mission model, mission model canvas, customer development, lean launchpad, lean startup, stanford, startup, steve blank, entrepreneurship, I-Corps, Stanford
Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineer...Preetha Chatterjee
The document describes an exploratory study of mining information from Slack Q&A chat logs to support software engineering tools. The researchers analyzed conversations from several Slack communities to address how prevalent useful information is for tools (RQ1) and what challenges automatic mining faces (RQ2). Results found that while Slack contains similar information as Stack Overflow, identifying accepted answers is difficult. Future work is proposed to link Slack and Stack Overflow and mine conversations for insights.
Storytelling for research software engineersAlbanLevy
The document discusses the essentials of storytelling for research software engineers. It recommends keeping a story-like structure with an origination, conflict, and resolution. It also suggests adapting the story to the audience, such as emphasizing improved science for laypeople or reduced workload for researchers. The story should detail how research software engineers solve the issue of researchers lacking coding skills by combining research and software engineering expertise. Public speaking skills and personal anecdotes are also important to engage the audience.
Deep Natural Language Processing for Search and Recommender SystemsHuiji Gao
Tutorial for KDD 2019:
Search and recommender systems process rich natural language text data such as user queries and documents. Achieving high-quality search and recommendation results requires processing and understanding such information effectively and efficiently, where natural language processing (NLP) technologies are widely deployed. In recent years, the rapid development of deep learning models has been proven successful for improving various NLP tasks, indicating their great potential of promoting search and recommender systems.
In this tutorial, we summarize the current effort of deep learning for NLP in search/recommender systems. We first give an overview of search/recommender systems with NLP, then introduce basic concept of deep learning for NLP, covering state-of-the-art technologies in both language understanding and language generation. After that, we share our hands-on experience with LinkedIn applications. In the end, we highlight several important future trends.
A common perception of behavior-driven development (BDD) focuses on test automation with Cucumber-style “Given..When..Then” scenarios. But this is just the tip of the iceberg: in fact BDD ranges from requirements discovery and description through to driving technical design and implementation; helping testers focus their testing efforts more effectively; and even providing reliable, useful, and accurate technical documentation.
This session discusses what BDD is about, its benefits, and how it affects development teams and processes. You will see how JVM teams can effectively implement BDD with tools such as JBehave, Cucumber, Thucydides, and Spock. Come learn how much more there is to BDD than just “Given..When..Then.”
Data Storytelling and Data Science AIxDesign 2021 workshopErika Agostinelli
This document discusses how to use AI tools like Watson Natural Language Understanding to analyze text from interviews and transform raw requirements from clients into structured outputs to help data journalists tell stories. It explains how to determine key details like target words, sentiments, and emotions to measure. Standard and custom requirements are classified, and transparency is emphasized by clarifying technical terms and documenting the process. The overall aim is to build a reusable Jupyter notebook that can process any provided text and return structured results to fulfill the end user's needs.
Software development is carried out using Integrated Development Environments (IDEs). An IDE is a collection of tools and facilities to support the most diverse software engineering activities such as writing code, debugging, and program comprehension. Each activity is composed of many basic events, such as clicking on a menu item, opening a new tab to browse the source code of a method, or adding a new statement in the body of a method. These events are generally known as interaction data.
In my Ph.D. dissertation, we proposed the concept of "Interaction-Aware Development Environments": IDEs that collect, mine, and leverage the interactions of developers to support and simplify the workflow of developers. To support this vision, we developed DFlow: a plugin for the Pharo IDE to model, record, and interpret interaction data. Pharo is a pure object-oriented programming language and environment that is very suitable for research. Besides I do not regret doing research inside a niche development environment, after my doctoral studies I felt the desire to transfer my knowledge to a more popular IDE. In this talk, I will describe my journey alongside CodeLounge that led from DFlow to Tako, an extension for Visual Studio Code that collects, aggregates, and visualizes interaction data.
God Mode for designing scenario-driven skills for DeepPavlov DreamDaniel Kornev
The document summarizes the capabilities and development of DeepPavlov, an open-source conversational AI platform. It discusses DeepPavlov's God Mode for building open-domain bots using a discourse-driven integrated dialog development environment. DeepPavlov utilizes speech functions and dialog acts to enable more predictable dialog design and improves over regular expressions and intents. The platform provides tools like a VSCode extension to help with rapid dialog design and skills development.
Information science research with large language models: between science and ...Fabiano Dalpiaz
Large language models (LLMs) are in the spotlight. Laypeople are aware of and are using the LLMs such as OpenAI’s ChatGPT and Google’s Gemini on a daily basis. While companies are exploring new business opportunities, researchers have gained access to an unprecedented scientific playground that allows for fast experimentation with limited resources and immediate results. In this talk, using concrete examples from requirements engineering, I am going to put forward several research opportunities that are enabled by the advent of LLMs. I will show how LLMs, as a key example of modern AI, unlock research topics that were deemed as too challenging until recently. Then, I will critically discuss the perils that we face when it comes to planning, conducting, and reporting on credible research results following a rigorous scientific approach. This talk will stress the inherent tension between the exciting affordances offered by this new technology, which include the ability to generate non-factual outputs (fiction), and our role and societal responsibility as information scientists.
Embracing Uncertainty: A Most Difficult Leap of FaithTechWell
For the past couple of years, Dan North has been working with and studying teams who are dramatically more productive than any he's ever seen. In weeks they produce results that take other teams months. One of the central behaviors Dan has observed is their ability to embrace uncertainty, holding multiple contradictory opinions at the same time and deferring commitment until there is a good reason. Embracing uncertainty lies at the heart of agile delivery and is one of the primary reasons organizations struggle with agile adoption. We are desperately uncomfortable with uncertainty, so much so that we will replace it with anything-even things we know to be wrong. Dan claims we have turned our back on the original Agile Manifesto, and explains why understanding risk and embracing uncertainty are fundamental to agile delivery-and why we find it so scary. He describes how techniques like real options and deliberate discovery can expose dogma and make life more manageable. Join Dan to learn ways to face-and even embrace-uncertainty with courage and determination.
From 50 to 500 product engineers – data-driven approach to building impactful...DevClub_lv
Erik Kaju from Wise will give a talk “From 50 to 500 product engineers – data-driven approach to building impactful and efficient product teams”.
Product engineering is data-driven. It is best to avoid personal opinions and back actions with data. Sharing data transparently and making it broadly accessible within the whole company helps to scale and build faster. Data-driven practices are useful beyond just product development. Over the years, we have been systematic and methodological in how we scale the company and track its health.
This is a story of Wise growing from a regular-sized with 50 engineers to one with 500. While our headcount has grown tenfold, the speed of our releasing and ability to deliver complex projects has risen significantly. It is crucial for the scale-up to not slow down. And that is only possible with effective and unhampered teams. Join Erik for fresh insights that will inspire you to grow your teams, track their health and experiment with team metrics.
(Language – English)
Erik is Director of Engineering at Wise.
DeepPavlov is an open-source framework for the development of production-ready chat-bots and complex conversational systems, as well as NLP and dialog systems research.
Sudipta Mukherjee has over 15 years of experience as a software engineer and technical lead. He has worked at Epicor, HP, Fiserv Ness Technologies, and Tata Consultancy Services. Some of his accomplishments include creating a domain specific language to define UI constraints for printers, inventing a programmable key-value storage format, and building a supervised learning algorithm to auto-categorize banking transactions. He holds a B.E. in Electronics and Communication Engineering and has published multiple books and conference talks on topics such as machine learning, LINQ, and data structures.
Sudipta Mukherjee has over 15 years of experience as a software engineer and technical lead. He has worked at Epicor, HP, Fiserv Ness Technologies, and Tata Consultancy Services. Some of his accomplishments include creating a domain specific language to define UI constraints for printers, inventing a programmable key-value storage format, and building a supervised learning algorithm to auto-categorize banking transactions. He holds a B.E. in Electronics and Communication Engineering and has published multiple books on programming topics.
This document discusses Domain Driven Design (DDD). It provides an overview of DDD, including that it focuses on removing translation barriers between a domain, development team, and software design. It also describes common building blocks of domain models such as entities, value objects, factories, repositories, and services. Additionally, it discusses refactoring a model to gain deeper insight, including making implicit concepts explicit.
Improving classification accuracy for customer contact transcriptionsMaria Vechtomova
Reducing number of customer contacts by making processes more efficient is an everlasting target for KPN. Business users can get insights on why people call and spot areas of improvement using call classification. Currently KPN has a classification tree in place, and calls and chats are being classified manually. We try to use the input to classify calls and chats using supervised machine learning techniques (CNN, LSTM, hybrid models). The dataset is challenging in many ways and human accuracy on such a dataset is low. Poorly separated classes in the classification tree play a big role in it. Unfortunately, creating a new classification tree does not seem feasible because of high costs involved, and we tried 'cheaper' unsupervised and semi-supervised techniques which were not successful. We discuss the reasons of failure and possible next steps.
Domain-driven design (DDD) is an approach to software development that focuses on modeling a complex domain into subdomains. It involves collaboratively exploring the problem domain to build a ubiquitous language and domain model. The domain model partitions the problem into bounded contexts aligned to core domains and subdomains. Strategic design develops the domain model, while tactical design implements the solution as autonomous bounded contexts and microservices. DDD aims to maximize delivering business value through close collaboration between technical and business teams in understanding and modeling the domain.
A Spark-Based Intelligent Assistant: Making Data Exploration in Natural Langu...Databricks
Rather than running pre-defined queries embedded in dashboards, business users and data scientists want to explore data in more intuitive ways. Natural language interfaces for data exploration have gained considerable traction in industry. Their success is triggered by advancements in machine learning and by novel big data technologies that enable processing large amounts of data in real-time. However, even though these systems show significant progress, they have not yet reached the maturity level to support real users in data exploration scenarios either due to the lack of supported functionality or the narrow application scope, remaining one of the ‘holy grails’ of the data analytics community.
In this talk, we will present a Spark-based architecture of an intelligent data assistant, a system that combines real-time data processing and analytics over large amounts of data with user interaction in natural language, and we will argue why Spark is the right platform for next-gen intelligent data assistants.
Our intelligent data assistant
(a) enables a more natural interaction with the user through natural language;
(b) offers active guidance through explanations and suggestions;
(c) constantly learns and improves its performance. To build an intelligent data assistant, there are several challenges. Unlike search engines, users tend to express sophisticated query logics and expect perfect results. The inherent complexity of natural languages complicates things in several ways. The intricacies of the data domain require that the system constantly expands its domain knowledge and its ability to interpret new data and user queries by constantly analyzing data and queries.
Our intelligent data assistant brings together several components, including natural language processing for understanding user queries and generating answers in natural language, automatic knowledge base construction techniques for learning about data sources and how to find the information requested, as well as deep learning methods for query disambiguation and domain understanding.
Contextual vs non-contextual word embedding models for Hindi Named Entity Rec...Aindriya Barua
Conference presentation for our paper publication in International Advanced Computing Conference. Springer, Singapore. This explores word embedding models like BERT, RoBERTa, XLM-RoBERTa, CamemBERT, DistilBERT for Hindi Named Entity Recognition and compares them against FastText and Word2Vec.
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
This document summarizes a study on developers' motivation to document code. Through interviews and surveys, researchers identified hindering and motivating factors for code documentation. Hindering factors included documentation being tedious, difficult, time-consuming, and interrupting coding work. Motivating factors included documentation improving code comprehensibility, order, and quality. The researchers propose designing a solution to encourage documentation by emphasizing motivating factors and mitigating hindering ones. They plan to further validate findings through a quantitative questionnaire. The goal is to increase developers' internal motivation to document code.
The Automated Requirements Engineer: utopia or dystopiaFabiano Dalpiaz
Vision talk on artificial intelligence techniques in requirements engineering gave at the RE@40 seminar on April 25, 2017 in Kappel am Albis, Switzerland.
Finding balance of DDD while your application growsCarolina Karklis
This document contains the key points from a presentation on Domain Driven Design (DDD). It discusses the big picture of DDD, including defining the domain and ubiquitous language. It explains why practicing DDD is beneficial and provides approaches for different project scenarios based on complexity. The presenter advocates starting with strategic modeling rather than tactical patterns, and provides examples of patterns that can be used after establishing boundaries and context with modeling.
The binding of cosmological structures by massless topological defectsSérgio Sacani
Assuming spherical symmetry and weak field, it is shown that if one solves the Poisson equation or the Einstein field
equations sourced by a topological defect, i.e. a singularity of a very specific form, the result is a localized gravitational
field capable of driving flat rotation (i.e. Keplerian circular orbits at a constant speed for all radii) of test masses on a thin
spherical shell without any underlying mass. Moreover, a large-scale structure which exploits this solution by assembling
concentrically a number of such topological defects can establish a flat stellar or galactic rotation curve, and can also deflect
light in the same manner as an equipotential (isothermal) sphere. Thus, the need for dark matter or modified gravity theory is
mitigated, at least in part.
More Related Content
Similar to Requirements Conversations: A New Frontier in AI-for-RE
Data Storytelling and Data Science AIxDesign 2021 workshopErika Agostinelli
This document discusses how to use AI tools like Watson Natural Language Understanding to analyze text from interviews and transform raw requirements from clients into structured outputs to help data journalists tell stories. It explains how to determine key details like target words, sentiments, and emotions to measure. Standard and custom requirements are classified, and transparency is emphasized by clarifying technical terms and documenting the process. The overall aim is to build a reusable Jupyter notebook that can process any provided text and return structured results to fulfill the end user's needs.
Software development is carried out using Integrated Development Environments (IDEs). An IDE is a collection of tools and facilities to support the most diverse software engineering activities such as writing code, debugging, and program comprehension. Each activity is composed of many basic events, such as clicking on a menu item, opening a new tab to browse the source code of a method, or adding a new statement in the body of a method. These events are generally known as interaction data.
In my Ph.D. dissertation, we proposed the concept of "Interaction-Aware Development Environments": IDEs that collect, mine, and leverage the interactions of developers to support and simplify the workflow of developers. To support this vision, we developed DFlow: a plugin for the Pharo IDE to model, record, and interpret interaction data. Pharo is a pure object-oriented programming language and environment that is very suitable for research. Besides I do not regret doing research inside a niche development environment, after my doctoral studies I felt the desire to transfer my knowledge to a more popular IDE. In this talk, I will describe my journey alongside CodeLounge that led from DFlow to Tako, an extension for Visual Studio Code that collects, aggregates, and visualizes interaction data.
God Mode for designing scenario-driven skills for DeepPavlov DreamDaniel Kornev
The document summarizes the capabilities and development of DeepPavlov, an open-source conversational AI platform. It discusses DeepPavlov's God Mode for building open-domain bots using a discourse-driven integrated dialog development environment. DeepPavlov utilizes speech functions and dialog acts to enable more predictable dialog design and improves over regular expressions and intents. The platform provides tools like a VSCode extension to help with rapid dialog design and skills development.
Information science research with large language models: between science and ...Fabiano Dalpiaz
Large language models (LLMs) are in the spotlight. Laypeople are aware of and are using the LLMs such as OpenAI’s ChatGPT and Google’s Gemini on a daily basis. While companies are exploring new business opportunities, researchers have gained access to an unprecedented scientific playground that allows for fast experimentation with limited resources and immediate results. In this talk, using concrete examples from requirements engineering, I am going to put forward several research opportunities that are enabled by the advent of LLMs. I will show how LLMs, as a key example of modern AI, unlock research topics that were deemed as too challenging until recently. Then, I will critically discuss the perils that we face when it comes to planning, conducting, and reporting on credible research results following a rigorous scientific approach. This talk will stress the inherent tension between the exciting affordances offered by this new technology, which include the ability to generate non-factual outputs (fiction), and our role and societal responsibility as information scientists.
Embracing Uncertainty: A Most Difficult Leap of FaithTechWell
For the past couple of years, Dan North has been working with and studying teams who are dramatically more productive than any he's ever seen. In weeks they produce results that take other teams months. One of the central behaviors Dan has observed is their ability to embrace uncertainty, holding multiple contradictory opinions at the same time and deferring commitment until there is a good reason. Embracing uncertainty lies at the heart of agile delivery and is one of the primary reasons organizations struggle with agile adoption. We are desperately uncomfortable with uncertainty, so much so that we will replace it with anything-even things we know to be wrong. Dan claims we have turned our back on the original Agile Manifesto, and explains why understanding risk and embracing uncertainty are fundamental to agile delivery-and why we find it so scary. He describes how techniques like real options and deliberate discovery can expose dogma and make life more manageable. Join Dan to learn ways to face-and even embrace-uncertainty with courage and determination.
From 50 to 500 product engineers – data-driven approach to building impactful...DevClub_lv
Erik Kaju from Wise will give a talk “From 50 to 500 product engineers – data-driven approach to building impactful and efficient product teams”.
Product engineering is data-driven. It is best to avoid personal opinions and back actions with data. Sharing data transparently and making it broadly accessible within the whole company helps to scale and build faster. Data-driven practices are useful beyond just product development. Over the years, we have been systematic and methodological in how we scale the company and track its health.
This is a story of Wise growing from a regular-sized with 50 engineers to one with 500. While our headcount has grown tenfold, the speed of our releasing and ability to deliver complex projects has risen significantly. It is crucial for the scale-up to not slow down. And that is only possible with effective and unhampered teams. Join Erik for fresh insights that will inspire you to grow your teams, track their health and experiment with team metrics.
(Language – English)
Erik is Director of Engineering at Wise.
DeepPavlov is an open-source framework for the development of production-ready chat-bots and complex conversational systems, as well as NLP and dialog systems research.
Sudipta Mukherjee has over 15 years of experience as a software engineer and technical lead. He has worked at Epicor, HP, Fiserv Ness Technologies, and Tata Consultancy Services. Some of his accomplishments include creating a domain specific language to define UI constraints for printers, inventing a programmable key-value storage format, and building a supervised learning algorithm to auto-categorize banking transactions. He holds a B.E. in Electronics and Communication Engineering and has published multiple books and conference talks on topics such as machine learning, LINQ, and data structures.
Sudipta Mukherjee has over 15 years of experience as a software engineer and technical lead. He has worked at Epicor, HP, Fiserv Ness Technologies, and Tata Consultancy Services. Some of his accomplishments include creating a domain specific language to define UI constraints for printers, inventing a programmable key-value storage format, and building a supervised learning algorithm to auto-categorize banking transactions. He holds a B.E. in Electronics and Communication Engineering and has published multiple books on programming topics.
This document discusses Domain Driven Design (DDD). It provides an overview of DDD, including that it focuses on removing translation barriers between a domain, development team, and software design. It also describes common building blocks of domain models such as entities, value objects, factories, repositories, and services. Additionally, it discusses refactoring a model to gain deeper insight, including making implicit concepts explicit.
Improving classification accuracy for customer contact transcriptionsMaria Vechtomova
Reducing number of customer contacts by making processes more efficient is an everlasting target for KPN. Business users can get insights on why people call and spot areas of improvement using call classification. Currently KPN has a classification tree in place, and calls and chats are being classified manually. We try to use the input to classify calls and chats using supervised machine learning techniques (CNN, LSTM, hybrid models). The dataset is challenging in many ways and human accuracy on such a dataset is low. Poorly separated classes in the classification tree play a big role in it. Unfortunately, creating a new classification tree does not seem feasible because of high costs involved, and we tried 'cheaper' unsupervised and semi-supervised techniques which were not successful. We discuss the reasons of failure and possible next steps.
Domain-driven design (DDD) is an approach to software development that focuses on modeling a complex domain into subdomains. It involves collaboratively exploring the problem domain to build a ubiquitous language and domain model. The domain model partitions the problem into bounded contexts aligned to core domains and subdomains. Strategic design develops the domain model, while tactical design implements the solution as autonomous bounded contexts and microservices. DDD aims to maximize delivering business value through close collaboration between technical and business teams in understanding and modeling the domain.
A Spark-Based Intelligent Assistant: Making Data Exploration in Natural Langu...Databricks
Rather than running pre-defined queries embedded in dashboards, business users and data scientists want to explore data in more intuitive ways. Natural language interfaces for data exploration have gained considerable traction in industry. Their success is triggered by advancements in machine learning and by novel big data technologies that enable processing large amounts of data in real-time. However, even though these systems show significant progress, they have not yet reached the maturity level to support real users in data exploration scenarios either due to the lack of supported functionality or the narrow application scope, remaining one of the ‘holy grails’ of the data analytics community.
In this talk, we will present a Spark-based architecture of an intelligent data assistant, a system that combines real-time data processing and analytics over large amounts of data with user interaction in natural language, and we will argue why Spark is the right platform for next-gen intelligent data assistants.
Our intelligent data assistant
(a) enables a more natural interaction with the user through natural language;
(b) offers active guidance through explanations and suggestions;
(c) constantly learns and improves its performance. To build an intelligent data assistant, there are several challenges. Unlike search engines, users tend to express sophisticated query logics and expect perfect results. The inherent complexity of natural languages complicates things in several ways. The intricacies of the data domain require that the system constantly expands its domain knowledge and its ability to interpret new data and user queries by constantly analyzing data and queries.
Our intelligent data assistant brings together several components, including natural language processing for understanding user queries and generating answers in natural language, automatic knowledge base construction techniques for learning about data sources and how to find the information requested, as well as deep learning methods for query disambiguation and domain understanding.
Contextual vs non-contextual word embedding models for Hindi Named Entity Rec...Aindriya Barua
Conference presentation for our paper publication in International Advanced Computing Conference. Springer, Singapore. This explores word embedding models like BERT, RoBERTa, XLM-RoBERTa, CamemBERT, DistilBERT for Hindi Named Entity Recognition and compares them against FastText and Word2Vec.
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
This document summarizes a study on developers' motivation to document code. Through interviews and surveys, researchers identified hindering and motivating factors for code documentation. Hindering factors included documentation being tedious, difficult, time-consuming, and interrupting coding work. Motivating factors included documentation improving code comprehensibility, order, and quality. The researchers propose designing a solution to encourage documentation by emphasizing motivating factors and mitigating hindering ones. They plan to further validate findings through a quantitative questionnaire. The goal is to increase developers' internal motivation to document code.
The Automated Requirements Engineer: utopia or dystopiaFabiano Dalpiaz
Vision talk on artificial intelligence techniques in requirements engineering gave at the RE@40 seminar on April 25, 2017 in Kappel am Albis, Switzerland.
Finding balance of DDD while your application growsCarolina Karklis
This document contains the key points from a presentation on Domain Driven Design (DDD). It discusses the big picture of DDD, including defining the domain and ubiquitous language. It explains why practicing DDD is beneficial and provides approaches for different project scenarios based on complexity. The presenter advocates starting with strategic modeling rather than tactical patterns, and provides examples of patterns that can be used after establishing boundaries and context with modeling.
Similar to Requirements Conversations: A New Frontier in AI-for-RE (20)
The binding of cosmological structures by massless topological defectsSérgio Sacani
Assuming spherical symmetry and weak field, it is shown that if one solves the Poisson equation or the Einstein field
equations sourced by a topological defect, i.e. a singularity of a very specific form, the result is a localized gravitational
field capable of driving flat rotation (i.e. Keplerian circular orbits at a constant speed for all radii) of test masses on a thin
spherical shell without any underlying mass. Moreover, a large-scale structure which exploits this solution by assembling
concentrically a number of such topological defects can establish a flat stellar or galactic rotation curve, and can also deflect
light in the same manner as an equipotential (isothermal) sphere. Thus, the need for dark matter or modified gravity theory is
mitigated, at least in part.
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills MN
Travis Hills of Minnesota developed a method to convert waste into high-value dry fertilizer, significantly enriching soil quality. By providing farmers with a valuable resource derived from waste, Travis Hills helps enhance farm profitability while promoting environmental stewardship. Travis Hills' sustainable practices lead to cost savings and increased revenue for farmers by improving resource efficiency and reducing waste.
ESPP presentation to EU Waste Water Network, 4th June 2024 “EU policies driving nutrient removal and recycling
and the revised UWWTD (Urban Waste Water Treatment Directive)”
When I was asked to give a companion lecture in support of ‘The Philosophy of Science’ (https://shorturl.at/4pUXz) I decided not to walk through the detail of the many methodologies in order of use. Instead, I chose to employ a long standing, and ongoing, scientific development as an exemplar. And so, I chose the ever evolving story of Thermodynamics as a scientific investigation at its best.
Conducted over a period of >200 years, Thermodynamics R&D, and application, benefitted from the highest levels of professionalism, collaboration, and technical thoroughness. New layers of application, methodology, and practice were made possible by the progressive advance of technology. In turn, this has seen measurement and modelling accuracy continually improved at a micro and macro level.
Perhaps most importantly, Thermodynamics rapidly became a primary tool in the advance of applied science/engineering/technology, spanning micro-tech, to aerospace and cosmology. I can think of no better a story to illustrate the breadth of scientific methodologies and applications at their best.
Current Ms word generated power point presentation covers major details about the micronuclei test. It's significance and assays to conduct it. It is used to detect the micronuclei formation inside the cells of nearly every multicellular organism. It's formation takes place during chromosomal sepration at metaphase.
This presentation explores a brief idea about the structural and functional attributes of nucleotides, the structure and function of genetic materials along with the impact of UV rays and pH upon them.
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...University of Maribor
Slides from:
11th International Conference on Electrical, Electronics and Computer Engineering (IcETRAN), Niš, 3-6 June 2024
Track: Artificial Intelligence
https://www.etran.rs/2024/en/home-english/
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Requirements Conversations: A New Frontier in AI-for-RE
1. Requirements Conversations:
A New Frontier in AI-for-RE
Fabiano Dalpiaz
Requirements Engineering Lab
Utrecht University, the Netherlands
August 16, 2022
f.dalpiaz@uu.nl @FabianoDalpiaz
2. Outline and Acks
@2022 Fabiano Dalpiaz
2
1. Context:
NLP4RE
2. Conversational
Req. Engineering
3. From reqs to
specs
4. Conversation
summarization
5. Outlook
3. Outline and Acks
@2022 Fabiano Dalpiaz
2
1. Context:
NLP4RE
2. Conversational
Req. Engineering
3. From reqs to
specs
4. Conversation
summarization
5. Outlook
Sjaak Brinkkemper
Tjerk Spijkman
Nikita van den Berg
Xavier de Bondt
4. 1. Context: NLP for Requirements
Engineering (NLP4RE)
Fabiano Dalpiaz,Alessio Ferrari, Xavier Franch, and Cristina Palomares. "Natural language processing
for requirements engineering:The best is yet to come." IEEE Software 35, no. 5 (2018): 115-119.
@2022 Fabiano Dalpiaz
3
5. RE practice: most reqs. are in natural language
@2022 Fabiano Dalpiaz
4
The <system name> shall <system response>.
WHILE <in a specific state> the <system name> shall <system
response>
WHEN <trigger> the <system name> shall <system response>
…
User stories
App store
reviews
EARS
Rupp’s template & ISO/IEC/IEEE 29148
Use cases
6. RE Research: 4 categories of NLP4RE tools
@2022 Fabiano Dalpiaz
5
1. Find defects /
deviations from
good practice
2. Generate models
from NL requirements
3. Infer trace links
between NL
requirements and
other artifacts
4. Identify key
abstractions
from NL
documents
Daniel Berry, Ricardo Gacitua, Pete Sawyer, and Sri Fatimah Tjong. "The case for dumb
requirements engineering tools." In InternationalWorking Conference on Requirements
Engineering: Foundation for Software Quality, pp. 211-217. 2012.
7. An active area of research!
@2022 Fabiano Dalpiaz
6
Liping Zhao,Waad Alhoshan, Alessio Ferrari,
Keletso J. Letsholo, Muideen A.Ajagbe, Erol-
Valeriu Chioasca, and Riza T. Batista-Navarro.
"Natural Language Processing (NLP) for
Requirements Engineering:A Systematic
Mapping Study." ACM Computing Surveys 54:3,
2022
8. An active area of research!
@2022 Fabiano Dalpiaz
6
Liping Zhao,Waad Alhoshan, Alessio Ferrari,
Keletso J. Letsholo, Muideen A.Ajagbe, Erol-
Valeriu Chioasca, and Riza T. Batista-Navarro.
"Natural Language Processing (NLP) for
Requirements Engineering:A Systematic
Mapping Study." ACM Computing Surveys 54:3,
2022
Specification
Main artifact for
AI-based tools
18. Background theory: Refinement in RE
@2022 Fabiano Dalpiaz
11
Pohl, Klaus. "The three dimensions of requirements
engineering: a framework and its applications."
Information systems 19.3 (1994): 243-258.
Specification
Representation
opaque
fair
complete
common view
informal semi-formal formal
personal view
Initial RE
input
Desired RE output
Agreement
19. Background theory: Refinement in RE
@2022 Fabiano Dalpiaz
11
Pohl, Klaus. "The three dimensions of requirements
engineering: a framework and its applications."
Information systems 19.3 (1994): 243-258.
Specification
Representation
opaque
fair
complete
common view
informal semi-formal formal
personal view
Initial RE
input
Desired RE output
Agreement
Refinement
path in
practice
20. Background theory: Refinement in RE
@2022 Fabiano Dalpiaz
11
Pohl, Klaus. "The three dimensions of requirements
engineering: a framework and its applications."
Information systems 19.3 (1994): 243-258.
Specification
Representation
opaque
fair
complete
common view
informal semi-formal formal
personal view
Initial RE
input
Desired RE output
Agreement
Refinement
path in
practice
RE research approaches,
including NLP4RE Tools
21. How do current NLP4RE tools work?
@2022 Fabiano Dalpiaz
12
23. NLP4RE Tools for Conversational RE
@2022 Fabiano Dalpiaz
13
} The tool supports the conversation between analyst and stakeholders
vs.
24. NLP4RE Tools for Conversational RE
@2022 Fabiano Dalpiaz
13
} The tool supports the conversation between analyst and stakeholders
} Elicitation and refinement as concurrent activities
vs.
25. Conversational RE
@2022 Fabiano Dalpiaz
14
“The (automated) analysis of requirements
elicitation conversations aimed at identifying and
extracting requirements-relevant information”
28. (Requirements) conversations vs. specifications
@2022 Fabiano Dalpiaz
15
2+ parties (here Analyst
and Stakeholder)
Informal: no “shall”
statements, user
stories, glossary
29. (Requirements) conversations vs. specifications
@2022 Fabiano Dalpiaz
15
2+ parties (here Analyst
and Stakeholder)
Informal: no “shall”
statements, user
stories, glossary
Relevant
information may
be sparse
30. (Requirements) conversations vs. specifications
@2022 Fabiano Dalpiaz
15
2+ parties (here Analyst
and Stakeholder)
Informal: no “shall”
statements, user
stories, glossary
Relevant
information may
be sparse
Includes persuasion,
uncertainty,
misunderstandings
31. Dissecting a conversation: turns and grounding acts
@2022 Fabiano Dalpiaz
16
Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
32. Dissecting a conversation: turns and grounding acts
@2022 Fabiano Dalpiaz
16
Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
Turns and utterance units as
atomic entities
33. Dissecting a conversation: turns and grounding acts
@2022 Fabiano Dalpiaz
16
Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
Turns and utterance units as
atomic entities
Grounding acts determine
the effect of an
utterance unit
34. Dissecting a conversation: discourse units
@2022 Fabiano Dalpiaz
17
Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
35. Dissecting a conversation: discourse units
@2022 Fabiano Dalpiaz
17
Cross-speaker interaction
defines the meaning
Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
36. Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
Dissecting a conversation: argumentation acts
@2022 Fabiano Dalpiaz
18
37. Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
Dissecting a conversation: argumentation acts
@2022 Fabiano Dalpiaz
18
The purpose of a
conversation across
multiple turns:
argumentation acts
38. Traum, David R., and Elizabeth A. Hinkelman.
"Conversation acts in task-oriented spoken dialogue."
Computational intelligence 8.3 (1992): 575-599.
Dissecting a conversation: argumentation acts
@2022 Fabiano Dalpiaz
18
The purpose of a
conversation across
multiple turns:
argumentation acts
Q&A as a basic interaction,
clarifications, summary,
persuasion, …
39. Conversations vs. Specifications: not quite the same
@2022 Fabiano Dalpiaz
19
The parameters A and B shall be configured via
a configuration file in format XYZ
[specification]
[conversation]
40. Tools for Conversational RE: Two Examples
@2022 Fabiano Dalpiaz
20
Trace2Conv:
pre-RS traceability
Requirements Conversation
Summarizer
44. Requirements
conversations
Requirements Analyst
Own ideas
Budget / project
constraints
Design
decisions Domain-specific
documentation
Trace2Conv: Key Idea
@2022 Fabiano Dalpiaz
22
} Supports backward, pre-RS traceability
} Largely overlooked area of research
Specification
Trace2Conv
45. Requirements
conversations
Requirements Analyst
Own ideas
Budget / project
constraints
Design
decisions Domain-specific
documentation
Trace2Conv: Key Idea
@2022 Fabiano Dalpiaz
22
} Supports backward, pre-RS traceability
} Largely overlooked area of research
} Aims to find information that provides
additional context to a requirement
Specification
Trace2Conv
46. Requirements
conversations
Requirements Analyst
Own ideas
Budget / project
constraints
Design
decisions Domain-specific
documentation
Trace2Conv: Key Idea
@2022 Fabiano Dalpiaz
22
} Supports backward, pre-RS traceability
} Largely overlooked area of research
} Aims to find information that provides
additional context to a requirement
} Has to cope with an abstraction gap
} Formal to informal
Specification
Trace2Conv
47. What can we achieve with Trace2Conv?
@2022 Fabiano Dalpiaz
23
Trace requirements back to elicitation sessions
48. What can we achieve with Trace2Conv?
@2022 Fabiano Dalpiaz
23
Trace requirements back to elicitation sessions
Obtain client agreement by showing requirement sources
49. What can we achieve with Trace2Conv?
@2022 Fabiano Dalpiaz
23
Trace requirements back to elicitation sessions
Obtain client agreement by showing requirement sources
Enable iterative specification writing and review
50. What can we achieve with Trace2Conv?
@2022 Fabiano Dalpiaz
23
Trace requirements back to elicitation sessions
Obtain client agreement by showing requirement sources
Enable iterative specification writing and review
Provide extra context about a requirement for devs
53. Pre-processing and matching
@2022 Fabiano Dalpiaz
25
As a vendor user, I can use the password forgotten
functionality whenever I forgot or want to reset my
password, so that I always have a way to create a new
password
54. Pre-processing and matching
@2022 Fabiano Dalpiaz
25
As a vendor user, I can use the password forgotten
functionality whenever I forgot or want to reset my
password, so that I always have a way to create a new
password
55. Pre-processing and matching
@2022 Fabiano Dalpiaz
25
As a vendor user, I can use the password forgotten
functionality whenever I forgot or want to reset my
password, so that I always have a way to create a new
password
56. Pre-processing and matching
@2022 Fabiano Dalpiaz
25
As a vendor user, I can use the password forgotten
functionality whenever I forgot or want to reset my
password, so that I always have a way to create a new
password
58. Short demo of the Trace2Conv frontend
@2022 Fabiano Dalpiaz
27
59. Short demo of the Trace2Conv frontend
@2022 Fabiano Dalpiaz
27
60. Trace2Conv: Next Steps
@2022 Fabiano Dalpiaz
28
Requirements evolution over
multiple conversations
More advanced heuristics: what
are the most likely matches?
Matching segments rather
than speaker turns
62. } Aim: summarization before a specification exists
} Trigger: long recorded conversations, spanning over multiple hours
} How to facilitate the analyst in exploring the transcript?
Summarizing a transcript: ideas
@2022 Fabiano Dalpiaz
30
63. } Aim: summarization before a specification exists
} Trigger: long recorded conversations, spanning over multiple hours
} How to facilitate the analyst in exploring the transcript?
Summarizing a transcript: ideas
@2022 Fabiano Dalpiaz
30
Idea #1: Identify
the questions
64. } Aim: summarization before a specification exists
} Trigger: long recorded conversations, spanning over multiple hours
} How to facilitate the analyst in exploring the transcript?
Summarizing a transcript: ideas
@2022 Fabiano Dalpiaz
30
Idea #1: Identify
the questions
Idea #2: Filter by
question relevance
65. } Aim: summarization before a specification exists
} Trigger: long recorded conversations, spanning over multiple hours
} How to facilitate the analyst in exploring the transcript?
Summarizing a transcript: ideas
@2022 Fabiano Dalpiaz
30
Idea #1: Identify
the questions
Idea #2: Filter by
question relevance
Idea #3: Label by
relevance type [WiP]
66. How to identify the questions? (Idea #1)
@2022 Fabiano Dalpiaz
31
67. How to identify the questions? (Idea #1)
@2022 Fabiano Dalpiaz
31
Based on sequences of POS tags:
Wh-, yes/no, tag questions
68. How to identify the questions? (Idea #1)
@2022 Fabiano Dalpiaz
31
Based on sequences of POS tags:
Wh-, yes/no, tag questions
Based on pre-trained DistilBert:
28/38 question tags matched
69. How to identify the questions? (Idea #1)
@2022 Fabiano Dalpiaz
31
Based on sequences of POS tags:
Wh-, yes/no, tag questions
Based on pre-trained DistilBert:
28/38 question tags matched
Combination: question if either
approach says so
71. How to filter relevant questions? (Idea #2, version A)
@2022 Fabiano Dalpiaz
33
72. How to filter relevant questions? (Idea #2, version A)
@2022 Fabiano Dalpiaz
33
TF-IDF can be used to distinguish
questions with domain-specific
words from general ones
73. How to filter relevant questions? (Idea #2, version B)
@2022 Fabiano Dalpiaz
34
74. How to filter relevant questions? (Idea #2, version B)
@2022 Fabiano Dalpiaz
34
A context document can be, e.g., a
system/project definition document
75. What is our gold standard for relevance?
@2022 Fabiano Dalpiaz
35
76. What is our gold standard for relevance?
@2022 Fabiano Dalpiaz
35
77. What is our gold standard for relevance?
@2022 Fabiano Dalpiaz
35
78. Is Idea #2 effective?
@2022 Fabiano Dalpiaz
36
No large differences between the
approaches – Ideas #2A and #2B
are practically equivalent
80. Summarization: outlook
@2022 Fabiano Dalpiaz
37
} What does relevance mean?
} Large disagreement, especially on
questions
} How much can we summarize?
} End goal of the tool
82. Tools for Conversational RE: Two Examples
@2022 Fabiano Dalpiaz
39
Trace2Conv:
pre-RS traceability
Requirements Conversation
Summarizer
83. Direction #3: distilling requirements?
@2022 Fabiano Dalpiaz
40
} Can we automatically generate
requirements from conversations?
} Long-term direction
} High value
} Extremely challenging
} Rarely mentioned in an explicit way
(Spijkman, CAiSE’21)
84. Direction #3: distilling requirements?
@2022 Fabiano Dalpiaz
40
Spijkman & al.,
NLP4RE’21
Ruiz & Hasselman,
EMMSAD’20
} Can we automatically generate
requirements from conversations?
} Long-term direction
} High value
} Extremely challenging
} Rarely mentioned in an explicit way
(Spijkman, CAiSE’21)
85. The future of evaluation metrics
@2022 Fabiano Dalpiaz
41
} Most of the literature employs information retrieval metrics
} Precision, recall, F1, …
} Progressive shift toward quality-in-use with conversational RE tools?
86. The future of evaluation metrics
@2022 Fabiano Dalpiaz
41
} Most of the literature employs information retrieval metrics
} Precision, recall, F1, …
} Progressive shift toward quality-in-use with conversational RE tools?
ISO 25022
(quality in use)