“验证程序”的版本间差异
跳到导航
跳到搜索
WangJinning(讨论 | 贡献) |
WangJinning(讨论 | 贡献) 小 (→输出形式) |
||
第76行: | 第76行: | ||
输入mp4格式的文件,本算法将读取mp4的内容并截取其中的数帧的画面编码成base64格式的json数据输出,输出图片不固定,在每次运行时都将随机选取图片输出,目前规定输出的内容视频总时间、三张视频截图(以Base64编码表示)以及其三张截图的截取时间, | 输入mp4格式的文件,本算法将读取mp4的内容并截取其中的数帧的画面编码成base64格式的json数据输出,输出图片不固定,在每次运行时都将随机选取图片输出,目前规定输出的内容视频总时间、三张视频截图(以Base64编码表示)以及其三张截图的截取时间, | ||
输出json格式如下:<syntaxhighlight lang="json"> | |||
<syntaxhighlight lang="json"> | |||
{ | { | ||
totalDuration: // 总时长 | totalDuration: // 总时长 |
2024年3月29日 (五) 06:39的版本
验证程序是一种特殊的微处理程序,用于披露数据某些维度的信息,以供买方参考。通常,验证程序不会披露额外的信息,这是由隐私计算技术保证的。
本文说明了典枢中各种验证程序的细节信息。
未来,典枢还将支持用户自定义验证程序。
CSV统计程序
输入csv格式的文件,本算法将对文件的数据进行质量评估的统计,并在算法结束后将统计结果输出。统计结果包括csv的行数,列数,总缺失值数,列缺失值数量统计、行缺失值数量统计。算法将以列数最多的行为起点统计缺失值情况。
CSV统计程序运行后输出结果的结构如下所示:
{
"rows": 58,
"cols": 6,
"totalNulls": 48,
"NullProportion": 13.79,
"col_nulls": [
{ "null_num": 6, "count": 1 },
{ "null_num": 7, "count": 1 },
{ "null_num": 8, "count": 2 },
{ "null_num": 9, "count": 1 },
{ "null_num": 10, "count": 1 }
],
"row_nulls": [
{ "null_num": 0, "count": 34 },
{ "null_num": 1, "count": 16 },
{ "null_num": 2, "count": 2 },
{ "null_num": 3, "count": 1 },
{ "null_num": 4, "count": 1 },
{ "null_num": 5, "count": 3 },
{ "null_num": 6, "count": 1 }
]
}
输出的内容有
rows
:csv中的总行数cols
:csv中的总列数totalNulls
:总缺失值的数量NullProportion
:缺失值百分比,该缺失值精确到小数点后两位。col_nulls
:每列中有多少个缺失行的数量统计null_num
:表示缺失x行count
:缺失x行的数据共有多少列 注:若缺失x行的数量为0时(count=0)
,将不会输出;null_num > 1000
时的统计将统一存储在null_num=1001
的条目中。这两个条件对缺失列的数据统计同样适用。
row_nulls
:每行中有多少个缺失列的数量统计null_num
:表示缺失x列count
:缺失x列的数据共有多少行
文本抽样程序
输入txt格式的文本文件,本算法将对txt文件进行质量评估,将txt文件的前中后位置上的部分内容打包输出到一个json文件中。目前的算法中,当输入txt文件后,将返回该txt内容的前150字,尾部150字以及中间300字。当txt中内容太段(目前该限制为小于1500字)时,将改为取txt的前15%,后15%以及中间30%的内容。
注:在分析中,一个“字”表示一个 英文字母/汉字/符号/操作符 等内容。
文本抽样运行后输出结果的结构如下所示:
{
"head": "#include \"user_type.h\"\n#include \"string_process.h\"\n#include \"ypc/core_t/analyzer/data_source.h\"\n#include \"ypc/stbox/ebyte.h\"\n#include \"ypc/stbox/stx_c",
"mid": "一个batch的所需长度\n int start_pos = total_size / 2 - 50; // 中间的100字节的起始位置\n int mid_batch_no = start_pos / batch_max_size; // 中间的100字节所在的batch的编号\n \n start_pos = start_pos % batch_max_size; // 中间的100字节的起始位置在batch中的位置\n\n LOG(INFO) << \"Batch Num: \" << batch_num;\n LOG(INFO) << \"Start Position:",
"tail": " process_string(middle_100) + \"\\\"}\";\n return result;\n }\n\nprotected:\n std::vector<std::shared_ptr<ypc::data_source_with_dhash>> m_datasources;\n};\n",
"total": "3474"
}
输出的内容有:
head
:txt文件头部150字内容mid
:txt文件中部300字内容tail
:txt文件尾部150字内容total
:文本文件中的总字数统计
以上例子中展示的是一个包含代码内容的txt文件,除了普通文字内容,代码中包含了更多的换行符以及引号,换行符将在结果中以''\n'
的形式被输出内容中的引号为了防止json解析失败也会以'\"'
的格式输出。
视频抽样程序
输入mp4格式的文件,本算法将读取mp4的内容并截取其中的数帧的画面编码成base64格式的json数据输出,输出图片不固定,在每次运行时都将随机选取图片输出,目前规定输出的内容视频总时间、三张视频截图(以Base64编码表示)以及其三张截图的截取时间,
输出json格式如下:
{
totalDuration: // 总时长
positions: [
{
duration: // 时间点
picture: // 截取图片
},
{
duration:
picture:
},
{
duration:
picture:
}
]
}
totalDuration
:该字段中包含了所有视频截图的编码数据,每一条数据都代表一张视频截图的base64编码,可通过解码获取原图。positions
:duration
:截取图片对应时间(以秒为单位表示)。picture
:该字段中包含了所有视频截图的编码数据,每一条数据都代表一张视频截图的base64编码,可通过解码获取原图。