2017-03-09 3 views
0

우리는 왓슨 대화 서비스를 ChatBot 기능에 사용하고 있습니다. Dialog와 인 텐트 및 엔티티를 사용하여 사용자와의 표준 통신 순서를 구성하고자합니다. 우리는 RESTful API를 통해 대화 서비스와 통신하기 위해 Java 애플리케이션을 작성하고 있습니다. 대화가 끝날 때까지 컨텍스트를 유지하고 응용 프로그램과 대화간에 전달해야한다는 것을 알고 있습니다. 이를 달성하기 위해 애플리케이션의 각 사용자에 대한 컨텍스트를 저장하고 관리해야한다는 것을 알고 있습니다. 제 이해가 정확한지 아무도 명확히 알 수 없습니까? 또한 Java가이 기능에 딱 맞습니까? 감사합니다.왓슨 대화 - 응용 프로그램의 사용자를위한 컨텍스트 저장 및 관리

+0

botkit-middleware repo는 이러한 컨텍스트를 관리하는 Node.js의 예를 가지고 있습니다. https://github.com/watson-developer-cloud/botkit-middleware –

답변

0

각 대화는 자신이을 conversation_id와 JSON 자체 상황는 서비스에서 전송 그것있다. 따라서 애플리케이션에 각 컨텍스트를 저장할 필요가 없습니다. 할 수는 있지만 필요하지 않습니다.

일반적인 사용 방법은 대화 서비스에서 응답을 받으면 컨텍스트 개체를 저장하고 업데이트 한 다음 다시 보냅니다. 다음 반복에서는 서비스가 Json 내부의 컨텍스트를 다시 보냅니다. 동일한 conversation_id를 사용하는 경우 컨텍스트를 보내고받을 수 있어야하므로 컨텍스트를 저장하지 않아도됩니다.

+0

감사합니다. Danilo. 무슨 의미입니까 어떤 시점에서 컨텍스트 맵에서 하나의 컨텍스트에 저장할 모든 사용자를위한 것입니다. 컨텍스트는 대화 서비스의 모든 응답 후에 업데이트됩니다. 사용자 ID가 고유하면 conversationId에 대해 걱정할 필요가 없습니다. 모든 사용자 요청에 대해 사용자의 컨텍스트를 가져 와서 업데이트하고 대화 서비스로 다시 보냅니다. 그 맞습니까? –

+0

감사합니다. Danilo. 내가 의미하는 바는 각각의 사용자에 대해 언제든지 컨텍스트 맵에서 하나의 컨텍스트에 저장할 것입니다. 컨텍스트는 대화 서비스의 모든 응답 후에 업데이트됩니다. 사용자 ID가 고유하면 conversationId에 대해 걱정할 필요가 없습니다. 모든 사용자 요청에 대해 사용자의 컨텍스트를 가져 와서 업데이트하고 대화 서비스로 다시 보냅니다. 그 맞습니까? –

+0

예, 그게 전부입니다. json에서 컨텍스트를 추출하고 메시지 텍스트를 업데이트 한 다음 다시 보냅니다. 당신은 다른 것에 대해 걱정할 필요가 없습니다. –

0

여러 가지 언어로 된 SDK가 많이 있으므로 쉽게 사용할 수 있습니다.

https://github.com/watson-developer-cloud

+0

감사합니다. Simon. Java SDK를 사용하여 대화 서비스와 통신합니다. 그러나 우리는 애플리케이션 로직을 통해 사용자와 컨텍스트가 포함 된 맵을 저장해야합니다. 그게 시몬 맞지? –

+0

이것은 맞습니다. 회화 서비스는 상태가 없습니다 – Dudi

+0

안녕하세요, Dudi, 나는 당신이 나를 도울 수 있다고 생각했다. http://stackoverflow.com/questions/42723050/watson-conversation-context-previous-input-text –