polyglot-tokenizer

Tokenizer for world's most spoken languages and social media texts like Facebook, Twitter etc.


Keywords
nlp, polyglot, tokenizer
License
MIT
Install
pip install polyglot-tokenizer==2.0.1.4

Documentation

Polyglot Tokenizer

Tokenizer for world's most spoken languages and social media texts like Facebook, Twitter etc.

Installation

pip install polyglot-tokenizer

Examples

Within Python

>>> from __future__ import unicode_literals
>>> from polyglot_tokenizer import Tokenizer
>>> tk = Tokenizer(lang='en', smt=True) #smt is a flag for social-media-text
>>> text = "RT @BJP_RSS Crack down on Black money.India slides to 75th slot on Swiss bank money list #ModiForeignAchievements @RituRathaur https://t.cтАж"
>>> tk.tokenize(text)
['RT', '@BJP_RSS', 'Crack', 'down', 'on', 'Black', 'money', '.', 'India', 'slides', 'to', '75th', 'slot', 'on', 'Swiss', 'bank', 'money', 'list', '#ModiForeignAchievements', '@RituRathaur', 'https://t.cтАж']
>>> tk = Tokenizer(lang='hi')
>>> tk.tokenize("22 рд╕рд╛рд▓ рдХреЗ рд▓рдВрдмреЗ рдЗрдВрддрдЬрд╛рд░ рдХреЗ рдмрд╛рдж рдЖрдЦрд┐рд░рдХрд╛рд░ рд╣реЙрд▓реАрд╡реБрдб рд╕реНрдЯрд╛рд░ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдбрд┐рдХреИрдкреНрд░рд┐рдпреЛ рдХреЛ рдЕрдкрдиреА рдкрд╣рд▓реА рдСрд╕реНрдХрд░ рдЯреНрд░реЙрдлреА"
...             " рдорд┐рд▓ рдЪреБрдХреА рд╣реИред рдЙрдиреНрд╣реЗрдВ рдпреЗ рдЕрд╡реЙрд░реНрдб рдЕрдкрдиреА рдлрд┐рд▓реНрдо тАШрдж рд░реЗрд╡реЗрдиреЗрдВрдЯтАЩ рдореЗрдВ рд╣реНрдпреВрдЬ рдЧреНрд▓рд╛рд╕ рдХреЗ рдХрд┐рд░рджрд╛рд░ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ"
...             " рдХреЗ рд▓рд┐рдП рд░реЛрд▓ рдирд┐рднрд╛рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ред")
['22', 'рд╕рд╛рд▓', 'рдХреЗ', 'рд▓рдВрдмреЗ', 'рдЗрдВрддрдЬрд╛рд░', 'рдХреЗ', 'рдмрд╛рдж', 'рдЖрдЦрд┐рд░рдХрд╛рд░', 'рд╣реЙрд▓реАрд╡реБрдб', 'рд╕реНрдЯрд╛рд░', 'рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ', 'рдбрд┐рдХреИрдкреНрд░рд┐рдпреЛ', 'рдХреЛ', 'рдЕрдкрдиреА', 'рдкрд╣рд▓реА', 'рдСрд╕реНрдХрд░', 'рдЯреНрд░реЙрдлреА', 'рдорд┐рд▓', 'рдЪреБрдХреА', 'рд╣реИ', 'ред', 'рдЙрдиреНрд╣реЗрдВ', 'рдпреЗ', 'рдЕрд╡реЙрд░реНрдб', 'рдЕрдкрдиреА', 'рдлрд┐рд▓реНрдо', "'", 'рдж', 'рд░реЗрд╡реЗрдиреЗрдВрдЯ', "'", 'рдореЗрдВ', 'рд╣реНрдпреВрдЬ', 'рдЧреНрд▓рд╛рд╕', 'рдХреЗ', 'рдХрд┐рд░рджрд╛рд░', 'рдХреЗ', 'рд▓рд┐рдП', 'рдорд┐рд▓рд╛', ',', 'рд▓реЗрдХрд┐рди', 'рдЙрдирдХреЗ', 'рдХреЗ', 'рд▓рд┐рдП', 'рд░реЛрд▓', 'рдирд┐рднрд╛рдирд╛', 'рдЖрд╕рд╛рди', 'рдирд╣реАрдВ', 'рдерд╛', 'ред']
>>> tk = Tokenizer(lang='hi', split_sen=True)
>>> tk.tokenize("22 рд╕рд╛рд▓ рдХреЗ рд▓рдВрдмреЗ рдЗрдВрддрдЬрд╛рд░ рдХреЗ рдмрд╛рдж рдЖрдЦрд┐рд░рдХрд╛рд░ рд╣реЙрд▓реАрд╡реБрдб рд╕реНрдЯрд╛рд░ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдбрд┐рдХреИрдкреНрд░рд┐рдпреЛ рдХреЛ рдЕрдкрдиреА рдкрд╣рд▓реА рдСрд╕реНрдХрд░ рдЯреНрд░реЙрдлреА"
...             " рдорд┐рд▓ рдЪреБрдХреА рд╣реИред рдЙрдиреНрд╣реЗрдВ рдпреЗ рдЕрд╡реЙрд░реНрдб рдЕрдкрдиреА рдлрд┐рд▓реНрдо тАШрдж рд░реЗрд╡реЗрдиреЗрдВрдЯтАЩ рдореЗрдВ рд╣реНрдпреВрдЬ рдЧреНрд▓рд╛рд╕ рдХреЗ рдХрд┐рд░рджрд╛рд░ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ"
...             " рдХреЗ рд▓рд┐рдП рд░реЛрд▓ рдирд┐рднрд╛рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ред рдлрд┐рд▓реНрдо рдПрдХ рд╕реАрди рдХреЗ рд▓рд┐рдП рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдХреЛ рднреИрдВрд╕ рдХрд╛ рдХрдЪреНрдЪрд╛ рд▓реАрд╡рд░ рдЦрд╛рдирд╛"
...             " рдкрдбрд╝рд╛ рдерд╛ред рдЬрдмрдХрд┐ рдЕрд╕рд▓ рдЬрд┐рдВрджрдЧреА рдореЗрдВ рд╡реЛ рдкреВрд░реА рддрд░рд╣ рд╢рд╛рдХрд╛рд╣рд╛рд░реА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╕реАрди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдХреЛ"
...             " рдорд╛рдВрд╕ рдЬреИрд╕реЗ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬ рджреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд▓рдЧрд╛ рдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рдЧрд▓рдд рд╣реЛрдЧрд╛ред рдлрд┐рд▓реНрдо рдХреЗ рд▓рд┐рдП рдЗрдореНрдкреЛрд░реНрдЯ"
...             " рдХреА рдЧрдИ рдЪреАрдЯрд┐рдпрд╛рдВ...")
[['22', 'рд╕рд╛рд▓', 'рдХреЗ', 'рд▓рдВрдмреЗ', 'рдЗрдВрддрдЬрд╛рд░', 'рдХреЗ', 'рдмрд╛рдж', 'рдЖрдЦрд┐рд░рдХрд╛рд░', 'рд╣реЙрд▓реАрд╡реБрдб', 'рд╕реНрдЯрд╛рд░', 'рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ', 'рдбрд┐рдХреИрдкреНрд░рд┐рдпреЛ', 'рдХреЛ', 'рдЕрдкрдиреА', 'рдкрд╣рд▓реА', 'рдСрд╕реНрдХрд░', 'рдЯреНрд░реЙрдлреА', 'рдорд┐рд▓', 'рдЪреБрдХреА', 'рд╣реИ', 'ред'], ['рдЙрдиреНрд╣реЗрдВ', 'рдпреЗ', 'рдЕрд╡реЙрд░реНрдб', 'рдЕрдкрдиреА', 'рдлрд┐рд▓реНрдо', "'", 'рдж', 'рд░реЗрд╡реЗрдиреЗрдВрдЯ', "'", 'рдореЗрдВ', 'рд╣реНрдпреВрдЬ', 'рдЧреНрд▓рд╛рд╕', 'рдХреЗ', 'рдХрд┐рд░рджрд╛рд░', 'рдХреЗ', 'рд▓рд┐рдП', 'рдорд┐рд▓рд╛', ',', 'рд▓реЗрдХрд┐рди', 'рдЙрдирдХреЗ', 'рдХреЗ', 'рд▓рд┐рдП', 'рд░реЛрд▓', 'рдирд┐рднрд╛рдирд╛', 'рдЖрд╕рд╛рди', 'рдирд╣реАрдВ', 'рдерд╛', 'ред'], ['рдлрд┐рд▓реНрдо', 'рдПрдХ', 'рд╕реАрди', 'рдХреЗ', 'рд▓рд┐рдП', 'рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ', 'рдХреЛ', 'рднреИрдВрд╕', 'рдХрд╛', 'рдХрдЪреНрдЪрд╛', 'рд▓реАрд╡рд░', 'рдЦрд╛рдирд╛', 'рдкрдбрд╝рд╛', 'рдерд╛', 'ред'], ['рдЬрдмрдХрд┐', 'рдЕрд╕рд▓', 'рдЬрд┐рдВрджрдЧреА', 'рдореЗрдВ', 'рд╡реЛ', 'рдкреВрд░реА', 'рддрд░рд╣', 'рд╢рд╛рдХрд╛рд╣рд╛рд░реА', 'рд╣реИрдВ', 'ред'], ['рд╣рд╛рд▓рд╛рдВрдХрд┐', 'рдЗрд╕', 'рд╕реАрди', 'рдХреЗ', 'рд▓рд┐рдП', 'рдкрд╣рд▓реЗ', 'рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ', 'рдХреЛ', 'рдорд╛рдВрд╕', 'рдЬреИрд╕реЗ', 'рджрд┐рдЦрдиреЗ', 'рд╡рд╛рд▓реА', 'рдЪреАрдЬ', 'рджреА', 'рдЧрдИ', 'рдереА', ',', 'рд▓реЗрдХрд┐рди', 'рдЙрдиреНрд╣реЗрдВ', 'рд▓рдЧрд╛', 'рдХрд┐', 'рдРрд╕рд╛', 'рдХрд░рдирд╛', 'рдЧрд▓рдд', 'рд╣реЛрдЧрд╛', 'ред'], ['рдлрд┐рд▓реНрдо', 'рдХреЗ', 'рд▓рд┐рдП', 'рдЗрдореНрдкреЛрд░реНрдЯ', 'рдХреА', 'рдЧрдИ', 'рдЪреАрдЯрд┐рдпрд╛рдВ', '...']]

From Console

polyglot-tokenizer --h

usage: polyglot-tokenizer [-h] [-v] [-i] [-s] [-t] [-o] [-l]

Tokenizer for world's most spoken languages


optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -i , --input          <input-file>
  -s, --split-sentences
                        set this flag to apply sentence segmentation
  -t, --social-media-test
                        set this flag if the input file contains social media
                        text like twitter, facebook and whatsapp
  -o , --output         <output-file>
  -l , --language       select language (2 letter ISO-639 code) {hi, ur, bn,
                        as, gu, ml, pa, te, ta, kn, or, mr, cu, myv, nn, yi,
                        ne, bo, br, ks, en, es, ca, cs, de, el, en, fi, da,
                        eu, kok, nb, uz, fr, ga, hu, is, it, lt, lv, nl, pl,
                        pt, ro, ru, sk, bm, yue, mk, ku, sl, sv, zh, et, fo,
                        gl, hsb, af, ar, be, hy, bg, ka, ug, hr, mn, tk, kk,
                        ky, la, no, fa, uk, tl, tr, vi, yo, ko, got, ckb, he,
                        id, sr}

Example ::

polyglot-tokenizer < raw_file.txt -l en -s > tokenized.txt