1. 程式人生 > 其它 >在windows10下,pycharm執行指標生成網路的資料預處理make_datafiles.py時,遇到的坑

在windows10下,pycharm執行指標生成網路的資料預處理make_datafiles.py時,遇到的坑

技術標籤:pythonnlptensorflow

指標生成網路python3原始碼連結:
資料預處理/python3原始碼連結:
原文是在linux系統下執行的,在windows下略有不同:

一、啟動指令碼

Linux下啟動sh檔案傳入兩個story路徑,具體方法參考上面連結。
windows下,在pycharm中,點選右上角make_datafiles小三角,
在這裡插入圖片描述
點選edit configurations
在這裡插入圖片描述
在parameters中資料兩個絕對路徑,記得中間空格隔開
在這裡插入圖片描述
然後就可以正常運行了。

二、路徑問題

linux中的路徑用/,windows中預設\,但是需要轉置,程式碼中的路徑全部改成類似於:

在這裡插入圖片描述
這種絕對路徑。

三、stanford-corenlp的tokenize問題

原始碼中第76行command = [‘java’, ‘edu.stanford.nlp.process.PTBTokenizer’, ‘-ioFileList’, ‘-preserveLines’, ‘mapping.txt’]
windows中無法用export CLASSPATH=/path/to/stanford-corenlp-full-2016-10-31/stanford-corenlp-3.7.0.jar 加入stanford-corenlp的安裝路徑,在windows中,將該行程式碼改成

command = [
'java', '-cp', 'C:\\Program Files\\stanford-corenlp\\stanford-corenlp-full-2016-10-31\\stanford-corenlp-3.7.0.jar', 'edu.stanford.nlp.process.PTBTokenizer', '-ioFileList', '-preserveLines', 'mapping.txt']

在這裡插入圖片描述
**

四、解碼問題

**
windows編碼有時會預設’cp936’等編碼方式,需要在open檔案時加上decoding=‘utf-8’
如:

def read_text_file(text_file):
  lines = []
  with open(text_file, "r", encoding='UTF-8') as f:
    for line in f:
      lines.append(line.strip())
  return lines