运行文本Tokenization代码出现int与str不支持>=比较的TypeError如何解决
错误根因与修复方案
该错误触发原因是代码逻辑中出现了整数与字符串执行大小比较的操作,结合你提供的预处理代码,有两个常见的触发场景,对应修复方法如下:
- 场景1:超参数赋值错误
你代码中使用的max_features、maxlen两个超参数没有正确赋值为整数,比如误写为字符串类型(例如maxlen = "100")、或是未定义就直接调用,导致Tokenizer、pad_sequences接收参数时执行数值校验触发类型错误。
排查修复方法:在初始化分词器前先校验两个参数的类型,确认是正整数即可:# 先确认两个超参数为整数类型,数值可按自己的语料场景调整 max_features = 10000 maxlen = 128 print(type(max_features), max_features) print(type(maxlen), maxlen) - 场景2:输入文本列存在异常值
你的df['Base_Reviews']列中混有缺失值(NaN)、数字类型的内容,没有提前转换为字符串格式,导致分词器转换序列时生成异常值,后续填充操作触发类型错误。
排查修复方法:拆分数据集前先统一处理文本列:# 填充缺失值,统一转为字符串格式 df['Base_Reviews'] = df['Base_Reviews'].fillna('').astype(str)
处理完成后再执行后续的数据集拆分、分词、填充操作即可解决该报错。
内容的提问来源于stack exchange,提问作者Tahir Ullah
相关产品推荐
相关产品推荐

