9. November 2023 By Sezen Ipek
Requirements engineering for AI projects: how to add requirements for text summarisation
Requirements engineering has become a key factor in machine learning projects in the age of artificial intelligence and machine learning. This blog post explains the importance, the theoretical underpinnings and the approach taken in this critical step in the process of developing AI systems.
We will be drawing on the ‘Intelligent Knowledge Database’ project carried out for the customer ‘utopia’ in this blog post. This project involved the integration of Aleph Alpha Luminous, a powerful platform for metadata generation and intelligent searches in utopia’s knowledge database. The aim of the project was to create a state-of-the-art knowledge management solution that enables users to efficiently organise and search content from various sources and gain valuable insights. The integration of Aleph Alpha Luminous supports the automatic generation of metadata such as abstracts and keywords, while the intelligent search function makes it possible to locate relevant information on specific questions or issues. The user-friendly knowledge database improves decision-making and promotes the effective use of knowledge within organisations.
Why is requirements engineering so important for machine learning projects?
Requirements engineering is so important for machine learning and/or AI projects due to the rapid development and integration of AI technologies across a range of industries. In a world where algorithms and machine learning are playing an increasingly important role, having efficient methods for summarising text is of vital importance. This applies in particular to the processing of large volumes of text, such as one would find in scientific publications, company reports and legal documents. Having a precise summary allows you to effectively convey complex information in a clear and understandable way, which makes decision-making and knowledge sharing much easier.
- 1. Create a clear definition of the requirements: Before starting a machine learning project, it is absolutely critical that you define clear and precise requirements. This includes identifying the tasks that the AI system has to perform, the data that is needed and the goals that you want to achieve.
- 2. Avoid misunderstandings: Unclear or incomplete requirements often lead to misunderstandings and miscommunication between developers and clients. Requirements engineering helps avoid such issues by clearly establishing the expectations of everyone involved.
- 3. Take the right approach to collecting and processing data: The quality of the data is key to the success of a machine learning model. If the requirements are clearly defined, it will be possible to identify the right sources of data and preprocess the data accordingly.
- 4. Efficient model development: Having well-defined requirements allows developers to develop models more efficiently and avoid wasteful, unnecessary use of resources.
- 5. Measurable performance criteria: Requirements engineering helps you define measurable performance criteria. This is important in order to track progress and ensure that the models you developed achieve the desired goals.
Approach to requirements engineering in machine learning projects
The requirements workshop in the project described above was conducted on Miro. The requirements identified during the workshop were then prioritised together with the customer on the same board as part of a requirements canvas.
It is necessary to complete each of the following steps when documenting the requirements:
- 1. Analyse the requirements: The first step in the process is to analyse the requirements. This includes identifying the main objectives of the project, the target group and the expected results.
- 2. Document the requirements: All requirements are entered in a clear, structured document, which should cover every aspect of the project, including the type of data, the required models and the performance criteria.
- 3. Communication: Communication between the project participants plays a pivotal role. Clients, developers and data scientists should work closely together to ensure that the requirements are correctly understood.
- 4. Validate the requirements: The defined requirements should be validated to ensure that they are realistic and can be achieved.
- 5. Change management: It is important to note that requirements can change over the course of a project. Effective change management is therefore necessary to ensure that changes are properly documented and approved.
Two proposed abstracts were presented in the workshop to provide the customer with a starting point for carrying out the requirements analysis. This was done so that the customer could evaluate the categories and elements in the abstracts to determine which were relevant to their requirements. Extra care was taken to ensure that the abstracts contained all the essential information without going into too much detail, despite the need to keep them short.
The requirements have been prioritised in order to ensure that all key information was included in the summary. They were divided into the categories ‘must-have’, ‘should-have’, ‘good-to-have’ and ‘won’t-have’.
The ‘must-haves’ include things that are essential for any summary, in which the ‘conclusions/findings/results’ of the publication are documented, for example. Just as important were the ‘methods/design/methodology’, as this allows the study to be scientifically classified.
The ‘should-have’ requirements are the ones that are relevant for most, though not all, publications. This includes the item ‘objective’, which deals with the goals and issues relating to the publication.
The ‘won’t-haves’ were fields that were intentionally left out of the summary, including ‘originality’, ‘keywords’ and ‘sources’.
It was critical to have the customer actively involved in the process when documenting the requirements. This was ensured by using a Miro board. Visualising the requirements and working together to prioritise them proved to be an extremely effective strategy, since the customer was able to put forward their ideas directly and track progress.
It was also important to ask ‘why do we need to include certain information in the summary?’ and ‘what purpose does it serve?’. These questions helped us keep an eye on the big picture and ensure that the requirements were reasonable and helped achieve the desired goals.
All in all, documenting the requirements for the abstract was a key step in the automatic text summarisation process we developed. It demonstrated that flexibility and adaptability are both critical, since every publication is unique. Along with that, it showed us just how important it is to have a clear and precise summary in order to effectively communicate complex information in an easy-to-understand way.
In the blog posts to follow, the project team will explore further technical challenges and propose a solution for the abstract.
Requirements engineering for machine learning projects is a key step in the development of AI systems. Having a clear definition of the requirements, taking the right approach to collecting and processing data as well as efficient model development are all critical to the success of a project. Requirements engineering ensures that everyone involved is on the same page in terms of what they are looking to achieve and lays the foundation for the successful implementation of AI technologies.
Would you like to learn more about exciting topics from the world of adesso? Then check out our latest blog posts.