Nltk: рдХреГрдкрдпрд╛ рдореЗрд░реА рдорджрдж рдХрд░реЛ! рдПрдирдПрд▓рдЯреАрдХреЗ рдФрд░ рд╕реНрдЯреИрдВрдбрдлреЛрд░реНрдб рдПрдирдПрд▓рдкреА рдПрдХреАрдХрд░рдг

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЬреБрд▓ре░ 2018  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nltk/nltk

рдЬрдм рдореИрдВрдиреЗ рдПрдирдПрд▓рдЯреАрдХреЗ рдФрд░ рд╕реНрдЯреИрдВрдбрдлреЛрд░реНрдб рдПрдирдПрд▓рдкреА рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереАред
рдЗрд╕ рддрд░рд╣ рдореЗрд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг:

  1. рдПрдирдПрд▓рдЯреАрдХреЗ 3.3
  2. рд╕реНрдЯреИрдВрдбрдлреЛрд░реНрдб рдПрдирдПрд▓рдкреА рд╕реНрдЯреИрдирдлреЛрд░реНрдб-рд╕реЗрдЧрдореЗрдВрдЯрд░ 3.6.0 / 3.9.1
    рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдПрдХ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рд╕реЗрдЧрдореЗрдВрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ:
    рд╕реНрдЯреИрдВрдбрдлреЛрд░реНрдбрдПрдирдПрд▓рдкреАрдкрд╛рде = рд╕реЗрд▓реНрдл.рдкреНрд░реЛрдЬреЗрдХреНрдЯрдкрд╛рде + "\рд╕реНрдЯреИрдВрдбрдлреЛрд░реНрдб-рдПрдирдПрд▓рдкреА\рд╕реНрдЯреИрдирдлреЛрд░реНрдб-рд╕реЗрдЧрдореЗрдВрдЯрд░-2015-12-09"
    рд╕реНрдЯреИрдирдлреЛрд░реНрдб рд╕реЗрдЧрдореЗрдВрдЯрд░ = рд╕реНрдЯреИрдирдлреЛрд░реНрдб рд╕реЗрдЧрдореЗрдВрдЯрд░ (
    path_to_jar=standfordNlpPath + "\stanford-segmenter-3.6.0.jar",
    path_to_slf4j=standfordNlpPath + "\slf4j-api.jar",
    path_to_sihan_corpora_dict=standfordNlpPath + "\data-2015",
    path_to_model=standfordNlpPath + "\data-2015\pku.gz",
    path_to_dict=standfordNlpPath + "\data-2015\dict-chris6.ser.gz")
    рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рдлрд▓рддрд╛:
    ============================================ ========================
    NLTK рдХреЛ stanford-segmenter.jar рдирд╣реАрдВ рдорд┐рд▓рд╛! рдХреНрд▓рд╛рд╕рд╕реНрдкреИрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ
    рдкрд░реНрдпрд╛рд╡рд░рдгрдкрд░рд┐рд╡рд░реНрддреА рддрд╛рд░рдХред
    рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, stanford-segmenter.jar рдкрд░, рджреЗрдЦреЗрдВ:

https://nlp.stanford.edu/software

рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рд╣реИрдВ, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ, рдХреНрдпрд╛ рдореЗрд░реЗ рдкрде рдпрд╛ рдорд╛рдирдХреЛрдВ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рд╕реЗрдЧрдореЗрдВрдЯрд░ рдХреА рдХрдХреНрд╖рд╛ рдореЗрдВ рд░рдЦрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХрд╛рдлреА рдЖрд╕рд╛рди рдереЗ рдЬреЛ рдореБрдЭреЗ nltk 3.3 рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд┐рд░реНрдл рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд░рдЦрд╛ рд╣реИ рдХрд┐ "path_to_slf4j"ред
рддреЛ, рдХреЛрдИ, рдореЗрд░реА рдорджрдж рдХрд░реЛ :-(!

resolved stanford api

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

рдХреГрдкрдпрд╛ рдирдП CoreNLPParser рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдкрд╣рд▓реЗ рдЕрдкрдирд╛ рдПрдирдПрд▓рдЯреАрдХреЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

pip3 install -U nltk

рдлрд┐рд░ рднреА рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ:

# Get the CoreNLP package
wget http://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip
unzip stanford-corenlp-full-2018-02-27.zip
cd stanford-corenlp-full-2018-02-27/

# Download the properties for chinese language
wget http://nlp.stanford.edu/software/stanford-chinese-corenlp-2018-02-27-models.jar 
wget https://raw.githubusercontent.com/stanfordnlp/CoreNLP/master/src/edu/stanford/nlp/pipeline/StanfordCoreNLP-chinese.properties 

# Download the properties for arabic
wget http://nlp.stanford.edu/software/stanford-arabic-corenlp-2018-02-27-models.jar
wget https://raw.githubusercontent.com/stanfordnlp/CoreNLP/master/src/edu/stanford/nlp/pipeline/StanfordCoreNLP-arabic.properties


рдЪреАрдиреА рдХреЗ рд▓рд┐рдП:

# Start the server.
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer \
-serverProperties StanfordCoreNLP-chinese.properties \
-preload tokenize,ssplit,pos,lemma,ner,parse \
-status_port 9001  -port 9001 -timeout 15000 & 

рдлрд┐рд░ Python3 рдореЗрдВ:

>>> from nltk.parse import CoreNLPParser
>>> parser = CoreNLPParser('http://localhost:9001')
>>> list(parser.tokenize(u'цИСхо╢ц▓бцЬЙчФ╡шДСуАВ'))
['цИСхо╢', 'ц▓бцЬЙ', 'чФ╡шДС', 'уАВ']

рдЕрд░рдмреА рдХреЗ рд▓рд┐рдП:

# Start the server.
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer \
-serverProperties StanfordCoreNLP-arabic.properties \
-preload tokenize,ssplit,pos,parse \
-status_port 9005  -port 9005 -timeout 15000

рдЕрдВрдд рдореЗрдВ, рдкрд╛рдпрдерди рд╢реБрд░реВ рдХрд░реЗрдВ:

>>> from nltk.parse import CoreNLPParser
>>> parser = CoreNLPParser(url='http://localhost:9005')
>>> text = u'╪з┘Ж╪з ╪н╪з┘Е┘Д'
>>> parser.tokenize(text)
<generator object GenericCoreNLPParser.tokenize at 0x7f4a26181bf8>
>>> list(parser.tokenize(text))
['╪з┘Ж╪з', '╪н╪з┘Е┘Д']

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

@ libingnan54321 рдЖрдк рдирд╡реАрдирддрдо 3.9.1 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

segmenter_jar_file = os.path.join(standfordNlpPath,'stanford-segmenter-2018-02-27/stanford-segmenter-3.9.1.jar')
assert(os.path.isfile(segmenter_jar_file))
stanfordSegmenter = StanfordSegmenter(
    path_to_jar=segmenter_jar_file,
)

рдХреГрдкрдпрд╛ рдирдП CoreNLPParser рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдкрд╣рд▓реЗ рдЕрдкрдирд╛ рдПрдирдПрд▓рдЯреАрдХреЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

pip3 install -U nltk

рдлрд┐рд░ рднреА рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ:

# Get the CoreNLP package
wget http://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip
unzip stanford-corenlp-full-2018-02-27.zip
cd stanford-corenlp-full-2018-02-27/

# Download the properties for chinese language
wget http://nlp.stanford.edu/software/stanford-chinese-corenlp-2018-02-27-models.jar 
wget https://raw.githubusercontent.com/stanfordnlp/CoreNLP/master/src/edu/stanford/nlp/pipeline/StanfordCoreNLP-chinese.properties 

# Download the properties for arabic
wget http://nlp.stanford.edu/software/stanford-arabic-corenlp-2018-02-27-models.jar
wget https://raw.githubusercontent.com/stanfordnlp/CoreNLP/master/src/edu/stanford/nlp/pipeline/StanfordCoreNLP-arabic.properties


рдЪреАрдиреА рдХреЗ рд▓рд┐рдП:

# Start the server.
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer \
-serverProperties StanfordCoreNLP-chinese.properties \
-preload tokenize,ssplit,pos,lemma,ner,parse \
-status_port 9001  -port 9001 -timeout 15000 & 

рдлрд┐рд░ Python3 рдореЗрдВ:

>>> from nltk.parse import CoreNLPParser
>>> parser = CoreNLPParser('http://localhost:9001')
>>> list(parser.tokenize(u'цИСхо╢ц▓бцЬЙчФ╡шДСуАВ'))
['цИСхо╢', 'ц▓бцЬЙ', 'чФ╡шДС', 'уАВ']

рдЕрд░рдмреА рдХреЗ рд▓рд┐рдП:

# Start the server.
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer \
-serverProperties StanfordCoreNLP-arabic.properties \
-preload tokenize,ssplit,pos,parse \
-status_port 9005  -port 9005 -timeout 15000

рдЕрдВрдд рдореЗрдВ, рдкрд╛рдпрдерди рд╢реБрд░реВ рдХрд░реЗрдВ:

>>> from nltk.parse import CoreNLPParser
>>> parser = CoreNLPParser(url='http://localhost:9005')
>>> text = u'╪з┘Ж╪з ╪н╪з┘Е┘Д'
>>> parser.tokenize(text)
<generator object GenericCoreNLPParser.tokenize at 0x7f4a26181bf8>
>>> list(parser.tokenize(text))
['╪з┘Ж╪з', '╪н╪з┘Е┘Д']

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдЭрд╛рдпрд╛ рдЧрдпрд╛ =)
рдЕрдЧрд░ рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдЦреЛрд▓реЗрдВ.

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

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

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

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

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

vezeli picture vezeli  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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