## 3 Proposed Methodology
### Visualization and Working with the Results
The model extracts n-grams of words representing the underlying document, and these keywords do not have to appear in the text next to each other. We set the parameter 'keyphrase_ngram_range' to (1, 3). The resulting 60,122 keywords are then vectorized into 300-dimensional space vectors. The vectorized keywords are clustered into topics using the DBSCAN algorithm from the sklearn.cluster package. A heuristic was applied to find a valid combination of the parameters epsilon and MinPoints [52]:  
Following the process described in Section 3.3, the start parameters chosen for MinPoints are 4 and 599. For each of these MinPoints parameters, a nearest-neighbor plot, as shown in Figure 6, is generated. In the case study, two elbow points are visible. Both are used for DBSCAN clustering, and the results are checked against the quality criteria. The noise cluster should not exceed the size of 18,037, which is 30% of all data. Moreover, the largest cluster must not contain more than 50% of all data and so must not exceed the size of 30,061. Neither of these parameters matched the criteria. The best result was achieved with MinPoints 8, so the epsilon parameter is adjusted while using this value for the MinPoints parameter. The highest elbow point of 26 produced one cluster too big to meet the quality criteria, but the amount of noise fulfilled the criteria. The lower elbow point at nine produced too much noise to meet the quality criterion, but the cluster size of the largest cluster met the criterion. Hence the parameter must be set somewhere between these epsilon parameters. The parameter eps was set to 16 and MinPts to 8 to meet the experiment's quality criteria of DBSCAN clustering. The resulting 140 clusters were then exported into an Excel file and evaluated manually. The clusters were grouped and filtered in a manual reading process until 39 sensible topics were identified and named. Figure 6: Determination of possible values of DBSCAN-parameter eps for MinPts = 8. Before all reviews were fed into the _facebook/part-large-mnli_ model [60; 61], tests were done with a small sample group of 1000 reviews to determine a way to get additional results that could be processed and deliver valuable insights. When the model was fed with just the 39 keywords and all sentences from the reviews, the classification confidence was too low to be sure of the dominating topic of the sentence. After some experimentation, the 39 keywords were grouped into 7 keyword classes, as seen in Table 1.  
To receive a classification consistent with human judgment, _facebook/part-large-mnli_ worked best if it received around five to seven possible labels to assign to the different sentences. With the confidence score of the topics, the importance is calculated. With \(CS_{Min}\) being 4019 for the topic \"Wi-Fi\" and \(CS_{Max}\) being 89,665 for the topic \"set up,\" a normalization between those values is suited to comprehensively represent the data. Additionally, there were no extreme outlier lies in the distribution, as Figure 7 shows. Base importance on the x-axis was the CS before normalization. The model _cardiffnlp/twitter-roberta-base-sentiment_[53] was chosen for the sentiment analysis. Based on the values this model calculates for the review data, the simple sentiment is calculated for each sentence to calculate the satisfaction score. With \(SS_{Min}\) being \(-203\) for the cluster \"battery\" and \(SS_{Max}\) being 26,615 for the cluster \"sound,\" normalization of SS is again suited to represent the data. Like Figure 7, Figure 8 shows no extreme outliers in the distribution. Due to bin width, small negative values are represented in the first bin. After importance and satisfaction scores were calculated, the opportunity was computed. All values are displayed in Table 2.