Přehled technického zpravodajství – můj hyperportál ;)

Nedávno jsem si tu stěžoval, že je škoda, že všechny agregátory obsahu řeší načítání RSS jako prosté rozchlívečkování (samozřejmě s čestnou blogportálovou výjimkou, kterou málokdo odhalí). A tak jsem si to vzal trochu jako výzvu, abych něco zkusil spíchnout v Genesis já. Otázka, proč v Genesis – v ničem jiném neumím a Genesis je docela mohutný framework. Bohužel někde už mi v mojí licenci nedává tolik prostoru, kolik by bylo třeba, takže je pravda, že v PHP by to bylo mnohem lepší. Až za to, že v PHP neumím 🙂


Abych se k tomu vrátil. Základní zadání je jasné – postahovat všechna RSS technických českých zpravodajství, články rozstrkat do kategorií podle tématu a pak je seřadit podle důležitosti a vypsat na webu.


Vypadá to jednoduše, ale taková prča to zase není. Protože RSS nepředává kategorie, je potřeba pro rozřazení do kategorií vymyslet jiný mechanismus a stejně tak vymyslet mechanismus pro váhová kritéria. Nakonec jsem zapátral, jak to dělá news.google.com a jak se sestavují titulky a použil jsem podobné (zjednodušené) schéma. Analýza se provádí podle titulku – novináři už mají vpodstatě algoritmizovaný postup, jak sestavit titulek a já ho jen reverzně aplikuji. Každý titulek tedy obsahuje „entitu“, o niž jde (zpravidla firmu či osobu – Microsoft, Mlynář atd), pak nějakou „akci“ konkrétní entity (zlevňuje, představuje, nadává atd) a případně ještě „reaktanta“ – tedy někoho, kdo na to reaguje nebo koho se událost také týká. Je jasné, že je důležitější titulek Microsoft žaluje firmu Nokia, než titulek Vonásek žaluje Tlučhubu. A málokdo z toho udělá titulek Velká software firma šupajdí k soudu s další velkou kumpanií, co flikuje utržený sluchadla. Obodujete, sečtete body a je vyřešeno. Samozřejmě drobná vada, potřebujete vytipovat ta slova do těch tří skupin, použil jsem Concordanci, program pro analýzu starověkých textů a bylo to ve chvilce 🙂 A další drobná vada – ty váhová kritéria potřebujete vymyslet dost přesně, jinak ten automaticky generovaný výsledek nedává smysl. A do třetice – váhová kritéria jsou nastavená podle toho, co si myslím, že lidi zajímá 🙂


Jak všechno zatím vypadá, můžete vidět na adrese internet.marigold.cz – je to taková veřejná alfaverze. Posupem doby na tom budu pracovat a přidávat zdroje, nicméně když se najde někdo, kdo by to chtěl přepsat do PHP, kde by to samozřejmě mělo hodně dalších možností, klidně se mi ozvěte 🙂 Jako další část algoritmu bych totiž rád přidal kolaborativní filtrování a to už je na Genesis přeci jen silná káva.


Všechny připomínky uvítám zde v komentářích…

Jak se vám líbil článek?
1 Star2 Stars3 Stars4 Stars5 Stars (zatím nehodnoceno)
Loading...