ceskaexpedice / kramerius

System Kramerius
GNU General Public License v3.0
45 stars 26 forks source link

Indexace současného pravopisu u starších dokumentů #805

Open zabak opened 3 years ago

zabak commented 3 years ago

Bylo zadáno jako https://github.com/ceskaexpedice/kramerius-web-client/issues/384 ale patří spíš sem.

Při vyhledávání často nacházíme na problém, že uživatel, pokud přesně neví, jak se titul jmenuje (např. pokud má v názvu nějaký starý češtinářský výraz, příklad za všechny: moravský ilustrovaný zpravodaj vs moravský illustrovaný zpravodaj; jinak klasické potíže s výrazy typu fyzika vs fysika; filozofie vs filosofie), tak ho nenajde. Uměli bychom toto nějak vyřešit?

Muselo by to být předzpracování textu před indexací. Takto vytvořené alternativní texty by musely mít nižší boost než originální přepis. Podstatné je to hlavně u názvů, podobně by se ale mohlo pracovat i s alternativními jmény autorů převzatými z Národních autorit, případně i s fulltexty. Bude to ale vyžadovat nástroj který vygeneruje pro vložený text ten moderní zápis.

pavel-stastny commented 3 years ago

@zabak A nestačilo by pouze dát synonyms filter do schématu (https://solr.apache.org/guide/6_6/filter-descriptions.html#FilterDescriptions-SynonymGraphFilter) a definovat ta slova jako synonyma ?

zabak commented 3 years ago

To může fungovat jako rychlý hack, resp. definovat ta slova jako synonyma asi ano, ale nejsem si jistý že je těch slov tak málo, aby se to dalo vyřešit ručně dělaným výčtem (pokud už náhodou někdo takový výčet v minulosti neudělal). Dokážu si ještě představit automatické generování synonym pro slova obsahující ph -> f, ale třeba s -> z by už takhle dělat nešlo.

vlahoda commented 3 years ago

Synonyma v SOLRu je mozne spravovat i pres API, jako managed resource, takze by to slo resit dynamicky a nemuselo by se vytvaret predem nejake rozsahle seznamy. Synonyma je mozne pouzivat i v ramci dotazu, takze by nebylo potreba ani menit schema ani preindexovavat. Druha varianta je implementovat nejaky mechanismus query expansion, ale myslim, ze ta synonyma budou dobre pouzitelna a neni potreba znovu vymyslet kolo.

zabak commented 3 years ago

Jak se ta synonyma chovají z hlediska relevance? Pokud člověk zadá slovo illustrovaný, dá se předpokládat že ví co dělá a nechceme ho zahltit výsledky obsahujícími ilustrovaný.

pavel-stastny commented 3 years ago

Stejně. Respektive pokud je potřeba mít nižší relevanci, musí být dvě pole: První originální druhé synonymizované a tomu pak dát nižší boost. Ale takto to musí být uděláno ať už ten systém synonym, přepisů bude jakýkoliv.

zabak commented 3 years ago

Tak slovníky jsou na světě, byly v korpusu. Díky za pomoc všem kdo se na jejich vzniku podíleli a teď je pomohli dohledat.

Slovníky obsahují slovesa, substantiva a také adjektiva a nesklonné slovní druhy, povětšinou se v těchto případech jedná o adverbia. Všechno ve formátu txt. Struktura je následující:

"tvar v 19. stol.; lemma v 19. stol.; adekvátní tvar ve 20. stol.; adekvátní lemma ve 20. stol.; zkratka slovního druhu" (u sloves a substantiv, u adjektiv a nesklonných slovních druhů není zkratka slovního druhu uvedena, jelikož se předpokládalo, že se k lemmatizaci nevyužijí).

Bude to možná výhodné pročistit, protože je tam velké množství shodných tvarů v 19. i 20. stol.

zabak commented 2 years ago

@pavel-stastny @rzeh4n co je potřeba udělat, aby se tahle věc posunula?

pavel-stastny commented 7 months ago

@zabak Myslím, že nyní je to jenom otázka priorit a zařazení do plánu vývoje.

zabak commented 6 months ago

Tohle asi u fulltextu vyřeší SémANT, ale u metadat (názvy apod. by se to možná hodilo i tak).