Metadata-Version: 2.1
Name: UnicodeTokenizer
Version: 0.1.7
Summary: UnicodeTokenizer: tokenize all Unicode text
Home-page: https://github.com/laohur/UnicodeTokenizer
Author: laohur
Author-email: laohur@gmail.com
License: [Anti-996 License](https: // github.com/996icu/996.ICU/blob/master/LICENSE)
Keywords: UnicodeTokenizer,Tokenizer,Unicode,ZiTokenizer,ZiCutter,laohur
Requires-Python: >=3.0
Description-Content-Type: text/markdown

# UnicodeTokenizer

UnicodeTokenizer: tokenize all Unicode text, tokenize blank char as a token as default

## 切词规则 Tokenize Rules
* 空白切分 split on blank： '\n', ' ', '\t'
* 保留关键词 keep never_splits
* 若小写，则规范化：全角转半角，则NFD规范化，再字符分割  nomalize if lower：full2half，nomalize NFD, then chars split 
    - 类别为M，略过 ingore if category M ： category M -> ''
* 字符分割 chars split： 以字的符号类别和语言分割 split line by category and languae of characters
    - 只有临近数字成词 only numers joind
    - 只有临近字母成词 only letters joind 
    - 高码点独字  split high UnicodePoint characters

* 截断 max_len


## use
> pip install UnicodeTokenizer

```python
from UnicodeTokenizer import UnicodeTokenizer
tokenizer=UnicodeTokenizer()

doc0 = """ 
        首先8.88设置 st。art_new_word=True 和 output=[açaí]，output 就是最终 no such name"
        的输出คุณจะจัดพิธีแต่งงานเมื่อไรคะ탑승 수속해야pneumonoultramicroscopicsilicovolcanoconiosis"
        하는데 카운터가 어디에 있어요ꆃꎭꆈꌠꊨꏦꏲꅉꆅꉚꅉꋍꂷꂶꌠلأحياء تمارين تتطلب من [MASK] [PAD] [CLS][SEP]
        est 𗴂𗹭𘜶𗴲𗂧, ou "phiow-bjij-lhjij-lhjij", ce que l'on peut traduire par « pays-grand-blanc-élevé » (白高大夏國). 
    """
print(tokenizer.tokenize(doc0))
```

## result 
| sentence                                                                                                                                                                                                                                                                                                          | UnicodeTokenizer                                                                                                                                                                                                                                                                                                                                                                                                                                          | Unicode Tokens Length | BertBasicTokenizer                                                                                                                                                                                                                                                                                                 | Bert Tokens length |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|
| Ⅷ首先8.88设置 st。art_new_word=True 和 output=[açaí]，output 就是最终 no such name                                                                                                                                                                                                                              | ⅷ 首 先 8 . 88 设 置 st 。 art _ new _ word = true 和 output = [ ac a i ] ， output 就 是 最 终    no such name                                                                                                                                                                                                                                                                                                                                         | 37                    | ⅷ 首 先 8 . 88 设 置 st 。 art _ new _ word = true 和 output = [ acai ] ， output 就 是 最 终 no such name                                                                                                                                                                                                         | 32                 |
| 的输出คุณจะจัดพิธีแต่งงานเมื่อไรคะ탑승 수속해야pneumonoultramicroscopicsilicovolcanoconiosis                                                                                                                                                                                                                             | 的 输 出 ค ณ จะจ ด พ ธ แ ต ง งานเม อ ไรคะ 탑승 수속해야 pneumonoultramicroscopicsilicovolcanoconiosis                                                                                                                                                                                                                                                                                                                                                     | 18                    | 的 输 出 คณจะจดพธแตงงานเมอไรคะ탑승 수속해야pneumonoultramicroscopicsilicovolcanoconiosis                                                                                                                                                                                                                           | 5                  |
| 하는데 카운터가 어디에 있어요ꆃꎭꆈꌠꊨꏦꏲꅉꆅꉚꅉꋍꂷꂶꌠلأحياء تمارين تتطلب من [MASK] [PAD] [CLS][SEP]                                                                                                                                                                                                         | 하는데 카운터가 어디에 있어요 ꆃ ꎭ ꆈ ꌠ ꊨ ꏦ ꏲ ꅉ ꆅ ꉚ ꅉ ꋍ ꂷ ꂶ ꌠ لا ح ياء تمارين تتطلب من [MASK] [PAD] [ cls ] [ sep ]                                                                                                                                                                                                                                                                                                                          | 33                    | 하는데 카운터가 어디에 있어요ꆃꎭꆈꌠꊨꏦꏲꅉꆅꉚꅉꋍꂷꂶꌠلاحياء تمارين تتطلب من [MASK] [PAD] [ cls ] [ sep ]                                                                                                                                                                                                     | 15                 |
| est 𗴂𗹭𘜶𗴲𗂧, ou "phiow-bjij-lhjij-lhjij", ce que l'on peut traduire par « pays-grand-blanc-élevé » (白高大夏國).                                                                                                                                                                                                    | est 𗴂 𗹭 𘜶 𗴲 𗂧 , ou " phiow - bjij - lhjij - lhjij " , ce que l ' on peut traduire par « pays - grand - blanc - e l eve » ( 白 高 大 夏 國 ) .                                                                                                                                                                                                                                                                                                             | 45                    | est 𗴂𗹭𘜶𗴲𗂧 , ou " phiow - bjij - lhjij - lhjij " , ce que l ' on peut traduire par « pays - grand - blanc - eleve » ( 白 高 大 夏 國 ) .                                                                                                                                                                            | 39                 |
| วรรณพงษ์เป็นนักศึกษาชั้นปีที่หนึ่ง เรียนสาขาวิทยาการคอมพิวเตอร์และสารสนเทศคณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์อยู่ที่มหาวิทยาลัยขอนแก่นวิทยาเขตหนองคายยืมคืนทรัพยากรห้องสมุดเอกสารสัมมนาคอมพิวเตอร์ปัญญาประดิษฐ์กับการพัฒนาเกมแมวกินปลาหิวววไหมหลักสูตรใหม่สดสดทนได้                                                                                           | วรรณพงษ เ ป น น ก ศ ก ษาช น ป ท ห น ง เร ย นสาขาว ท ยาการคอมพ ว เตอร แ ละสารสนเทศคณะว ท ยาศาสตร ป ระย ก ต แ ละว ศ วกรรมศาสตร อ ย ท ม หาว ท ยาล ย ขอนแก น ว ท ยาเขตหนองคายย ม ค น ทร พ ยากรห อ งสม ด เอกสารส ม มนาคอมพ ว เตอร ป ญ ญาประด ษ ฐ ก บ การพ ฒ นาเกมแมวก น ปลาห ว ววไหมหล ก ส ต รใหม ส ดสดทนได                                                                                                                                                    | 81                    | วรรณพงษเปนนกศกษาชนปทหนง เรยนสาขาวทยาการคอมพวเตอรและสารสนเทศคณะวทยาศาสตรประยกตและวศวกรรมศาสตรอยทมหาวทยาลยขอนแกนวทยาเขตหนองคายยมคนทรพยากรหองสมดเอกสารสมมนาคอมพวเตอรปญญาประดษฐกบการพฒนาเกมแมวกนปลาหวววไหมหลกสตรใหมสดสดทนได                                                                                            | 2                  |
| ສົມເດັດພະເຈົ້າຢູ່ຫົວບໍຣົມໂກດຊົງທຳນຸບຳລຸງບ້ານເມືອງແລະພະສາດສະໜາຈົນກ່າວໄດ້ວ່າກຸງສີອະຍຸທະຢາໃນສະໄໝພະອົງນັ້ນເປັນຍຸກທີ່ບ້ານເມືອງດີ ມີຂຸນນາງຄົນສຳຄັນທີ່ເຕີບໂຕໃນເວລາຕໍ່ມາ ໃນລາຊະການຂອງພະອົງຫຼາຍຄົນ ເຊັ່ນ ສົມເດັດພະເຈົ້າກຸງທົນບຸລີ, ພະບາດສົມເດັດພະພຸດທະຍອດຟ້າຈຸລາໂລກມະຫາລາດ ເປັນຕົ້ນ ໃນທາງດ້ານວັນນະຄະດີກໍມີກະວີຄົນສຳຄັນ ເຊັ່ນ ເຈົ້າຟ້າທຳມາທິເບດໄຊຍະເຊດສຸລິຍະວົງ ກົມມະຂຸນເສນາພິທັກ ຫຼືເຈົ້າຟ້າກຸ້ງ ເຊິ່ງເປັນພະໂອລົດ ເປັນຕົ້ນ | ສ ມ ເດ ດ ພະເຈ າ ຢ ຫ ວ ບ ຣ ມ ໂກດຊ ງ ທຳນ ບ ຳລ ງ ບ າ ນເມ ອ ງແລະພະສາດສະໜາຈ ນ ກ າ ວໄດ ວ າ ກ ງ ສ ອ ະຍ ທ ະຢາໃນສະໄໝພະອ ງ ນ ນ ເປ ນ ຍ ກ ທ ບ າ ນເມ ອ ງດ ມ ຂ ນ ນາງຄ ນ ສຳຄ ນ ທ ເ ຕ ບ ໂຕໃນເວລາຕ ມ າ ໃນລາຊະການຂອງພະອ ງ ຫ າ ຍຄ ນ ເຊ ນ ສ ມ ເດ ດ ພະເຈ າ ກ ງ ທ ນ ບ ລ , ພະບາດສ ມ ເດ ດ ພະພ ດ ທະຍອດຟ າ ຈ ລ າໂລກມະຫາລາດ ເປ ນ ຕ ນ ໃນທາງດ າ ນວ ນ ນະຄະດ ກ ມ ກ ະວ ຄ ນ ສຳຄ ນ ເຊ ນ ເຈ າ ຟ າ ທຳມາທ ເ ບດໄຊຍະເຊດສ ລ ຍ ະວ ງ ກ ມ ມະຂ ນ ເສນາພ ທ ກ ຫ ເ ຈ າ ຟ າ ກ ງ ເຊ ງ ເປ ນ ພະໂອລ ດ ເປ ນ ຕ ນ | 150                   | ສມເດດພະເຈາຢຫວບຣມໂກດຊງທຳນບຳລງບານເມອງແລະພະສາດສະໜາຈນກາວໄດວາກງສອະຍທະຢາໃນສະໄໝພະອງນນເປນຍກທບານເມອງດ ມຂນນາງຄນສຳຄນທເຕບໂຕໃນເວລາຕມາ ໃນລາຊະການຂອງພະອງຫາຍຄນ ເຊນ ສມເດດພະເຈາກງທນບລ , ພະບາດສມເດດພະພດທະຍອດຟາຈລາໂລກມະຫາລາດ ເປນຕນ ໃນທາງດານວນນະຄະດກມກະວຄນສຳຄນ ເຊນ ເຈາຟາທຳມາທເບດໄຊຍະເຊດສລຍະວງ ກມມະຂນເສນາພທກ ຫເຈາຟາກງ ເຊງເປນພະໂອລດ ເປນຕນ | 15                 |

## reference
* Unicode Blocks  https://www.unicode.org/Public/UCD/latest/ucd/Blocks.txt
* unicodedata.category https://www.unicode.org/reports/tr44/  #Table 12. General_Category Values
* BertTokenization https://github.com/NVIDIA/DeepLearningExamples/blob/master/PyTorch/LanguageModeling/BERT/tokenization.py


## License
[Anti-996 License](https://github.com/996icu/996.ICU/blob/master/LICENSE)
