sql >> Database >  >> RDS >> Mysql

mysql - fulltext index - wat is natuurlijke taalmodus

MySQL's Natural Language Full-Text Searches zijn bedoeld om zoekopdrachten af ​​te stemmen op een corpus om de meest relevante overeenkomsten te vinden. Dus neem aan dat we een artikel hebben dat "I love pie" bevat en dat we documenten d1, d2, d3 hebben (de database in jouw geval). Document 1 en 2 gaan respectievelijk over sport en religie, en document 3 over eten. Uw vraag,

Zal d3 teruggeven, en dan d2, d1 (willekeurige volgorde van d2,d1 afhankelijk van welke meer gelijk is aan het artikel) omdat d3 het beste overeenkomt met het artikel.

Het onderliggende algoritme dat MYSQL gebruikt is waarschijnlijk het tf-idf-algoritme, waarbij tf staat voor term frequency en idf voor inverse document frequency. tf is zoals het zegt, alleen het aantal keren dat een woord w in lidwoord voorkomt in een document. idf is gebaseerd op in hoeveel documenten het woord voorkomt. Woorden die in veel documenten voorkomen, dragen dus niet bij aan het bepalen van het meest representatieve document. Het product van tf*idf levert een score op, hoe hoger, hoe beter het woord een document vertegenwoordigt. Dus 'taart' komt alleen voor in document d3 en heeft dus een hoge tf en een hoge idf (omdat het het omgekeerde is). Terwijl 'de' een hoge tf zal hebben, maar een lage idf die de tf uitschakelt en een lage score geeft.

De natuurlijke taalmodus van MYSQL wordt ook geleverd met een reeks stopwoorden (de, een, wat enz.) en verwijdert woorden die minder dan 4 letters bevatten. Dat is te zien in de link die je hebt gegeven.




  1. Hoe gebruik je het broncommando van MySQL om grote bestanden in Windows te importeren?

  2. stuur gegevens naar MySQL met AJAX + jQuery + PHP

  3. Hoe verdiepingen tellen in SQL

  4. ASCIISTR() Functie in Oracle