我在c#中使用AIMLbot.dll。我看到了两个函数saveToBinaryFile和loadFromBinaryFile。我认为这些功能是将机器人大脑中的当前内容存储到一个文件中。但它似乎不起作用!意思是,如果我说记住我的名字并将内容保存到GraphMaster.dat文件中。下一次我加载相同文件的内容时,当我问我的名字时,它给出了错误的答案。我的类如下所示。
class AIBot
{
private Bot myBot;
private User myUser;
public AIBot()
{
myBot = new Bot();
myUser = new User("UnknownUser", myBot);
}
public void Initialize()
{
myBot.loadSettings();
myBot.isAcceptingUserInput = false;
myBot.loadAIMLFromFiles();
myBot.isAcceptingUserInput = true;
}
public void Load()
{
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\Graphmaster.dat"))
myBot.loadFromBinaryFile(AppDomain.CurrentDomain.BaseDirectory + @"\Graphmaster.dat");
}
public string GetResponse(string input)
{
Request r = new Request(input, myUser, myBot);
Result res = myBot.Chat(r);
return (res.Output);
}
public void Save()
{
myBot.saveToBinaryFile(AppDomain.CurrentDomain.BaseDirectory + @"\Graphmaster.dat");
}
}有谁能帮忙指出这个问题吗?
发布于 2012-06-25 15:37:42
我有一个解决这个问题的办法。希望能对其他人有所帮助。
下次对存储的会话执行this.myUser.Predicates.DictionaryAsXML.Save(saveFileDialogDump.FileName);
this.myUser.Predicates.loadSettings(openFileDialogDump.FileName);
https://stackoverflow.com/questions/11184984
复制相似问题