{"id":3222,"date":"2020-10-22T08:00:54","date_gmt":"2020-10-22T06:00:54","guid":{"rendered":"https:\/\/se-trends.de\/?p=3222"},"modified":"2021-01-13T09:30:42","modified_gmt":"2021-01-13T08:30:42","slug":"natural-language-requirements","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/naturlichsprachige-anforderungen\/","title":{"rendered":"3 approaches to processing natural language requirements automatically"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Model-based system descriptions are useful, but almost all developments start with requirements in human language. This will not change any time soon, because systems are developed for people. After all, we think in natural language (and images).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, natural language cannot be processed automatically without further ado, but this would be useful, especially with increasing complexity. There are already commercial solutions and, of course, research activities. In the following, I will present three solutions for the automated processing of requirements in natural language. The results are improved requirements, traceability or even derived models.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">A survey and a request<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I would be very interested to know whether the automated processing of requirements is of interest to you. I am currently developing a new product for this purpose, <a href=\"https:\/\/www.semiant.com\/product\/\" target=\"_blank\" rel=\"noreferrer noopener\">Semiant<\/a>. <a href=\"https:\/\/www.semiant.com\/product\/#poll\" target=\"_blank\" rel=\"noreferrer noopener\">The survey can be found on the product page<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I am also currently supervising a master's thesis on this topic. We are looking for companies to apply these concepts. Do you need help with your requirements that could possibly be simplified using an automated system? Then <a href=\"mailto:michael.jastram@formalmind.com\">please contact me directly by e-mail<\/a> to.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Thank you for taking part in the survey (right column)!<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">1. improve the quality of requirements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">15 years ago, the <a href=\"https:\/\/www.hood-group.com\/requirements\/beratung\/vorgehensentwicklung\/desireR\/\" target=\"_blank\" rel=\"noreferrer noopener\">DESIRe tool from the Hood Group<\/a> in the free download. DESIRe can be used with Word or DOORS and analyzes the requirements for weak words and other terms. However, this means that DESIRe does not automatically improve the requirements, but merely points out opportunities for improvement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recently IBM has been trying to solve the problem with <a href=\"https:\/\/www.se-trends.de\/en\/day\/artificial-intelligence\/\">artificial intelligence (AI)<\/a> to solve the problem, which is known there as <a href=\"https:\/\/de.wikipedia.org\/wiki\/Watson_(K%C3%BCnstliche_Intelligenz)\" target=\"_blank\" rel=\"noreferrer noopener\">Watson<\/a> is marketed. Last year, Watson was integrated into DOORS, <a href=\"https:\/\/youtu.be\/rUtHOAku1qY?t=433\" target=\"_blank\" rel=\"noreferrer noopener\">the result is in this video<\/a> to see. However, Watson does little more than DESIRe, which I find somewhat disappointing. Hubert Spie\u00df from IBM has set up a demo page where you can see the <a href=\"https:\/\/dng2cognitive.mybluemix.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">Try out requirements analysis with Watson yourself<\/a> can.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The young company Qualicen has developed powerful tools for the automated analysis of natural language requirements. This <a href=\"https:\/\/www.qualicen.de\/the-incredible-potential-of-text-analytics-the-use-cases-explained\/\" target=\"_blank\" rel=\"noreferrer noopener\">Blog article provides an overview of four relevant use cases<\/a>. Qualicen is of the opinion that it is difficult to use these tools without appropriate support. Qualicen therefore only uses them in the context of consulting or training projects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conclusion: Yes, there is automated assistance to improve the quality of requirements. But the improvement itself still has to be carried out by humans.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. recognize relationships<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The company takes a completely different approach <a href=\"https:\/\/www.relatics.com\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\">Relatics<\/a>. Their tool performs a semantic analysis, taking into account documents, emails and much more. Based on this analysis, the system creates a traceability, as shown schematically in the following image:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/se-trends.de\/wp-content\/uploads\/2020\/10\/image-1.png\" data-srcset=\"https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1.png 800w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1-453x236.png 453w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1-281x146.png 281w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1-18x9.png 18w\" decoding=\"async\" width=\"800\" height=\"416\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-3229 lazyload\"  sizes=\"(max-width: 800px) 100vw, 800px\" \/><noscript><img decoding=\"async\" width=\"800\" height=\"416\" src=\"https:\/\/se-trends.de\/wp-content\/uploads\/2020\/10\/image-1.png\" alt=\"\" class=\"wp-image-3229\" srcset=\"https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1.png 800w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1-453x236.png 453w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1-281x146.png 281w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-1-18x9.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\"><\/noscript><figcaption>Image source: <a href=\"https:\/\/www.relatics.com\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\">Relatics Video<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I cannot judge how well this works in practice, but the concept is charming, as it does not even require us to deal with clean requirements. Nevertheless, we can call up all relevant information at any time, e.g. on Part A.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. extract models<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">And finally, there is the option of extracting models from the natural language requirements. I am not aware of any commercial solution for this. However, there is research and also case studies. I found the following particularly interesting <a href=\"https:\/\/people.svv.lu\/sabetzadeh\/pub\/MODELS16.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation<\/a> by Arora et.al. Requirements are analyzed based on rules in order to generate class models of the domain. Here is an example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/se-trends.de\/wp-content\/uploads\/2020\/10\/image-2.png\" data-srcset=\"https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2.png 761w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2-453x88.png 453w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2-281x54.png 281w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2-18x3.png 18w\" decoding=\"async\" width=\"761\" height=\"147\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-3230 lazyload\"  sizes=\"(max-width: 761px) 100vw, 761px\" \/><noscript><img decoding=\"async\" width=\"761\" height=\"147\" src=\"https:\/\/se-trends.de\/wp-content\/uploads\/2020\/10\/image-2.png\" alt=\"\" class=\"wp-image-3230\" srcset=\"https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2.png 761w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2-453x88.png 453w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2-281x54.png 281w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2020\/10\/image-2-18x3.png 18w\" sizes=\"(max-width: 761px) 100vw, 761px\"><\/noscript><figcaption>Source: <a href=\"https:\/\/people.svv.lu\/sabetzadeh\/pub\/MODELS16.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation<\/a>, Arora et.al<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the paper, the authors analyze four industrial specifications. The results are promising: 90% of the identified relationships were correct. A major problem was that many of the extracted relationships were classified as superfluous by the domain experts. The authors are currently addressing this problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To be honest, I was a little disappointed with the state of development. Especially with the current hype around machine learning and artificial intelligence, I would have expected more. In particular, I would have expected systems like Watson to evaluate requirements in context and not just individual requirements. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you see it the same way and have challenges here, then <a href=\"mailto:michael.jastram@formalmind.com\">please contact me directly by e-mail<\/a> to.<\/p>\n\n\n\n<p class=\"has-text-align-right wp-block-paragraph\">Photo by <a href=\"https:\/\/unsplash.com\/@sharonmccutcheon?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Sharon McCutcheon<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/documents?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Model-based system descriptions are useful, but almost all developments start with requirements in human language. This will not change any time soon, because systems are developed for people. After all, we think in natural language (and images). However, natural language cannot be processed automatically without further ado, but especially with increasing complexity this would be...<\/p>","protected":false},"author":1,"featured_media":3233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[110,4],"tags":[100,276,229,236,109],"class_list":["post-3222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-anforderungen","category-forschung","tag-anforderungen","tag-kuenstliche-intelligenz","tag-modelle","tag-nachverfolgbarkeit","tag-qualitaet"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/3222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/comments?post=3222"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/3222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/3233"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=3222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=3222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=3222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}