Developing an aspect-based sentiment lexicon for software engineering
Rantala, Leevi (2018-11-07)
Rantala, Leevi
L. Rantala
07.11.2018
© 2018 Leevi Rantala. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201811093002
https://urn.fi/URN:NBN:fi:oulu-201811093002
Tiivistelmä
Natural-language processing (NLP) is an interdisciplinary research field that has its core at understanding and analyzing written language. Under this broad umbrella fits several different sub-categories with different goals like sentiment analysis and opinion mining, which are used to discover either underlying emotions from the text or the opinions of the writer. Sentiment analysis has received in recent years a lot of attention in research field due to its applicability to several different domains and topics such as products, companies, movies etc. It can be used to discover whether writers’ attitude towards these topics. Sentiment mining can be broadly categorized in two approaches that are lexicon-based and machine-learning based approaches. Lexicon-based uses a prebuilt dictionary or lexicon to classify texts in unsupervised manner, and it is used more widely as the machine-learning approach needs to have a high-quality corpus for training the classifier.
In this thesis an aspect-based lexicon for software engineering was built. As the object was a creation of an artefact, design science methodology was applied to ensure the research was done rigorously. The requirements for the lexicon were derived from a literature review that yielded both necessary and supplementary requirements. The build process was similarly derived from the literature. This process has several steps starting from the creation of the corpus, continuing with identifying the aspects, creation of the seed set and finally expanding this set into the final lexicon. The result was a lexicon that contained over 10 000 unique software engineering aspects. All of these were scored in terms of valence, arousal and dominance, which together form the VAD-score. Four different methods were used to obtain four different scores for all of them. This guarantees that the most suitable calculation method and even a combination of methods can be used in the future research.
The lexicon was evaluated against an existing generic lexicon, to see how domain-specific lexicon differs from it. The differences relate to how much deviation there are within the VAD-scores and how their correlations interact with each other. The automated parts of aspect annotation and seed expansion were evaluated to see if they can be performed without supervision, as manual annotation and expansion require a lot of resources.
The research showed one possibility for creating an aspect-based lexicon, and steps that can be taken for creating one regardless of the domain. It also showed avenues for future research. The broadest ones are the development of a gold standard dataset for software engineering that uses VAD-scores and defining a systematic and unified process for the creation of a lexicon for natural language processing purposes. Natural-language processing (NLP) eli luonnollisen kielen prosessointi on monitieteistä tutkimusta, jonka tarkoituksena on ymmärtää ja analysoida kirjoitettua kieltä. Tämä kattotermi sisältää useita erilaisia suuntauksia, joilla kaikilla on omat tavoitteensa. Esimerkikkeinä mainittakoon tunnetilojen tunnistamiseen ja analysointiin keskittyvä tutkimus sekä mielipiteiden havaitsemiseen keskittyvä suuntaus. Tunnetilojen tutkimus on saanut paljon huomiota tutkimuksessa, sillä sitä voidaan hyödyntää monilla eri aloilla. Sen avulla no mahdollista tutkia esimerkiksi sitä, kuinka positiivisesti kirjoittaja suhtautuu kirjoittamaansa aiheeseen, käsittelipä se sitten tuotetta, yritystä tai vaikka elokuvaa. Tunnetilojen analysoinnin tutkimuksessa on laajasti ajateltuna kaksi tyylisuunaa, joista toinen perustuu erikseen luotuihin sanakirjoihin ja toinen puolestaan tekoälyn hyödyntämiseen. Sanakirjojen käyttö on suositumpaa, sillä tekoäly vaatii oppiakseen käsintehdyn ja korkealaatuisen suuren testiaineiston.
Tässä pro gradu -tutkielmassa luotiin sanakirja ohjelsmistotuotannon alalle. Koska työ keskittyi artifaktin luomiseen, sen toteuttamisessa hyödynnettiin design science research -metodologiaa. Sanakirjan vaatimukset haettiin kirjallisuuskatsauksesta, jonka myötä työlle määriteltiin pakolliset sekä valinnaiset vaatimukset. Luomisprosessi pohjautui myös kirjallisuudesta löydettyihin toimintatapoihin ja se sisälsi useita erilaisia vaiheita. Prosessi alkoi lähdemateriaalina toimivan corpuksen määrittelemisestä, erilaisten useista sanoista koostuvien aspektien tunnistamiseen. Näistä aspekteista koottiin pieni ydinjoukko, jonka laajennuksen myötä sanakirja sai lopullisen muotonsa. Lopputuloksena oli sanakirja, joka sisältää yli 10 000 ohjelmistontuotantoon liittyvää aspekteja, Näille aspekteille laskettiin erilaisia arvoja suhteessa siihen kuinka positiivinen, aktiivinen sekä dominoiva kyseinen termi oli. Jokaiselle aspektille esitettiin neljä erilaista vaihtoehtoa kullekin arvolle, jotta tulevaisuudessa on mahdollista valita tarkoitukseen sopiva vaihtoehto useista arvoista tai jopa arvojen yhdistelmä.
Sanakirjaa arvioitiin suhteessa yleiseen samaa skaalaa käyttävään sanakirjaan. Erot liittyvät aspektien saamiin erilaisiin numeerisiin arvoihin sekä jakaumien poikkeavuuksiin toisistaan. Etenkin positiivisuuden sekä aktiivisuuden välinen korrelaatio erosi huomattavasti yleisen sanakirjan luvuista. Tämän lisäksi arvioitiin automaattisesti toteutettujen laskutoimitusten sekä Wordnet-tietokannan avulla suoritetun sanakirjan laajentamisen tarkkuus. Näiden vaiheiden tekeminen käsin on työlästä, joten automaattiset menetelmät säästäisivät paljon resursseja.
Tutkimus osoitti yhden tavan luoda ohjelmistotuotantoon perustuvan sanakirjan, sekä yleiset askeleet sanakirjan luomiseksi mille tahansa alalle. Tutkielma viitoittaa myös tietä tulevaisuuden tutkimukselle useilla osa-alueilla. Tärkeimpinä mainittakoon käsintuotetun standardoidun testiaineiston luominen sekä yhteinäisten ohjeiden luominen sanakirjojen valmistamiseksi.
In this thesis an aspect-based lexicon for software engineering was built. As the object was a creation of an artefact, design science methodology was applied to ensure the research was done rigorously. The requirements for the lexicon were derived from a literature review that yielded both necessary and supplementary requirements. The build process was similarly derived from the literature. This process has several steps starting from the creation of the corpus, continuing with identifying the aspects, creation of the seed set and finally expanding this set into the final lexicon. The result was a lexicon that contained over 10 000 unique software engineering aspects. All of these were scored in terms of valence, arousal and dominance, which together form the VAD-score. Four different methods were used to obtain four different scores for all of them. This guarantees that the most suitable calculation method and even a combination of methods can be used in the future research.
The lexicon was evaluated against an existing generic lexicon, to see how domain-specific lexicon differs from it. The differences relate to how much deviation there are within the VAD-scores and how their correlations interact with each other. The automated parts of aspect annotation and seed expansion were evaluated to see if they can be performed without supervision, as manual annotation and expansion require a lot of resources.
The research showed one possibility for creating an aspect-based lexicon, and steps that can be taken for creating one regardless of the domain. It also showed avenues for future research. The broadest ones are the development of a gold standard dataset for software engineering that uses VAD-scores and defining a systematic and unified process for the creation of a lexicon for natural language processing purposes.
Tässä pro gradu -tutkielmassa luotiin sanakirja ohjelsmistotuotannon alalle. Koska työ keskittyi artifaktin luomiseen, sen toteuttamisessa hyödynnettiin design science research -metodologiaa. Sanakirjan vaatimukset haettiin kirjallisuuskatsauksesta, jonka myötä työlle määriteltiin pakolliset sekä valinnaiset vaatimukset. Luomisprosessi pohjautui myös kirjallisuudesta löydettyihin toimintatapoihin ja se sisälsi useita erilaisia vaiheita. Prosessi alkoi lähdemateriaalina toimivan corpuksen määrittelemisestä, erilaisten useista sanoista koostuvien aspektien tunnistamiseen. Näistä aspekteista koottiin pieni ydinjoukko, jonka laajennuksen myötä sanakirja sai lopullisen muotonsa. Lopputuloksena oli sanakirja, joka sisältää yli 10 000 ohjelmistontuotantoon liittyvää aspekteja, Näille aspekteille laskettiin erilaisia arvoja suhteessa siihen kuinka positiivinen, aktiivinen sekä dominoiva kyseinen termi oli. Jokaiselle aspektille esitettiin neljä erilaista vaihtoehtoa kullekin arvolle, jotta tulevaisuudessa on mahdollista valita tarkoitukseen sopiva vaihtoehto useista arvoista tai jopa arvojen yhdistelmä.
Sanakirjaa arvioitiin suhteessa yleiseen samaa skaalaa käyttävään sanakirjaan. Erot liittyvät aspektien saamiin erilaisiin numeerisiin arvoihin sekä jakaumien poikkeavuuksiin toisistaan. Etenkin positiivisuuden sekä aktiivisuuden välinen korrelaatio erosi huomattavasti yleisen sanakirjan luvuista. Tämän lisäksi arvioitiin automaattisesti toteutettujen laskutoimitusten sekä Wordnet-tietokannan avulla suoritetun sanakirjan laajentamisen tarkkuus. Näiden vaiheiden tekeminen käsin on työlästä, joten automaattiset menetelmät säästäisivät paljon resursseja.
Tutkimus osoitti yhden tavan luoda ohjelmistotuotantoon perustuvan sanakirjan, sekä yleiset askeleet sanakirjan luomiseksi mille tahansa alalle. Tutkielma viitoittaa myös tietä tulevaisuuden tutkimukselle useilla osa-alueilla. Tärkeimpinä mainittakoon käsintuotetun standardoidun testiaineiston luominen sekä yhteinäisten ohjeiden luominen sanakirjojen valmistamiseksi.
Kokoelmat
- Avoin saatavuus [34150]