当前位置:   article > 正文

使用LTP库报错 KeyError: ‘transformer_config‘的解决方案_ltp无法使用

ltp无法使用

近期在服务器上新装了个LTP库,运行时报错KeyError: ‘transformer_config’
如图
在这里插入图片描述
搞了半天,终于从官方文档找到了原因,是模型版本的问题。如果你的Linux系统是在内网的,则可能需要单独下载跟自己ltp版本所对应的模型。官方注明了LTP 4.1.X 与旧版本 v1,v2 模型不兼容,需要更换成v3版本

https://github.com/HIT-SCIR/ltp/blob/master/MODELS.md
  • 1

注意:

ltp 库读取 .tgz 格式的模型时会自动将其解压到同一路径下的***-tgz-extracted文件夹中,但更换 tgz 模型文件后,此文件夹并不会被自动覆盖,需要预先删除后,重新运行一下你写的python文件即可自动重新解压。在这里插入图片描述

如果你的Linux是内网,则需要修改一下源码,源码所在位置是/你安装的python路径/python3/lib/python3.7/site-packages/ltp下的frontend.py文件(老版本为ltp.py)[Windows的可以通过一样的方式去修改]

(1)34 行左右的 model_map 参数。
根据你要使用的模型版本(base, small, tiny),把对应的变量修改为模型文件(tgz 文件)路径。
例如,要使用本地 base 版本模型,可以像下列的base这样修改:

model_map = {
    'base': '/home/software/base.tgz',
    'small': 'http://39.96.43.154/ltp/v3/small.tgz',
    'tiny': 'http://39.96.43.154/ltp/v3/tiny.tgz'
}
  • 1
  • 2
  • 3
  • 4
  • 5

(2)93 行左右的 path 模型版本参数。
官方源码默认使用 small 版本模型,所以使用 small 模型时不需要修改
修改源码中的 path: str = ‘small’,将 path 变量的值改为要使用的模型类型。
例如要使用 base 版本模型,就像下图这样修改:
在这里插入图片描述
懒人建议下载small版本的就好了,根据官方数据,效果差的不多,下载量要少三分之一。

经过本人实际测试small比base快3倍,不过精度会降一点,像东大街北大街这种,base能识别出来,但small就只剩’大街’了,可根据实际需要选择。
在这里插入图片描述
至此,解决了bug程序可以正常运行!
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/316329
推荐阅读
相关标签
  

闽ICP备14008679号