COSS.fi

Avoimen lähdekoodin ratkaisut vapaan tekstin analysointiin

Vapaan tekstin analysointi

Kuva: Pixabay

Artikkeli on toteutettu osana Muutoskyvykkyyttä avoimen lähdekoodin osaamisen avulla (Open MemoryLab) -hanketta. Lue lisää hankkeen sivuilta: www.xamk.fi/tutkimus-ja-kehitys/openmemorylab/

Hankkeen toteutus: 01.10.2022 – 31.12.2023

Rahoittaja ja päärahoituslähde: Etelä-Savon elinkeino-, liikenne- ja ympäristökeskus, Euroopan sosiaalirahasto (ESR) REACT-EU

Tuotamme päivittäin valtavia tekstidatamääriä, joissa voi piillä yrityksille ja organisaatioille korvaamatonta tietoa toimintansa tueksi. Kuitenkin suuri osa tekstidatasta on jäsentelemätöntä ja yrityksillä voi olla vaikeaa määritellä, miten tehokkaasti hyödyntää ja analysoida kerättyä tekstidataa.

Vapaan tekstin analysoinnilla pyritään etsimään relevanttia tietoa nimenomaan tekstidatasta. Luonnollisen kielenkäsittelyn (natural language processing, NLP) tavoitteena on tekoälyn keinoin tehdä ihmiskieli ymmärrettäväksi koneille. NLP:n ja tekstianalytiikan avulla voidaan automatisoida tekstiaineistojen käsittelyä, vähentää manuaalisia työvaiheita ja näin vähentää ihmisten tekemiä virheitä. Tekstianalytiikan avulla on mahdollista helposti analysoida suuriakin tekstimääriä ja löytää jäsentelemättömästä tekstistä erilaisia toistuvuuksia, oivalluksia, trendejä ja muita ilmiöitä. Teksianalytiikan avulla voidaan jakaa ja luokitella valtavia tietomääriä muun muassa aiheittain, yksittäisiksi lauseiksi ja avainsanoiksi sekä muodostaa näistä sanoista esimerkiksi erilaisia sanapilviä. Rakenneanalyysin lisäksi voidaan perehtyä kielen semanttisiin tasoihin eli merkityksiin digitaalisessa tekstiaineistossa. Usein teksteissä on havaittavissa myös tunteita. Näiden tekstianalyysien tuloksia on myös hyvä visualisoida. Käy lukemassa datan visualisoinnista tarkemmin aiemmin julkaisemastamme artikkelista.

Vapaan tekstin analysointiin on saatavilla lukuisia avoimen lähdekoodin ratkaisuja. Alla on listattuna muutamia suosituimpia työkaluja datatieteilijöille tekstidatan analysointiin.

 

NLTK

Natural Language Toolkit (NLTK) on Pythonille kehitetty suosittu ja monipuolinen avoimen lähdekoodin työkalu ja NLP-kirjasto tekstin analysointiin. Muihin kirjastoihin verrattuna se tukee useimpia kieliä ja pitää sisältää erilaisia NLP-tekniikoita (ml. luokittelu, tokenisointi, stemming, tagging, jäsentäminen ja semanttinen päättely). NLTK on erityisen suosittu akateemisissa tutkimusyhteisöissä sekä kieliteknologian ammattilaisten keskuudessa. Aloittelijalle ratkaisu saattaa kuitenkin olla hieman vaikea ymmärtää ja käyttää.

Lisenssi: Apache License 2.0

Koodi: github.com/nltk/nltk

Lisätietoja: www.nltk.org/index.html 

 

TextBlob

Avoimen lähdekoodin Python-pohjainen TextBlob on laajalti käytetty ja yksinkertainen eräänlainen laajennus edellä esiteltyyn NLTK-ratkaisuun. TextBlob on loistava vaihtoehto erityisesti pienempiin projekteihin ja aloittelijoille, jotka haluavat suorittaa NLP-tehtäviä, kuten tunteiden analysointia, tekstin luokittelua ja puheen osan merkitsemistä.

Lisenssi: MIT License

Koodi: github.com/sloria/textblob

Lisätietoja: textblob.readthedocs.io/en/dev/

 

SpaCy

SpaCy on Pythonille kehitetty helppokäyttöinen ratkaisu suuriin tietomääriin ja se sisältää lukuisia jo koulutettuja malleja luonnollisen kielen käsittelyyn, mikä helpottaa oppimista, opettamista ja luonnollisen kielen käsittelyä. Lisäksi SpaCyssä kaikki on esitetty objektina merkkijonon sijaan, mikä yksinkertaistaa sovellusten kehittämisen käyttöliittymää. Myös yhteyden muodostaminen muihin kehyksiin ja datatieteen työkaluihin on helpompaa. SpaCy on suosittu valinta monien kehittäjien ja datatieteilijöiden keskuudessa. Tosin SpaCy ei tue niin montaa eri kieltä kuin esimerkiksi edellä esitelty NLTK.

Lisenssi: MIT license

Koodi: github.com/explosion/spaCy

Lisätietoja: spacy.io

 

Gensim

Gensim on yksi parhaista ilmaisista avoimen lähdekoodin Python-kirjastoista asiakirjojen ilmaisuun semanttisina vektoreina ja niiden analysointiin koneoppimismenetelmien avulla. Gensim pystyy analysoimaan raakaa, jäsentymätöntä tekstiä käyttämällä eri koneoppimisen menetelmiä. Se pystyy käsittelemään suuriakin tietomääriä tehokkaasti ja nopeasti sekä löytämään tekstistä yhtäläisyyksiä, toisiaan muistuttavia tekstejä, indeksoimaan sisältöä ja navigoimaan eri tekstien välillä.

Lisenssi: GNU Lesser General Public License v2.1

Koodi: github.com/RaRe-Technologies/gensim

Lisätietoja: radimrehurek.com/gensim/# 

 

Voyant Tools

Voyant Tools on web-pohjainen ja helppokäyttöinen avoimen lähdekoodin ratkaisu tekstianalyysien suorittamiseen. Se sisältää monia työkaluja, kuten sanapilviä, sanatiheyksiä, frekvenssilistoja ja yhteyskarttoja. Voyant Toolsin avulla käyttäjät voivat tarkastella aineistojen rakenteita, teemoja ja yhteyksiä helposti ja nopeasti. Lisäksi mikäli ei halua aineistonsa päätyvän ulkomaalaiselle palvelimelle, Voyant Tools tarjoaa myös mahdollisuuden ladata sen Java-pohjaisen serverin omalle tietokoneelle.

Lisenssi: GPL 3.0 License

Koodi: github.com/voyanttools/Voyant

Lisätietoja: voyant-tools.org

 

Apache OpenNLP

Apache OpenNLP koneoppimiseen perustuva, kattava avoimen lähdekoodin NLP-työkalu ja kirjasto, jota voidaan käyttää komentoriviltä tai kirjastona sovelluksessa. Se tarjoaa myös laajan kielituen ja mahdollistaa NLP-perustehtävät sekä sitä voidaan käyttää myös monimutkaisempien tekstinkäsittelysovellusten luomiseen.

Lisenssi: Apache License 2.0

Koodi: opennlp.apache.org/source-code.html 

Lisätietoja: opennlp.apache.org

 

AllenNLP

AllenNLP on PyTorch-pohjainen helppokäyttöinen avoimen lähdekoodin alusta, joka on kehitetty helpottamaan NLP-tehtävien ratkaisemista ja tutkimusta. AllenNLP tarjoaa laajan valikoiman esikoulutettuja malleja ja soveltuu erinomaisesti tutkimiseen ja kokeilemiseen.

Lisenssi: Apache License 2.0

Koodi: github.com/allenai/allennlp

Lisätietoja: allenai.org/allennlp

 

Scroll to Top