IBM Watson - получение и ранжирование: как определить, что текст в документе PDF следует рассматривать как поле?

Я загружаю много документов PDF в службу получения и ранжирования, но не знаю, чтобы сказать Solr или службе IBM Retrieve and Rank, что определенная часть моего документа PDF должна рассматриваться как поле для последующего запроса, например, имя или идентификатор процесса документа.

1 ответ

Решение

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

Но вы можете программно добавить содержимое ваших документов PDF в коллекцию R&R. И когда вы это сделаете, вы можете добавлять любые поля, которые вы хотите.

Например, из документации по адресу https://www.ibm.com/watson/developercloud/retrieve-and-rank/api/v1/?java

RetrieveAndRank service = new RetrieveAndRank();
service.setUsernameAndPassword("{username}","{password}");

SolrInputDocument newdoc = new SolrInputDocument();
document.addField("id", 1);
document.addField("author", "brenckman,m.");
document.addField("bibliography", "j. ae. scs. 25, 1958, 324.");
etc... 

UpdateResponse addResponse = solrClient.add("example_collection", newdoc);

solrClient.commit("example_collection");

Точно так же, как этот пример использует author а также bibliography в качестве дополнительных имен полей вы можете добавить новые, такие как идентификатор процесса.

Вам нужно будет обновить схему для вашей коллекции R&R, чтобы указать эти новые поля. Вы можете использовать схему по адресу https://github.com/IBM-Watson/kale/blob/master/solr/knowledge-expansion-en.xml#L36 в качестве примера того, как указать дополнительные поля.

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