为何知识图谱无法运行,提示“错误的信息抽取函数”
问题描述
知识图谱无法运行,提示“错误的信息抽取函数”。
可能原因
流水线信息抽取配置有误。
以创建一个有关于电影的知识图谱为例,抽取信息前后的实体信息如图1所示,展示如何在创建图谱时配置信息抽取。
- 在“创建图谱”页面,单击“信息抽取”,页面下方弹出“信息抽取”对话框。
- 在“信息抽取”对话框中,“抽取方式”选择“结构化抽取”,“编辑方式”选择“交互界面”。
- 关闭“默认抽取”开关。
- 在“信息抽取”对话框中填写信息抽取项,按表1填写。
表1 信息抽取项示例 数据类别
抽取项名称
抽取函数
Person
identifier
${url}
中文名
regexp_replace(${中文名}, '\(\[link\]@.*?:(/film.*?)\)', '')
国籍
regexp_replace(${国籍}, '\(\[link\]@.*?:(/film.*?)\)', '')
职业
${职业}
出生日期
${出生日期}
url
${url}
Film
identifier
${url}
中文名
${中文名}
票房
${票房}
上映时间
${上映时间}
导演
regexp_extract_all(${导演}, '\(\[link\]@.*?:(/film.*?)\)', 1)
主演
regexp_extract_all(${主演}, '\(\[link\]@.*?:(/film.*?)\)', 1)
url
${url}
示例中字段抽取函数主要有三类,示例如下:
- ${职业}
- regexp_replace(${国籍}, '\(\[link\]@.*?:(/film.*?)\)', '')
将“国籍”字段中符合正则模式的“\(\[link\]@.*?:(/film.*?)\)”替换成空字符串,即删除符合这个pattern的字符串。例如从字段“中国([link]@中国:/film.kg.huawei.com/中国/1122445)”抽取出信息“中国”。
- regexp_extract_all(${导演}, '\(\[link\]@.*?:(/film.*?)\)', 1)
抽取出导演字段中,与模式 “\(\[link\]@.*?:(/film.*?)\)” 匹配的数据值,返回的类型是一个列表。例如“"导演":庄伟建([link]@庄伟建:/film.kg.huawei.com/庄伟建),苏万聪([link]@苏万聪:/film.kg.huawei.com/苏万聪)”,抽取信息后为“"导演":/film.kg.huawei.com/庄伟建,/film.kg.huawei.com/苏万聪”。
- 确认所填写的信息后,单击“保存”,完成信息抽取。