中文分词子模块

这篇文档主要介绍了中文分词的输入、输出以及各算法支持的参数配置。

分词算法接口

class oknlp.cws.BaseCWS
__call__(sents: List[str], max_len=12)List[List[str]]
参数

sents -- 输入的句子列表。

返回

返回一个和输入相同长度的列表,列表中的每一项都是对应输入的分词结果。

更多信息请参考 中文分词 - 示例

实际案例

>>> import oknlp
>>> cws = oknlp.cws.get_by_name()
>>> cws(['我爱北京天安门'])
[['我', '爱', '北京', '天安门']]

分词算法实现

BERT

class oknlp.cws.BertCWS

基于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.cws.get_by_name("bert", device="cpu")

THULAC

class oknlp.cws.THUlacCWS

基于THULAC的分词算法

Name

thulac

更多信息请参考 thulac 文档: http://thulac.thunlp.org/

示例

oknlp.cws.get_by_name("thulac")