细粒度实体分类

这篇文档主要介绍了细粒度实体分类算法的输入、输出以及各算法支持的参数配置。

细粒度实体分类接口

class oknlp.typing.BaseTyping
__call__(sents: List[Tuple[str, Tuple[int, int]]])List[List[Tuple[str, float]]]
参数

sents -- 输入的列表,其中每一项由一个二元组组成,分别表示 “输入的句子”和“实体位置”。实体位置由一个左闭右开区间的二元组表示。

返回

返回一个和输入列表长度相同的列表,其中每一项表示对应输入的细粒度实体分类结果。

更多信息请参考 细粒度实体分类 - 示例

实际案例

>>> import oknlp
>>> typing = oknlp.typing.get_by_name()
>>> typing([("3月15日,北方多地正遭遇近10年来强度最大、影响范围最广的沙尘暴。", (30, 33))])
[[('object', 0.26066625118255615), ('event', 0.9411928653717041)]]

细粒度实体分类实现

BERT

class oknlp.typing.BertTyping

基于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.typing.get_by_name("bert")