命名实体识别¶
这篇文档主要介绍了命名实体识别算法的输入、输出以及各算法支持的参数配置。
命名实体识别接口¶
-
class
oknlp.ner.BaseNER¶ -
__call__(sents: List[str]) → List[List[Dict[str, Union[str, int]]]]¶ - 参数
sents -- 输入的句子列表。
- 返回
返回一个和输入长度相同的列表,其中每一项对应其命名实体结果。
每个命名实体识别结果会包含多个实体,每个实体由一个包含三个字段的字典表示:
type
begin
end
更多信息请参考 命名实体识别 - 示例
实际案例
>>> import oknlp >>> ner = oknlp.ner.get_by_name() >>> ner(['我爱北京天安门']) [[{'type': 'LOC', 'begin': 2, 'end': 4}, {'type': 'LOC', 'begin': 4, 'end': 7}]]
-
命名实体识别实现¶
BERT¶
-
class
oknlp.ner.BertNER¶ 基于BERT的命名实体识别算法
- 参数
device (str) -- 运行模型设备的名称,例如:"cuda:1","cpu"。
batch_size (int) -- 模型单次推理最大的batch size,默认会根据硬件资源自动设置。
num_preprocess (int) -- 预处理函数进程数,默认为一个自动设置的不超过4的值。
num_postprocess (int) -- 后处理函数进程数,默认为一个自动设置的不超过4的值。
max_queue_size (int) -- 最大调用队列长度,默认为1024.
multiprocessing_context -- 多进程上下文,默认优先使用"fork"方式。
- Name
bert
示例
oknlp.ner.get_by_name("bert", device="cuda")