Laji.fi-rajapinan autocomplete-toiminto ei aina anna järkeviä tuloksia

Hei, jos käyttää rajapinan autocomplete-toimintoa hakemaan lajinimiä, niin joskus on hankala saada loogisinta vaihtoehtoa.

Esimerkiksi, jos haen query-parametrillä ”ampiainen”, niin haluaisin saada piha-ampiaisen tuloksena, koska se on kuitenkin laji jota yleensä tarkoitetaan kun ampiaisesta puhutaan. Tai vaikka, jos query on ”mehiläinen”, niin odottaisin saavani tarha-mehiläisen. Kuitenkaan edellämainittuja lajeja ei löydy ainakaan kymmenen ensimmäisen vastausvaihtoehdon joukosta. Ei vaikka käyttäisi matchType-parametria ”likely”.

Voisiko autocompletea parantaa tulevaisuudessa? Esimerkiksi ottamalla huomioon tietokannassa olevan havaintomäärän, joka lienee hyvä indikaattori lajin yleisyydestä.

1 tykkäys

Ensi yönä tulee sattumalta uutta versiota, kirjoitan sitten huomenna aiheesta :slight_smile:

Hienoa, että uutta versiota pukkaa. Hauska nähdä mitä uudistuksia se tuo tullessaan.

Nonin, nyt on tosiaan viime yönä mennyt uusi versio. Laji.fi käyttöliittymä ei vielä ole päivittynyt, joten muutoksista ei siellä saada vielä ihan kaikkea irti, mutta käyttöliittymäkin päivittynee vielä tänään tai huomenna.

Autocomplete taksoniimihakuun liittyen on seuraavat parannukset

  • Havaintojen määrää Suomessa käytetään järjestämään muuten samanarvoiset osumat keskenään (samanarvoiset = kaikki ovat lajeja, kaikki suomalaisia, kaikki ovat/eivät ole täsmällisiä osumia jne)
  • On lisätty uusi nimityyppi MX.colloquialVernacularName. Tämän tyyppiseksi nimeksi voidaan laittaa nimiä, jotka eivät ole tai ole koskaan olleet millään muotoa virallisia, mutta joita silti yleisesti nykyään käytetään lajeista. Esimerkiksi lajille “metsämänty” on lisätty tällaiseksi nimeksi “mänty”.

Uutta nimiätyyppiä käytetään ainoastaan lajinimihaussa ja havaintojen syötössä (eli autocomplete rajapinnassa) - näitä nimiä ei käytetä esimerkiksi yhdistämään havaintoja taksonikäsitteisiin. Jos Vihkossa syöttää nimeksi “mänty” ja valitsee ehdotetun taksonin, tulee havaintoon nimeksi “metsämänty”.

Periaatteessa tarha-mehiläiselle voitaisiin liittää nimeksi “mehiläinen” ja piha-ampiaiselle “ampiainen”, mutta itse en henk koht osaa ottaa kantaan miten yleisesti näillä nimillä tarkoitetaan juuri ko lajeja. Nimien tuottaminen on vielä työn alla ja ensi vaiheessa näitä yleisiä mutta epävirallisia nimiä lisätään lähinnä putkilokasveille.

1 tykkäys

Kuulostaa hyvältä, pitääpä testailla. :+1:

Tässä mietteitä testailun jäljiltä:

Kokonaisuutena haku tuottaa nyt enemmän järkevämpiä vastauksia verrattuna aikaisempaan. Haku varmasti parantuu entisestään, kun saatte lisäiltyä noita lajien epävirallisia nimiä. Hyvä!

On kuitenkin tiettyjä erikoistapauksia, joissa nykyinen hakualgoritmi ei ole täydellinen (mikäpä olisi). Näitä ovat lajitasoa korkeammat taksonit, jotka esiintyvät myös muiden nimien osana. Esim. jos haen sanalla tikka, niin näin biologin näkökulmasta odottaisin saavani listauksen pelkistä tikkalinnuista, enkä hyönteisistä: latikka, lutikka tai kasveista: mustikka, kangasmaitikka ym.
Tai jos haen sanalla yökkö, niin haussa voisi suosia yökköjen sukuun kuuluvia lepakoita, kuten korvayökkö, mutta saankin pitkän listauksen yökkösistä jotka ovat perhosia.
Samoin jos hakusana on tiainen, odottaisin listausta tiaislinnuista. Tällä hetkellä näin kyllä myös tapahtuu, mutta jos jossain vaiheessa puutiais- tai vaikka syysmaitiaishavaintoja alkaisi tulla paljon, niin silloin hakutulokset voisivat olla hassuja.

Yksi lähestymistapa voisi olla se, että hakualgoritmi tarkistaa löytyykö haettu merkkijono jokin lajitasoa ylemmän taksonin perusmuotoon käännetystä nimestä. Eli esim. hakusana ”tikka” löytäisi myös sukutason ”tikat” ja sen perusteella priorisoisi hakutuloksissa juuri tikkalintuja. Tosin koska edellä kuvaamani pieni puute algoritmissä on aika harvinaislaatuinen, niin tehokkaampaa voisi olla vain tehdä lista tietyistä merkkijoinoista, joita haettaessa algoritmi ymmärtää paremmin mitä hakutuloksia kannattaa suosia.

Siinä vähän pohdintaa. Joka tapauksessa hienoa työtä teette. Jatkaa samaan malliin!

Sekä havaintohaussa että havaintojen tallennuksessa Vihkoon voi ensin valita eliöryhmän, jonka jälkeen haku rajoittuu tähän ryhmään. Esim. linnut valitsemalla tuloksissa on pelkkiä lintu-tikkoja:

image
.

Mikko / Lajitietokeskus

Mikon mainitsema asia tehdän API:n avulla käyttäen

informalTaxonGroup

parametria. Arvoksi annetaan yksi tai useampi epävirallisen lajiryhmän id:tä, jotka saa /informal-taxon-groups endpointista

Mielenkiintoisia ideoita. Itselläni on ollut mielessä järjestelmä, joka keräisi talteen minkä nimen käyttäjät ovat tietyllä hakusanalla haettaessa valinneet ja käyttäisi tällä tavalla kertyvää tietoa tulosten painottamiseen. Ongelmaksi koituu yrittää yhdistää näiden erilaisten järjestystekijöiden tuloksia - jos painotukseen perustuva menetelmä on käytössä, sitten pitäisi käyttää melkeinpä vain sitä. Sitten tarvittaisiin ensin aika paljon dataa. Sellaista ei siis tällä hetkellä kerätä.

Luulen että haku on nyt toistaiseksi sellaisessa kuosissa, että sitä tärkeämpiä kehityskohteita on mm nyt täysin ilman taksonomialinkitystä jäävien (ulkomaisten/Suomelle uusien/laji.fi taksonomiasta puuttuvien) havaintojen linkittäminen ja kok joukko muita juttuja :slight_smile:

Esko / Lajitietokeskus