此文档介绍内容洞察数据获取时,实时/回溯两种类型的订阅任务的配置方式
客户侧在使用内容洞察数据时,需要先配置订阅任务,然后依据订阅任务的规则,从内容洞察的数据池中获取符合订阅规则的数据。当前内容洞察的订阅任务分为两种类型:【实时任务】和【回溯任务】
【实时任务】:即对于新发文,实时判断内容是否符合订阅规则,若符合,则推向下游客户使用;
「同步队列」:即时推送内容基础信息的高时效性队列,保障内容即时同步;(需单独开通权限)
「异步队列」:推送内容全量信息(基础信息+算法特征信息)的数据队列,因需要算法识别,有一定时延
【回溯任务】:即对于历史发文,整体判断内容是否符合订阅规则,若符合,则批量推向下游客户使用。
客户侧可调用相关API接口,按照订阅任务规则,设置订阅条件,创建实时订阅任务&回溯订阅任务。相关接口如下:
说明
规则配置存在节点数限制,超过限制接口报错(节点数即规则条件数,case:1个关键词即为1个节点)
实时任务:叶子节点不能超过10000条
回溯任务:叶子节点不能超过200条
规则配置存在层级限制,超过限制接口报错
实时任务:最多可以支持三层,本文规则示例即为三层
回溯任务:最多可以支持三层
关键词会有敏感词校验,若命中会报错,并返回命中的敏感词
相关位置(based_location)必须可以定位到有效的行政区划(支持常用名、官方名称、行政区代码),否则接口报错
需要按照上文中的要求构建规则,否则接口报错,规则保存失败
同一客户可以最多创建50个任务
内容洞察支持通过与、或等面向基础信息字段的组合条件,实现业务规则的配置。
操作类型 | 规则名称 | 参数说明 |
---|---|---|
逻辑运算:与 | and | 多个规则同时满足时命中 |
逻辑运算:或 | or | 存在一个规则满足时命中 |
列表中包含 | in_list | A值是否包含在B列表中【精准匹配】,其中B列表中的关键词或ID有长度限制,实时任务不能超过10000,回溯任务不能超过200 |
字符串匹配 | in | 参数1是被匹配的文本,参数2是字符串 |
列表和目标有交集 | list_intersect | A列表是否和B列表有交集 |
参数 | 参数释义 | 该参数是否可在同步/异步任务配置 |
---|---|---|
title | 标题 | 同步&异步均可配置 |
ocr | 图片识别信息 | |
asr | 语音识别信息 | |
poi_name | poi信息 | |
poi_city_name | poi城市名 | |
based_location | 相关位置信息 | |
same_origin_origin_id | 内容原始id(订阅同源发布内容) | |
same_origin_post_id | 洞察发文id(订阅同源发布内容) | |
tags | 分类标签,分类标签列表 | 仅异步可配置 |
参数 | 参数释义 |
---|---|
title | 标题 |
ocr | 图片识别信息 |
asr | 语音识别信息 |
tags | 分类标签,分类标签列表 |
poi_name | poi信息 |
poi_city_name | poi城市名 |
based_location | 相关位置信息 |
same_origin_origin_id | 内容原始id(订阅同源发布内容) |
same_origin_post_id | 洞察发文id(订阅同源发布内容) |
参数key | 英文名称 | 示例 | 说明 |
---|---|---|---|
f | field | {"f": "title"} | 表示这个参数需要从原始输入数据中去获取“title”特征 |
fl | field list | {"fl": ["title", "content"]} | 表示这个参数从原始数据中获取多个特征,并且组装成list。 |
l | list | {"l": ["值1", "值2"]} | 表示这个参数是一个列表,例:如果f为title,l即为标题命中的关键词。 |
运算符 | 参数名 |
---|---|
in_list | poi_name, poi_city_name, based_location, same_origin_origin_id, same_origin_post_id |
in | title, ocr, asr, poi_name, poi_city_name |
list_intersect | tags |
内容洞察提供了敏感词预览接口用于检测关键词是否命中敏感词,每天每个账号限制1万次请求,第二天零点会直接刷新配额。要求如下:
每个请求限制词个数<=100,若超过100,会返回报错
每个词的长度不能超过10。若有超过10的词,将不能检测这个词,并且把这个词放入invalid_words列表返回,其他长度不超过10的词还会检测
返回所有命中的敏感词(hit_words),以列表形式展示。命中的词将不能配置在以上接口的任务词中,否则将无法任务创建成功。
在订阅任务配置前,支持前置校验敏感词,接口信息参考:敏感词校验接口
REQ: GET /openapi/biz_sub/sensitive_words_check header: X-Insight-Biz-Name: $biz_name X-Insight-Access-Token: $token Content-Type: 'application/json' Body: { "words": ["测试", "火山", "台湾", "xxx我很敏感xxx", "测试这个词超过长度10不能检测"] }
RESP: { "status": 0, "message": "succeed", "data": { "hit_words": ["xxx我很敏感xxx"], // 若无命中则返回空list "invalid_words": ["测试这个词超过长度10不能检测"] // 不能检测的词, 该接口仅支持长度10以内的关键词检测 } }
说明
based_location支持针对全球范围内的不同行政区划的订阅。由于不同地区行政区划的名称不同,这里使用region/province/city/district/town来描述各个地区不同的区划名称,具体意义如下:
Region - 国家/地区
Province - 国家/地区以下第一级行政区划,如省、直辖市、State(US)、都、道、府、县(JP)等
City - 国家/地区以下第二级行政区划,如市、自治县、County(US)、町、村(JP)等
District - 国家/地区以下第三级行政区划,如区、县、City(US)等
Town - 国家/地区以下第四级行政区划,如乡、镇、街道等
海外地区订阅推荐使用英文名或当地地名
// 规则示例 [ "in_list", { "f": "based_location" }, { "l": [ {"region":"中国","district":"白云"} ] } ] // 实际订阅【推荐使用下述「行政区划查询接口」获取标准规则格式,直接以本方式配置规则】 [ "in_list", { "f": "based_location" }, { "l": [ {"region": "中华人民共和国","province": "广东省","city": "广州市","district": "白云区"}, {"region": "中华人民共和国","province": "贵州省","city": "贵阳市","district": "白云区"} ] } ]
中国大陆以及港澳台地区 code/geo_id/名称对应见火山引擎内容洞察行政区划- V1.0.0
// code规则示例 [ "in_list", { "f": "based_location.code" }, { "l": ["CN", "11", "130400", "152921", "510904001"] // 各code互为【或】的关系 } ] // geo_id规则示例 [ "in_list", { "f": "based_location.geo_id" }, { "l": [1814991, 1795912, 2038180, 1881768, 341125218] // 各geo_id互为【或】的关系 } ]
为了消除不同地区存在不同行政区划名称的问题,内容洞察提供了符合内容洞察标准的位置检索接口,用户可查询各国可支持订阅的有效地名及对应区划层级,接口支持对地点的行政区划等级采用「精准」和「模糊」两种匹配模式:
创建/修改订阅规则时,对位置规则的校验采用精准匹配模式
如匹配不到有效位置则会报错,不支持此次变更。
如匹配到多个有效位置取“或”关系创建规则。
【默认】精准匹配:位置的行政区划等级严格等于输入key值,如province="海南"只能匹配到[province="海南省"],不包括[province="青海省", city="海南州"];
模糊匹配:不校验行政区划等级,只保证行政区划等级更高的位置能包含等级更低的位置,如[region="日本", city="Tokyo"]能匹配到[region="日本国", province="东京都"]
REQ: POST /openapi/biz_sub/search_location header: X-Insight-Biz-Name: $biz_name X-Insight-Access-Token: $token Body: { "based_location": { "region":"中国","district":"白云" }, "is_fuzzy": true // 是否模糊匹配 }
RESP: { "status": 0, "data": [ { "region": "中华人民共和国", "province": "广东省", "city": "广州市", "district": "白云区" }, // 推荐使用完整的返回结果作为位置的条件配置入参 { "region": "中华人民共和国", "province": "贵州省", "city": "贵阳市", "district": "白云区" }, { "region": "中华人民共和国", "province": "河北省", "city": "保定市", "district": "顺平县", "town": "白云乡" } ], "message": "succeed" }
说明
以下规则示例含义说明:
[(发文标题/ocr/asr包含“火焰”)或(发文标题包含“社交平台”)或(发文标题包含“平台”)或(asr包含“文心一言”)] 且 [base location包含中华人民共和国贵州省贵阳市白云区]
行业标签为"owls_food"或"owls_other"
base location包含海南、广东广州白云
base location包含中华人民共和国贵州省贵阳市白云区
以上1234条均为“或”的关系
{ "rule":[ "or", [ "and", [ "or", [ "in", "火焰", { "fl": ["title", "ocr", "asr"] } ], [ "in", "社交平台", { "f":"title" } ], [ "in", "平台", { "f":"title" } ], [ "in", "文心一言", { "f":"asr" } ], ], [ "in_list", { "f": "based_location" }, { "l": [ {"region": "中华人民共和国", "province": "贵州省", "city": "贵阳市", "district": "白云区"} ] } ] ], [ "list_intersect", { "f":"tags" }, { "l":[ "owls_food", "owls_other" ] } ], [ "in_list", { "f": "based_location" }, { "l": [ {"region": "中华人民共和国", "province": "贵州省", "city": "贵阳市", "district": "白云区"} ] } ], [ ... ] ... ] }