对一个2000字的文章分词需要数秒,原因为何?

我使用的HanLP版本是2.0.0-alpha.69,Python版本3.8.5,Tensor flow是2.4.0Cuda版本为11.1,cuDNN版本为8.0.
分词模型用的是 LARGE_ALBERT_BASE,我将文章拆分成句子然后并行处理。然而这么两千多个字需要花费大概2~3秒才能分词完成(多次尝试调用都是如此),原因为何?谢谢

哈哈,说曹操,曹操到!2.1版本好用得飞起!谢谢大佬搞出这么强大的工具

该模型在V100上的性能如下:

$ cat ~/.hanlp/cws/large_cws_albert_base_20200828_011451/test.log 
20-08-28 01:14:22 INFO Evaluation results for test.txt - loss: 2.8763 - f1: 0.9740 - speed: 269.35 sample/sec

按32个句子一个batch算,1秒能处理8个batch。

没有复现代码,不知道你的batch size,也不知道你的硬件规格,只能猜下列原因:

  1. TensorFlow首个batch要花较长时间初始化,可能得要1秒左右。
  2. HanLP官方支持TF2.3,对2.4的兼容性未知,可能显卡没有正常工作。

另外,我看到你回复新版本2.1很好用,不知道为什么删掉了,是出了什么问题吗?

是不是拆句子的算法的问题,HanLP切分词相对来说还是挺快的。

1 Like