Nltk: рдкреБрд░рд╛рдиреЗ рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдкрд╛рд░реНрд╕рд░ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реБрдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рд╕рд┐рддре░ 2017  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nltk/nltk

рд╣рдордиреЗ StanfordTokenizer / StanfordSegmenter , StanfordPOSTagger рдФрд░ StanfordNERTagger ред

рдЕрдЪреНрдЫрд╛ рдпрд╣ рднреА рд╣реЛрдЧрд╛ рдХрд┐ рдкреБрд░рд╛рдиреЗ StanfordParser , StanfordDependencyParser рдФрд░ StanfordNeuralDependencyParser рдШрдЯрд╛рдПрдВ

  1. рдкреБрд░рд╛рдиреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝рдирд╛

реи рдЕред CoreNLPParser рд▓рд┐рдП рдмрддрдЦ-рдкреНрд░рдХрд╛рд░ рд▓рдкреЗрдЯреЗрдВ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИ

реи рдмред рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CoreNLPParser рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд▓рд┐рдЦреЗрдВ

  1. рдирдП CoreNLP рдкрд╛рд░реНрд╕рд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ

рджреЛрдиреЛрдВ (2 рдП) рдФрд░ (2 рдмреА) рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗрд╡рд▓ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП properties рдХреЗ рддрд░реНрдХ api_call

CoreNLPParser рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕:

>>> from nltk.parse.corenlp import CoreNLPParser
>>> sent = 'The quick brown fox jumps over the lazy dog.'
>>> next(parser.raw_parse(sent)).pretty_print()  # doctest: +NORMALIZE_WHITESPACE
                         ROOT
                          |
                          S
           _______________|__________________________
          |                         VP               |
          |                _________|___             |
          |               |             PP           |
          |               |     ________|___         |
          NP              |    |            NP       |
      ____|__________     |    |     _______|____    |
     DT   JJ    JJ   NN  VBZ   IN   DT      JJ   NN  .
     |    |     |    |    |    |    |       |    |   |
    The quick brown fox jumps over the     lazy dog  .

рд╡рд╛рдВрдЫрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

# Using Duck-types
>>> from nltk.parse.stanford import CoreNLPParser
>>> depparser = CoreNLPDependencyParser('http://localhost:9000')
>>> depparser.parse(sent)
>>> ndepparser = CoreNLPNeuralDependencyParser('http://localhost:9000')
>>> ndepparser.parse(sent)
# Using arguments to control `properties` for `api_call()` 
>>> from nltk.parse.stanford import CoreNLPParser

>>> depparser = CoreNLPParser('http://localhost:9000', parser_type="dependency")
>>> depparser.parse(sent)

>>> ndepparser = CoreNLPNeuralDependencyParser('http://localhost:9000', parser_type="neural_dependency")
>>> ndepparser.parse(sent)

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╢реНрд░реЗрдгреА рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛ рдЕрдЪреНрдЫреА рдкрд╣рд▓реА рдЪреБрдиреМрддреА рд╣реЛрдЧреА; рдкреА

dependency parsing enhancement goodfirstbug inactive nice idea tests

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

@artiemq рдореБрджреНрджреЗ рдореЗрдВ рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рддрд░реАрдХрд╛ рдерд╛ рдХрд┐ рдПрдкреАрдЖрдИ рдХреЗ рдЕрдЬрдЧрд░ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ CoreNLP рдирд╣реАрдВ рдХрд╣рд▓рд╛рддрд╛ред

рдпреВрдирд┐рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╢рд╛рдпрдж unittest.mock рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ CoreNLP рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ / рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ PR = рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ)

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

рдирдорд╕реНрддреЗ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирдХрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рдП

рдЕрдм рдкрд░реАрдХреНрд╖рдг рдХреБрдЫ рднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЕрдЧрд░ tokenize рд╢рд░реАрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рдЯ, рдкрд░реАрдХреНрд╖рдг рдЕрднреА рднреА рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рд╢рд╛рдпрдж рд╣рдореЗрдВ api_call рдкрджреНрдзрддрд┐ рдХреЛ рдкреИрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ рдЯреЛрдХрди рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

  corenlp_tokenizer = CoreNLPTokenizer()
  corenlp_tokenizer.api_call = MagicMock(return_value=predefined_return_value)
  corenlp_tokenizer.tokenize(input_string)

@artiemq рдореБрджреНрджреЗ рдореЗрдВ рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рддрд░реАрдХрд╛ рдерд╛ рдХрд┐ рдПрдкреАрдЖрдИ рдХреЗ рдЕрдЬрдЧрд░ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ CoreNLP рдирд╣реАрдВ рдХрд╣рд▓рд╛рддрд╛ред

рдпреВрдирд┐рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╢рд╛рдпрдж unittest.mock рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ CoreNLP рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ / рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ PR = рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ)

рдореИрдВ рдпрд╣рд╛рдВ рдкреЛрд░реНрдЯ 9000 рдкрд░ POStagger 'рд╕рд░реНрд╡рд░' рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдХрд┐ рдкреЛрд░реНрдЯ 9000 рдкрд░ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдкреЛрд╕реНрдЯреИрдЧрд░ рд╕рд░реНрд╡рд░ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдП ... рдХреЛрдИ рднреА рдЬрд╛рдирддрд╛ рд╣реИ?

рддреЛ рдпрд╣ рддрдп рд╣реИ рдпрд╛ рдирд╣реАрдВ?
рдореИрдВ рдЕрдм nltk.tag.StanfordNERTagger() рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рдд рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореИрдВ рдпрд╣ рдХрд░реВрдВ рдпрд╛ рдирд╣реАрдВ?

рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рд░реНрд╕рд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдкреАрдЖрдИ-рдХреЙрд▓ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓реЗред рдХреНрдпрд╛ рдпрд╣ CoreNLPParser рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ?

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

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

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

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

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

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

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