Bots 具有大型数据库集成的聊天机器人

Bots 具有大型数据库集成的聊天机器人,bots,chatbot,wit.ai,watson,botkit,Bots,Chatbot,Wit.ai,Watson,Botkit,我们想建立一个机器人,它会向用户提问,然后 将记录他们的反应。该问答将根据用户的回答智能地完成 目前,我们没有什么初始问题 有很多API可用于机器人创建,如API.ai、wit.ai、botkit、IBM Watson、Microsoft bot framework。从Java、Node.Js或Python的开发角度来看,哪一个最好。另外,从控制数据和完整流程的角度来看 我们希望向我们的Bot提供一些DB[RDBMS或NOSQL]的问题,因为它在将来会很大,哪种api最适合同样的情况 我们希望使

我们想建立一个机器人,它会向用户提问,然后 将记录他们的反应。该问答将根据用户的回答智能地完成

目前,我们没有什么初始问题

有很多API可用于机器人创建,如API.ai、wit.ai、botkit、IBM Watson、Microsoft bot framework。从Java、Node.Js或Python的开发角度来看,哪一个最好。另外,从控制数据和完整流程的角度来看

我们希望向我们的Bot提供一些DB[RDBMS或NOSQL]的问题,因为它在将来会很大,哪种api最适合同样的情况

我们希望使用userid存储对数据库的用户响应

根据数据库中存储的用户响应,对于机器人提出的问题,我们希望对其进行分析

您能否建议,如果可以使用任何一种Bot API来实现这一点,应该首选哪一种

谢谢,,
Amit

在您的4种情况下,都可以使用IBM Watson完成

1: 使用对话服务创建聊天机器人,您可以使用上下文变量保存所有用户输入

IBMWatson在中提供了一些示例,SDK中只需单击一些编程语言即可查看示例和所有代码

2: 本例使用Conversation Simple Node.js链接中的Cloudant DB nosql,但您可以使用其他

function log(input, output) {
  if ( logs ) {
    // If the logs db is set, then we want to record all input and responses
    var id = uuid.v4();
    logs.insert( {'_id': id, 'request': input, 'response': output, 'time': new Date()} );
  }
}

if ( cloudantUrl ) {
  // If logging has been enabled (as signalled by the presence of the cloudantUrl) then the
  // app developer must also specify a LOG_USER and LOG_PASS env vars.
  if ( !process.env.LOG_USER || !process.env.LOG_PASS ) {
    throw new Error( 'LOG_USER OR LOG_PASS not defined, both required to enable logging!' );
  }
  // add basic auth to the endpoints to retrieve the logs!
  var auth = basicAuth( process.env.LOG_USER, process.env.LOG_PASS );
  // If the cloudantUrl has been configured then we will want to set up a nano client
  var nano = require( 'nano' )( cloudantUrl );
  // add a new API which allows us to retrieve the logs (note this is not secure)
  nano.db.get( 'car_logs', function(err) {
    if ( err ) {
      console.error( err );
      nano.db.create( 'car_logs', function(errCreate) {
        console.error( errCreate );
        logs = nano.db.use( 'car_logs' );
      } );
    } else {
      logs = nano.db.use( 'car_logs' );
    }
  } );
3:所有通话对话都有一些id,您可以使用上下文变量访问此id。IBM Watson对话示例:

context.conversation_id

4:您可以使用IBM Watson提供的其他服务,但我推荐:AlchemyAPI或Discovery,这取决于您真正要做什么。但是,看看这两个我确信是他们帮了你的忙。

你的回答为我澄清了两件事。我还有一个问题,如果你能提供同样的帮助,我将不胜感激。我想,我可以将AI添加到这个对话服务中,这样它就可以根据用户的回答提问。但是,如果我[admin]想要分析用户的响应,我想我需要在DB中的用户答案之上添加额外的分析引擎。IBM Watson是否提供响应分析服务,或者我是否需要使用单独的技术?在这种情况下,您需要问另一个问题,但可以。。您可以使用自然语言分类器,服务理解文本背后的意图,并返回相应的分类,以及置信度分数。例如,“今天天气怎么样?”或“外面热吗?”或“今天天气会好吗?”都是询问“温度”的方式.IBM Watson提供此服务,您可以使用Integrated with chatbot。感谢NLP将有助于使对话更具交互性。但是,它还会执行并存储任何分析结果吗?这将有助于第三方判断用户的响应?