情感计算服务协议
依赖生物数据基础分析服务,提供注意力、放松度、压力值计算等服务。
警告
服务需要在管理后台开通才能使用。
服务 | 操作 | 备注 |
---|---|---|
affective | start | 启动、初始化情感计算服务 |
subscribe | 订阅实时情感计算数据 | |
unsubscribe | 取消订阅实时情感计算数据 | |
report | 获取当前情感计算云计算服务报表 | |
finish | 结束某云计算服务 |
Affective Start
启动情感云计算服务。
Request
{
"services": "affective",
"op": "start",
"kwargs": {
"cloud_services": [
cloud_service1, # 云计算服务类型,attention、relaxation、pressure等
cloud_serviceN
]
}
}
Request Example
{
"services": "affective",
"op": "start",
"kwargs": {
"cloud_services": [
"attention",
"sleep"
]
}
}
Response
{
"code": 0,
"request": {
"services": "affective",
"op": "start"
},
"data": {
"cloud_service": [
cloud_service1, # 已启动的云计算服务类型
cloud_serviceN
]
}
}
Affective Subscribe
订阅情感云计算服务实时数据。分析返回值为可选服务,如果你需要实时接收分析返回的值,则开启此订阅,并配置要返回的参数。具体参数见下表。
- 注意:Subscribe有两种Response
- 订阅成功Response
- 订阅数据Response
注意:服务需要在后台开通相关权限才可访问。
Subscribe Request 结构体(V1 版本接口)
{
"services": "affective",
"op": "subscribe",
"kwargs": {
cloud_service1: [ # 云计算服务类型,attention、relaxation、pressure等
data_type1, data_type2, data_typeN # 数据类型,详见情感云计算服务 参数 列
],
cloud_serviceN: [
data_type1, data_type2, data_typeN
]
}
}
Request Example
{
"services": "affective",
"op": "subscribe",
"kwargs": {
"attention": [
"attention"
],
"sleep": [
"sleep_degree", "sleep_state"
]
}
}
Subscribe Request 结构体(V2 版本接口)
{
"services": "affective",
"op": "subscribe",
"args": [affective_service_type1, affective_service_type2] # 情感计算服务类型
}
Request Example
{
"services": "affective",
"op": "subscribe",
"args": ["attention", "sleep"]
}
Subscribe 结构体
订阅状态 Response 订阅成功后的状态返回值。会返回所有正在订阅中的计算服务。
{
"code": 0,
"request": {
"services": "affective",
"op": "subscribe"
},
"data": {
"sub_" + cloud_service1 + "_fields": [ # cloud_service1: 云计算服务类型,attention、relaxation、pressure等
data_type1, data_typeN, # 已订阅数据,详见情感云计算服务参数列
]
"sub_" + cloud_serviceN + "_fields": [
data_type1, data_typeN,
]
}
}
订阅数据 Response
返回的数据取决于 Affective Subscribe 时设置的数据。
情感云计算实时返回数据服务和参数项
服务类型(cloud_service) | 数据类型(data_type) | 类型 | 取值范围 | 说明 |
---|---|---|---|---|
attention | attention | float | [0, 100] | 注意力值,数值越高代表注意力越高 |
attention_chd | attention_chd | float | [0, 100] | 儿童注意力值,数值越高代表注意力越高 |
relaxation | relaxation | float | [0, 100] | 放松度值,数值越高代表放松度越高 |
relaxation_chd | relaxation_chd | float | [0, 100] | 儿童放松度值,数值越高代表放松度越高 |
pressure | pressure | float | [0, 100] | 压力水平值,数值越高代表压力水平越高 |
pleasure | pleasure | float | [0, 100] | 愉悦度值,数值越高代表情绪愉悦度越高 |
arousal | arousal | float | [0, 100] | 激活度值,数值越高代表情绪激活度越高 |
coherence | coherence | float | [0, 100] | 和谐度值,数值越高代表越和谐 |
sleep | sleep_degree | float | [0, 100] | 睡眠程度,数值越小代表睡得越深 |
sleep_state | int | {0, 1} | 睡眠状态,0 表示未入睡,1 表示已入睡 |
{
"code": 0,
"request": {
"services": "affective",
"op": "subscribe"
},
"data": {
cloud_service1: { # 云计算服务数据类型,attention、relaxation、pressure等
data_type1: data1, # 数据类型、数据包,详见情感云计算服务数据表
data_typeN: dataN,
},
cloud_serviceN: {
data_type1: data1,
data_typeN: dataN,
}
}
}
}
Affective Unsubscribe
取消订阅情感云计算服务实时数据。
Unsubscribe Request 结构体(V1 版本接口)
{
"services": "affective",
"op": "unsubscribe",
"kwargs": {
cloud_service1: [ # 云计算服务类型,attention、relaxation、pressure等
data_type1, data_type2, data_typeN # 数据类型,详见情感云计算服务参数列
],
cloud_serviceN: [
data_type1, data_type2, data_typeN
]
}
}
Request Example
{
"services": "affective",
"op": "unsubscribe",
"kwargs": {
"attention": [
"attention"
]
}
}
Unsubscribe Request 结构体(V2 版本接口)
{
"services": "affective",
"op": "unsubscribe",
"args": [affective_service_type]
}
Request Example
{
"services": "affective",
"op": "unsubscribe",
"args": ["attention"]
}
Unsubscribe Response 结构体
{
"code": 0,
"request": {
"services": "affective",
"op": "unsubscribe"
},
"data": {
"sub_" + cloud_service1 + "_fields": [ # cloud_service1: 云计算服务数据类型,attention、relaxation、pressure等
data_type1, data_typeN, # 已订阅数据,详见情感云计算服务数据表参数列
]
"sub_" + cloud_serviceN + "_fields": [
data_type1, data_typeN,
]
}
}
Affective Report
订阅服务返回的数据包个数达到要求之后,可以请求获取服务数据报表。返回从服务开始到执行此操作区间的所有值的分析报表。具体可返回的报表结果见下表。
报表请求时间间隔
警告
- 订阅服务返回的数据包个数达到要求才可请求,否则返回值为空或0。
- 每次请求的 Report 会缓存 2 分钟,2 分钟内请求的 Report 都为上一次分析的分析结果。2 分钟后缓存过期,我们会清除缓存中的 Report 数据,再次请求则返回新的完整 Report 数据报表。
- 测试应用 report 保留时间为 1 分钟。
类别 | 需要收到数据包的个数 | 请求间隔 |
---|---|---|
attention | 5 | 2min |
attention_chd | 5 | 2min |
relaxation | 5 | 2min |
relaxation_chd | 5 | 2min |
pressure | 5 | 2min |
arousal | 5 | 2min |
pleasure | 5 | 2min |
coherence | 5 | 2min |
sleep | coherence | 2min |
sleep | 5 | 3min |
情感云计算服务数据报表
类别 | 参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|---|
attention | attention_avg | float | [0, 100] | 注意力平均值 |
attention_rec | list[float] | [0, 100]*k, (k≥5) | 注意力全程记录,横坐标点间间隔为0.6x秒 | |
attention_chd | attention_avg | float | [0, 100] | 儿童注意力平均值 |
attention_rec | list[float] | [0, 100]*k, (k≥5) | 儿童注意力全程记录,横坐标点间间隔为0.6x秒 | |
attentive_duration | int | [0, +∞) | 专注状态时长,单位:秒 | |
distracted_duration | int | [0, +∞) | 分心状态时长,单位:秒 | |
normal_duration | int | [0, +∞) | 普通状态时长,单位:秒 | |
relaxation | relaxation_avg | float | [0, 100] | 放松度平均值 |
relaxation_rec | list[float] | [0, 100]*k, (k≥5) | 放松度全程记录,横坐标点间间隔为0.6x秒 | |
relaxation_chd | relaxation_avg | float | [0, 100] | 儿童放松度平均值 |
relaxation_rec | list[float] | [0, 100]*k, (k≥5) | 儿童放松度全程记录,横坐标点间间隔为0.6x秒 | |
relaxed_duration | int | [0, +∞) | 放松状态时长,单位:秒 | |
nervous_duration | int | [0, +∞) | 紧张状态时长,单位:秒 | |
normal_duration | int | [0, +∞) | 普通状态时长,单位:秒 | |
pressure | pressure_avg | float | [0, 100] | 压力水平平均值 |
pressure_rec | list[float] | [0, 100]*k, (k≥5) | 压力水平全程记录,横坐标点间间隔为0.6x秒 | |
pleasure | pleasure_avg | float | [0, 100] | 愉悦度平均值 |
pleasure_rec | list[float] | [0, 100]*k, (k≥5) | 愉悦度全程记录,横坐标点间间隔为0.6x秒 | |
arousal | arousal_avg | float | [0, 100] | 激活度平均值 |
arousal_rec | list[float] | [0, 100]*k, (k≥5) | 激活度全程记录,横坐标点间间隔为0.6x秒 | |
coherence | coherence_avg | float | [0, 100] | 和谐度平均值 |
coherence_rec | list[float] | [0, 100]*k, (k≥5) | 和谐度全程记录,横坐标点间间隔为0.6x秒 | |
coherence_flag | list[int] | {0, 1}*k, (k≥5) | 和谐区间标记,横坐标点间间隔为0.6x秒 0表示非和谐状态,1表示和谐状态 | |
coherence_duration | int | [0, +∞) | 和谐时长,单位:秒 | |
sleep | sleep_curve | list[float] | [0, 100]*k, (k≥5) | 睡眠曲线,横坐标为0.6x(x≥10;会话设置的x小于10的情况下,默认转化为10为)一个点。连续描绘整个小睡过程的睡眠程度。该值越小表示越接近深睡;该值越大表示越接近清醒 |
sleep_point | int | [0, +∞) | 入睡点时间轴索引,用于标记入睡点。对应睡眠曲线数组的下标,表示那个数据点用户入睡 | |
sleep_latency | int | [0, +∞) | 入睡用时,单位秒 | |
awake_duration | int | [0, +∞) | 清醒时长,单位秒 | |
light_duration | int | [0, +∞) | 浅睡时长,单位秒 | |
deep_duration | int | [0, +∞) | 深睡时长,单位秒 | |
movement_count | int | [0, +∞) | 体动次数 advanced_analysis=True时输出 | |
arousal_count | int | [0, +∞) | 觉醒次数 advanced_analysis=True时输出 | |
movement_rec | list[int] | {0, 1}*k, (k≥5) | 体动标志记录 0表示无体动 1表示有体动 advanced_analysis=True时输出 | |
arousal_rec | list[int] | {0, 1}*k, (k≥5) | 觉醒标志记录 0表示无觉醒 1表示有觉醒 advanced_analysis=True时输出 | |
disturb_tolerance | float | [0, 100] | 睡眠抗干扰能力,睡眠过程中的噪声耐受性,与脑电中的纺锤波有关 值越大表示抗干扰能力越强 advanced_analysis=True时输出 |
Report Request 结构体
{
"services": "affective",
"op": "report",
"kwargs": {
"cloud_services": [
cloud_service1, # 云计算服务数据类型,attention、relaxation、pressure等
cloud_serviceN
]
}
}
Request Example
{
"services": "affective",
"op": "report",
"kwargs": {
"cloud_services": [
"attention"
]
}
}
Report Response 结构体
{
"code": 0,
"request": {
"services": "affective",
"op": "report"
},
"data": {
cloud_service1: { # 生物数据类型,attention、relaxation、pressure等
data_type1: data1, # 数据类型、数据包 详见情感云计算服务数据报表
data_typeN: dataN,
},
cloud_serviceN: {
data_type1: data1,
data_typeN: dataN,
}
}
}
Affective Finish
结束某情感云计算服务。
警告
- 服务用完后需及时请求 finish,如果不及时请求,我们会认为服务未停止,将会继续计费。
- 服务的 finish 会在会话结束时自动请求,但不推荐使用 session close 来结束服务,应当先结束服务再关闭会话。
Finish Request 结构体
{
"services": "affective",
"op": "finish",
"kwargs": {
"cloud_services": [
cloud_service1, # 生物数据类型,attention、relaxation、pressure等
cloud_serviceN
]
}
}
Request Example
{
"services": "affective",
"op": "finish",
"kwargs": {
"cloud_services": [
"attention"
]
}
}
Finish Response 结构体
{
"code": 0,
"request": {
"services": "affective",
"op": "finish"
},
"data": {
"cloud_service": [
cloud_service1, # 生物数据类型,attention、relaxation、pressure等
cloud_serviceN
]
}
}