-1

我试过在谷歌上寻找,但我想我无法找到正确的搜索短语来找到我想要的东西。如果你熟悉 afterNET IRC 服务器,有一个命令 '.8' 是一个 8 球。它回答的不仅仅是是/否问题。它会根据您在问题中使用的某些词语(例如时间、地点、颜色等)为您提供各种答案

我想做这样的东西,但不知道从哪里开始。我最近研究了 DFA(确定性有限自动机),我应该从那里开始吗?我知道我不想编写人们使用的每一种可能的单词组合,但如果有一个感觉有点现实的系统(比如 IRC 服务器上的 8ball 程序),并且可以扩展以获取更多“单词”,那就太好了' 不管什么时候我要。

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

4

1 回答 1

1

您可能给予大多数 8ball 实现比他们应得的更多的信任。我认为关键是问题是针对是/否的答案,因此提供的答案只需要涵盖一组相当可预测的可能性。

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

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

我从未听说过使用确定性方法、Cleverbot风格的魔术 8ball。实际上,尝试这样做,我什至不确定这是多么确定,因为大多数响应也是完全随机的,与我所说的无关。

// 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];
}
于 2011-07-18T01:56:10.583 回答