'8球'计划

时间:2011-07-18 01:47:30

标签: artificial-intelligence dfa

我试过看谷歌,但我想我可能无法找到合适的搜索词组来找到我想要的东西。如果您熟悉afterNET IRC服务器,则会有一个命令'.8',它是一个8球。它回答的不仅仅是肯定/没有问题。它根据您在问题中使用的某些单词(如时间,地点,颜色等)为您提供各种答案

我想做这样的事情,但不知道从哪里开始。我最近研究过DFA(确定性有限自动机),我应该从哪里开始?我知道我不想编写人们使用的每个可能的单词组合的脚本,但是有一个感觉有点逼真的系统(比如IRC服务器上的8ball程序)会很好,并且可以扩展为更多'单词“每当我想要的时候。

感谢您提供任何帮助/链接!

1 个答案:

答案 0 :(得分:1)

您可能会给予大多数8ball实施更多的信用,而不是他们应得的。我认为重点是问题是肯定/否定的答案,所以提供的答案只需要涵盖一系列可预测的可能性。

我所知道的大多数8ball脚本(example)只会使用数组和随机数来获取答案。

Magic 8ball机器人在irc上很受欢迎,因为它们非常容易实现 - 只需用给定的标记(在这种情况下为“.8”)响应文本,并以随机答案回复。

我从未听说过使用确定性方法Cleverbot风格的魔术8球。实际上,尝试这一点,我甚至不确定这是多么具有确定性,因为大多数回复也是完全随机的,与我所说的无关。

// our answers array
String[] answers = [ "yes", "no", "for sure", "unlikely", "most certainly", "definitely not" ];

public String ask8Ball() {
    // rand returns a float between 0>=res>1, the (int) cast rounds down
    int index = (int)(java.lang.Math.random() * 7);
    return answers[index];
}