Koulutusdatan vaikutus virtuaaliassistentin suoriutumiseen
Kuosmanen, Valtteri (2021-12-09)
Kuosmanen, Valtteri
V. Kuosmanen
09.12.2021
© 2021 Valtteri Kuosmanen. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202112099266
https://urn.fi/URN:NBN:fi:oulu-202112099266
Tiivistelmä
Eri yritysten henkilökohtaiset puheentunnistukseen perustuvat avustajat eli virtuaaliassistentit ja niitä hyödyntävät laitteet ovat kasvattaneet suosiotaan huomattavasti viime vuosien aikana. Applen Sirin, Amazonin Alexan, sekä Google Assistantin kaltaiset avustajat voivat esimerkiksi mahdollistaa hälytysten asettamisen ilman tarpeetonta valikkojen läpi selaamista. Lisäksi suurien yritysten assistentit kykenevät hyödyntämään valtavaa verkossa olevan tiedon määrää, parantaen niiden kykyjä vastata arkipäiväisiin kysymyksiin. Puheentunnistusratkaisuja on myös otettu käyttöön erilaisissa työtehtävissä, joissa työntekijä ei pysty käyttämään käsiään käyttöliittymien navigoimiseen.
Tässä työssä esitellään syväoppimiskoulutuksella toteutettu virtuaalinen assistentti, jonka ominaisuudet perustuvat puheentunnistukseen, luonnollisen kielen käsittelyyn, sekä verkon haravoimiseen. Tärkeimpänä tavoitteena oli toteuttaa puheentunnistukseen perustuva avustaja, joka pystyisi tarjoamaan suomeksi toimintoja, jotka vastaisivat kaupallisten englanninkielisten assistenttien asettamaa tasoa. Lisäksi haluttiin testata ylimääräisen datan lisäämistä puheentunnistukselle tarkoitettuun pakettiin ja arvioida saadun mallin suorituskykyä verrattuna yhdellä tietoaineistolla koulutettuun malliin. Nämä tavoitteet onnistuttiin saavuttamaan. Huolimatta suomenkielisen koulutusdatan vähäisestä määrästä suhteutettuna esimerkiksi englannin-, tai kiinankieliseen koulutusdataan, toteutettu puheentunnistusmalli suoriutui komentojen tulkitsemisessa yllättävän hyvin jo heti koulutuksen jälkeen, jolloin se sai tulkittavista komennoista keskimäärin 46\%{} oikein. Mallin virheellisiä tulkintoja paikattiin onnistuneesti toteuttamalla komennot taulukoina, joissa oikein tulkittujen sanojen lisäksi oli mallin yleisimpiä virheellisiä arvauksia, sekä mahdollisia synonyymejä. Tätä menetelmää käyttämällä malli onnistui saamaan komentolauseista keskimäärin 77\%{} oikein. Lisäksi yhdyssanavirheitä paikattiin hyödyntämällä projektille kehitettyä automaattista korjausta. Automaattinen ratkaisu korjasi 19\%{} kaikista ylimääräisistä välilyönneistä johtuvista virheistä. Sekadatalla koulutettu malli olisi myöskin soveltunut käytettäväksi, mutta malli ei suoriutunut yhtä hyvin kuin Common Voice:n datalla toteutettu puheentunnistusmalli. Näin osoitettiin tarve Lahjoita puhetta -kampanjan ja Common Voice:n kaltaisille puheentunnistukselle suunitelluille puheaineistoille. Virtuaalisessa assistentissa käytetyt tiedostot ovat julkisesti saatavilla. Various intelligent personal assistants or virtual assistants and devices supporting them have risen in popularity in the past years. Assistants like Apple’s Siri, Amazon’s Alexa and Google Assistant can for example be used to set up alarms without needlessly going through multiple sets of menus. In addition the assistants developed by Big Tech are able to utilize the enormous amounts of data available online, improving their ability to answer everyday questions from the users. Speech recognition solutions have also been utilized in some commercial and industrial applications. This is useful in situations where the person working is unable to use their hands to navigate interfaces.
In this thesis, a Finnish virtual assistant is presented. This virtual assistant has been implemented using deep learning and its functions are based on speech recognition, natural language processing and web scraping. The primary goal was to implement a speech recognition-based assistant that could execute tasks in Finnish, in a way that is comparable to the bar set by commercial virtual assistants in English. The secondary goal was to test adding additional data to the speech recognition dataset and evaluate its performance compared to the language model which was trained with only a single dataset. In the end both of these goals were met. Despite the small amount of Finnish training data compared to the amount of data for languages such as English or Chinese, the implemented speech recognition model’s ability to interpret commands right after training surpassed expectations, by managing to correctly interpret 46\%{} of the given commands. Mistakes made by the model were rectified successfully by implementing the commands as arrays, where in addition to the intended command words, the most common misinterpretations and potential synonyms were also included. Using this method the model was able to interpret 77\%{} of the commands correctly. Compound word errors were also fixed using an automatic solution developed for this project. This automatic solution was able to fix 19\%{} of the errors caused by incorrect use of spaces. The model that was trained using mixed data could have also been used for the implementation, but it did not perform as well as the speech recognition model trained only with Common Voice data. This demonstrated the need for Finnish datasets similar to those of the Lahjoita puhetta -campaign and Common Voice, which are specifically intended for speech recognition. The files used in the virtual assistant are publicly available.
Tässä työssä esitellään syväoppimiskoulutuksella toteutettu virtuaalinen assistentti, jonka ominaisuudet perustuvat puheentunnistukseen, luonnollisen kielen käsittelyyn, sekä verkon haravoimiseen. Tärkeimpänä tavoitteena oli toteuttaa puheentunnistukseen perustuva avustaja, joka pystyisi tarjoamaan suomeksi toimintoja, jotka vastaisivat kaupallisten englanninkielisten assistenttien asettamaa tasoa. Lisäksi haluttiin testata ylimääräisen datan lisäämistä puheentunnistukselle tarkoitettuun pakettiin ja arvioida saadun mallin suorituskykyä verrattuna yhdellä tietoaineistolla koulutettuun malliin. Nämä tavoitteet onnistuttiin saavuttamaan. Huolimatta suomenkielisen koulutusdatan vähäisestä määrästä suhteutettuna esimerkiksi englannin-, tai kiinankieliseen koulutusdataan, toteutettu puheentunnistusmalli suoriutui komentojen tulkitsemisessa yllättävän hyvin jo heti koulutuksen jälkeen, jolloin se sai tulkittavista komennoista keskimäärin 46\%{} oikein. Mallin virheellisiä tulkintoja paikattiin onnistuneesti toteuttamalla komennot taulukoina, joissa oikein tulkittujen sanojen lisäksi oli mallin yleisimpiä virheellisiä arvauksia, sekä mahdollisia synonyymejä. Tätä menetelmää käyttämällä malli onnistui saamaan komentolauseista keskimäärin 77\%{} oikein. Lisäksi yhdyssanavirheitä paikattiin hyödyntämällä projektille kehitettyä automaattista korjausta. Automaattinen ratkaisu korjasi 19\%{} kaikista ylimääräisistä välilyönneistä johtuvista virheistä. Sekadatalla koulutettu malli olisi myöskin soveltunut käytettäväksi, mutta malli ei suoriutunut yhtä hyvin kuin Common Voice:n datalla toteutettu puheentunnistusmalli. Näin osoitettiin tarve Lahjoita puhetta -kampanjan ja Common Voice:n kaltaisille puheentunnistukselle suunitelluille puheaineistoille. Virtuaalisessa assistentissa käytetyt tiedostot ovat julkisesti saatavilla.
In this thesis, a Finnish virtual assistant is presented. This virtual assistant has been implemented using deep learning and its functions are based on speech recognition, natural language processing and web scraping. The primary goal was to implement a speech recognition-based assistant that could execute tasks in Finnish, in a way that is comparable to the bar set by commercial virtual assistants in English. The secondary goal was to test adding additional data to the speech recognition dataset and evaluate its performance compared to the language model which was trained with only a single dataset. In the end both of these goals were met. Despite the small amount of Finnish training data compared to the amount of data for languages such as English or Chinese, the implemented speech recognition model’s ability to interpret commands right after training surpassed expectations, by managing to correctly interpret 46\%{} of the given commands. Mistakes made by the model were rectified successfully by implementing the commands as arrays, where in addition to the intended command words, the most common misinterpretations and potential synonyms were also included. Using this method the model was able to interpret 77\%{} of the commands correctly. Compound word errors were also fixed using an automatic solution developed for this project. This automatic solution was able to fix 19\%{} of the errors caused by incorrect use of spaces. The model that was trained using mixed data could have also been used for the implementation, but it did not perform as well as the speech recognition model trained only with Common Voice data. This demonstrated the need for Finnish datasets similar to those of the Lahjoita puhetta -campaign and Common Voice, which are specifically intended for speech recognition. The files used in the virtual assistant are publicly available.
Kokoelmat
- Avoin saatavuus [31941]