细粒度实体分类¶
这篇文档主要介绍了细粒度实体分类算法的输入、输出以及各算法支持的参数配置。
细粒度实体分类接口¶
-
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")