私は中規模のテキストデータセットを使用しています.pandasシリーズ(オブジェクト型)としてロードした約1GBの単一のテキスト列です。といいtextData
ます。
テキスト行ごとにドキュメントを作成し、トークン化したいと考えています。しかし、カスタム トークナイザーを使用したいと考えています。
from joblib import Parallel, delayed
from spacy.en import English
nlp = English()
docs = nlp.pipe([text for text in textData], batch_size=batchSize, n_threads=n_threads)
# This runs without any errors, but results is empty
results1 = Parallel(n_jobs=-1,)(delayed(clean_tokens)(doc) for doc in docs)
# This runs, and returns expected result
results2 = [clean_tokens(doc) for doc in docs]
def clean_tokens(doc):
# clean tokens and POS tags
exclusions = [token.i for token in doc if token.dep in [punct, det, agent, prep, aux, auxpass, cc, expl, quantmod]]
tokens = [token.lemma_ for token in doc if token.i not in exclusions]
return tokens
スクリプトを使用して main() を呼び出し、main() 内で上記の関数を実行しています。
これが機能しない理由はありますか?酸洗の問題がある場合 - それは発生しません。
これを機能させる方法はありますか?