Slovníkové skloňování pro ElasticSearch/Lucene nebo Sphinx? rubrika: Programování: PHP

10 Michal Illich
položil/-a 23.4.2012
 
upravil/-a 23.4.2012

Teď tu máme nasazený SphinxSearch. Víceméně funguje, pokouší se i skloňovat, ale hodně špatně.
Koukáme teď i na ElasticSearch, ten taky česky skloňuje, ale obdobně špatně.

Špatně proto, že mají jen algoritmický (rule based) přístup. Tedy:

  • neumí jakékoliv nepravidelnosti (nepřiřadí si jsem=budu=byl, já=mně, kůň=koně, atd.)
  • slovesa víceméně neumí (vyvíjím->vyvíj, vyvinu->vyvin, vyvineme->vyvinm, vyvinul->vyvinul)
  • zaměňují podobná slova (elasticsearch: práce=prak, sphinx: ruby=ruku, java=jako=já)
  • pletou navzájem různé druhy (testovat=test); to je občas i dobré, ale chtělo by to mít tuhle vlastnost volitelnou
  • ani ten algoritmický přístup nemají implementovaný dobře - např. aplikují koncovky ze všech možných vzorů na všechna slova (správně mají slovu přiřadit jeden vzor a aplikovat jen koncovky k němu náležící)

Nevíte o tom, zda jde ElasticSearch nebo Sphinx doplnit i o slovníkový přístup? Tedy kde sehnat slovník (seznam známých slov se všemi jejich tvary), který by to používalo přednostně? (a pouze pro slova mimo tenhle slovník by to použilo algoritmický přístup)

Komentáře

  • brabitom : Já se spíš zeptám, než odpovím, není možné použít/naprogramovat stejné/podobné postupy, které používá Jyxo? 23.4.2012
  • Michal Illich : Jasně že šlo. Teď zjišťuju, jestli je to nutné - tedy jestli to někdo neudělal už před námi :) - samotnému se mi do toho nechce. Aby se to udělalo pořádně, tak to není málo práce. 23.4.2012
  • brabitom : OK, podobnou odpověď jsem čekal, jen jsem si chtěl být jistý :-) Díky za vysvětlení. V každém případě řeším podobný problém, takže budu rád, pokud tu najdu řešení. 23.4.2012
odkaz
6 Jirka Kosek
odpověděl/-a 23.4.2012

A tohle by ti nepomohlo http://ufal.mff.cuni.cz/morfo/ ?
Nevím ovšem, jaké jsou přesně licenční podmínky.

Komentáře

  • Michal Illich : Na první pětiminutové podívání do zdrojáků to vypadá taky jako algoritmický stemovač, ale zato o několik řádů komplexnější než to co je v Lucene. Kouknu na to následující dny víc. Díky za tip. 23.4.2012
  • Jirka Kosek : Na zdrojáky jsem nekoukal, ale na UFAL dali dohromady asi největší korpus CS textů, takže i kdyby to byl algoritmus, může být dobře natrénovaný včetně výjimek. 23.4.2012
  • Michal Illich : Shodou okolností jdu za dvě hodiny za Janem Hajičem na MFF, tak se optám :) 24.4.2012

Pro zobrazení všech 4 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.