developer tip

코드에서 nltk 데이터 디렉토리를 구성하는 방법은 무엇입니까?

optionbox 2020. 10. 24. 10:03
반응형

코드에서 nltk 데이터 디렉토리를 구성하는 방법은 무엇입니까?


코드에서 nltk 데이터 디렉토리를 구성하는 방법은 무엇입니까?


의 항목 만 변경 nltk.data.path하면 간단한 목록입니다.


코드에서 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.data.path.append('/libs/nltk_data/')

nltk.data.path.append('your/path/to/nltk_data')모든 스크립트 에 추가 하는 대신 NLTK는 NLTK_DATA 환경 변수를 허용합니다. ( 코드 링크 )

열기 ~/.bashrc(또는 ~/.profile텍스트 편집기) (예를 들면 nano, vim, gedit), 그리고 다음 줄을 추가합니다 :

export NLTK_DATA="your/path/to/nltk_data"

source환경 변수를로드하기 위해 실행

source ~/.bashrc


테스트

파이썬을 열고 다음 줄을 실행하십시오.

import nltk
nltk.data.path

이미 nltk 데이터 경로를 볼 수 있습니다.

참조 : nltk / nltk # 1997 에 대한 @alvations의 답변


uwsgi를 사용하는 경우 :

I was having trouble because I wanted a uwsgi app (running as a different user than myself) to have access to nltk data that I had previously downloaded. What worked for me was adding the following line to myapp_uwsgi.ini:

env = NLTK_DATA=/home/myuser/nltk_data/

This sets the environment variable NLTK_DATA, as suggested by @schemacs.
You may need to restart your uwsgi process after making this change.


Another solution is to get ahead of it.

try import nltk nltk.download()

When the window box pops up asking if you want to download the corpus , you can specify there which directory it is to be downloaded to.

참고URL : https://stackoverflow.com/questions/3522372/how-to-config-nltk-data-directory-from-code

반응형