java.lang.NullPointerException: Cannot invoke “String.split(String)” because “line” is null
相关代码及报错
......
TRAIN_FILE_NAME = r"文件路径"
MODEL_FILE_NAME = r"文件路径" # 主要出错原因在这
def train_or_load_model():
if not IOUtil.isFileExisted(MODEL_FILE_NAME): # 当模型未被训练时
if not IOUtil.isFileExisted(TRAIN_FILE_NAME): # 当训练语料库未被下载时
raise RuntimeError("语料不存在,请阅读文档了解语料获取与格式:https://github.com/hankcs/HanLP/wiki/word2vec")
trainerBuilder = Word2VecTrainer(); # 训练语料库
return trainerBuilder.train(TRAIN_FILE_NAME, MODEL_FILE_NAME)
return load_model()
def load_model():
print(MODEL_FILE_NAME)
# print(type(WordVectorModel(MODEL_FILE_NAME)))
return WordVectorModel(MODEL_FILE_NAME)
wordVectorModel = train_or_load_model() # 调用函数训练 word2vec
......
原因
指针指向空文件。
因为我先建立了MODEL_FILE_NAME所在路径的文件。
解决办法
把MODEL_FILE_NAME所在路径文件删掉之后,再执行就没问题了。