Eğer komut dosyalarını çalıştırmadan önce $ NLTK_DATA ayarlamak istemiyorsanız, sizinle piton betikleriyle yapabilirsiniz:
import nltk
nltk.path.append('/home/alvas/some_path/nltk_data/')
Ör en NLTK otomatik bulamazsınız o standart dışı bir yola nltk_data
geçelim: Şimdi
[email protected]:~$ ls nltk_data/
chunkers corpora grammars help misc models stemmers taggers tokenizers
[email protected]:~$ mkdir some_path
[email protected]:~$ mv nltk_data/ some_path/
[email protected]:~$ ls nltk_data/
ls: cannot access nltk_data/: No such file or directory
[email protected]:~$ ls some_path/nltk_data/
chunkers corpora grammars help misc models stemmers taggers tokenizers
, biz nltk.path.append()
kesmek kullanmak:
[email protected]:~$ python
>>> import os
>>> import nltk
>>> nltk.path.append('/home/alvas/some_path/nltk_data/')
>>> nltk.pos_tag('this is a foo bar'.split())
[('this', 'DT'), ('is', 'VBZ'), ('a', 'DT'), ('foo', 'JJ'), ('bar', 'NN')]
>>> nltk.data
<module 'nltk.data' from '/usr/local/lib/python2.7/dist-packages/nltk/data.pyc'>
>>> nltk.data.path
['/home/alvas/some_path/nltk_data/', '/home/alvas/nltk_data', '/usr/share/nltk_data', '/usr/local/share/nltk_data', '/usr/lib/nltk_data', '/usr/local/lib/nltk_data']
>>> exit()
Şunu geri hareket, bakalım o olsun çalışır:
[email protected]:~$ ls nltk_data
ls: cannot access nltk_data: No such file or directory
[email protected]:~$ mv some_path/nltk_data/ .
[email protected]:~$ python
>>> import nltk
>>> nltk.data.path
['/home/alvas/nltk_data', '/usr/share/nltk_data', '/usr/local/share/nltk_data', '/usr/lib/nltk_data', '/usr/local/lib/nltk_data']
>>> nltk.pos_tag('this is a foo bar'.split())
[('this', 'DT'), ('is', 'VBZ'), ('a', 'DT'), ('foo', 'JJ'), ('bar', 'NN')]
gerçekten gerçekten automagicallylar nltk_data, kullanımını bulmak istiyorsanız gibi bir şey: neden otomatik yolunu bulmak gerekiyor, `nltk_data` dizin statik olduğundan
[email protected]:~$ ls nltk_data/
chunkers corpora grammars help misc models stemmers taggers tokenizers
[email protected]:~$ python test.py
Finding nltk_data took 4.27330780029
nltk_data at /home/alvas/nltk_data
[('this', 'DT'), ('is', 'VBZ'), ('a', 'DT'), ('foo', 'JJ'), ('bar', 'NN')]
[email protected]:~$ mv nltk_data/ some_path/
[email protected]:~$ python test.py
Finding nltk_data took 4.75850391388
nltk_data at /home/alvas/some_path/nltk_data
[('this', 'DT'), ('is', 'VBZ'), ('a', 'DT'), ('foo', 'JJ'), ('bar', 'NN')]
:
en python'un senaryoyu,
test.py
diyelim? – alvasVarsayılan olarak NLTK, bu dizindeki 'nltk_data' dizinini otomatik olarak bulur - '/ home/user/nltk_data' '/ usr/share/nltk_data', '/ usr/local/share/nltk_data', '/ usr/lib/nltk_data ','/usr/local/lib/nltk_data ' – alvas
$ NLTK_DATA'ya veri indirmek için nltk.download() öğesini belirttim, eğer arama dizinine $ NLTK_DATA eklemediysek, indirilen veriler' komut dosyaları tarafından kullanılmamalıdır (ancak basit komut kullanılamaz). –