MatsuLM - Python implementation of a neural network language modeling toolkit

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2020-08-19

Department

Major/Subject

Analytics and Data Science

Mcode

SCI3073

Degree programme

Master’s Programme in Industrial Engineering and Management

Language

en

Pages

48 + 6

Series

Abstract

Language models (LMs) give a probability of how likely a sequence of words might appear in a particular order in a sentence, and they are an essential part of automatic speech recognition (ASR) and natural language processing (NLP) systems. These systems have improved at a considerable pace over the past decade. Similarly, language models have significantly advanced after the invention of recurrent neural network language models (RNNLMs) in 2010. These RNNLMs are generally called neural network language models (NNLMs) and they have become the state-of-the-art language models because of their superior performance compared to N-gram models. This thesis is creating a new NNLM toolkit, called MatsuLM that is using the latest machine learning frameworks and industry standards. Hence, it is faster and easier to use and set up than the existing NNLM tools. Currently, there are very few open-source toolkits for NNLMs; however, these toolkits have both become outdated and are no longer supported, or they suffer from functionality issues. This work introduces a new NNLM toolkit, called MatsuLM, that includes all the essential components to create and monitor NNLM development effortlessly. This toolkit is built to be as lightweight and straightforward as possible to decrease development effort in the future. MatsuLM’s performance is compared against two existing NNLM toolkits (TheanoLM and awd-lstm-lm). In the experiments conducted during this thesis, both existing toolkits were slower than the newly presented MatsuLM in training the language models. Conse- quently, MatsuLM is currently the fastest and most up to date NNLM toolkit compared to TheanoLM and awd-lstm-lm.

Kielimallit (LM) antavat arvion siitä, kuinka todennäköisesti sanasarja saattaa esiintyä lauseessa. LM on olennainen osa automaattista puheentunnistus- (ASR) ja luonnollisen kielenkäsittelyn- (NLP) järjestelmiä. ASR ja NLP järjestelmät ovat parantuneet huomat- tavalla vauhdilla viimeisen vuosikymmenen aikana. Samoin kielimallit ovat kehittyneet huomattavasti sen jälkeen, kun ensimmäiset rekursiivisien neuroverkkojen kielimallit (RNNLM) kehitettiin vuonna 2010. Näitä RNNLM-malleja kutsutaan yleensä neuroverkkokielimalleiksi (NNLM) ja niistä on tullut alan huipputeknologiaa erinomaisen suorituskykynsä vuoksi. Tämä opinnäytetyö esittelee uuden NNLM-työkalun, nimeltään MatsuLM, joka käyttää uusimpia koneoppimisstandardeja sekä -komponentteja. MatsuLM on nopeampi ja helpompi käyttää ja asentaa kuin nykyiset NNLM-työkalut, sen modernin koneoppi-misstandardisoinnin vuoksi. MatsuLM sisältää kaikki tärkeät komponentit vaivatonta NNLM-kehitystä varten. MatsuLM työkalu on rakennettu avoimella lähdekoodilla ole- maan mahdollisimman kevyt ja helppokäyttöinen, jotta sen avulla voidaan vähentää NNLM-kehityksen työläyttä tulevaisuudessa. Motivaatio MatsuLM:n kehitykseen syntyi NNLM-kehitykseen tarkoitettujen avoimella lähdekoodilla tehtyjen työkalujen puutteesta. Lisäksi olemassa olevat avoimen lähdekoodin NNLM-työkalun kärsivät puutteellisesta toiminnallisuudesta, koska ne ovat vanhentuneita, eikä niitä enää tueta tai ne ovat vielä varhaisessa kehitysvaiheessa, eivätkä siksi ole luotettavia. MatsuLM:n suorituskykyä verrataan kahteen muuhun olemassa olevaan NNLM-työkaluun (TheanoLM ja awd-lstm-lm). Opinnäytetyön aikana suoritetuissa kokeissa molemmat vertailussa käytetyt NNLM-työkalut olivat hitaampia, kuin MatsuLM NNLM-mallien koulutuksessa. Näin ollen MatsuLM on nopein ja pävitetyin NNLM-työkalu verrattuna TheanoLM:ään sekä awd-lstm-lm:iin.

Description

Supervisor

Kurimo, Mikko

Thesis advisor

Singh, Mittul

Keywords

neural networks, language modeling, machine learning, deep learning, pytorch, LSTM

Other note

Citation