hanlp、pyhanlp 的区别是什么?功能上是否存在差异?假如使用hanlp,是否可以在本地进行模型训练?
1赞
HanLP是面向生产环境的多语种自然语言处理工具包,基于PyTorch和TensorFlow 2.x双引擎,目标是普及落地最前沿的NLP技术。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。
目前可分为1.x版本和2.x版本
-
1.x版本自14年年底开源以来, 现1.x版本已最新维护至v1.8.2. 语言为java
-
2.x版本自2020年1月1日开源上线,现2.x版本已最新维护至v2.1.0-alpha.0 语言为python,基于PyTorch和TensorFlow 2.x双引擎。 与1.x相辅相成,平行发展
-
假如使用HanLP,可以在本地进行模型训练。 HanLP提供RESTful 和native 两种API,分别面向轻量级和海量级两种场景。
-
轻量级RESTful API: 仅数KB,适合敏捷开发、移动APP等场景。服务器算力有限,匿名用户配额较少,建议申请公益API秘钥
auth
。 - 海量级native API: 依赖PyTorch、TensorFlow等深度学习技术,适合专业NLP工程师、研究者以及本地海量数据场景。要求Python 3.6以上,支持Windows,推荐*nix。可以在CPU上运行,推荐GPU/TPU。
-
轻量级RESTful API: 仅数KB,适合敏捷开发、移动APP等场景。服务器算力有限,匿名用户配额较少,建议申请公益API秘钥
-
训练你自己的领域模型
写深度学习模型一点都不难,难的是复现较高的准确率。下列代码展示了如何在sighan2005 PKU语料库上花6分钟训练一个超越学术界state-of-the-art的中文分词模型。
save_dir = 'data/model/cws/sighan2005_pku_bert_base_96.70'
tokenizer.fit(
SIGHAN2005_PKU_TRAIN_ALL,
SIGHAN2005_PKU_TEST, # Conventionally, no devset is used. See Tian et al. (2020).
save_dir,
'bert-base-chinese',
max_seq_len=300,
char_level=True,
hard_constraint=True,
sampler_builder=SortingSamplerBuilder(batch_size=32),
epochs=3,
adam_epsilon=1e-6,
warmup_steps=0.1,
weight_decay=0.01,
word_dropout=0.1,
seed=1609836303,
)
tokenizer.evaluate(SIGHAN2005_PKU_TEST, save_dir)
请参考demo了解更多训练脚本。
1赞
好的,我尝试下,感谢您的回答
1赞