‘8 Ball’ 程序

我试着在谷歌上搜索过,但我想我就是找不到正确的搜索短语来找到我想要的东西。如果你熟悉 afterNET IRC 服务器,那里有一个命令 ‘.8’,它是一个 8 号球。它提供的答案不仅仅是是/否的问题。它会根据你在问题中使用的特定词语,比如何时、何地、颜色等,给出各种各样的答案。

我想制作类似的东西,但不知道从哪里开始。我最近学习了 DFA(确定性有限自动机),我应该从那里开始吗?我知道我不想编写人们使用的每一种可能的词语组合,但如果有一个感觉有点真实(就像 IRC 服务器上的 8 号球程序)并且可以随时扩展更多“词语”的系统,那就太好了。

感谢任何帮助/链接!


回答:

你可能对大多数 8 号球的实现给予了过高的评价。我认为关键在于问题是针对是/否答案的,因此提供的答案只需要涵盖相当可预测的可能性集合即可。

据我所知,大多数 8 号球脚本(例子)只会使用一个数组和一个随机数来获取答案。

魔法 8 号球机器人在 IRC 上非常受欢迎,因为它们非常容易实现 – 只需用给定的标记(在本例中为“.8”)回复文本,并用一个随机答案回复即可。

我从未听说过魔法 8 号球使用确定性方法,类似于 Cleverbot。实际上,尝试之后,我甚至不确定它的确定性有多强,因为大多数响应也是完全随机的,并且与我说的话无关。

// 我们的答案数组String[] answers = [ "yes", "no", "for sure", "unlikely", "most certainly", "definitely not" ];public String ask8Ball() {    // rand 返回一个介于 0>=res>1 之间的浮点数,(int) 强制转换为向下取整    int index = (int)(java.lang.Math.random() * 7);    return answers[index];}

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注