StanfordCoreNLP 大批量处理数据报错json.decoder.JSONDecodeError: Invalid control character at: line 0 column 0

  1. 传给nlp的数据本身为空(空串,空行等)
  2. nlp服务器传回的数据为空或不是json数据(服务器炸了)

解决办法

  1. 排除空串
  2. 修改 corenlp.py
    r = requests.post(self.url, params=params, data=data, headers={'Connection': 'close'})
    try:
        r_dict = json.loads(r.text)
    except BaseException as e:
        print(e)
        time.sleep(1)
        r = requests.post(self.url, params=params, data=data, headers={'Connection': 'close'})
        r_dict = json.loads(r.text)
json.loads(r.text)

抛出异常后重新向服务器请求一次数据。
只重试一次可能还是会出现异常,但可以解决我的问题

————2019年4月25日11:07:20 更新————
不止是服务器会报错,没有处理干净的文本数据也会导致报错
emoji表情会报错
解决办法:安装emoji,将emoji转为字符串 emoji使用帮助
一些很像中文但又不是中文的字符也会报错,例如 ?
解决办法:奇怪的字符不是很多,我选择……手动删除

你可能感兴趣的:(机器学习)