【问题标题】:Scratch project: To check if any word in a list is contained in an answerScratch 项目:检查列表中的任何单词是否包含在答案中
【发布时间】:2021-02-18 21:00:20
【问题描述】:

我有以下 Scratch 项目,其中有一个“种类列表”,例如:“好”、“种类”、“爱”、“来”等。

用户应该能够输入任何包含这些词的句子,并且会显示出幸福的表情。

目前,如果用户输入“kind”,则显示开心的表情,如果输入“you are kind”之类的其他内容,则会显示悲伤的表情。

如何从头开始更改它,以便如果用户输入:

“你很善良”或 “你真好”或 “过来” (任何包含“kindlist”中任何单词的句子)脸是快乐的,否则不是。

我只能找到一个允许我选择 LIST 和 ANSWER 的块,而没有其他选择。我想要的是 Python 等价于 > in list

answer=input("说点什么") 如果输入答案(句子)中有任何单词在列表中。 然后做- - -

出于教学目的,我试图简化 https://machinelearningforkids.co.uk/#!/newproject 上的内容(创建训练集)。这可以直接从头开始吗?或者这就是为什么该站点允许您首先在其站点上生成块并导入它们的原因。

当然,Scratch 应该有能力将数据输入到列表中,然后直接测试它们。

我也尝试过使用循环(也不能完全正常工作),但希望有更简单的方法。

【问题讨论】:

  • 更新了,我尝试添加一个循环,但希望有更简单的方法。

标签: list variables mit-scratch question-answering


【解决方案1】:

我猜 Scratch 故意提供了一组最少的功能, 一方面不要压倒初学者, 另一方面,鼓励学生将简单的块拼凑成更复杂的系统。 是的,一个简单的(sentence) contains (word) 就是您开箱即用的全部内容; 你确实需要一个循环来匹配一个多词句子和一个多词白名单。

在我看来,使用一些开发环境会更好 这至少会给你一些成熟的文本解析能力。 我并不是说使用 Scratch 教学生机器学习是不可能的,但我怀疑它是这项工作的最佳工具。 感觉就像有人想上音乐课,但学生首先必须完成制作钢琴的过程。

至于您的代码,它看起来是一个好的开始。 一些建议:

  • 将“forever”循环替换为以列表“kindthings”的长度为界的循环。
  • 在“包含”检查中包含前导空格和尾随空格,以确保只有整个单词匹配。不希望句子中的“不快乐”与白名单中的“快乐”相匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-21
    • 2018-04-21
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2021-09-22
    • 2014-03-02
    相关资源
    最近更新 更多