코드에서 nltk 데이터 디렉토리를 구성하는 방법은 무엇입니까?
답변:
코드에서 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')
모든 스크립트 에 추가 하는 대신 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의 답변