k47.cz    — každý den dokud se vám to nezačne líbit
foto Praha výběr povídky kultura | twitter FB


««« »»»

Podobnosti & doporučování

25. 10. 2018 — k47

Konečně jsem na asciiblog, který pohání i k47čku, dodělal jednu funkci, po které jsem prahl už dlouho. A přitom to nebylo nic komplikovaného.

Asi takhle: Pod každým článkem se ukazuje seznam odkazů na podobné články. Motivace je jednoduchá - když se návštěvníkovi líbí, co právě čte, může se mu líbit i něco z poskytnutého seznamu. Pokud je to pravda, zůstane tady na webu & všichni budou spokojení. Sám z toho nic nemám, nejsou tady žádné reklamy nebo sledovací skripty (a doufám, že to tak i nadále zůstane), ale každé kliknutí mě zahřeje u srdce a dodá pocit, že to není jen gigantická ztráta času.

Mělo to jen jeden drobný problém. Podobnosti byly počítané na základě tagů (nebo štítků nebo kategorií nebo tak nějak). Když jsem článek neoznačil žádným tagem, systém nedoporučil žádné podobné a text se stal slepou uličkou za které nevedla žádná očividná cesta dál.

Právě tohle se teď mění. Přidal jsem funkci, která identifikuje podobné články pouze na základě textu a ten nemůžu jen tak beztrestně vynechat (kromě občasných vycpávek) a jak ukazují statistiky, tak mám ve zvyku pravý opak - píšu víc než by bylo přijatelné ve slušné společnosti.

Funguje to docela jednoduše. Nejdřív se program snaží identifikovat klíčové termíny v textu primitivními váženými frekvencemi slov a pak najde články, které sdílí co nejvíce těchto termínů. Hotovo. Jde o velice hrubý přístup, který občas komicky selže, někdy trefí hřebíček na hlavičku, ale je to pořád lepší než nic. Třeba jména ho spolehlivě pokoří - Jon Ronson i Jon Richardson obsahují klíčový termín "Jon" a v očích naivního algoritmu si jsou podobní. Také nebere v potaz kontext jako například zmínky o reálné válce a válčené PC hře, nebo jen omezeně rozlišuje mezi okrajovými poznámkami a hlavním tématem. To dělám dost často v poznámkách pod čarou. A tak dále, a tak dále, a tak dále. Nejde o žádnou deep learing AI, nic takového, ba právě naopak. Na druhou stranu takhle mám spoustu prostoru pro expanzi a vylepšování + celé je to rychlé & o rychlost tu jde především. Nechce se mi čekat minutu při každé aktualizaci webu.


+1: Příklad, kde se to krásně trefí, je třeba tenhle post. Algo očividně rozpoznal klíčový termím "sen" a našel všechny další snové zápisky.

píše k47 & hosté, ascii@k47.cz