1

Aujourd'hui, lorsque je cherchais des vidéos sur youtube, j'ai découvert que YouTube pouvait renvoyer des résultats pertinents même si vous recherchez des vidéos dans d'autres langues que l'anglais.Comment fonctionnent les moteurs de recherche MultiLanguage?

Essayé de chercher à ce sujet sur google, mais tout ce que j'ai eu était de faire des api par programme.Can quelqu'un jeter un peu de lumière sur la théorie derrière this.Papers/Links/Explications, tout ferait.

Merci

Répondre

1

Quand je l'ai fait avec ElasticSearch, j'ai simplement mis en correspondance plusieurs champs pour chaque document, comme:

"text_val": { 
    "type": "text", 
    "fields": { 
    "en": { 
     "type": "text", 
     "analyzer": "english" 
    }, 
    "it": { 
     "type": "text", 
     "analyzer": "italian" 
    } 
    } 
} 

Et puis il suffit de chercher les deux champs pour chaque requête. Cela fonctionne bien et est assez bon pour de nombreuses applications. Cependant, je suis sûr que Google fait quelque chose de beaucoup plus complexe, certainement l'identification de la langue sur les deux documents indexés et la requête. Dans le cas où vous voulez faire l'identification de la langue, j'ai utilisé python langid avant et j'ai eu de bons résultats. Le problème que vous allez rencontrer en utilisant elasticsearch pour ce genre de chose, d'après mon expérience, n'est pas la partie multi-langue, mais que les analyseurs pour les langues autres que l'anglais ne fonctionnent pas toujours aussi bien que vous voulez. Vous devrez peut-être écrire un analyseur personnalisé, avec des règles pour gérer un grand nombre de cas spéciaux, et réglé pour votre ensemble de données spécifique.