O pacote tue-robotics dialogflow_ros destina-se a integrar o serviços de suporte à conversação em linguagem natural google dialogflow.
O pacote só tem um node em python que usa o serviço google dialogflow para obter um entendimento sobre blocos de texto.
Funciona no ROS melodic
O pacote está disponivel para instalação a partir da fontes no seguinte endereço:
https://github.com/tue-robotics/dialogflow_ros
Requerimentos para a instalação do pacote dialogflow
Instalar a api ai com o seguinte comando:
pip install apiai
Requerimentos para a utilização do pacote dialogflow
Para se usar o node é necessário:
- ter uma uma conta no serviço google dialogflow
- incluir o dialog flow no projecto que se está a usar
- obter uma access token que se usa para lançar o node
Para os dois primeiros pontos visitar o seguinte endereço:
https://dialogflow.cloud.google.com/
Exploração do pacote para o dialogflow_ros
O pacote funciona como um prestador de serviços de intrepretação de textos para os outros nodes. A interação é efectuada pela troca de mensagens nos seguintes tópicos:
Subscreve o tópico: /speech [std_msgs/String]
Publica o tópico: /command [std_msgs/String]
Para lançar o mode é necessário executar o seguinte comando, substituindo a token pela a adequada.
rosrun dialogflow_ros dialogflow_node.py _client_access_token:=token
Para enviar texto a ser intrepretado pelo node usar o seguinte comando:
rostopic pub --once /speech std_msgs/String "olá veronica"
Para obter o resultado usar o seguinte comando:
rostopic echo /command
Exemplo de dados recebidos
data: !!python/str “{\n \”id\”: \”5aadf9b7-4de1-462c-b5aa-74978e5889a2-b81332aa\”,\n \”\
lang\”: \”pt\”,\n \”sessionId\”: \”f65542abc1e34f058b1a10a33e10e855\”,\n \”timestamp\”\
: \”2019-11-05T19:36:33.926Z\”,\n \”result\”: {\n \”source\”: \”agent\”,\n \
\ \”resolvedQuery\”: \”ol\xE1 veronica\”,\n \”action\”: \”input.welcome\”,\n\
\ \”actionIncomplete\”: false,\n \”score\”: 0.5370496,\n \”parameters\”\
: {},\n \”contexts\”: [],\n \”metadata\”: {\n \”intentId\”: \”14042d68-6a28-4abc-a847-b281dace30b3\”\
,\n \”intentName\”: \”Default Welcome Intent\”,\n \”webhookUsed\”: \”\
false\”,\n \”webhookForSlotFillingUsed\”: \”false\”,\n \”isFallbackIntent\”\
: \”false\”\n },\n \”fulfillment\”: {\n \”speech\”: \”Ol\xE1!\”,\n \
\ \”messages\”: [\n {\n \”lang\”: \”pt\”,\n \”type\”\
: 0,\n \”speech\”: \”Ol\xE1!\”\n }\n ]\n }\n },\n \”status\”\
: {\n \”code\”: 200,\n \”errorType\”: \”success\”\n }\n}”