topicrank算法(topicrank)
功能介绍
根据输入参数,执行TopicRank算法。
TopicRank算法12345热线多维度话题排序算法之一,适用于政务12345热线投诉话题排序。
URI
POST /ges/v1.0/{project_id}/hyg/{graph_name}/algorithm
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
project_id |
是 |
String |
项目ID。获取方法请参见获取项目ID。 |
graph_name |
是 |
String |
图名称。 |
请求参数
参数 |
是否必选 |
类型 |
说明 |
algorithmName |
是 |
String |
算法名字。 |
parameters |
是 |
parameters Object |
算法参数。 |
参数 |
是否必选 |
类型 |
说明 |
sources |
是 |
String |
节点的ID,支持多点输入,csv格式,逗号分割。当前仅支持少于等于100000个 id输入。 |
actived_p |
否 |
Double |
初始sources节点对应的权重初始值,取值范围[0,100000],默认值为1。 |
default_p |
否 |
Double |
非sources节点对应的权重初始值,取值范围[0,100000],默认值为1。 |
filtered |
否 |
Boolean |
是否对结果进行过滤,取值为true或false,默认值为false。 |
only_neighbors |
否 |
Boolean |
是否仅输出sources的邻居节点,取值为true或false,默认值为true。 |
alpha |
否 |
Double |
权重系数(又称阻尼系数),取值范围为(0,1),默认值为0.85。 |
convergence |
否 |
Double |
收敛精度,取值范围为(0,1),默认值为0.00001。 |
max_iterations |
否 |
Integer |
最大迭代次数,取值范围为[0,2000],默认值为1000。 |
directed |
否 |
Boolean |
是否考虑边的方向,取值为true或false,默认值为true。 |
num_thread |
否 |
Integer |
线程数,取值范围为1至cpu最大线程数,默认值为4。 |
vertex_filter |
否 |
Json String |
在repeat 的operator为“ inV”或“outV”或“bothV”时可选,具体格式见表 vertex_filter参数说明。 |
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
leftvalue |
否 |
String |
String 左值,具体格式见表 leftvalue元素格式。 |
predicate |
是 |
String |
表示过滤类型,支持的操作如下:
|
rightvalue |
是 |
String |
右值,具体格式见表 rightvalue元素格式。 |
响应参数
参数 |
类型 |
说明 |
errorMessage |
String |
系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 |
errorCode |
String |
系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 |
jobId |
String |
执行算法任务ID。请求失败时,字段为空。
说明:
可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 |
jobType |
Integer |
任务类型。请求失败时,字段为空。 |
请求示例
POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm { "algorithmName": "topicrank", "vertex_filter": { "property_filter": { "leftvalue": { "label_name": "labelName" }, "predicate": "=", "rightvalue": { "value": "user" } } }, "parameters": { "sources": "lili,andy", "alpha": 0.85, "convergence": 0.00001, "max_iterations": 1000, "filtered": "true" } }
SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
带vertex_filter的请求样例
POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm { "algorithmName": "topicrank", "parameters": { "sources": "lili,andy", "alpha": 0.85, "convergence": 0.00001, "max_iterations": 1000, "filtered": "true", "vertex_filter": { "property_filter": { "leftvalue": { "label_name": "labelName" }, "predicate": "=", "rightvalue": { "value": "user" } } } } }
响应示例
状态码: 200
成功响应示例
Http Status Code: 200 { "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122", "jobType": 1 }
状态码: 400
失败响应示例
Http Status Code: 400 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8402" }
状态码
返回值 |
说明 |
---|---|
400 Bad Request |
请求错误 |
401 Unauthorized |
鉴权失败 |
403 Forbidden |
没有操作权限 |
404 Not Found |
找不到资源 |
500 Internal Server Error |
服务内部错误 |
503 Service Unavailable |
服务不可用 |
错误码
请参见错误码。
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
source |
是 |
String |
节点的ID。 |
alpha |
否 |
Double |
权重系数(又称阻尼系数),取值范围为(0,1),默认值为0.85。 |
convergence |
否 |
Double |
收敛精度。取值范围(0,1),默认值为0.00001。 |
max_iterations |
否 |
Integer |
最大迭代次数。API调用限制为[1,2147483647],前端调用限制为[1,2000],默认值为1000。 |
num_thread |
否 |
Integer |
并发线程数。范围为[1,40],小于1会自动置为1,大于40则自动置为40。默认值为4。 |
directed |
否 |
Boolean |
是否考虑边的方向,取值为true或false,默认值为true。 |
关于迭代次数(iterations)和收敛精度(convergence)参数如何调节,请参考迭代次数和收敛精度的关系。
参数 |
类型 |
说明 |
---|---|---|
source |
String |
- |
personalrank |
List |
各节点的personalrank值,格式: [{vertexId:rankValue},...], 其中, vertexId:string类型 rankValue:double类型 |