今天,在youtube上搜索某些视频时,我发现即使您使用英语以外的其他语言搜索视频,youtube也可以返回相关结果。
尝试在google上搜索这个,但我得到的只是一些api来以编程方式执行此操作。有人可以对这背后的理论有所了解。论文/链接/解释,任何事都可以。
谢谢
答案 0 :(得分:1)
当我使用elasticsearch完成此操作时,我只是为每个文档映射了多个字段,例如:
"text_val": {
"type": "text",
"fields": {
"en": {
"type": "text",
"analyzer": "english"
},
"it": {
"type": "text",
"analyzer": "italian"
}
}
}
然后只搜索每个查询的两个字段。这很好用,对许多应用程序都足够好。但是,我确信谷歌正在做更复杂的事情,当然还要对索引文档和查询进行语言识别。如果您想要进行语言识别,我之前使用过python langid并且效果很好。
根据我的经验,使用弹性搜索来解决这个问题的问题不是多语言部分,而是英语以外语言的分析器不会总是像你想的那样工作。您可能必须编写一个自定义分析器,其中包含处理大量特殊情况的规则,并针对您的特定数据集进行了调整。