Fórum Root.cz
Hlavní témata => Software => Téma založeno: Michal Zahradníček 17. 07. 2015, 08:54:44
-
Zdravím,
práve riešim vyhľadávanie pre jednu stránku. Potreboval by som poradiť, že či existuje nejaký slovník, ktorý by obsahoval slová s previazaním na ich tvary(množné čísla).
Napr:
Auto => autá, autom, autu, aute...
Ďakujem za návrhy a rady.
-
Zdravím, nebylo by lepší naopak nehledat různé tvary, ale osekat si to na lemma, tedy základ slova?
K hledání všemožnách tvarů jinak slouží korpus.https://www.korpus.cz/
-
Základ slova by bolo tiež riešenie, lenže to riešim pre jeden nemecký portál. Urobiť skript, ktorý by definoval základ slova by bolo vzhľadom na jazykovú bariéru dosť komplikované.
Ak neexistuje nejaký zoznam slov a ich tvarov, možno by pomohlo niečo ako SOUNDEX, len určené pre nemecký jazyk, ale nebolo by to príliš presné.
-
Jedno z řešení by bylo sehnat si slovník na kterém se dá natrénovat algoritmus, koukni na knihovnu MorphoDiTa. Nebo co jsem zběžně koukal NLTK pro Python zvládá němčinu.
-
Každopádně, bych šel cestou nalezení základu slova než nějakým výčtem všech možných tvarů, připočti různé nepravidelnosti a jsi namydlený .) V češtině vezmu text, určím lemma, slovní druh a jiné a pak dělám dělám nějaké operace nad textem.
-
Co je úkolem? Nešlo by nasadit nějaké hotové řešení? Jako příklad: Postgres má fulltext, který hledá bez ohledu na tvar slova (pokud se správně nastaví). A funguje to docela dobře a je to skoro bez práce. Případně by šla vzít inspirace.
-
Vrele doporucuji dostudovat zaklady vyhledavani (pekne to je popsane v nekterych kapitolach v knize "Web Data Management" - http://webdam.inria.fr/Jorge/?action=chapters) a to zejmena klicove slovo "stemming" (napr. takovy Snowball je velice rychly, ma propracovanou podporu pro mnoho jazyku a je pouzivan napr. v MongoDB).
-
Pro tenhle účel jsem před lety používali ispell a jeho český slovník. U většiny slov to fungovalo OK.
-
Aby som to upresnil úlohou je fulltext vyhľadávanie. Projekt je postavený na mysql v nemeckom jazyku. Jedná sa o eshop.
Mám produkt napr. "Auto na baterky"
a keď zákazní, napíše do vyhľadávania slovo "autá", tak aby sa zobrazil aj tento produkt.
Samotný systém ako to dosiahnuť je vyriešený - problém je len s tým, že kde zohnať nejaký slovník, v ktorom je základný tvar slova a potom všetky jeho ostatné tvary.
-
Slovníky podstatných jmen i jiných tvarů existují v mnoha jazycích - pro páčení hesel v naději že to někdo dal v základním tvaru. Na slovník, tkerý by obsahoval všechny možné tvarz vzorz pády a pod. jsem nenarazil. Hodil by se. Možností bude řádově až 100x víc. I když sklonování a časování na posílení hesla nic moc - účinnost malá a blbě se to pamatuje a spíš to nikdo nepoužívá.
-
To co hledáš je hunspell.
-
Kdysi jsem neco takovyho videl. Bylo to postaveny nad korpusem ktery firma koupila od MFF anebo Akademie ved. Nejsem si jistej, jestli se uz dneska da neco takovyho sehnat zadarmo. Naucit pocitac sklonovat, casovat, vcetne vyjimek tak to stoji hodne prace.
-
Už to tu zazněl dvakrát. Ispell, hunspell.