在windows10下,pycharm執行指標生成網路的資料預處理make_datafiles.py時,遇到的坑
阿新 • • 發佈:2021-01-02
技術標籤: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