Miten HFST:tä voi käyttää Pythonilla?

HFST (Helsinki Finite-State Transducer Technology) on loistava työkalu kielen morfologian mallintamiseen. Ongelmana on kuitenkin se, että sen Python-rajapinnan dokumentaatiossa on toivomisen varaa. Mutta älä vaivu epätoivoon! Tämä postaus opastaa, miten HFST-tiedostoja ladataan pythonin kautta, ja miten niillä voidaan analysoida ja tuottaa kielen morfologiaa. 😃

Päivitys postaukseen: Lue uudempi postaukseni, joka opastaa käyttämään FST-malleja kuten Omorfia entistä helpommalla tavalla.

HFST:n asentaminen

HFST:n saa helpoiten asennettua ajamalla sudo pip install hfst terminaalissa. MacOS:ille Windowsille pip osaa asentaa valmiiksi käännetyt versiot automaattisesti. Linux-puolella pitää todennäköisesti asentaa pari riippuvuutta: sudo apt-get install build-essential libreadline6-dev python-dev .

Transduktorien käyttö

Tässä koodi, jolla voi ladata transduktorin ja jolla sitä saa ajettua.

import hfst

filename = "/path/to/your_lookup.hfstol"
input_stream = hfst.HfstInputStream(filename)
analyser = input_stream.read()
print analyser.lookup("word_you_want_to_lookup")

Tällä samalla skriptillä voi sekä analysoida sanamuotojen morfologiaa että tuottaa tiettyjä sanamuotoja. Ainoa asia, joka pitää vaihtaa analyysin ja tuottamisen välillä on ladattava HFST-tiedosto. 🙂

Jos haluat ladata valmiin HFST-transduktorin suomen kielelle testaamista varten, voit ladata Omorfin valmiiksi käännetyn version. Voit aloittaa kokeilemalla omorfi-omor.analyse.hfst- ja omorfi-omor.generate.hfst-tiedostoja, jotka asentuvat polkuun /usr/local/share/hfst/fi/ tai C:\omorfi\hfst\fi riippuen käyttöjärjestelmästä.

Lopuksi

HFST:n käyttö nykyään ei ole kovinkaan hankalaa, kun sen saa vihdoin ladattua pipin kautta, ja se toimii sekä python 2:lla että python 3:lla. Jos haluat lisätietoja työkalusta, käväise projektin GitHubissa. 😊