跳到主要内容

情感计算服务协议

依赖生物数据基础分析服务,提供注意力、放松度、压力值计算等服务。

警告

服务需要在管理后台开通才能使用。

服务操作备注
affectivestart启动、初始化情感计算服务
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)类型取值范围说明
attentionattentionfloat[0, 100]注意力值,数值越高代表注意力越高
attention_chdattention_chdfloat[0, 100]儿童注意力值,数值越高代表注意力越高
relaxationrelaxationfloat[0, 100]放松度值,数值越高代表放松度越高
relaxation_chdrelaxation_chdfloat[0, 100]儿童放松度值,数值越高代表放松度越高
pressurepressurefloat[0, 100]压力水平值,数值越高代表压力水平越高
pleasurepleasurefloat[0, 100]愉悦度值,数值越高代表情绪愉悦度越高
arousalarousalfloat[0, 100]激活度值,数值越高代表情绪激活度越高
coherencecoherencefloat[0, 100]和谐度值,数值越高代表越和谐
sleepsleep_degreefloat[0, 100]睡眠程度,数值越小代表睡得越深
sleep_stateint{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 分钟。
类别需要收到数据包的个数请求间隔
attention52min
attention_chd52min
relaxation52min
relaxation_chd52min
pressure52min
arousal52min
pleasure52min
coherence52min
sleepcoherence2min
sleep53min

情感云计算服务数据报表

类别参数类型取值范围说明
attentionattention_avgfloat[0, 100]注意力平均值
attention_reclist[float][0, 100]*k, (k≥5)注意力全程记录,横坐标点间间隔为0.6x秒
attention_chdattention_avgfloat[0, 100]儿童注意力平均值
attention_reclist[float][0, 100]*k, (k≥5)儿童注意力全程记录,横坐标点间间隔为0.6x秒
attentive_durationint[0, +∞)专注状态时长,单位:秒
distracted_durationint[0, +∞)分心状态时长,单位:秒
normal_durationint[0, +∞)普通状态时长,单位:秒
relaxationrelaxation_avgfloat[0, 100]放松度平均值
relaxation_reclist[float][0, 100]*k, (k≥5)放松度全程记录,横坐标点间间隔为0.6x秒
relaxation_chdrelaxation_avgfloat[0, 100]儿童放松度平均值
relaxation_reclist[float][0, 100]*k, (k≥5)儿童放松度全程记录,横坐标点间间隔为0.6x秒
relaxed_durationint[0, +∞)放松状态时长,单位:秒
nervous_durationint[0, +∞)紧张状态时长,单位:秒
normal_durationint[0, +∞)普通状态时长,单位:秒
pressurepressure_avgfloat[0, 100]压力水平平均值
pressure_reclist[float][0, 100]*k, (k≥5)压力水平全程记录,横坐标点间间隔为0.6x秒
pleasurepleasure_avgfloat[0, 100]愉悦度平均值
pleasure_reclist[float][0, 100]*k, (k≥5)愉悦度全程记录,横坐标点间间隔为0.6x秒
arousalarousal_avgfloat[0, 100]激活度平均值
arousal_reclist[float][0, 100]*k, (k≥5)激活度全程记录,横坐标点间间隔为0.6x秒
coherencecoherence_avgfloat[0, 100]和谐度平均值
coherence_reclist[float][0, 100]*k, (k≥5)和谐度全程记录,横坐标点间间隔为0.6x秒
coherence_flaglist[int]{0, 1}*k, (k≥5)和谐区间标记,横坐标点间间隔为0.6x秒 0表示非和谐状态,1表示和谐状态
coherence_durationint[0, +∞)和谐时长,单位:秒
sleepsleep_curvelist[float][0, 100]*k, (k≥5)睡眠曲线,横坐标为0.6x(x≥10;会话设置的x小于10的情况下,默认转化为10为)一个点。连续描绘整个小睡过程的睡眠程度。该值越小表示越接近深睡;该值越大表示越接近清醒
sleep_pointint[0, +∞)入睡点时间轴索引,用于标记入睡点。对应睡眠曲线数组的下标,表示那个数据点用户入睡
sleep_latencyint[0, +∞)入睡用时,单位秒
awake_durationint[0, +∞)清醒时长,单位秒
light_durationint[0, +∞)浅睡时长,单位秒
deep_durationint[0, +∞)深睡时长,单位秒
movement_countint[0, +∞)体动次数
advanced_analysis=True时输出
arousal_countint[0, +∞)觉醒次数
advanced_analysis=True时输出
movement_reclist[int]{0, 1}*k, (k≥5)体动标志记录
0表示无体动
1表示有体动
advanced_analysis=True时输出
arousal_reclist[int]{0, 1}*k, (k≥5)觉醒标志记录
0表示无觉醒
1表示有觉醒
advanced_analysis=True时输出
disturb_tolerancefloat[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
]
}
}