Обучение Watson Discovery с (V1) python SDK API не работает - PullRequest
0 голосов
/ 31 января 2020

Я хочу использовать Watson discovery V1 API для обучения релевантности. Я попробовал следующее, но пока не получил желаемого результата. Ниже подробно описывается проблема:

У меня есть набор документов, некоторые из которых содержат слово 'cloud' или 'big data'. Я хочу найти слово 'hadoop' с помощью API query() и получить обратно эти документы, но запрос на обнаружение ничего не возвращает.

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

У меня есть использовал API add_training_data(), чтобы связать запрос 'hadoop' с соответствующими документами (указанными в идентификаторах, документами, которые содержат 'cloud', например).

Теперь данные обучения выглядят следующим образом:

{
  "natural_language_query": "hadoop",
  "filter": "",
  "examples": [
    {
      "document_id": "1ad6f551-e092-4ce9-b08c-eb4f4cbc9458",
      "cross_reference": "",
      "relevance": 1,
      "created": "2020-01-30T23:16:19.674Z",
      "updated": "2020-01-30T23:16:19.716Z"
    },
    {
      "document_id": "f1d11f51-31b2-414f-b359-d5336b019575",
      "cross_reference": "",
      "relevance": 1,
      "created": "2020-01-30T23:16:19.674Z",
      "updated": "2020-01-30T23:16:19.722Z"
    },
    {
      "document_id": "5bfcea6a-c925-4db5-a490-89a9d1de8d4c",
      "cross_reference": "",
      "relevance": 1,
      "created": "2020-01-30T23:16:19.674Z",
      "updated": "2020-01-30T23:16:19.729Z"
    },
    {
      "document_id": "bf07e701-6893-428c-ab16-c5446e821291",
      "cross_reference": "",
      "relevance": 1,
      "created": "2020-01-30T23:16:19.674Z",
      "updated": "2020-01-30T23:16:19.735Z"
    },
    {
      "document_id": "75082812-5c96-4d2e-b388-821a0434ad4c",
      "cross_reference": "",
      "relevance": 1,
      "created": "2020-01-30T23:16:19.674Z",
      "updated": "2020-01-30T23:16:19.742Z"
    }
  ],
  "query_id": "cc1d3677eeafe70929aeccfb462860439f61b051",
  "created": "2020-01-30T23:16:19.677Z",
  "updated": "2020-01-30T23:16:19.677Z"
}

, где идентификаторы документов соответствуют документам в коллекции, содержащим слово 'cloud'. например,

Создав данные обучения, теперь я хотел снова выполнить предыдущий запрос с текстом запроса 'hadoop', предполагая, что обнаружение будет автоматически обучаться для получения релевантных результатов (поскольку я не мог найти любой API, как 'train()', что я ожидал). Но даже после предоставления обучающих примеров запрос на обнаружение все равно ничего не возвращает.

Я понятия не имею, что происходит не так. Некоторая помощь будет очень признательна.

1 Ответ

1 голос
/ 03 февраля 2020

Sandipan,

Как упомянуто здесь: Улучшение релевантности результатов с помощью API

Когда вы предоставляете экземпляр Discovery с данными обучения, служба использует машину -обучение методов Ватсона, чтобы найти сигналы в вашем контенте и вопросах. Затем служба переупорядочивает результаты запроса, чтобы отобразить наиболее релевантные результаты в верхней части. По мере добавления дополнительных данных обучения экземпляр службы становится более точным и изощренным при упорядочении результатов, которые он возвращает.

Я считаю, что обучение по релевантности не будет работать так, как вам нужно , Это только переупорядочивает.

Кроме того, «Набор обучающих данных коллекции должен содержать не менее 49 уникальных обучающих запросов (то есть наборов запросов и примеров)». Вам нужно добавить больше запросов для начала обучения.

...