Привет и добро пожаловать в Stackoverflow.
Чувак.Это не простая фраза.Отрицательные вопросы всегда очень трудно уловить с помощью Dialogflow.
Предположим, у меня есть такой вопрос, как
I want to check *google* revenue for the year *2017*
Как видите, Google и 2017 являются сущностями,Но теперь точно так же, если вы скажете,
I don't want to check *google* revenue for the year *2017*
Шансы достичь этого старого намерения очень высоки, так как поток диалога соответствует почти 90% этого предложения вашему старому предложению.Так что это может потерпеть неудачу.
Надеюсь, вы пытаетесь задать что-то похожее на это.
В любом случае, если вы подойдете к вашей точке, если company name
и name
- это разные сущности, то
Две вещи, которых вы можете избежать:
- Как все упоминали, проверьте свои сущности.Значения не должны присутствовать в обоих объектах.Это не удастся, потому что диалоговый поток не будет знать, должен ли он рассматривать «Сэма» как ваше имя или название компании.
- Если вы не используете значения из сущности, а используете «$ ANY», то он имееточень высокая вероятность неудачи.И если вы используете системный объект Dialogflow, например, $ Given-name, то это также не является предпочтительным, так как он не перехватывает все имена.Поэтому избегайте этих сущностей.
Вещи, которые вы можете попробовать:
- Train Train And Train.Как вы знаете, раздел обучения в диалоге довольно хорош.Обучите его несколько раз, и он автоматически выучит и освоит его.Но, пожалуйста, обратите внимание: неправильное обучение приведет к неправильным результатам.Это должно быть на 100% точным.Всегда проверяйте, прежде чем одобрить тренинг.
- И попробуйте использовать веб-крючки, действия и / или события, чтобы найти выход из внешнего API.