评估

指标

class ltp.eval.metrics.Metric(**defaults)[source]

Bases: object

Metric 基础类,在配置文件中的配置项为:

[[Metrics]]
class = "Accuracy"
[Metrics.init]
pad_value = -1
step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

clear()[source]

把已经统计的Metrics结果清0

classmethod by_name(name)

通过注册的名字取得实际的类型

Parameters

name – 注册的名字

Returns

Type[T] 使用 name 注册的子类

Return type

class

Raises

RegistrationError – 如果 name 未被注册

classmethod from_params(__config, *args, extra=None, **kwargs)

使用 config 生成对象

Parameters
  • cls – 类型

  • __config – 配置项,通常为字典,形如 {‘class’:’ClassName’, ‘init’:{ ‘arg’: arg } }

  • *args – 直接传入的arg

  • extra – 根据需要传入的数据

  • **kwargs – 其他参数

Returns

根据参数生成的对象

classmethod hook(hook)

函数装饰器,给某个类注册装饰器

classmethod is_registered(name)

如果 name 在类中已经注册,则返回 True

classmethod iter_registered()

迭代已经注册的名字和对象

classmethod list_available()

列出所有的注册子类

classmethod register(name, override=False, hooks=None)

装饰器 Class decorator for registering a subclass.

Parameters
  • name – 注册名

  • override (bool) – 当name已经注册时,是否进行覆盖

  • hooks (List[HookType]) – 在注册时会被执行的Hook函数

Raises

RegistrationError – 如果 override 为 false 并且 name 已经被注册

classmethod weak_register(name, subclass, override=False, hooks=None)

用于手动对子类进行注册

Parameters
  • name (str) – 子类的引用名

  • subclass – 子类类型

  • override (bool) – 当name已经注册时,是否进行覆盖

  • hooks – 在注册时会被执行的Hook函数

Raises

RegistrationError – 如果 override 为 false 并且 name 已经被注册

class ltp.eval.metrics.Accuracy(pad_value=None)[source]

Bases: ltp.eval.metrics.Metric

step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

clear()[source]

把已经统计的Metrics结果清0

class ltp.eval.metrics.CommonLoss(loss_function, item=False, flat=False)[source]

Bases: ltp.eval.metrics.Metric

Loss Metric: 用于计算LOSS

Parameters
  • loss_function – 损失函数

  • item – 返回标量,而不是Tensor

  • flat – 是否对预测结果进行平铺

step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

clear()[source]

把已经统计的Metrics结果清0

class ltp.eval.metrics.TreeMetrics(eisner=False)[source]

Bases: ltp.eval.metrics.Metric

step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

clear()[source]

把已经统计的Metrics结果清0

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

class ltp.eval.metrics.GraphMetrics[source]

Bases: ltp.eval.metrics.Metric

Graph Parser Metric(f1)

step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

clear()[source]

把已经统计的Metrics结果清0

class ltp.eval.metrics.Sequence(id2label, pad_value=- 1, suffix=False, no_suffix=False)[source]

Bases: ltp.eval.metrics.Metric

用于命名实体识别或其他Span序列任务

step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

clear()[source]

把已经统计的Metrics结果清0

class ltp.eval.metrics.BiaffineCRFSpan(id2label)[source]

Bases: ltp.eval.metrics.Metric

用于 语义角色标注

step(y_pred, y)[source]

步进一次 :param y_pred: 预测值 :param y: 真实值

compute()[source]

返回 metrics 结果 :return: Dict[str, float]

clear()[source]

把已经统计的Metrics结果清0