sql >> Databáze >  >> RDS >> Mysql

Jak vytvořit motor na „související otázky“?

Pokud byste chtěli něco takového postavit sami od začátku, použili byste něco, co se nazývá TF/IDF:Term Frequency / Inverse Document Frequency. To znamená, že pro enormní zjednodušení najdete v dotazu slova, která jsou v korpusu jako celku neobvyklá, a najdete dokumenty, které tato slova obsahují.

Jinými slovy, pokud někdo zadá dotaz se slovy „chci si koupit slona“, pak ze slov v dotazu je slovo „slon“ pravděpodobně nejméně rozšířeným slovem ve vašem korpusu. "Koupit" je pravděpodobně další. Takže dokumenty (ve vašem případě předchozí dotazy) seřadíte podle toho, jak moc obsahují slovo „slon“ a poté, jak moc obsahují slovo „koupit“. Slova „já“, „do“ a „an“ jsou pravděpodobně na seznamu stop, takže je úplně ignorujete. Každý dokument (ve vašem případě předchozí dotaz) seřadíte podle počtu odpovídajících slov (váha podle inverzní frekvence dokumentu – tj. vysoká váha pro neobvyklá slova) a zobrazíte několik nejlepších.

Zjednodušil jsem to a budete si to muset přečíst, abyste to pochopili správně, ale implementace jednoduchým způsobem opravdu není příliš složitá. Stránka Wikipedie může být dobrým místem, kde začít:

http://en.wikipedia.org/wiki/Tf%E2%80 %93idf



  1. Jak otočit protokoly PgBouncer v Linuxu/Windows?

  2. Vše, co potřebujete vědět o SQL CTE na jednom místě

  3. CHYBA:relační místa neexistuje Import Heroku db

  4. MySql. Jak používat Self Join