Диалог Watson Conversation для большого количества сущностей?

В настоящее время у меня есть чат-бот, у которого есть сущность для каждого символа акции. Их более 3000. Для моего диалога я хочу иметь возможность обнаруживать такие вопросы, как #get @price @stockSymbol. Есть ли способ справиться с большим количеством сущностей без написания оператора if для каждого из них?


person Patrick Maynard    schedule 23.03.2017    source источник
comment
Если язык, на котором вы работаете, имеет тип данных dictionary, возможно, это то, что вам нужно.   -  person MackM    schedule 24.03.2017
comment
Этот пост должен помочь вам stackoverflow.com/questions/42779498/   -  person RiyaMRoy    schedule 24.03.2017


Ответы (2)


Вам разрешено иметь только 100 объектов в одной рабочей области. Однако эти объекты могут иметь 100 000 значений.

Таким образом, вы можете создать объект с именем @StockSymbol, и тогда каждое значение будет идентификатором Stock (например, IBM).

Таким образом, вам потребуется только один оператор IF, чтобы определить, что это акция, а затем передать информацию об объекте вызывающему приложению, чтобы принять меры по значению.

Чтобы поместить это программно, если это одноразовая вещь, вы можете создать файл CSV следующим образом:

StockSymbol,IBM
StockSymbol,MSFT
StockSymbol,APPL

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

person Simon O'Doherty    schedule 25.03.2017

К сожалению, в пользовательском интерфейсе службы разговоров нет процесса, который бы имел метод автоматического создания диалога. В подобных случаях многие команды создают внешний скрипт, который может читать файл с вашими сущностями в нем, а затем создает JSON-файл рабочей области с необходимыми диалоговыми узлами. JSON-файл рабочей области имеет относительно простой формат, и я обнаружил, что вы можете легко объединить любой новый json-файл в уже созданную рабочую область. На самом деле с новым API можно даже загружать новые элементы в работающую рабочую область. (хотя, если вы новичок в этом, создайте дубликат ws и объедините его с этим или загрузите и объедините через хороший редактор.)

person timd    schedule 24.03.2017