psychopy 中文语义相关判断任务实验设计

news2024/9/20 20:35:37

参考文献:

[石如彬, 谢久书, 杨梦情, & 王瑞明. (2022). 语言和情境对具体概念感知运动仿真的影响. 心理学报, 54(6), 583–594. https://doi.org/10.3724/SP.J.1041.2022.00583]

2.2.4实验1。

演示效果

按下“上方向键”

按F或J

反馈信息:

实验步骤

实验包括中文和英文两个区组, 被试需要完成两个区组的实验,区组间的顺序在被试间进行了平衡(石如彬,谢久书,杨梦情,王瑞明,2022)。

实验中, 首先在白色屏幕中心呈现 500 ms 的红色注视点“+”, 让被试集中注意力。

注视点消失后, 在注视点上方和下方同时各呈现一个中文双字词(中文区组)或英文单词(英文区组), 要求被试判断词汇之间是否存在语义相关, 若存在相关按“J”键, 无关按“F”键。

“J”和“F”按键与是否语义相关的对应关系在被试间进行了平衡。

实验中要求被试又快又准的做出反应。

被试做出反应或无反应达到 3000 ms 后进入 800 ms的空屏, 空屏结束后自动进入下一个试次。

正式实验前被试接受练习实验, 给予被试正确与否的反馈,只有达到一定正确率才能进行正式实验。

为了保证试次的数量足够, 实验材料重复 3 遍, 每名被试完成 480 个试次, 中英文实验材料各半。

具体实验流程见图 1 (石如彬,谢久书,杨梦情,王瑞明,2022)。

引导语环节

1. 先去设置中将Input改为PsychToolbox(使用ioHub在Mac上运行会崩溃,暂时没有找到解决办法)。

2. 然后左上角File-New新建一个

3. 右键trial,rename改名

改成自己想要的名字即可,比如欢迎界面routine_welcome。

PS:使用长命名是为了避免写到后面发现页面和组件多时造成混乱的情况。

插入两个组件,每次点击组件都会弹出对话框,按需要进行填写:

配置Text

由于实验要求白底黑字,所以改一下设置,白底设置:

再把这一页的文字也改一下颜色,改成黑色:

添加键盘反应以进行下一步:

这个页面设计好后,可以运行试试。

PS:由于psychopy默认全屏运行,不方便截图,可以改小一点

点击顶部的绿色三角,即可运行。

运行结果如下:

实验环节

接下来编写第二个环节,也就是实验页面,由于实验页面需要循环展示,所以先制作要展示的数据,由于没有原始数据,所以我按照原文中的描述,自己编写了一点数据,如下:

text_word_up

text_word_down

corr_Ans

空间关系

花瓶

玫瑰

j

一致

书籍

桌子

j

一致

玫瑰

花瓶

j

不一致

桌子

书籍

j

不一致

学生

校园

j

NA

校园

学生

j

NA

汽车

f

NA

咖啡

f

NA

(本文只是为了展示用法,数据暂不包含英文部分)

PS:这里我一开始用大写字母F和J,但是在后面发现键盘反馈无法读取大写字母,改成小写字母后,这里不对应会使trial_key_resp.corr这个值一直为0,所以只能全部改成小写,也许有更好的办法,但是目前还没找到。

根据原文,在屏幕中间上方和下方会各出现一个词,被试需要按J(语义相关)或F(语义无关),实验结束后,只分析“语义相关实验词”,而“语义相关填充词”(校园-学生)或“无关词”(猫-汽车)会被忽略,所以不需要标注空间关系。

有了数据以后,我们添加下一环

实验页面循环

在给这个环节添加模块之前,我们先给它创建一个循环。

然后分别在这个环节左右两边点上

此时会弹出一个选项框,让你填写循环条件

nReps: 所有条件重复出现的次数, 按照要求,实验材料重复3遍,所以这里填写3,而我的表格中有8行数据, 我们将做这个 trial 3×8=24 次。

loopType: 循环的随机方式. random 为在每一次 nReps 内, 即每一组重复出现的条件内进行循环. 例如, nReps为 2, 可能的图片顺序是 1 2 3 4 4 3 2 1. 注意在前四次和后四次1234都各出现了一次。

与之相对的是Full Random, 它可以跨nReps进行随机. 例如, 可能出现 1 1 2 2 3 3 4 4 的图片顺序。

循环条件写好后,就可以针对循环条件,写对应的展示页面。

实验页面

按照原文表述,首先在白色屏幕中心呈现 500 ms 的红色注视点“+”,然后呈现文字,并要求做出反应。

分别点击Text、Polygon和Keyboard,进行设置(每次点击都会弹框)

实验页面十字

先对十字进行设置,首先它需要呈现500ms

调整颜色和大小

然后我们点击绿色三角运行看看,效果如下:

按esc退出,

实验页面Text

我们接着操作Text部分,注视点消失后, 在注视点上方和下方同时各呈现一个中文双字词,这里我简单的使用python中的f-string,然后使用一个\n(换行)实现。

(注意倒数第二步如果是constant,就会报错NameError: name 'text_word_up' is not defined,因为该值需要每次都更新)

修改文字颜色:

修改字体:

运行效果:

实验页面键盘反馈

接下来要添加键盘反馈,也就是判断词汇之间是否存在语义相关, 若存在相关按“J”键, 无关按“F”键。

这里要注意,Allowed keys字母一定要用小写,使用大写将无法识别,而在实际测试中,键盘本身是否开启大写无所谓,甚至中文输入法下也是可以识别f键和j键的。

在这里勾选一下,存储结果,此时我们可以直接点击绿色三角运行一下,按实验流程走完,目的是为了获得csv文件

反馈环节

按流程走完后,去工程目录data下找到最新的csv文件,往右滑动,此时可以看到几个我们想要的数据,我们可以用来做按键反应后的反馈页面

按键以后需要做出反馈,因此在trial后面添加一个routine_feedback环节

原文中没有说明反馈页面呈现的时间,这里暂时定500ms好了(只在练习阶段出现),需要插入Text和Code组件

注意顺序,变量先在code中定义,然后才在text中使用。

Code组件中的代码:

if components_trial_key_resp.corr == 1:

    feedback_text = '正确!用时=%.3f' % components_trial_key_resp.rt

    feedback_text_color = 'green'

else:

    print("components_trial_key_resp.rt=====", components_trial_key_resp.rt)

    feedback_text = '错误!用时=%.3f' % (components_trial_key_resp.rt if components_trial_key_resp.rt else 3.0)

    feedback_text_color = 'red'

如果没有按下按键,反应时会返回一个空list,所以我需要传入3s(超时的时间,后续数据处理时会把所有大于2s的数据都剔除)

Text组件配置:

调整文字颜色:

演示

运行一下看看:

按下“上方向键”

按F或J

反馈信息:

根据原文,做出反应或超时后,还需要添加一个800ms的空屏,这里没有说是包含了反馈时间还是不包含,而且我不知道空屏的组件是什么,所以选择了Text组件并删除了所有文字

实测可以达到效果,如果有更好的办法也可以进一步探讨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2047784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#中的S7协议

S7协议-S7COMM S7COMM 进行写 CTOP->PDU type已知枚举值 0X0E连接请求0x0d连接确认0x08断开请求0x0c断开确认0x05拒绝访问0x01加急数据0x02加急数据确认0x04用户数据0x07TPDU错误0x0f数据传输 S7Header->ROSCTR已知枚举值 0X01JOB REQUEST。主站发送请求0x02Ack。从站…

jmeter压测websocket

1、jmeter安装websocket插件 下载地址 pjtr / JMeter WebSocket Samplers / Downloads — Bitbucket 下载之后,放到lib/ext文件夹下,重启jmeter即可,看到下图这些证明插件安装成功 2、脚本 新建websocket request-response sampler

day05-SpringBootWeb请求响应学习笔记

上面说过,浏览器向服务端发送请求,服务端会给浏览器发送出响应,无论是哪种,都包含三部分。这一章,依旧围绕这部分内容 请求 Postman 由于前后端分离,对我们后端技术人员来讲,在开发过程中&…

SpringBoot——整合Swagger

目录 Swagger Swagger工具集 Swagger注解 项目总结 新建SpringBoot项目 pom.xml Swagger2Config配置类 User实体类 UserController控制器 项目测试 添加用户 修改用户 查询用户 删除用户 Swagger Swagger是一款基于RESTful接口的用于文档在线自动生成和功能测试的开…

揭开虚拟与现实的帷幕:二进制世界与道

本章将带领读者进入一个结合科学与哲学的思维世界,从一个全新的视角探讨二进制世界的概念,结合超弦理论和老子的“道”哲学,深入理解计算机底层的运行原理及其与宇宙本质的联系。通过回顾经典电影《黑客帝国》以及最新的人工智能发展&#xf…

Android经典实战之Kotlin 2.0 迁移指南:全方位优化与新特性解析

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 Kotlin 2.0 迁移指南:开发者如何迎接新时代 Kotlin 2.0,这个备受期待的版本,终于在 JetBrains 的精心打磨下…

前端各种文本文件预览 文本编辑excel预览编辑 pdf预览word预览 excel下载pdf下载word下载

前端各种文本文件预览 文本编辑excel预览编辑 pdf预览word预览 excel下载pdf下载word下载 各种文本文件预览(pdf, xlsx, docx, cpp, java, sql, py, vue, html, js, json, css, xml, rust, md, txt, log, fa, fasta, tsv, csv 等各种文本文件) 其中 除p…

【LeetCode Cookbook(C++ 描述)】一刷二叉树综合(上)

目录 LeetCode #226:Invert Binary Tree 翻转二叉树「遍历」「分而治之」广度优先搜索:层序遍历 LeetCode #101:Symmetric Tree 对称二叉树递归法迭代法 LeetCode #100:Same Tree 相同的树递归法迭代法 LeetCode #559:…

万能钥匙:解锁 C++ 模板的无限可能

1.泛型编程 1.1:交换两个数(C语言) 1.2:交换两个数(C) 1.3:泛型编程 2:函数模板 2.1:函数模板的概念 2.2:函数模板的格式 ​编辑 2.3:函数模板的原理 2.4:模板的实例化 2.4.1:隐式实例化 2.4.2:显式实例化:在函数名后的<>中指定模板参数的实际类型. 2.4.2.1…

Unidbg使用指南

Unidbg使用指南 简介使用Unidbg补环境仅含C语言C调用 Java 实操——车智赢在unidbg实现执行so中的方法附——关于引用数据类型的转换附——静态注册和动态注册模板静态注册动态注册 现在很多的app使用了so加密&#xff0c;以后会越来越多。爬虫工程师可能会直接逆向app&#xf…

黑马前端——days09_css

案例 1 页面框架文件 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compati…

Ubuntu20.04如何安装配置JDK

资源准备 官方下载地址&#xff08;根据自己的系统版本选择不同版本进行下载即可&#xff09;&#xff1a;Java Downloads | Oracle 如无特殊需要可直接移步至下方JDK1.8安装包 https://download.csdn.net/download/qq_43439214/89646731 安装步骤 创建Java目录 sudo mkdir …

jmeter安装及环境变量配置、Jmeter目录介绍和界面详解

一 JMeter简介 Apache JMeter是100%纯JAVA桌面应用程序&#xff0c;被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能&#xff0c;例如&#xff1a;静态文件&#xff0c;Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器…

【已解决】在进行模型量化推理的过程中遇到的错误以及解决方法

①在使用vLLM推理模型时&#xff0c;出现&#xff1a; Error in calling custom op rms_norm: _OpNamespace _C object has no attribute rms_norm 尝试众多解决方法之后&#xff0c;包括重新安装 pip install vllm0.5.0 对我有用的解决方法&#xff1a; 修改子目录下的vll…

【2024最新】Windows系统上NodeJS安装及环境配置图文教程

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;允许在服务器端运行 JavaScript 代码。它采用事件驱动、非阻塞 I/O 模型&#xff0c;非常适合构建高性能的网络应用程序。Node.js 提供了一系列内置模块&#xff0c;支持异步编程&#xff0c;易于扩展&…

机器学习:knn算法实现图像识别

1、概述 使用K-近邻&#xff08;K-Nearest Neighbors, KNN&#xff09;算法对手写数字进行识别的过程。通过读取一张包含多个手写数字的图片&#xff0c;将其分割成单独的数字图像&#xff0c;并将其作为训练和测试数据集。 2、数据处理思路 1、图像分割该数据有50行100列&am…

手机设备IP地址切换:方法、应用与注意事项

在当今数字化时代&#xff0c;手机已成为我们日常生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;手机都扮演着重要角色。然而&#xff0c;随着网络环境的日益复杂&#xff0c;有时我们需要切换手机设备的IP地址以满足特定的需求&#xff0c;如保护隐私、绕过地…

算法笔记:空间填充曲线

空间填充曲线&#xff08;Space-filling curve&#xff09;是一种数学曲线&#xff0c;它可以无间断地覆盖一个多维空间的每一个点&#xff0c;从而实现从一维到多维的映射。用以解决连续与离散空间之间的映射问题。空间填充曲线的应用广泛&#xff0c;包括图像处理、地理信息系…

基于微信小程序的诗词智能学习系统的设计与实现(全网独一无二,24年最新定做)

文章目录 前言&#xff1a; 博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为…

dos攻击漏洞思路小结

前言 想挖掘src拒绝服务类型的漏洞&#xff0c;搜索了一圈社区相关文章较少&#xff0c;这里根据自己的一些实战案例归纳思路来抛砖引玉&#xff0c;希望能对各位师傅有所帮助&#xff01; 从黑盒视角搭配实际场景&#xff0c;说明如何具体操作能够快速的挖掘拒绝服务漏洞。 …