Как запросить API Watson Discovery?

Я экспериментирую с API обнаружения IBM watsons, чтобы получить представление о данных. Я хочу сделать запрос, используя несколько фильтров. Я использую Python для выполнения этой задачи. Я попробовал это сейчас, но это не работает.

qopts = {'filter':[{'enriched_text.entities.text:Recurrent Neural 
         Networks,Machine Learning classifiers'}]}
my_query = discovery.query(env_id, coll_id, qopts)

только с одной сущностью: "текущие нейронные сети" через интерфейс обнаружения и через мой запрос на python я получаю 3 документа из коллекции. но с двумя сущностями, "Рекуррентные нейронные сети, классификаторы машинного обучения", в пользовательском интерфейсе я получаю 2 документа, но через свой код я получаю 2 документа.

2 ответа

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

qopts = {'filter':{'enriched_text.concepts.text:"Neural network",enriched_text.keywords.text:"Neural Network",enriched_text.keywords.text:"generative conversational models"'}}

с единственной сущностью я получаю 3 результата матча

qopts = {'filter':{'enriched_text.concepts.text:"Neural network"'}}

В этом примере я запрашиваю документы с понятием "Нейронная сеть", ключевыми словами "Нейронная сеть" и "Генеративные диалоговые модели".

Внутри документации Watson discovery, внутри пользовательского интерфейса, который вы будете использовать (согласно документации):

Но, очевидно, без ! Оператор внутри второго text,

и я думаю, что внутри вашего кода вам нужно использовать , между значениями.

Не уверен, потому что я не использую enriched_text.entities.textвнутри моего фильтра, только строки.

Одна возможная ссылка для другого примера для тестирования:

filter=field1:some value,field2:another value

Официальная справочная документация: здесь.

Другие вопросы по тегам