Как запросить 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
Официальная справочная документация: здесь.