Arhn - архитектура программирования

Неоднозначность перевода в Solr

Я выполняю межъязыковой поиск в solr, для этой цели я выполняю перевод запросов с языка A на язык B. Эти переводы основаны на двуязычном словаре. Проблема, с которой я сейчас сталкиваюсь: «Для некоторых слов в запросе у меня есть более одного перевода». Здесь мне нужно поставить правильное слово для перевода. Как я могу решить эту двусмысленность перевода.

Вот в этом случае мы не можем определить контекст запроса, потому что запросы могут быть слишком короткими для этого. Я вижу только один способ - вероятность появления слов. Есть ли способ, чтобы я мог проверить вероятность того, что слова встречаются вместе?

12.03.2013

Ответы:


1

Я полагаю, что вы назвали бы анализ вероятности появления слов вместе упрощенной формой контекста, и я думаю, что в запросе это будет очень подвержено ошибкам и приведет к тому, что вы пропустите релевантные результаты. Это очень сложная задача с полными контекстными предложениями. Неоднозначности в введенных пользователем строках запроса, как вы можете ожидать, будут неразрешимо двусмысленными, и поэтому попытка их разрешения, я полагаю, сделает ваш поиск досадно непредсказуемым и может даже сделать поиск некоторых понятий трудным или невозможным.

Моя рекомендация, насколько это того стоит, заключалась бы в поиске обоих альтернативных переводов, используя такую ​​реализацию, как SynonymFilter.

Поэтому, если бы я искал английское слово "fine", на испанском языке я мог бы разбить его на запрос "multa fino sutil".

Вероятно, имеет смысл заключить эти списки синонимов в DisjunctionMaxQuery для защиты от обращений к нескольким переводам одного и того же термина, влияющих на оценку больше, чем следовало бы. Так что если искать

  • "тонкий момент"

Я мог бы искать отличный аргумент, сделанный в дебатах, заточенный карандаш, или, зная, как пользователи вводят запросы, я вполне мог бы искать хорошее место для пикника, или обоснование штрафа за нарушение правил дорожного движения.

Итак, я мог бы расширить его до:

  • BooleanQuery, joining:
    • DisjunctionMaxQuery: "multa", "fino", "sutil"
    • DisjunctionMaxQuery: "пунта", "моменто", "лугар"
12.03.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..