рд╣рдордиреЗ StanfordTokenizer
/ StanfordSegmenter
, StanfordPOSTagger
рдФрд░ StanfordNERTagger
ред
рдЕрдЪреНрдЫрд╛ рдпрд╣ рднреА рд╣реЛрдЧрд╛ рдХрд┐ рдкреБрд░рд╛рдиреЗ StanfordParser
, StanfordDependencyParser
рдФрд░ StanfordNeuralDependencyParser
рдШрдЯрд╛рдПрдВ
реи рдЕред CoreNLPParser
рд▓рд┐рдП рдмрддрдЦ-рдкреНрд░рдХрд╛рд░ рд▓рдкреЗрдЯреЗрдВ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИ
реи рдмред рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CoreNLPParser
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд▓рд┐рдЦреЗрдВ
рджреЛрдиреЛрдВ (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)
рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╢реНрд░реЗрдгреА рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛ рдЕрдЪреНрдЫреА рдкрд╣рд▓реА рдЪреБрдиреМрддреА рд╣реЛрдЧреА; рдкреА
рдирдорд╕реНрддреЗ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирдХрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рдП
рдЕрдм рдкрд░реАрдХреНрд╖рдг рдХреБрдЫ рднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЕрдЧрд░ 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
рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@artiemq рдореБрджреНрджреЗ рдореЗрдВ рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдореЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рддрд░реАрдХрд╛ рдерд╛ рдХрд┐ рдПрдкреАрдЖрдИ рдХреЗ рдЕрдЬрдЧрд░ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ CoreNLP рдирд╣реАрдВ рдХрд╣рд▓рд╛рддрд╛ред
рдпреВрдирд┐рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╢рд╛рдпрдж
unittest.mock
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ CoreNLP рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ / рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ PR = рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ)