কোড থেকে কীভাবে এনল্টক ডেটা ডিরেক্টরি কনফিগার করবেন?
কোড থেকে কীভাবে এনল্টক ডেটা ডিরেক্টরি কনফিগার করবেন?
উত্তর:
কেবলমাত্র আইটেম পরিবর্তন করুন nltk.data.path
, এটি একটি সহজ তালিকা।
'/home/aankney/nltk_data'
তালিকার প্রথম উপাদান হিসাবে রয়েছে তবে আমি একটি সার্ভারে আছি nltk_data
এবং সার্ভার ব্যবহার করে অন্য লোকেরা ভাগ করে নিতে চাই । ডাউনলোড পন্থাগুলির মধ্যে একটি হিসাবে এটি ব্যবহার থেকে আমি কীভাবে এনলেটকে বাধা দেব?
কোড থেকে, http://www.nltk.org/_modules/nltk/data.html :
``nltk:path``: Specifies the file stored in the NLTK data
package at *path*. NLTK will search for these files in the
directories specified by ``nltk.data.path``.
তারপরে কোডের মধ্যে:
######################################################################
# Search Path
######################################################################
path = []
"""A list of directories where the NLTK data package might reside.
These directories will be checked in order when looking for a
resource in the data package. Note that this allows users to
substitute in their own versions of resources, if they have them
(e.g., in their home directory under ~/nltk_data)."""
# User-specified locations:
path += [d for d in os.environ.get('NLTK_DATA', str('')).split(os.pathsep) if d]
if os.path.expanduser('~/') != '~/':
path.append(os.path.expanduser(str('~/nltk_data')))
if sys.platform.startswith('win'):
# Common locations on Windows:
path += [
str(r'C:\nltk_data'), str(r'D:\nltk_data'), str(r'E:\nltk_data'),
os.path.join(sys.prefix, str('nltk_data')),
os.path.join(sys.prefix, str('lib'), str('nltk_data')),
os.path.join(os.environ.get(str('APPDATA'), str('C:\\')), str('nltk_data'))
]
else:
# Common locations on UNIX & OS X:
path += [
str('/usr/share/nltk_data'),
str('/usr/local/share/nltk_data'),
str('/usr/lib/nltk_data'),
str('/usr/local/lib/nltk_data')
]
পাথটি সংশোধন করতে, সম্ভাব্য পাথের তালিকায় কেবল যুক্ত করুন:
import nltk
nltk.data.path.append("/home/yourusername/whateverpath/")
বা উইন্ডোতে:
import nltk
nltk.data.path.append("C:\somewhere\farfar\away\path")
nltk/nltk/data
magically_find_nltk_data()
থেকে stackoverflow.com/questions/36382937/...
nltk.data.path.append('your/path/to/nltk_data')
প্রতিটি স্ক্রিপ্টে যুক্ত করার পরিবর্তে , এনএলটিকে এনএলটিকে_ডেটা এনভায়রনমেন্ট ভেরিয়েবল গ্রহণ করে। ( কোড লিঙ্ক )
ওপেন ~/.bashrc
(অথবা ~/.profile
) টেক্সট এডিটর দিয়ে (যেমন nano
, vim
, gedit
), এবং নিম্নলিখিত পংক্তি যোগ করুন:
export NLTK_DATA="your/path/to/nltk_data"
সম্পাদন source
পরিবেশগত পরিবর্তনশীল লোড করতে
source ~/.bashrc
অজগরটি খুলুন এবং নিম্নলিখিত লাইনগুলি কার্যকর করুন
import nltk
nltk.data.path
আপনি ইতিমধ্যে সেখানে থাকা আপনার এনল্টক ডেটা পাথ দেখতে পাবেন।
তথ্যসূত্র: এনল্টকে / এনল্টেকে # 1997 এ @ বিবর্তনের উত্তর
যারা ইউউজি ব্যবহার করছেন তাদের জন্য:
আমার সমস্যা হচ্ছিল কারণ আমি পূর্বে ডাউনলোড করা nltk ডেটা অ্যাক্সেস পেতে একটি উউসগি অ্যাপ (নিজের চেয়ে আলাদা আলাদা ব্যবহারকারী হিসাবে চলমান) চেয়েছিলাম। আমার জন্য যা কাজ করেছে তা নিম্নলিখিত পংক্তিতে যুক্ত ছিল myapp_uwsgi.ini
:
env = NLTK_DATA=/home/myuser/nltk_data/
এটি NLTK_DATA
@schemacs এর পরামর্শ অনুসারে পরিবেশ পরিবর্তনশীল সেট করে ।
এই পরিবর্তনটি করার পরে আপনার উউসগি প্রক্রিয়াটি পুনরায় চালু করার দরকার হতে পারে।
উপরে পথ ছাপানোর বিষয়ে উপরে fnjn পরামর্শ ব্যবহার:
print(nltk.data.path)
আমি উইন্ডোতে এই ধরণের বিন্যাসে পাথের স্ট্রিংগুলি দেখেছি:
C:\\Users\\my_user_name\\AppData\\Roaming\\SPB_Data
সুতরাং আমি যখন পাইথ ব্যবহার করি তখন আমি পাইথন টাইপ ফরোয়ার্ড স্ল্যাশ '/' থেকে ডাবল ব্যাকস্ল্যাশ 'to' এ সরিয়েছি app
nltk.data.path.append("C:\\workspace\\my_project\\data\\nltk_books")
ব্যতিক্রম চলে গেল।