## 2 Proposed Approach
### Opinion Processing  
The corpus that is extracted from SNS in Section 2.1 is used as input for the data processing phase. For data cleaning, special characters, punctuations, and numbers are filtered out from the corpus using natural language processing (NLP). Secondly, WordNet lemmatization was utilized to group together different forms of words to make them single items. For example, words such as \"show, showing and shown\" are considered as the basic word \"show\". The WordNet lemmatization helps to reduce the amount of extracted corpus. Thirdly, we have used part-of-speech tagging (POST) from the NLTK (Natural Language Toolkit), and lastly, the N-gram technique [28] is used to extract the terms from the corpus. We are interested in extracting the phrases which might be candidates for requirements. Therefore, we used bigrams and trigrams to extract the combination of nouns, adjectives, and verbs. Figure 2 shows opinion filtering by NLP. We filtered the corpus by applying NLP techniques and manually assigned the labels (attributes) to filtered opinions.  
Assigning attributes helps to refine the opinions as well as the objectivity and traceability of user requirements [29]. The attributes are divided into three classes: Redundant, Positive, and Irrelevant. Each attribute class is named after its connotation. The gathered corpus can be 'Positive', or 'Redundant'. Beyond these two classes (Positive and Redundant), the corpus falls in the category of 'Irrelevant'. 'Positive' attribute refers to those requirements which are current demands of users or the opinions which tell about the features offered by parallel competitors. 'Redundant' attributes figure out those features which our SPL system offers already, while 'Irrelevant' attribute tells us about those comments which are meaningless for us and beyond our consideration.  
Figure 2: The demonstration of Natural Language Processing (NLP) steps to get candidate terms for requirements.  
Examples of initial opinion documentation with attributes and region of the users are shown in Table 3. Through the discussion, we have noticed that users sometimes use a variety of words, synonyms, abbreviations, or use various terminologies for the same things. In order to accurately understand end-user needs, the opinions which are expressed in different ways need to be restored. For example, opinions like, \"BTW, the problem with the design of smartwatches are unattractive logos. Why companies don't gafi\" need to be restored to the original text to extract the requirements from it. We infer and rewrite these opinions in an understandable way to transform them into user requirements, as shown in Figure 3.  
This transformation is carried out using two steps:  
Restoration - The SNS users use jargons and abbreviations to express their opinions, this makes it difficult to understand user opinion, and therefore, it is important to restore these jargons and abbreviations and form correct sentences. In Figure 3, abbreviated opinions are corrected by following this step.  
Transformation--Once the opinions are restored and form grammatically correct phrases, then attributes are assigned and transformed into standard requirement form, as shown in Figure 3.  
Syntactical complexity makes this opinion analysis difficult to understand. However, we noticed that most users' opinions on an SNS were generally not syntactically complicated. The aforementioned NLP techniques are utilized to remove the garbage. At this stage, the opinions are now converted into requirements and we present them in such a way that becomes more understandable.  
For identifying VR and CR, the frequency of requirements is also documented. Table 4 (in data analysis) shows an example of requirements that we presented in an understandable way.  
This phase is a semi-automated phase where candidate terms for requirements are identified automatically from the corpus and then these terms are converted into initial requirements manually.