文档首页/ 知识图谱 KG/ 常见问题/ 创建图谱/ 什么是字段抽取函数
更新时间:2023-06-14 GMT+08:00
分享

什么是字段抽取函数

基本概念

信息抽取是从基础数据中抽取待创建图谱的实体、属性信息以及实体间的相互关系。目的是从原始数据(包括结构化数据或非结构化数据)中抽取结构化的信息。

在通过普通抽取方式进行信息抽取时,即用交互界面配置或用格式化编辑进行信息抽取时,需要配置字段抽取函数。配置字段抽取函数后,KG服务会根据所配置的字段抽取函数进行信息抽取,即从原始数据中抽取结构化的信息。更多详情请见配置信息抽取

字段抽取函数说明

KG服务支持的信息抽取函数如表1所示。其中,“字段”表示基础数据中的字段名,在抽取函数中引用字段时,使用格式为“${字段}”,例如抽取基础数据中属性“name”的字段,在抽取函数中引用字段的格式为“trim(${name})”

表1 抽取函数说明表

抽取函数

函数说明

抽取函数示例

抽取前数据示例

抽取后数据示例

trim(字段)

裁剪字段前后的空白字符

trim(${name})

"name":" mike"

"mike"

substring (字段, int pos, int len)

获取从该字段值第pos个字符(从0开始)开始的长度为len的子串

substring (${id}, 1, 6)

"id":"a000111"

"000111"

split(字段, string pattern)

将字段值以pattern为分隔符分割,得到一个列表。pattern可以是一个正则表达式,所有与pattern匹配的子串都作为分隔符。

split(${roles}, ', ')

"roles":"role1,role2"

["role1", "role2"]

concat(字段1,字段2, ...)

将字段1、字段2...依次拼接成一个长字符串。此处字段值也可以是一个字符串常量。

concat(${name}, '--', ${id})

"name": "mike",

"id": "a000111"

"mike--a000111"

regexp_replace(字段, string pattern, string replacement)

将字段值中与正则表达式pattern匹配的部分替换为replacement

regexp_replace(${info}, 'hello', 'world')

"info":"helloworld"

"worldworld"

upper(字段)

将字段中英文字母全部转为大写

upper(${name})

"name":"mike"

"MIKE"

lower(字段)

将字段中英文字母全部转为小写

lower(${name})

"name":"JOHN"

"john"

initcap(字段)

将字段中英文首字母转为大写

initcap(${city})

"city":"hangzhou"

"Hangzhou"

coalesce(字段1,字段2, ...)

返回字段1,字段2, ...中第一个不为空的字段

coalesce(${name},${名字}, ${中文名} ...)

"name":" ",

"名字":" ",

"中文名”:"小明”

“小明”

parse_array(字段)

尝试将字段值解析为一个列表

parse_array(${list})

"list":["item1","item2"]

['item1','item2']

array_get(字段, int index)

获取列表类型的字段中的第index个值(index从0开始)

array_get(parse_array(${list}), 0)

"list":["item1","item2"]

"item1"

相关文档