SRAI代码没有正确重定向

时间:2015-12-06 05:54:09

标签: ruby-on-rails aiml

刚开始使用AIML,似乎无法使while ((c = getchar()) != '\n' && c != EOF);命令用于链接同义词。我正在使用Ruby on Rails和Programr gem。例如,以下是我的代码:

<srai>

当我输入你的时候,我的聊天机器人不明白我在说什么。在命令日志中,您可以看到它查询“Hi”而不是“Hello”。知道我可能会指向哪里错误吗?

作为补充参考,这是我的控制器:

<?xml version="1.0" encoding="UTF-8"?>

<aiml version="1.0">

<category>
    <pattern>HELLO</pattern>
    <template>Hi there!</template>
</category>
<category>
    <pattern>HI</pattern>
    <template><srai>HELLO</srai></template>
</category>

</aiml>

我的初始化程序:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  def ask_warwick
    reaction = WARWICK.get_reaction(params[:query])
    render json: { response: reaction.present? ? reaction : 'I do not understand' }
  end
end

1 个答案:

答案 0 :(得分:1)

宝石代码中的错误

进入gem并找到文件lib / programr / aiml_parser.rb

然后注释掉193附近的行,其中显示currentSrai = Srai.new

text_file = open("Output.txt", "w", encoding='utf8')