Diskuze: VikiTron - chytrý vyhledávač

PHP PHP VikiTron - chytrý vyhledávač American English version English version

Avatar
Jan Barášek
Redaktor
Avatar
Jan Barášek:

Ahoj,
už jsou tomu 2 roky, co jsem poprvé dostal myšlenku utřídit všechny informace které znám nebo mám uložené v obsáhlých databázích. Přemýšlel jsem dále co s tím. Napadlo mě vytvořit web, kterému když položíte konkrétní otázku, tak se pokusí sestavit stručnou a jasnou odpověď. To jsem ještě netušil, že se z toho po čase vyklube vyhledávač tabulkových dat, faktů a "chytrý" kalkulátor. Tolik k příběhu a teď k realitě:

Navrhl jsem (a naprogramoval) funkční prototyp vyhledávače (jmenuje se VikiTron a je volně dostupný na adrese http://vikitron.com), který si klade za cíl co nejrychleji najít odpověď (běžně do 10ms!), funguje jinak než všechny ostatní dosud známé vyhledávací programy. Nevyužívá informace sesbírané z otevřeného internetu (protože bych musel řešit licence, ověřovat pravdivost, ...), ale vychází z ověřených databází. Domluvil jsem se s majiteli práv (nebo využívám API, které je volně dostupné => třeba Wikipedie, Google Maps, ...) nejrůznějších databází a postupným indexováním jsem sestavil obrovskou databázi (v současnosti něco kolem 500 000 záznamů => a neustále to roste). Data jsou dostupná pod volnou licencí (můžete si je zdarma stáhnout a používat kde chcete) pod podmínkou uvedení zdroje. Zdroje jsou vždy přehledně uvedené v pravém menu (pokud ne, uvádějte adresu: http://vikitron.com). Celý projekt je přeložený kompletně do češtiny a slovenštiny. V brzké době přidám angličtinu (překlad tolika textů je časově náročné).

Když to shrnu, tak VikiTron v současnosti umí:

  • Globální příkazy, na př. porovnání. Příklad: Praha vs Brno
  • Zeměpis českých měst a obcí (najde i nejmenší vesničky) + se vás snaží lokalizovat a odhadnout vzdálenost od vás (zatím funguje jen někdy, bude postupně opraveno)
  • Chemii (zejména prvky), hledání podle českého názvu, latinského názvu a značky (tady to občas ještě "buguje")
  • Čísla (všeobecně po zadání číselné hodnoty zobrazí nejrůznější informace)
  • Množiny čísel, po zadání více číselných hodnot (oddělené mezerou, čárkou nebo středníkem) zobrazí nejrůznější informace
  • Vlastní česká jména (u některých rozšiřuje znalosti tabulkou se svátky, ...)
  • Matematické definice (na tom ještě budu hodně pracovat, berte to s rezervou)
  • České synonyma, po zadání slova najde synonyma (dobře funguje u podstatných a přídavných jmen)
  • Barvy, zadávejte ve formátu #XXXXXX nebo anglický název (brzy přibyde možnost mýchání barev a dalších vymožeností)
  • Domény (ve tvaru: xxxxxxxx.yyy), vypíše tabulku zjištěnou přes WHOIS a další požadavky
  • Hádat slovo (BETA), příklad dotazu: v_d_k
  • A mnoho dalšího. Obsahuje spoustu funkcí, kterým se také říká "easter egg", zkuste nějaké najít! Jinak databáze neustále rozšiřuji.

Jak zadávat dotazy:

  • Stručně, ideálně jedním slovem nebo slovním spojením. Česky (něco anglicky). Pokud chcete porovat víc podobných věcí, tak je oddělte mezerou. Příklad: "Kladno Praha Brno Ostrava"

Co VikiTron neumí:

  • Vyhledávat osobnosti (až na pár výjimek), je to z důvodu zachování soukromí a řešení právních sporů
  • Dotazy kombinující více kategorií (významů) jednotlivých slov (toto ale bude jednoho dne vyřešeno => až přijdu na to, jak)
  • Fulltext internetu => a ani nikdy umět nebude. Není to primární myšlenka. Chci prohledávat ověřené informace
  • Umělá inteligence (??!!!???), původně měl umět chápat významy otázek a odpovídat, ale bylo to na mě moc velké sousto. Možná to jednoho dne přidám ;)
  • Kalkulačka. Ještě pořád neumí vyřešit 5+5, jednou to třeba bude umět, ale ještě se mi nepovedlo vymyslet parser, který by správně odpověděl na všemožné zadání

Co od vás očekávám:

  • Byl bych rád za jakoukoli zpětnou vazbu. Pokud budete kritizovat, tak buďte co nejvíc konkrétní, abych se mohl z vaší rady poučit a případně věděl, jak dannou chybu opravit

Častá narážka:
"Vždyť tohle umí Google! Lamo! Nemá to cenu ... zruš to!". Moje odpověď: Google odpoví na spoustu faktických dotazů, určitě na spoustu mnohem lepší, ale můj vyhledávač dokáže data kombinovat, třídit a porovnávat na přání uživatele. Toto žádný pro mě známý vyhledávač ještě pořád neumí. A hlavně bych pak neměl být na co pyšný ;)

Pokud mi nahlásíte chybu, tak bude opravena hned, jak to bude možné. Počítám s velkým náporem uživatelů, takže to budu vyřizovat postupně. Pokud se vám projekt líbí a chtěli by jste přispět svým obsahem nebo schopnostmi, tak budu velice rád. Mám k dispozici opravdu kvalitní servery a hodlám z toho udělat "větší projekt". Samozřejmě neziskový! Reklama je jen na pokrytí nákladů. Pokud jste dočetli až sem, tak vám gratuluji (sám bych to asi nedokázal ;)).

PS: Občas blbne hlavička v Chromu, nevím jak to opravit. Dejte mi prosím tip.
PPS: Nejsem Hejl a nemám s ním nic společného. Projekt myslím vážně.

Odpovědět  +2 8.7.2013 1:03
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
CutThroat
Člen
Avatar
CutThroat:

Dle mne to vypadá velice slibně a hezky. Přesně takovýchto projektů je v dnešní době na internetu málo, a doufám, že právě tobě se to podaří potáhnout hodně daleko ;)

 
Nahoru Odpovědět 8.7.2013 1:49
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Jan Barášek
TomBen:

Myslím, že i když je 500000 záznamů hodně, tak je to jen kapka
v moři dat a bylo by lepší se specializovat na určitou oblast.
S menším záběrem bych si dovedl představit, že to přežije.

Nahoru Odpovědět  +1 8.7.2013 1:57
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
vodacek
Redaktor
Avatar
Odpovídá na Jan Barášek
vodacek:

když sem dal hledat pí tak to nenašlo nic, teda jen ho to přepsalo

 
Nahoru Odpovědět 8.7.2013 7:34
Avatar
(Téměř) neaktivní:

Supr, jen tak dál :)

 
Nahoru Odpovědět 8.7.2013 8:57
Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

Myslím že se projekt daří :)

Zaměřil bych se nejdříve na doplnění česka a to bych vyšperkoval... A pak až bych se pustil do zbytku světa :)

Nahoru Odpovědět  +1 8.7.2013 9:21
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Jan Barášek
Redaktor
Avatar
Jan Barášek:

Ok, specializace je super nápad!
V současnosti mám 2 problémy, nad kterýmy si lámu hlavu a nevím co dál:

  1. Na co se specializovat? Osobně by se mi líbil nějaký technický obor. Třeba matematika, kde bych mohl mít nejrůznější interaktivní doplňky (třeba jako: http://vikitron.com/search?…), fyzika a chemie. V té chemii by se jednalo zejména o prohledání obsáhlých tabulek, kterých mám dost. Případně témata navrhujte, rád bych udělal něco, co na internetu zdejším lidem chybí a co by se určitě hodilo ;)
  2. Duplicity. Musím nějak vymyslet, co se má stát, když se najde slovo, které má více významů. Typicky třeba když někdo vyhledá město nebo obec, která existuje víckrát. Napadlo mě je seřadit třeba podle počtu obyvatel a dát uživateli vybrat? V současnosti to řadí úplně hloupě: Vezme to tu první, na kterou narazí v databázi při prohledávání.

Mám databáze navrhnuté poměrně chytře (přístupová doba na jakýkoli záznam je asi 0.5 ms), takže vícenásobné hledání není až takový výpočetní problém ;)

Nahoru Odpovědět 8.7.2013 9:40
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
Michal Žůrek (misaz):

Ahoj, je to supr u jmén jsem vyzkoušel asi pět a ani u jednoho jsem se nedozvěďěl kdy slaví svátek :D Opravdu zvládne porovnat vesničku s 2140 (podle tronu jen 1982) s prahou. :D Matematickou rovnici

3x + 3 = 9

mi to nevyřešilo, ale to asi nevadí, jelikož ani google ji nevyřešil, jen nabídl odkaz na diskuzi, kde se taková rovnice řeší: http://answers.yahoo.com/question/index?…

design titulní stránky se mi moc nelíbí, stránka s výsledky e pěkná, ale:
http://validator.w3.org/check?…
a titulní stránka už je o trochu lepší, ale stejně: http://validator.w3.org/check?…

Nahoru Odpovědět 8.7.2013 10:11
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Jan Barášek
Neaktivní uživatel:

vypada to zajimave :-)
mozna by bylo lepsi dat lidem moznost rozsirovat databazi
a pak by se cekalo na schvaleni
jinak databazi s 500 000 frazi jsi fakt delal jenom ty?
nebo treba jsi vyucival i jine databaze?
jinak by mozna nebylo lepsi udelat vetsi popis (nebo treba aspon wiki)
treba k minecraft tam je ze je to pocitacova hra
ale neni tam treba uveden autor hry, ze je sandbox atd.

jinak napad je velice originalni a pekny :-)

Nahoru Odpovědět 8.7.2013 10:29
Neaktivní uživatelský účet
Avatar
Jan Barášek
Redaktor
Avatar
Jan Barášek:

Misaz:
Matematika tam není zatím vůbec, ale bude. Jen nevím kdy. Snad do měsíce, ještě o tom budu psát. Validitu moc extra neřeším, důležité pro mě je správné zobrazení ve všech Windowsových a Linuxových prohlížečích 3 verze zpět od nejnovější.

next-x:
Rozšíření databází určitě udělám společně s API zase na export dat. Mám těch faktických dat hodně, akorát je to rozdělené do spousty kategorií, které lidé moc nehledají. Obsáhnout všechno není jednoduché. Databáze jsem netvořil sám, kdyby jsi četl první příspěvek, tak by jsi věděl, že jsem spolupracoval s majiteli databází, kteří souhlasili s volným šířením po internetu, takže můžu s daty pracovat jak jenom chci.

Nahoru Odpovědět 8.7.2013 10:48
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
CutThroat
Člen
Avatar
Odpovídá na Jan Barášek
CutThroat:

Měl bych takovou poznámku k funkcionalitě. Zvažoval jsi již o vytvoření nějakého web-spideru, který by prohledával "knowledge" weby, a pomocí algoritmu by jsi z nich vytěhoval podstatné informace ? Třeba z wikipedie. Myslím, že ač je konkurence celkem velká (Wolfram Alpha, třeba), bylo by to jedině plus.

 
Nahoru Odpovědět 11.7.2013 15:11
Avatar
Jan Barášek
Redaktor
Avatar
Odpovídá na CutThroat
Jan Barášek:

Ano, plánuji udělat robota, co bude procházet větší část internetových zdrojů a na základě toho sestavovat znalostní grafy. Zejména weby, kde se vyskytují články, zpravodajské servery, lepší blogy a tak dále...

Část dat ve vyhledávání pochází ze zaindexovaných stránek. Problém indexu je to, že to je celé velmi pomalé, protože server musí posílat spoustu HTTP požadavků a čekat na odpověďi.

Nahoru Odpovědět 11.7.2013 15:14
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Barášek
Kit:

Pokud tu aplikaci uděláš vícevláknovou, tak to vyhledávání pomalé být nemusí.

Nahoru Odpovědět 11.7.2013 15:17
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
CutThroat
Člen
Avatar
Odpovídá na Jan Barášek
CutThroat:

Pro to je u vyhledávačů potřebné celkem velké množství serverů (třeba seznam běží na 70+ serverech), taky je důležité škálování. Jinak se mi projekt opravdu líbí, až přidám do browseru bookmarky, určitě si do nich stránku přidám.

 
Nahoru Odpovědět  +1 11.7.2013 15:19
Avatar
Odpovídá na Jan Barášek
Neaktivní uživatel:

me se projekt jak jsem psal libi :)
ale bude nekdy existovat offline verze?
klidne treba 500 MB ale neco aby lide mohli prohlizet i bez netu :)

Nahoru Odpovědět 11.7.2013 15:28
Neaktivní uživatelský účet
Avatar
Kit
Redaktor
Avatar
Odpovídá na CutThroat
Kit:

Chtěl jsi asi napsat robotických vyhledávacích klientů. Není to vždy nutné.

Nahoru Odpovědět 11.7.2013 15:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Barášek
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Jan Barášek:

Offline verzi plánuji už celkem dlouho. Snažím se to udělat v HTML5. Popíšu ti, jak si to zhruba představuji, až bude offline verze povolená:

Otevřeš hlavní stránku webu v prohlížeči s podporou HTML5 a cachování. Někde na stránce klikneš na tlačítko "povolit offline prohlížení" a zobrazí se nabídka kategorií toho, co lze prohledávat. Vybereš si co chceš a povolíš začátek stahování. Stránku pak budeš moci opustit a mezitím se bude na pozadí prohlížeče stahovat offline verze rozhraní (to bude muset být celé v javascriptu). Když pak v offline režimu vyťukáš adresu http://vikitron.com, tak javascript detekuje stav, že jsi offline a začne zobrazovat rozhraní z cache. Dokonce bych tam mohl udělat i funkci, že budeš moci tvořit omezeně obsah a po připojení se to celé synchronizuje.

Mám to prakticky hotové, ale ještě jsem nedomyslel způsob, jak aktualizovat data. Musím ještě nějak přinutit prohlížeče, aby si stáhly novější verzi toho, co jim předám v nějakém strukturovaném seznamu... nebo ideálně předám updatovanou databázi a oni si to nějak zařadí.

Nahoru Odpovědět  +2 11.7.2013 15:55
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
Lako
Člen
Avatar
Lako:

Znáš http://www.wolframalpha.com/ ?
Tam můžeš zadat docela široké spektrum dotazů.
Není to něco podobného o co se snažíš?

 
Nahoru Odpovědět  +1 29.9.2013 19:27
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lako
Kit:

Wolfram je docela dobrý, ale stále ještě neví, co znamená 42.

Nahoru Odpovědět  +1 29.9.2013 19:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 19 zpráv z 19.