| Literature DB >> 35372217 |
Iqra Khurshid1, Salma Imtiaz1, Wadii Boulila2, Zahid Khan2, Almas Abbasi1, Abdul Rehman Javed3, Zunera Jalil3.
Abstract
Internet of Things (IoT) involves a set of devices that aids in achieving a smart environment. Healthcare systems, which are IoT-oriented, provide monitoring services of patients' data and help take immediate steps in an emergency. Currently, machine learning-based techniques are adopted to ensure security and other non-functional requirements in smart health care systems. However, no attention is given to classifying the non-functional requirements from requirement documents. The manual process of classifying the non-functional requirements from documents is erroneous and laborious. Missing non-functional requirements in the Requirement Engineering (RE) phase results in IoT oriented healthcare system with compromised security and performance. In this research, an experiment is performed where non-functional requirements are classified from the IoT-oriented healthcare system's requirement document. The machine learning algorithms considered for classification are Logistic Regression (LR), Support Vector Machine (SVM), Multinomial Naive Bayes (MNB), K-Nearest Neighbors (KNN), ensemble, Random Forest (RF), and hybrid KNN rule-based machine learning (ML) algorithms. The results show that our novel hybrid KNN rule-based machine learning algorithm outperforms others by showing an average classification accuracy of 75.9% in classifying non-functional requirements from IoT-oriented healthcare requirement documents. This research is not only novel in its concept of using a machine learning approach for classification of non-functional requirements from IoT-oriented healthcare system requirement documents, but it also proposes a novel hybrid KNN-rule based machine learning algorithm for classification with better accuracy. A new dataset is also created for classification purposes, comprising requirements related to IoT-oriented healthcare systems. However, since this dataset is small and consists of only 104 requirements, this might affect the generalizability of the results of this research.Entities:
Keywords: classification; healthcare; machine learning; non-functional requirements; requirement document
Mesh:
Year: 2022 PMID: 35372217 PMCID: PMC8974737 DOI: 10.3389/fpubh.2022.860536
Source DB: PubMed Journal: Front Public Health ISSN: 2296-2565
Non-functional requirements classification review.
|
|
|
|
|
|---|---|---|---|
| Shreda and Hanani ( | Convolutional Neural Network | PURE dataset sample | Only 5 non-functional requirement are considered, Probability of biased result due to 2 fold cross validation |
| Dias Canedo and Cordeiro Mendes ( | Logistic Regression | PROMISE_exp | Classification error of 25% on average is reported which needs to be minimized |
| Younas et al. ( | K Nearest Neighbor | PROMISE | Precision is found as 50.65%, Recall as 41.11% which indicates quite low classification performance. |
| Lu and Liang ( | Bagging | 21969 user review sentences | Only four non-functional requirement are considered |
| Kurtanovic and Maalej ( | Support Vector Machines | PROMISE | Precision is found to be 78.25% which needs be further improved |
| Maiti ( | K Nearest Neighbors | EU Procurement documents, NFRM data set, PROMISE | Datasets used for validation contains only 56 and 78 requirements which are very limited Validation is done only on EU procurement documents |
| Riaz et al. ( | K Nearest Neighbors | CCHIT, ED, NU, OSCAR | Validation is done specifically on health care domain documents Only security related requirement are considered |
| Knauss and Ott ( | Support Vector Machines | 2,000 requirements in Mercedes-Benz specifications | Non-Functional requirement types are not mentioned Validation is done only on automotive industry domain document |
| Rashwan et al. ( | Support Vector Machines | Corpus with 3064 annotated sentences | Only 5 non-functional requirement are considered Chances of biased results due to 6 cross fold validation |
| Slankas and Williams ( | Support Vector Machines | CCHIT Ambulatory Requirements, iTrust, PROMISE | Performance is low in terms of precision and recall which are only 72.8 and 54.4%, respectively |
| Casamayor et al. ( | Expectation Maximization with Naïve Bayes | PROMISE | Only accuracy of 75% is reported |
| Hussain et al. ( | Decision Trees | PROMISE | Non-Functional requirement types are not stated |
| Cleland-Huang et al. ( | Naïve Bayes | PROMISE, SIEMENS IET Datasets | Classification precision is 12.4% which is very low |
Figure 1Steps of classifying non-functional requirements.
Figure 2The architectural design of Internet of Things (IoT) oriented Healthcare non-functional requirement classification.
Number of requirements per class.
|
|
|
|---|---|
| Functional requirement (FR) | 444 |
| Availability (A) | 31 |
| Security (SE) | 125 |
| Usability (US) | 85 |
| Look and Feel (LF) | 49 |
| Legal and licensing (L) | 15 |
| Maintainability (MN) | 24 |
| Operability (O) | 77 |
| Performance (PE) | 67 |
| Scalability (SC) | 22 |
| Fault Tolerance (FT) | 18 |
| Portability (PO) | 12 |
| Total | 969 |
Figure 3Distribution of requirement classes.
Top relevant features.
|
| ||
|---|---|---|
|
|
|
|
| 1 | Must | Must |
| 2 | Information | Information |
| 3 | Sensitive | User |
| 4 | Website | Website |
| 5 | Registered | Security |
| 6 | Security | Registered |
| 7 | Secure | Secure |
| 8 | User | Sensitive |
| 9 | Third | High |
| 10 | Issue | Agreement |
Additional relevant features.
|
|
|
|---|---|
| Availability | availability, available, uptime, mtbf, uptime, system, support, time, hours, whenever, demand. |
| Legal and Licensing | licensing, legal, law, rule, rules, regulation, law, legal, claim, norm, sarbanesoxley, eula, comply, confirm, meet, violate, violating, violated, follow, agree, requirement, term, condition, accounting, standard. |
| Fault Tolerance | malfunction, fault, fail, failure, loss, error, warn, alive, handle, prevent, recover, retain, remain, operational, restored, system, back, connection, unavailable, operate, operating. |
| Security | trusted, unauthorized, malicious, hacker, illegal, secure, security, securely, limited, control, private, password, constrained, constraint, access, accessible, only, need, allow, allowed, require, required, IP address, log, logged, encrypt, encryption, hide, hidden, invisible, password, authentic, PW, attempt, unique, valid, tracking, manner, way, SSL, impose, steal, reveal, infection, virus, threat, trojan, bomb, attack. |
| Scalability | scale, add, accommodate, include need, increase, release, market, country, country, state, capable, supporting, new, current, customer, user, year, processing, number, grow, multiple, database server, expected, remote. |
| Look and Feel | look, size, color, shape, texture, position, positioned, located, location, pixel, circle, circular, square, clue, visual, scroll, tool, bar, button, icon, image, buttons, icons, menu, comply, meet, confirm, guideline, standard, display, show, illustrate, simulate, feel, sound, announce, view, grid, graphics, animation, tabbed, schema, attractive, offensive, ethnic, nomenclature, GUI, drilldown, interface. |
| Usability | show, display, provide, find, locate, icons, tool, tools, toolbar, image, able allow, use, user, customer, scroll, map, web, navigate, navigation, system, friendly, convention, help, ask, section, offer, customize, customization, quickly, easily, quick, easy, understand, entirely, click, select, learn, translate, language, languages, intuitive, feeling, happy, satisfied, content, free, access, accessibility, handicap, disability, one, click, familiar, self-supporting, explanatory. |
| Performance | perform, check, handle, every, within, second, process, processing balancing, large, simultaneously, parallel, load, response, throughput, lead, cycle, respond, minimum, fast, time, speed, rate, increase, more, high, performance, access, minute, seconds, minutes, space, memory, resource, utilize, utilization, depend, upon, later, returned, asynchronous, asynchronously, overhead, synchronize. |
| Maintenance | update, maintain, modify, add, integrate, remove, delete, change, replace, upgrade, easily, easy, new, different, release, updated, operate, maintenance, highly, maintainable, configurable, manage, management, function, functionality, component, module, record, data, information. |
| Operability | operate, exchange, interface, API, APIs, with, without, through, compatible, window, system, os, manage, format, information, data, utilize, run, current, currently, existing, equipment, environment, use, protocol, network, operated, condition, database, store, programming, language, connectivity, evoked, command, platform, prompt, service, stream, navigation, operable. |
| Portability | portable, portability, support, run, mobile, laptop, tablet, platform, window, os. |
Figure 4Classification accuracy with Bag of Words (BoW) and Term Frequency-Inverse Document Frequency (TF-IDF).
Figure 5Accuracy of machine learning algorithms with BoW.
Figure 6Accuracy of machine learning algorithms with TF-IDF.
Classification accuracy of ML algorithms using BoW.
|
| |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Hybrid | 0.72 | 0.72 | 0.73 | 0.77 | 0.84 | 0.81 | 0.86 | 0.74 | 0.75 | 0.84 | 0.778 |
| Ensemble | 0.68 | 0.71 | 0.60 | 0.72 | 0.70 | 0.72 | 0.72 | 0.71 | 0.67 | 0.59 | 0.682 |
| LR | 0.72 | 0.78 | 0.68 | 0.78 | 0.75 | 0.76 | 0.77 | 0.80 | 0.69 | 0.68 | 0.741 |
| SVM | 0.63 | 0.66 | 0.57 | 0.63 | 0.61 | 0.70 | 0.54 | 0.64 | 0.57 | 0.53 | 0.608 |
| MNB | 0.72 | 0.73 | 0.68 | 0.75 | 0.70 | 0.77 | 0.77 | 0.78 | 0.71 | 0.66 | 0.727 |
| KNN | 0.55 | 0.56 | 0.49 | 0.56 | 0.63 | 0.54 | 0.67 | 0.52 | 0.51 | 0.48 | 0.551 |
| RF | 0.64 | 0.69 | 0.67 | 0.71 | 0.67 | 0.75 | 0.70 | 0.71 | 0.65 | 0.55 | 0.674 |
Classification accuracy of ML algorithms using Term Frequency-Inverse Document Frequency (TF-IDF).
|
| |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Hybrid | 0.82 | 0.85 | 0.82 | 0.89 | 0.88 | 0.85 | 0.87 | 0.86 | 0.85 | 0.88 | 0.857 |
| Ensemble | 0.62 | 0.64 | 0.56 | 0.64 | 0.62 | 0.67 | 0.67 | 0.62 | 0.54 | 0.49 | 0.607 |
| LR | 0.62 | 0.67 | 0.57 | 0.66 | 0.64 | 0.70 | 0.71 | 0.66 | 0.59 | 0.58 | 0.640 |
| SVM | 0.65 | 0.66 | 0.59 | 0.67 | 0.64 | 0.70 | 0.69 | 0.66 | 0.58 | 0.53 | 0.637 |
| MNB | 0.51 | 0.54 | 0.48 | 0.55 | 0.57 | 0.55 | 0.58 | 0.51 | 0.48 | 0.45 | 0.522 |
| KNN | 0.67 | 0.75 | 0.64 | 0.72 | 0.69 | 0.68 | 0.77 | 0.69 | 0.67 | 0.58 | 0.686 |
| RF | 0.67 | 0.74 | 0.61 | 0.72 | 0.69 | 0.72 | 0.71 | 0.65 | 0.64 | 0.58 | 0.673 |
Classification accuracy of ML algorithms for IoT oriented healthcare requirements.
|
| |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Hybrid | 0.73 | 0.73 | 0.73 | 1.00 | 0.70 | 0.90 | 0.60 | 0.70 | 0.80 | 0.70 | 0.759 |
| Ensemble | 0.82 | 0.64 | 0.27 | 0.64 | 0.80 | 0.60 | 0.70 | 0.70 | 0.60 | 0.50 | 0.627 |
| LR | 0.82 | 0.64 | 0.27 | 0.64 | 0.80 | 0.60 | 0.70 | 0.70 | 0.60 | 0.50 | 0.627 |
| SVM | 0.82 | 0.64 | 0.27 | 0.64 | 0.80 | 0.60 | 0.70 | 0.70 | 0.60 | 0.50 | 0.627 |
| MNB | 0.82 | 0.64 | 0.27 | 0.64 | 0.80 | 0.60 | 0.70 | 0.70 | 0.60 | 0.50 | 0.627 |
| KNN | 0.82 | 0.55 | 0.45 | 0.64 | 0.80 | 0.70 | 0.70 | 0.70 | 0.50 | 0.60 | 0.646 |
| RF | 0.82 | 0.64 | 0.27 | 0.64 | 0.80 | 0.60 | 0.70 | 0.70 | 0.60 | 0.50 | 0.627 |