特定のアルゴリズムを理解するために、 nltkの nltk-data に含まれるいくつかのコーパスを使用しています。
したがって、私のコードは一般的に次のようなスタイルになります。
import re, nltk, random
from nltk.corpus import reuters
def find_test_and_train_data():
return [fileid for fileid in reuters.fileids() if re.match(r"^training/", fileid)], [fileid for fileid in reuters.fileids() if re.match(r"^test/", fileid)]
def generate_random_data(train_and_test_fileids):
random.seed(348) ; random.shuffle(train_and_test_fileids[0])
return train_and_test_fileids[0][2000:], train_and_test_fileids[0][:2000]
def fileid_words(fileid):
return [word.lower() for line in reuters.words(fileid) for word in line.split() if re.match('^[A-Za-z]+$', word)]
if __name__ == '__main__':
train_fileids, dev_fileids = generate_random_data(find_test_and_train_data())
train_data=fileid_words(train_fileids)
dev_data=fileid_words(dev_fileids)
したがって、それを対話型インタープリターで実行すると、変数を再設定することなくtrain_data
、dev_data
および対応するファイル ID でタスクを実行できます (非常に時間のかかるタスク)。
ただし、統計的に興味深いアルゴリズムを保存できるように、 .pyファイルに書き込めるようにしたいと考えています。
たとえば、インタープリターで機能する関数を取得したら、それをコピーして .py ファイルに貼り付けますが、これは非常に非効率的であり、IDE の機能を失います。
test_data
Python スクリプトをメモリ内で自動的に実行したり、変数の値をdbなどに保存したりできる IDE または Python モジュールはありますか?
すべての提案に感謝します