Nltk: рдХреБрдЫ рдХреЛрдиреЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрдВрдЯрд╡рд╛рд░реЗ рдХреЗ рд╡рд╛рдХреНрдп рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдЕрдЧре░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nltk/nltk

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░реЛрдВ рд╡рд╛рд▓реЗ рд╡рд╛рдХреНрдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ #2154 рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдХреБрдЫ рдХреЛрдиреЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ рд╣реИ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

  • рдЬреИрд╕реЗ
  • рдЕрд░реНрдерд╛рдд
  • рдФрд░ рдЕрдиреНрдпред

рд╡рд╛рдХреНрдп рдореЗрдВ рд╡рд╛рдХреНрдп рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

>>> sentence = ("Even though exempli gratia and id est are both Latin "
                "(and therefore italicized), no need to put e.g. or i.e. in "
                "italics when theyтАЩre in abbreviated form.")
>>> sent_tokenize_list = sent_tokenize(sentence)                                                                                                                           

>>> sent_tokenize_list                                                                                                                                            
['Even though exempli gratia and id est are both Latin (and therefore italicized), no need to put e.g.',
 'or i.e.',
 'in italics when theyтАЩre in abbreviated form.']

рдПрдЯ рдЕрд▓ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдгред

>>> from nltk.tokenize import sent_tokenize
>>> sentence = ("If David et al. get the financing, we can move forward "
                "with the prototype. However, this is very unlikely be cause "
                "they did not publish sufficiently last year.")
>>> sent_tokenize_list = sent_tokenize(sentence)
>>> sent_tokenize_list
['If David et al.',
 'get the financing, we can move forward with the prototype.',
 'However, this is very unlikely because they did not publish sufficiently last year.']

рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рдореИрдВ nltk.__version__ 3.4.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ #2154 рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░ рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЕрдХрд╛рджрдорд┐рдХ рдордВрдбрд▓рд┐рдпреЛрдВ рдореЗрдВ)ред

nice idea tokenizer

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

рддреНрд╡рд░рд┐рдд рд╣реИрдХ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд #2154

>>> import nltk
>>> punkt = nltk.data.load('tokenizers/punkt/english.pickle')
>>> punkt._params.abbrev_types.add('al')
>>> text = 'If David et al. get the financing, we can move forward with the prototype. However, this is very unlikely be cause they did not publish sufficiently last year.'
>>> punkt.tokenize(text)
['If David et al. get the financing, we can move forward with the prototype.', 
'However, this is very unlikely be cause they did not publish sufficiently last year.']

рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд╛рдХреНрдп рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝рд░ (#2008, #1214) рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝рд░ (#2355) рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ nltk.corpus.nonbreaking_prefixes рд╕реЗ punkt._params.abbrev_types рдЖрд╕рд╛рдиреА рд╕реЗ nltk.corpus.nonbreaking_prefixes рд╕рдХрддреЗ рд╣реИрдВред

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

рддреНрд╡рд░рд┐рдд рд╣реИрдХ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд #2154

>>> import nltk
>>> punkt = nltk.data.load('tokenizers/punkt/english.pickle')
>>> punkt._params.abbrev_types.add('al')
>>> text = 'If David et al. get the financing, we can move forward with the prototype. However, this is very unlikely be cause they did not publish sufficiently last year.'
>>> punkt.tokenize(text)
['If David et al. get the financing, we can move forward with the prototype.', 
'However, this is very unlikely be cause they did not publish sufficiently last year.']

рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд╛рдХреНрдп рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝рд░ (#2008, #1214) рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝рд░ (#2355) рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ nltk.corpus.nonbreaking_prefixes рд╕реЗ punkt._params.abbrev_types рдЖрд╕рд╛рдиреА рд╕реЗ nltk.corpus.nonbreaking_prefixes рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЖрдкрдиреЗ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдкреАрдЯрд╛ рд╣реИред рдЕрдЧрд░/рдЬрдм рд▓реЛрдЧ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдзрд░-рдЙрдзрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рд▓реИрдЯрд┐рди рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛:
https://en.wikipedia.org/wiki/List_of_Latin_abbreviations

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЙрди рд╕рдВрдХреНрд╖реЗрдкреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рд▓рд┐рдЦрд┐рдд, рдЧреИрд░-рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, _рдмрд╣реБ-рд╢рдмреНрдж рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐_ (_MWEs_) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдирд╣реАрдВ? рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдареАрдХ рд╣реИ, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╡реЗ (рднреА) рдирд┐рд╢реНрдЪрд┐рдд _phrasal рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕_ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдирдХреА MWE рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ #2202 рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрджреНрдпрдкрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ "рдирд╣реАрдВ" рдкрд░ рдЖ рдЬрд╛рдПрдЧрд╛ред ")

(рдкреБрдирд╢реНрдЪ, рдордЬреЗрджрд╛рд░ рддрдереНрдп: 'рдФрд░ рдЕрд▓ред' 'рдПрдЯ рдЕрд▓' рдХрд╛ рдХрд╛рдиреВрдиреА рд░реВрдк рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 'рдФрд░ рд╕реА' 'рдЖрджрд┐' рдХрд╛ рдХрд╛рдиреВрдиреА рдЫреЛрдЯрд╛ рд╣реИред)

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

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

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

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

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

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

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