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

博客内容讲述了在服务器上安装LTP库后遇到的KeyError问题,原因是模型版本不兼容。解决方案包括下载对应版本的模型文件,并修改ltp库的源码。对于内网环境,需要手动指定模型路径。作者建议使用small版本模型,因其速度快且效果接近base版本。修改源码包括更新model_map和模型类型参数。
摘要由CSDN通过智能技术生成

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

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

注意:

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'
}

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值