Applying machine learning to automatic incident detection from software log output

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2019-06-17
Department
Major/Subject
Translational engineering
Mcode
ELEC3023
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
54+4
Series
Abstract
In order to secure a profitable business, stores must have enough products on shelves to offer to customers but shelf life of the products as well as available inventory space should also be considered. Optimizing the product flow from stores to customers is a critical part in supply chain management and is necessary to retain a competitive edge. RELEX Solutions offers a software platform for supply chain management. The software offered by RELEX allows store managers to calculate demand forecasts and order proposals for each product. Calculations in the software produce log files that contain information about the current calculation. Occasionally there are errors in these calculations which are also logged in the log file. Currently a designated support team at RELEX goes through the error messages and decides what actions need to be taken according to the criticality of each error. This thesis investigates the possibility of using a machine learning system to separate critical and non-critical issues. The raw text data in the form of error messages is first preprocessed so it is suitable for a machine learning system. The preprocessing stage includes separating the text data into individual words and filtering out irrelevant terms. Two different feature representations were studied. Selected algorithms for the text classification were support vector machines and a naive Bayes classifier. A systematic testing approach was constructed in order to find the best performing classifier. It was found that the original data set had a strong class imbalance that deteriorated the results. A balanced data set was constructed and the models were able to obtain a better classification performance with this set. However even with a balanced data set the classifier accuracy was only around $60\%$ with both algorithms. This study concluded that the structure of the error messages makes the classification challenging. The error messages do not have enough separating features, they are too messy and the error messages can look similar even if they stem from a different issue. Future research should focus on improving the error messages. In this thesis the numerical data was filtered out but it could be interesting to study the effect of numbers on log classification. Different algorithms should also be researched in the future.

Kannattavan liiketoiminnan varmistamiseksi kaupoissa pitää olla tarpeeksi tuotteita hyllyillä asiakkaille, mutta myös tuotteiden säilyvyysaika sekä käytettävissä oleva varaston tila pitää ottaa huomioon. Tuotevirran optimoiminen kaupoista asiakkaille on olennainen osa toimitusketjun hallintaa ja se on välttämätöntä kilpailuedun säilyttämiseksi. RELEX Solutions tarjoaa ohjelmistoalustan toimitusketjun hallinnalle. RELEXin tarjoamalla ohjelmistolla myymäläpäälliköt voivat laskea kysyntäennusteita sekä tilausehdotuksia jokaiselle tuotteelle. Laskutoimitukset ohjelmistossa tuottavat lokitiedostoja, joissa on tietoa kyseisestä laskutoimituksesta. Toisinaan näissä laskutoimituksissa tapahtuu virheitä, jotka kirjataan myös lokitiedostoon. Tällä hetkellä asiakastukitiimi RELEXillä käy läpi virheviestejä ja päättää minkälaisia toimia pitää tehdä, riippuen jokaisen virheen kriittisyydestä. Tämä diplomityö tutkii mahdollisuutta käyttää koneoppivaa järjestelmää kriittisten ja ei-kriittisten ongelmien erotteluun. Raaka tekstidata virheviestien muodossa esikäsitellään ensin niin, että se on sopivaa koneoppivalle järjestelmälle. Esikäsittelyvaihe sisältää tekstidatan erottelun yksittäisiin sanoihin sekä merkityksettömien termien poissuodattamisen. Kahta erilaista tapaa piirteiden esitysmuodoksi tutkittiin. Valitut algoritmit tekstiluokittelulle olivat tukivektorikoneet sekä naiivi Bayes-luokittelija. Testaukseen muodostettiin systemaattinen menettelytapa, jotta parhaiten suoriutuva luokittelija löydettäisiin. Tutkimuksessa saatiin selville, että alkuperäisessä tiedostossa oli vahva luokkaepätasapaino, joka heikensi tuloksia. Tasapainotettu joukko muodostettiin ja mallit pystyivät saavuttamaan paremman luokittelutehokkuuden tällä joukolla. Kuitenkin jopa tasapainotetulla joukolla luokittelutarkkuus oli vain noin $60\%$ molemmilla algoritmeilla. Tutkimuksessa havaittiin, että virheviestien rakenne tekee luokittelusta haastavaa. Virheviesteillä ei ole tarpeeksi erottavia piirteitä, ne ovat liian sotkuisia ja virheviestit voivat näyttää samalta, vaikka ne johtuisivatkin eri ongelmasta. Jatkotutkimuksen pitäisi keskittyä virheviestien parantamiseen. Tässä diplomityössä numeerinen data suodatettiin pois ja voisi olla mielenkiintoista tutkia numeroiden vaikutusta tekstiluokitteluun. Muita algoritmeja pitäisi myös tutkia tulevaisuudessa.
Description
Supervisor
Solin, Arno
Thesis advisor
Viitanen, Tuomas
Pitkäranta, Tapio
Keywords
text classification, machine learning, support vector machines, naive Bayes classifier, Apache Spark, data mining
Other note
Citation