Hanlp、pyhanlp 的区别是什么?

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相辅相成,平行发展

  • pyhanlp是 HanLP1.xPython接口,支持自动下载与升级HanLP1.x,兼容py2、py3。

  • 假如使用HanLP,可以在本地进行模型训练。 HanLP提供RESTfulnative 两种API,分别面向轻量级和海量级两种场景。

    • 轻量级RESTful API: 仅数KB,适合敏捷开发、移动APP等场景。服务器算力有限,匿名用户配额较少,建议申请公益API秘钥auth
    • 海量级native API: 依赖PyTorch、TensorFlow等深度学习技术,适合专业NLP工程师、研究者以及本地海量数据场景。要求Python 3.6以上,支持Windows,推荐*nix。可以在CPU上运行,推荐GPU/TPU。
  • 训练你自己的领域模型

写深度学习模型一点都不难,难的是复现较高的准确率。下列代码展示了如何在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赞