Nltk: OSError: рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдкрд╛рд░реНрд╕рд░ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЬрд╛рд╡рд╛ рдХрдорд╛рдВрдб рд╡рд┐рдлрд▓ рд░рд╣рд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рджрд┐рд╕ре░ 2015  ┬╖  18рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nltk/nltk

рдирдорд╕реНрддреЗ,

рдореИрдВ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдкрд╛рд░реНрд╕рд░ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

from nltk.parse.stanford import * 
dep_parser=StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
[parse.tree() for parse in dep_parser.raw_parse("The quick brown fox jumps over the lazy dog.")]

рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдЖрджреЗрд╢ рдкрд░рд┐рдгрд╛рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛:

OSError: Java command failed : [u'/usr/bin/java', u'-mx1000m', '-cp', ....

рдЬрдм рдореИрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдПрдХ рд╣реА рдХрдорд╛рдВрдб рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

рдЗрд╕рд▓рд┐рдП, рдХрдорд╛рдВрдбрд▓рд╛рдЗрди_ рдкрд░ рдХреНрд▓рд╛рд╕рдкрд╛рде _рдкрд░ slf4j-api.jar рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕рдлрд▓ рд╣реЛрддреА рд╣реИред

slf4j-api.jar рдХреЛ nltk рдХреНрд▓рд╛рд╕рдкрд╛рде рдореЗрдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕рдлрд▓ рд╣реЛрдЧреА?

рд╢реБрдХреНрд░рд┐рдпрд╛!
рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рдЖрдирдВрджрджрд╛рдпрдХ рд╣реЛрдВ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

'stanford_dir = st._stanford_jar.rpartition('/')[0]' рдХрдорд╛рдВрдб рдореЗрдВ 'рд╕реЗрдВрдЯ' рдХреНрдпрд╛ рд╣реИ

рд╕рднреА 18 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@yuvval рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЖрдк рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдкрд╛рд░реНрд╕рд░ рд╕рдВрд╕реНрдХрд░рдг 2015-12-09 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЗрд╕рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирдП рд╕реНрдЯреИрдирдлреЛрд░реНрдбрдПрдирдПрд▓рдкреА рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ #1237 . рдХреЗ рд╕рдорд╛рди рд╣реИ

#1237 рддрдп рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордп рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдПрдирдПрд▓рдЯреАрдХреЗ рд╕реНрдЯреИрдВрдбрдлреЛрд░реНрдб рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝ рд▓реЗрдЧрд╛ред

рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдзрд╛рди рдпрд╛ рддреЛ рд╣реИ:

  1. http://nlp.stanford.edu/software/stanford-parser-full-2015-04-20.zip рд╕реЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг 2015-04-20 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ NLTK API рдХрд╛рдо рдХрд░реЗрдЧрд╛, рджреЗрдЦреЗрдВ http://stackoverflow.com /questions/13883277/stanford-parser-and-nltk/34112695#34112695 рдпрд╛
  2. рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдкрд╛рд░реНрд╕рд░ рдХреНрд▓рд╛рд╕рдкрд╛рде рд╣реИрдХ рдХрд░реЗрдВ:
from nltk.internals import find_jars_within_path
from nltk.parse.stanford import StanfordDependencyParser
dep_parser=StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
stanford_dir = st._stanford_jar.rpartition('/')[0]
# or in windows comment the line above and uncomment the one below:
#stanford_dir = st._stanford_jar.rpartition("\\")[0]
stanford_jars = find_jars_within_path(stanford_dir)
st.stanford_jar = ':'.join(stanford_jars)
[parse.tree() for parse in dep_parser.raw_parse("The quick brown fox jumps over the lazy dog.")]

рд╢реБрдХреНрд░рд┐рдпрд╛! рдпрд╣ 2015-04-20 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреНрд▓рд╛рд╕рдкрд╛рде рд╣реИрдХ рднреА рдХрд╛рдо рдХрд░рддрд╛ рдерд╛?

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА - рдореИрдВрдиреЗ рдЕрднреА рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ 2015-04-20 рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред

рдирдорд╕реНрддреЗ! рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╣реИрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ `рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдкрд╛рд░реНрд╕рд░` рдирд╣реАрдВ рд╣реИ:

print(nltk.__version__)
from nltk.tag import StanfordDependencyParser

3.1
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-67bb74c3494a> in <module>()
----> 1 from nltk.tag import StanfordDependencyParser

ImportError: cannot import name 'StanfordDependencyParser'

рдХреБрдЫ рдкрддрд╛ рд╣реИ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реИ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╡реАрдирддрдо рд╕реНрдЯреИрдирдлреЛрд░реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

@methodds рдореЗрд░реЗ рдЯрд╛рдЗрдкреЛ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ from nltk.parse.stanford import StanfordDependencyParser ред рд╡рд┐рд╕реНрддреГрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ https://gist.github.com/alvations/e1df0ba227e542955a8a рджреЗрдЦреЗрдВред

рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рджред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рдЯрдХрд╕рд╛рд▓ рдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ред

рдореЗрд░рд╛ bashrc рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

export JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH="/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/stanford-postagger.jar:$CLASSPATH"

export CLASSPATH="/home/cs/stanford_nlp/stanford-ner-2015-04-20/stanford-ner.jar:$CLASSPATH"

export STANFORD_MODELS="/home/cs/stanford_nlp/stanford-ner-2015-04-20/classifiers:$STANFORD_MODELS"

export STANFORD_MODELS="/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/models:$STANFORD_MODELS"

рдЪрд░ рдХреЛ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░рдирд╛ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ:

echo $CLASSPATH
/home/cs/stanford_nlp/stanford-ner-2015-04-20/stanford-ner.jar:/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/stanford-postagger.jar

echo $STANFORD_MODELS
/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/models:/home/cs/stanford_nlp/stanford-ner-2015-04-20/classifiers

рд╣рд╛рд▓рд╛рдБрдХрд┐ (рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА) NLTK рдХреЛ рдЕрднреА рднреА рдЯреИрдЧрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ:

from nltk.tag.stanford import StanfordPOSTagger
st = StanfordPOSTagger('english-bidirectional-distsim.tagger')
st.tag('What is the airspeed of an unladen swallow ?'.split())

NLTK was unable to find stanford-postagger.jar! Set the CLASSPATH
environment variable.

source .bashrc рдФрд░ рдпрд╣ рдЗрд╕ рдмреАрдЪ рдХрд╛рдо рдХрд░реЗрдЧрд╛ http://apple.stackexchange.com/questions/12993/why-doesnt-bashrc-run-automatically рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдХрд┐ рдХреИрд╕реЗ bashrc рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреА рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реНрд░реЛрдд .bashrc рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЖрдкрдХрд╛ Linux рд╡рд┐рддрд░рдг рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк lsb_release -a ? рдпрд╛ рдЖрдк рдореИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред ` lsb_release -a рд░рд┐рдЯрд░реНрди

No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 17.3 Rosa
Release:    17.3
Codename:   rosa
  • рдЖрдкрдиреЗ export рдХрдорд╛рдВрдб рдХрд╣рд╛рдВ рдХрд┐рдпрд╛? рдХреМрди рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛?
  • рдЖрдк рдЕрдкрдиреА рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╣рд╛рдВ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ? рдХреМрди рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛?

рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреА рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдХрд░реЗрдВ: import os; print os.environ ред

рдлрд┐рд░ рдЕрдкрдиреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬрд╛рдПрдВ, рдкрд╛рдпрдерди рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рд╡рд╣реА рдХрд░реЗрдВ: import os; print os.environ

рдХреНрдпрд╛ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ 2 рд╕реЗрдЯ рднрд┐рдиреНрди рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рдореИрдВ import os; print(os.environ) рдХрд╛ рдЙрдкрдпреЛрдЧ .bashrc рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдерд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рд╕рд╛рдордЧреНрд░реА рдХреЛ .profile (рдореЗрд░реЗ рд╣реЛрдо рдлреЛрд▓реНрдбрд░ рдореЗрдВ) рдореЗрдВ рдХреЙрдкреА рдкреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ = рдбреАред

рдЦреБрд╢реА рд╣реИ рдХрд┐ .profile рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдУрдПрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛ рдореБрджреНрджрд╛ рд╣реИред рдореИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕реНрдерд┐рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдЬрдм рднреА рдореИрдВ рдЕрдкрдиреА рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдореИрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХреВрдВ рдХрд┐ рдХреЛрдИ рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рд╣реИред рдПрдирдПрд▓рдЯреАрдХреЗ рдПрдкреАрдЖрдИ рдФрд░ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдордЬрд╝реЗ рдХрд░реЗрдВ!

рд╢реБрдХреНрд░рд┐рдпрд╛ :)

'stanford_dir = st._stanford_jar.rpartition('/')[0]' рдХрдорд╛рдВрдб рдореЗрдВ 'рд╕реЗрдВрдЯ' рдХреНрдпрд╛ рд╣реИ

рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИрдирд╕реЗрди 7 рдЬреИрд╕рд╛ рд╣реА рдкреНрд░рд╢реНрди рд╣реИ

рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЬреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕реЗрдВрдЯ рдХреНрдпрд╛ рд╣реИ,
st = StanfordNERTagger(os.environ.get('STANFORD_MODELS'))
рд╕рдВрджрд░реНрдн: https://gist.github.com/manashmndl/810db10809cbc1209b34c7d25efe95d5#file -stanfordnertagger-py

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jeryini picture jeryini  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stevenbird picture stevenbird  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DavidNemeskey picture DavidNemeskey  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alvations picture alvations  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

peterbe picture peterbe  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ