python - 如何在python中生成不正确的选项
问题描述
所以我正在研究一个问题生成器,到目前为止,我已经从一个句子中生成了一些问题。我现在需要做的是生成 3 个与答案类似的其他选项,以便我可以将其设为 MCQ 类型。
我面临的问题是,当我生成类似的词时,我会得到令人讨厌的东西,或者一般来说是重复词。
例如,对于“如何”,我得到你好,你好,你好
对于“氢”,我得到原子序数 1,化学元素,气体
我需要一个更可靠的方法(我正在使用字典来生成类似的单词)我在天网遇到了类似的问题。
所有帮助表示赞赏:)
from PyDictionary import PyDictionary
dictionary=PyDictionary()
answer = dictionary.synonym(word)
解决方案
你可能不想得到反义词,因为那太明显了。另外,氢的反义词是什么?
你也不想要像“汽车”或“房子”这样的任意词,因为这也太明显了,可能会使答案变得荒谬。
你想要一些相关的词,甚至可能有困难。可能“铀”很容易排除,但“氧气”和“氮气”很难排除?
我在猜谜游戏方面的经验是:需要大量的思考和手工工作才能得到有足够多错误选项来回答的好问题。
我对猜谜游戏的建议:
- 尝试找到一个以上的正确答案,否则玩家会太容易记住它。(不幸的是有时没有)
- 找到比需要更多的错误答案。如果您在屏幕上显示 3 个错误答案,请找到至少 10 个错误答案可供选择。这将花费玩家时间阅读并使其对新手更加公平。
总的来说,您可能需要一个用于生成句子的模板引擎和一个“数据库”(JSON 或其他)来放入您精心制作的单词。
抱歉,我没有为这项任务推荐一种花哨的 AI 算法。人工智能应该如何判断一个原子的有效(或无效)选择是基于重量、结合能、自由电子、放射性还是其他标准?
我发现以上对于数学问题也是如此。当然,通常更容易找到错误的答案。但是您仍然希望数字范围符合某些标准(例如一年级学校的 1 到 10)。人工智能算法应该如何知道您针对特定的儿童年龄?
推荐阅读
- vue.js - 设置加载叠加层的不透明度
- java - “null”应该是属性的有效值吗?
- amazon-web-services - 并行运行数千个容器的云计算服务
- tensorflow - Keras:BiLSTM 仅在 return_sequences=True 时有效
- c# - Linq - 连接多个表并输出到单个结果集中
- ios - 如何使用 MVVM 架构编写核心位置并执行单元测试?
- javascript - 将 chrome 历史记录附加到弹出 html 并不断闪烁
- xml - Liquibase:插入从输入 *.csv 获取路径的 blob 文件
- javascript - $q.all 为数组中的所有承诺返回相同的响应
- mongodb - MongoDB:为什么使用 {field_name:" 查找查询
"} 不同于 {field_name: ^ $}?