কোড থেকে কীভাবে এনল্টক ডেটা ডিরেক্টরি কনফিগার করবেন?


উত্তর:


73

কেবলমাত্র আইটেম পরিবর্তন করুন nltk.data.path, এটি একটি সহজ তালিকা।


30
অথবা এনএলটিকে_ডেটা এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।
স্কিমে্যাক

আমার nltk.data.path '/home/aankney/nltk_data'তালিকার প্রথম উপাদান হিসাবে রয়েছে তবে আমি একটি সার্ভারে আছি nltk_dataএবং সার্ভার ব্যবহার করে অন্য লোকেরা ভাগ করে নিতে চাই । ডাউনলোড পন্থাগুলির মধ্যে একটি হিসাবে এটি ব্যবহার থেকে আমি কীভাবে এনলেটকে বাধা দেব?
অস্টিন এ

43

কোড থেকে, 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")

কোন ডিরেক্টরিতে এই ফাইলটি থাকবে?
hlin117

এটি এনএলটিকের মূল উত্স কোডে রয়েছে। আপনি যে ডিরেক্টরিটিতে সোর্স কোডটি সংরক্ষণ করেন সেই ডিরেক্টরিতে যান তারপরেnltk/nltk/data
আলভাস

কটাক্ষপাত করা magically_find_nltk_data()থেকে stackoverflow.com/questions/36382937/...
alvas

28

আমি উদাহরণস্বরূপ পরিশিষ্ট ব্যবহার করি

nltk.data.path.append('/libs/nltk_data/')

15

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 এ @ বিবর্তনের উত্তর


1

যারা ইউউজি ব্যবহার করছেন তাদের জন্য:

আমার সমস্যা হচ্ছিল কারণ আমি পূর্বে ডাউনলোড করা nltk ডেটা অ্যাক্সেস পেতে একটি উউসগি অ্যাপ (নিজের চেয়ে আলাদা আলাদা ব্যবহারকারী হিসাবে চলমান) চেয়েছিলাম। আমার জন্য যা কাজ করেছে তা নিম্নলিখিত পংক্তিতে যুক্ত ছিল myapp_uwsgi.ini:

env = NLTK_DATA=/home/myuser/nltk_data/

এটি NLTK_DATA@schemacs এর পরামর্শ অনুসারে পরিবেশ পরিবর্তনশীল সেট করে ।
এই পরিবর্তনটি করার পরে আপনার উউসগি প্রক্রিয়াটি পুনরায় চালু করার দরকার হতে পারে।


0

আরও একটি সমাধান এটি এগিয়ে পেতে হয়।

আমদানির চেষ্টা করুন nltk nltk.download ()

উইন্ডোজ বাক্সটি যখন আপনি কর্পসটি ডাউনলোড করতে চান কিনা তা জিজ্ঞাসা করে, আপনি কোন ডিরেক্টরিটি ডাউনলোড করতে হবে তা সেখানে নির্দিষ্ট করতে পারেন।


0

উপরে পথ ছাপানোর বিষয়ে উপরে 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")

ব্যতিক্রম চলে গেল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.