OpenPecha / Botok

🏷 བོད་ཏོག [pʰøtɔk̚] Tibetan word tokenizer in Python
https://botok.readthedocs.io/
Apache License 2.0
58 stars 15 forks source link

pybo 0.6.0 tokenizer failed for འིའོ #57

Closed 10zinten closed 5 years ago

10zinten commented 5 years ago

Here is example for reproduce this error.

# examples on which it fails
str_01 = 'ལོག་པའི་བཤེས་གཉེན་དང་གྲུབ་མཐའ་ངན་པས་བརྟགས་པ་སོགས་ལ་མ་བལྟོས་པར་ཐོག་མེད་ནས་བདག་དང་བདག་གིར་འཛིན་པའི་བག་ཆགས་ཡོངས་སུ་གོམས་པས་ཕུང་པོ་ལ་དམིགས་ནས་ངའོ་བདག་གོ་འདི་ནི་ངའིའོ་བདག་གིའོ་སྙམ་དུ་ཡིད་ལ་བྱེད་པ་ཅན་ཐ་ན་བྱ་དང་རི་དྭགས་ཚུན་ཆོད་ལའང་འབྱུང་བ་གང་ཡིན་པ་ནི་འཇིག་ལྟ་ལྷན་སྐྱེས་ཞེས་བྱ་ལ། ༼༢༧༣ན༽དེའི་ཡུལ་ནི་འཇིག་ལྟ་ལྷན་སྐྱེས་ཀྱི་ཡུལ་གྱི་བདག་སྟེ་གྲུབ་མཐས་བཏགས་པ་མ་ཡིན་ནོ། །'
str_02 = 'ཁ་ཅིག ཨི་ཎ་འགྲོ་བའི་བྱིངས་ལ་པྲ་ཏི་སྔོན་དུ་བཞག ཎ་རྗེས་སུ་འབྲེལ། གཞན་ལས་ཀྱང་མཐོང་ངོ་། །ཀྭི་པའིའོ། །ཞེས་པས་ཀྭི་པའི་རྐྱེན་བྱིན། ཀ་ཡིག་ནི་ཀ་ལ་ཡ་ཎ་གཞན་ཡང་སྟེ་ཡ་ལ་བརྗོད་པ་བོར་བའོ། །ཞེས་པའི་དོན་པ་ཡིག་ནི། བྱིངས་ཀྱི་མཐའ་པ་རྗེས་སུ་འབྲེལ་པ་ལ་ཏའོ། །ཞེས་པའི་དོན་དེ་ཉིད་ཀྱི་ཕྱིར། ཏ་ཨཱ་ག་མ་བྱིན། བི་ཡིག་ནི་སྦྱར་བ་མིན་པའི་ཝིའི་དབྱིའོ། །ཞེས་པས་དབྱི། ཨུཏ་དང་གོ་སོགས་ལས་ཡ་ཏའོ། །ཞེས་པས་དེ་ཕན་གྱི་ཡཏ་རྐྱེན་དུ་བྱིན། ཏ་ཡིག་ནི་ཏའི་དེའི་དུས་ཀྱིའོ། །ཞེས་པའི་ཁྱད་པར་གྱི་དོན་ཡིན་པས་དབྱི། ཡང་ན། དེར་ལེགས་པ་ལའང་ཡའོ། །ཞེས་པས། དེ་ཕན་གྱི་ཡ་རྐྱེན་དུ་བྱིན། རྟགས་ཀྱི་དོན་གྱི་ཚིག་ལ་རྣམ་དབྱེ་དང་པོའོ། །ཞེས་པས་སི་བྱིན། སིའི་ཡིག་རྗེས་འབྲེལ། ས་རྣམ་བཅད་དུ་བཏང་། སྔར་བཞིན་མཚམས་སྦྱར་བས། པྲ་ཏཱི་ཏྱཿ ས་མུཏྤཱ་ད་སྔར་ལྟར་སྦྱིན། མིང་རྣམས་ཀྱི་སྦྱོར་བའི་དོན་ནི་བསྡུ་བའོ། །དེར་གནས་རྣམ་དབྱེ་རྣམས་དབྱི་བར་བྱའོ། །ཞེས་པས་ཚིག་སྡུད་བྱས་ནས་རྣམ་དབྱེ་ཕྱིས་པས། པྲ་ཏཱི་ཏྱ་ས་མུཏྤཱ་ད། ཞེས་པ་སྟེ་པྲ་ཏི་ནི་ཟློས་པ་སྟེ། སོ་སོ་སོ་སོ་དང་། ཨི་ཏི་ནི་འགྲོ་བ་དང་། ཆས་པ་དང་། འཇིག་པའི་དོན་དང་། ཡ་ནི་རུང་བའམ། འོས་པ་སྟེ་སོ་སོ་སོ་སོར་འགྲོ་ཞིང་འཇིག་པ་དང་ལྡན་པ་རྣམས་ཀྱི་འབྱུང་བ་ཞེས་བྱ་བའི་དོན་ཏོ། །ཞེས་འཆད་པར་བྱེད་དོ། །'
str_03 = 'སྤྱིར་རྣམ་རྟོག་ཆོས་སྐུ་སོགས་དགོངས་ལྡེམ་དགོངས་ཀྱིས་གསུངས་པའི་ཆོས་འདི་ཟབ་ལ་རྒྱ་ཆེ་བ་ཡིན། ཉན་ཐོས་པ་ལ་སྒྲ་ཇི་བཞིན་པ་རེ་བཅོམ་ལྡན་འདས་ཀྱིས་གསུངས་པ་དེའང་གོ་ཚད་དུ་གདའ། རྒྱུའི་ཐེག་ཆེན་ལ་དེ་ལས་བློ་ཆེ་བ་ལ་དགོངས་ལྡེམ་དུ་གསུངས་པ་མང་བས་ཆོས་ཟབ་ཏུ་སོང༌། དེ་ལ་ཡང་འཁོར་ལོ་སྔ་ཕྱིའི་དགོངས་ལྡེམ་དགོངས་ལ་ཕུལ་ཆེ་ཆུང་ཡོད། འབྲས་བུའི་ཐེག་ཆེན་བློ་ཤིན་ཏུ་ཆེ་བ་ལ་མཐའ་གཞན་འགོག་པའི་རིགས་པས་དགོངས་སྡེམ་དགོངས་ཁོ་ནར་གསུངས་པས། ཆོས་ཀྱི་ཟབ་རྒྱས་ཐམས་ཅད་ཁྲལ་ཁྲོལ་དུ་བཏང་བས་ན། བཅོམ་ལྡན་འདས་ཕྱག་ན་རྡོ་རྗེ་ལྟ་བུ་ཞིག་མིན་པ་སུ་ཡིན་གྱི་བློ་ལ་མི་འབབ། དེས་ན་བརྒྱུད་པ་འདིའི་རྣམ་རྟོག་ཆོས་སྐུའི་སྐད་སོགས་ཟབ་ལ་རྒྱ་ཆེ་བས་སུ་ཡིན་གྱི་ཡུལ་མིན། དེས་ན་སེམས་འདི་དང་སེམས་སྣང་འདི་སེམས་ཅན་རང་ཁམས་ལ་སྣང་བདེན་གཉིས་ཀར་ཞེན་པའི་མིག་བསླད་པོའི་ཕ་རོལ་བོའི་རྒྱུད་ཀྱི་སྒྱུ་མའི་རྟ་གླང་ལྟར་སྣང༌། འཕགས་པ་ལ་སྒྱུ་མ་མཁན་རང་གིས་མཐོང་བ་ལྟར་སྣང་ཡང་བདེན་ཞེན་མེད། སངས་རྒྱས་ལ་ནི་མིག་མ་བསླད་པའི་རྒྱུད་ཀྱི་སྒྱུ་མའི་རྟ་གླང་མ་མཐོང་བ་བཞིན་སེམས་དང་སེམས་སྣང་ཅི་ཡང་མཐོང་བ་ཡོད་པ་མ་ཡིན། ཁ་ཅིག་འདི་ཆོས་སྐུ།འདིའི་སྣང་ཆ་འདི་དེའི་རང་འོད་ཡིན་ཟེར་བ་མང་པོ་འདུག་སྟེ། འདི་འདྲའི་རྟོག་དཔྱོད་བག་རེམ་བྱས་ན་ཐར་པའི་སྲོག་རྩ་ཨེ་ཆད་བསམ་མནོ་ནི་གཏོང་དགོས་པར་འདུག །སྐུ་དབང་ནི་དྲུང་པ་རྣམ་པ་ཆེ། འོ་ན་སངས་རྒྱས་ལ་མཁྱེན་པ་མེད་པས་ཀུན་མཁྱེན་ཡེ་ཤེས་ཀྱང་མེད་པར་ཐལ་སྙམ་ན། དེ་དག་པའི་རྟེན་འབྲེལ་གྱིས་ཡོད་པ་ལྟར་སྣང་མོད། ཡོད་པ་ལྟར་སྣང་བ་དེ་མི་རིགས་ཏེ། དེར་སེམས་སེམས་སྣང་དང་བཅས་པ་གདོད་མ་ནས་གཏན་མེད་པའི་ཕྱིར་ཞེ་ན། མ་ཁྱབ་སྟེ། སེམས་ཅན་ལ་ཡང་སེམས་སེམས་སྣང་གདོད་མ་ནས་གཏན་མེད་ཀྱང་མ་དག་པའི་རྟེན་འབྲེལ་ལ་ཡོད་པ་ལྟར་སྣང་འདུག་ན་ཅི་སྟེ་འགལ། གྲགས་པ་ཅན་མང་པོ་རྟེན་འབྲེལ་གྱི་ཐད་འདིར་ཕྱིན་པ་དང༌། ཝ་རྒན་མ་ཁྱིས་བདས་པ་འདྲ་རེ་འོང་གིན་འདུག །དེ་ཐམས་ཅད་གོ་ཡུལ་གྱི་ལྟ་བ་སྤྱི་རྒྱ་གཅོད་པ་ཡིན་ཏེ། བྱིན་རླབས་ཀྱི་སེམས་འཛིན་ཐབས་ཤིག་མེད་ན། སྟོད་ལུང་རྒྱ་དམར་བས་ཁོ་བོ་དབུ་མའི་ལྟ་བ་ལ་ཕུ་ཐག་ཆོད་ཀྱང༌། སེམས་འཛིན་གྱི་གནད་ཅིག་མ་ཤེས་པས་སེམས་ལས་སུ་མ་རུང༌། བལ་པོ་རྒྱ་གར་དུར་ཁྲོད་བ་བྱ་བའི་གྲུབ་ཐོབ་ཅིག་བྱོན་གདའ་བ་ན་སོ་རྒས་ཀྱང་བསྙེགས་དགོས་གསུངས་ན། ༼ལོ་རྒྱུས་འདི་དུས་མཁྱེན་བཀའ་འབུམ་ན་འདུག༽ དེའི་ཕྱིར་བརྗོད་པ། ལུས་རྡོ་རྗེ་སྐྱིལ་ཀྲུང་སོགས་རྣམ་སྣང་ཆོས་བདུན་ལས། གཞན་ཉལ་བརྐྱང་སོགས་སྤྱོད་ལམ་གྱི་དུས་སུའང་མི་བྱེད། ངག་གསོལ་འདེབས་སྨྲ་བཅད་མ་གཏོགས་སྤྱོད་ལམ་གྱི་དུས་སུའང་མི་བྱེད། ཡིད་ལ་རྣམ་རྟོག་རང་དགའ་བ་སྤྱོད་ལམ་གྱི་དུས་སུའང་མི་བྱེད། རང་ཆོས་དང་མི་མཐུན་པའི་ཚུལ་འདི་ཙམ་ལ་ཆོས་ལྟར་སྣང་བྱེད་པ་འདི་ཀུན་ཀྱང་རང་ལ་བལྟོས་ནས་སངས་རྒྱས་ཙམ་དུ་བལྟས་ཏེ་ལོག་རྟོག་སྐད་ཅིག་ཀྱང་མི་བྱེད། རང་གི་སྦྱངས་ཡོན་གྱི་དམ་བཅའ་ཅི་ནུས་རེ་ལ་གཞི་བཟུང་ནས་གོང་དུ་བཤད་པའི་གོ་བ་རྣམས་ལ་སེམས་འཛིན་ཐུབ་ན་རབ་སྟེ། དེ་མ་ཟིན་ན་ཞི་གནས་སྐྱེས་པ་གཅིག་པུས་ཆོག །ལྷག་མཐོང་གི་དམིགས་པ་སླར་ཁྲིད་མི་དགོས་པ་ཞིག་ཡོང་བ་ཡིན། དེ་ལྟར་མ་ནུས་ན་སྐྱབས་སེམས་དང་འབྲེལ་བར་བྱས་ནས། རང་གི་སེམས་རིག་ཙམ་འདི་ཀརྨ་པའི་སྐུ་ངོ་བོ་སྙིང་རྗེ། རྣམ་པ་བྱམས་པ། མཚན་ཉིད་དགའ་བ། བྱ་བ་བཏང་སྙོམས་པའི་ངོ་བོར་བསྒོམ་པས་སེམས་ལ་ཚད་མེད་བཞི་ལྡན་གྱི་ཏིང་ངེ་འཛིན་ལ་ཅི་འདོད་ཀྱི་བར་འཇོག་ཐུབ་པ་འབྱུང༌། དེ་ནས་རང་ལུས་སྟོང་སིང་ངེ་བར་བསྒོམས་ཏེ། རང་གི་སེམས་རིག་ཙམ་འདི་ཀརྨ་པའི་གསུང་མི་འཇིགས་པ་སྦྱིན་པ། ཉོན་མོངས་པ་ཞི་བ། སྙན་ལ་འཇེབས་པ། སྡུག་བསྔལ་དང་ཡི་མུག་འཕྲོག་པའི་ངོ་བོར་བསྒོམས་པས་སེམས་ལ་འདོད་པའི་ཆགས་པ་དང་བྲལ་ཞིང༌། ཆོས་བརྒྱད་ཀྱི་བློ་ཞི་ནས་ཏིང་ངེ་འཛིན་རྩེ་གཅིག་པ་བུམ་ནང་གི་མར་མེ་ལྟ་བུ་ཅི་ནུས་སུ་མཉམ་པར་འཇོག་ནུས་པ་འབྱུང༌། དེས་ན་རང་སེམས་ཀྱང་སྟོང་པ་ཉིད་ཀྱི་ངང་ཁོ་ནར་བསྡུས་ཏེ། དེའི་སྟོང་པ་ཉིད་ཀྱི་ངང་ལས་ཀརྨ་པའི་ཐུགས་ཀུན་མཁྱེན་པ། དྲི་མ་མེད་པ། མ་སྐྱེས་པ། ཐ་སྙད་ཀྱི་ཡུལ་མིན་པར་བསྒོམས་ཏེ། མྱོང་བ་སྐྱེས་པ་ན་དེ་རེ་རེའི་སྟེང་དུ་མ་བཅོས་པར་བསྲི་ཞིང་ལྷོད་གློད་པས། རང་སེམས་ལ་ཡུལ་སྣང་འདི་རྒྱལ་པོ་ལ་བློན་པོས་ངོ་ལོག་བྱས་པ་འདྲ་བ་ཞིག་གི་ཉམས་འབྱུང༌། དེ་ནས་རང་སེམས་ཆགས་ཡུལ་མེད་པས་རྒྱལ་པོ་རྒྱལ་ས་ནས་བུད་པ་བཞིན་སེམས་རྨེག་མེད་དུ་བུད་འགྲོ། དེ་ནས་རྒྱལ་ས་གཞན་གྱི་དབང་དུ་བྱས་པ་བཞིན་སྤྲོས་མེད་ཕྱག་རྒྱ་ཆེན་པོ་སྟོང་པ་ཉིད་དེ། རྒྱལ་པོ་རྒྱལ་ཁྲིའི་ཁ་ན་ཕྱིན། ཟ་ཁ་བཅོ་བརྒྱད་ནི་དར། ལང་ལང་བྱེད། ལིང་ལིང་བྱེད་འདུག་གོ །ངས་ནི་དེ་ལས་མི་ཟེར། དེ་ནས་སྟོང་པ་དེ་ཉིད་ཀྱི་ངང་ནས་བླ་མ་ཀརྨ་པའི་སྐུ་གསུང་ཐུགས་གང་དུ་བཤད་པ་ལྟ་བུ་ཡོངས་རྫོགས་ཞིག་ལ་མཉམ་པར་བཞག་པས། མཉམ་པར་འཇོག་བྱེད་ཀྱི་ཤེས་པ་དེ་རིམ་བཞིན་ཤེད་ཇེ་ཆུང་ཇེ་ཡལ་དུ་འགྲོ་བས། དེའི་དུས་མ་བཅོས་པར་གློད་ཐུབ་པ་ཞིག་དགོས་པ་ཡིན། ༼འདིར་རྩོལ་བ་དང་བཅོས་བཅོས་དང་སྒྲིམ་སྒྲིམ་བྱས་ན་རྣམ་རྟོག་ཚོ་ལ་ཟན་མར་གཡུ་བྱིན་འདུག་གོ༽ དེར་གློད་ཐུབ་ན་འཁོར་འདས་ཀྱི་རྒྱབ་གྱེས་མཚམས། རྣམ་ཤེས་ཡེ་ཤེས་ཀྱི་གཡུལ་འགྱེད་པ། བླ་མ་དང་གདུལ་བྱའི་བྱིན་རླབས་འཇུག་མཚམས་ཤིག་འདིར་ཡོད་པ་ཡིན། རྣམ་རྟོག་ལ་སྒོམ་གྱི་ཐིལ་བྱེད་ཟེར་བ་ཀུན་འདི་ཚོ་ལ་སླེབས་ན་ཁ་རྒྱག་པ་ལ་ཀྲིག་འབྱར་ཡོང་གི་ཡོད། བསགས་ཆུང་ཁ་ཅིག །སྒོམ་ཤོར་སོང་སྙམ་སྟེ་དམིགས་པ་ལ་གསལ་འདེབས་པ་སྐད་དང༌། ཡུལ་ལ་མཉམ་པར་འཇོག་ཅི་ཐུབ་ཐུབ་བྱེད་པ་ཀུན་ཡོད་དེ། དེ་ཀུན་བཅོས་མ་བྱ་བ་ཡིན། གློད་མ་ཤེས་པའི་སྐད་ཡིན། དེར་གློད་ཤེས་ཀྱིས་གློད་ཐུབ་ན་སེམས་ཅན་དང་འཁོར་བ་བྱ་བ་འདི་ཀུན་མེ་ཆེན་གྱི་དཀྱིལ་ན་ཆབ་རོམ་བཞག་པ་འདྲ་བ་འོང་ཚོད་དུ་གདའ། གཞན་སེམས་ལ་གློད་ཟེར་ནས་སེམས་བྲེང་མ་ཆད་སྐྱེར་འཇུག་པ་ལ་རྗེས་ཀྱི་རྟོག་པ་རེས་ལྷན་པ་བསླན་པ་ལྟ་བུ་ལ་མི་ཟེར། ཆོས་འདི་ཀུན་གྱི་རྒྱུས་ཡོད་པ་ལ་སྒོམ་ཆེན་རང་ཞིག་དགོས། སློབ་མ་ཆོས་པ་བྱ་བ་དེ་བླ་མ་སངས་རྒྱས་ཀྱིས་ཀྱང་བླ་མར་ཁུར་བ་འདྲ་ཞིག་དགོས་པ་ཡིན། ངས་དེ་ལ་ཕན་མི་ཐོགས་པར་གདའ་ཟེར་ཏེ་ཞལ་ནས་ཤུགས་ནར་ཐོན་པ་ཞིག་བྱུང་ཕྱིན་ཆོས་པ་ཡིན་པ་སྐད་དུ་བཅོས་ཀྱང༌། སྐྱེ་བ་ཕྱི་མར་རྡོ་རྗེ་དམྱལ་བར་ལན་གཅིག་འབྱོན་དགོས་པ་ཨེ་ཡིན། དེ་ལྟར་ནའང་རྣལ་འབྱོར་འདན་མ་དེ་ལ་ནུས་པ་ཞིག་ཡོད་དེ། འདིར་འབད་དགེ་བས་བདག་གི་བླ་མ་མཐོང་ཐོས་དོན་དེ་འགྲུབ་པར་གྱུར་ཅིག །དབྱངས་ཅན་བཟང་པོའིའོ།། །ཤུ་བྷཾ། །'
str_04 = 'དེ་ལ་འདིར་འཁོར་ལོའི་ཡིག་འབྲུ་དང་ཆོས་ཀྱི་དབྱིངས་ཀྱི་སྔགས་སོ། །ཧཱུཾ་བཛྲ་དྷྲིཀ྄་ཅེས་པ་ལ་སོགས་སྔགས་ནི། རྡོ་རྗེ་འཛིན་དང་རྒྱལ་བའི་རྒྱལ། །རིན་ཆེན་འཛིན་དང་ཆགས་ཆེན་མཚོན། །ཤེས་རབ་འཛིན་ཅེས་བྱ་བ་སྟེ། །འདི་རྣམས་ཀྱི་དོན་ནི་གོང་དུ་རིགས་ལྔའི་སྐབས་སུ་བཤད་ཟིན་ནོ། །མཱུཾ་དྷ་ཏུ་ཤྭ་ཞེས་བྱ་བ་ལ་སོགས་པ། མཱུཾ་ནི་མོཀྵ་སྟེ་ངོ་བོ་ཉིད་ཀྱི་མཁའ་རང་བཞིན་གྱི་རྣམ་པར་ཐར་པའོ། །ལཱཾ་ནི་ལོ་ཙ་ན་སྟེ་སྤྱན་ནོ། །མཱཾ་ནི་མཱ་མ་ཀཱི་སྟེ་བདག་ཉིད་མའོ། །པཱཾ་ནི་པན་དར་སྟེ་དཀར་མོའོ། །ཏཱཾ་ནི་ཏ་ར་སྟེ་སྒྲོལ་མའོ། །ཀླད་ཀོར་རྣམས་ནི་བྱང་ཆུབ་སེམས་ཀྱི་ཐིག་ལེ་སྟེ་ས་བོན་གྱི་དོན་ནོ། །གཞན་ལ་ཡང་དེ་བཞིན་དུ་ཤེས་པར་བྱའོ། །དྷ་ཏུ་ཤྭ་རི་ནི་དབྱིངས་ཀྱི་དབང་ཕྱུག་མའོ། །དྭེ་ཥ་ར་ཏི་ཞེས་བྱ་བ་ལ་སོགས་པ་ནི་ཞེ་སྡང་དགའ་མ། གཏི་མུག་དགའ་མ། འདོད་ཆགས་དགའ་མ། རྡོ་རྗེ་དགའ་མ་སྟེ། ཞེ་སྡང་གི་རིགས་ལ་སོགས་པའི་གཙོ་བོ་རྣམས་མཉེས་པར་བྱེད་པས་ཞེ་སྡང་དགའ་མ་ལ་སོགས་པའོ། །རྣམ་པ་གཅིག་ཏུ་མི་གཉིས་པའི་ཤེས་རབ་ཆེན་པོ་ཉིད་དུག་གསུམ་རྡོ་རྗེའི་སྒྲས་བརྗོད་པ་ཡིན་ལ། དེ་ཉིད་དགའ་མ་སྟེ་ཤེས་རབ་མ་ཡིན་པའི་ཕྱིར་རོ། །ཇི་སྐད་དུ་གསང་བ་འདུས་པ་ལས། གཉིས་མེད་ཆོས་ཀྱི་ཡེ་ཤེས་ལས། །ཕྱིར་རོལ་ང་རྒྱལ་རྨོངས་ཞེས་བྱ། །དེ་ལ་ཕན་ཚུན་ཐུག་པ་ནི། །ཞེ་སྡང་ཞེས་ནི་བསྟན་པ་ཡིན། །མཚན་ཉིད་འདོད་ཆགས་ཀུན་ཞེན་པ། །ཡེ་ཤེས་འདི་ནི་རྡོ་རྗེའོ། །གཏི་མུག་ཞེ་སྡང་འདོད་ཆགས་དང༌། །རྡོ་རྗེ་རྟག་ཏུ་དགའ་མར་སྦྱར། །ཞེས་གསུངས་པ་ལྟ་བུའོ། །ཀྵིཾ་ཧི་རཱ་ཛ་ཡ་ཞེས་བྱ་བ་ལ་སོགས་པ་ནི་སེམས་དཔའ་རྣམས་ཀྱི་གསང་སྔགས་ཏེ། དེ་ལ་ཀྵིཾ་ཞེས་བྱ་བ་སའི་ས་བོན་ནོ། །དེ་བཞིན་དུ་ཏྲཾ་ནི་རིན་པོ་ཆེའིའོ། །ཧྲཱི་ནི་པདྨའིའོ། །ཛིཾ་ནི་རྒྱལ་བའི་ས་བོན་ནོ། །སྔགས་ཀྱི་དོན་ནི་སའི་རྒྱལ་པོ། སྟོང་པའི་སྙིང་པོ། པདྨའི་ཕྱག །རྒྱལ་བྱེད་ཕྱག་ཅེས་ཟེར་ཏེ། སེམས་དཔའ་བཞིའི་དོན་དང་སྔར་བཤད་པ་བཞིན་དུ་སྦྱར་རོ། །ཧཱུཾཾ་ལ་སྱ་ས་མ་ཡ་སྟྭཾ། ཞེས་བྱ་བ་ལ་སོགས་པ་ནི་ཡུལ་བཞིའི་སེམས་མ་རྣམས་ཀྱི་སྙིང་པོ་སྟེ། དེ་ལ་རིགས་བཞི་དང༌། ནང་གི་སེམས་མ་བཞི་དང༌། སྦྱོར་བའི་བརྡ་བཞི་རྣམས་དང་སྦྱར་ནས་སེམས་མ་བཞིའི་རང་བཞིན་དུ་སྟོན་ཏེ། དེ་ལའང་ཧཱུཾ་ཏྲཱཾཿཧྲཱིཿཨཱཿབཞི་ནི་རིགས་བཞིའི་དོན་ནོ། །ལ་སྱ་མ་ལེ་གཱིརྟི་ནཱིརྟི་བཞི་ནི་ནང་གི་ལྷ་མོ་བཞི་སྟེ། དེ་ཡང་སྒེག་མོ་ནི་འདོད་ཆགས་ཀྱི་ཡུལ། ཕྲེང་བ་ནི་འཁྱུད་པ། གླུ་ནི་དགའ་བར་གྱུར་པ། གར་ནི་བསྐྱོད་པར་གྱུར་བའོ། །'

# tokenizer code
t = Text(str_02, tok_params={'profile': 'POS'})
tokens = t.tokenize_words_raw_text

Error trackback. NOTE: all above 4 examples have the same error trackback.

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-18-7c632fc48944> in <module>
      1 t = Text(str_02, tok_params={'profile': 'POS'})
----> 2 tokens = t.tokenize_words_raw_text

~/ML/env/lib/python3.6/site-packages/pybo/text/text.py in tokenize_words_raw_text(self)
     95     def tokenize_words_raw_text(self):
     96         config = {'profile': 'GMD'}
---> 97         return self.__process('basic_cleanup', 'word_tok', 'words_raw_text', 'plaintext', tok_params=config)
     98 
     99     @property

~/ML/env/lib/python3.6/site-packages/pybo/text/text.py in __process(self, preprocessor, tokenizer, modifier, formatter, tok_params)
    129             return pipeline.pipe_file(self.input, self.out_file)
    130         else:
--> 131             return pipeline.pipe_str(self.input)
    132 
    133     @staticmethod

~/ML/env/lib/python3.6/site-packages/pybo/text/pipelinebase.py in pipe_str(self, text)
     36                                                self.tok_params['profile'],
     37                                                modifs=modifs,
---> 38                                                mode=mode)
     39         else:
     40             elts = self.pipes['tok'][self.tok](text)

~/ML/env/lib/python3.6/site-packages/pybo/text/tokenize.py in word_tok(text, profile, modifs, mode)
     19 def word_tok(text: str, profile, modifs=None, mode='internal') -> List[PyboToken]:
     20     tok = get_wordtokenizer(profile, modifs, mode)
---> 21     return tok.tokenize(text)
     22 
     23 

~/ML/env/lib/python3.6/site-packages/pybo/tokenizers/wordtokenizer.py in tokenize(self, string, split_affixes, debug)
     53         MergeDagdra().merge(tokens)
     54 
---> 55         self._get_default_lemma(tokens)
     56         return tokens
     57 

~/ML/env/lib/python3.6/site-packages/pybo/tokenizers/wordtokenizer.py in _get_default_lemma(token_list)
     67                 if t.affix and not t.affix_host:
     68                     part = ''.join([''.join(syl) for syl in t.syls])
---> 69                     t.lemma = part_lemmas[part] + TSEK
     70                 elif not t.affix and t.affix_host:
     71                     t.lemma = t.text_unaffixed + AA + TSEK if t.affixation['aa'] else t.text_unaffixed + TSEK

KeyError: 'འིའོ'
drupchen commented 5 years ago

I found the issue. It should be an easy fix. Will do that later today.

10zinten commented 5 years ago

Okay great. I have added examples to reproduce this error

drupchen commented 5 years ago

(as a side note, since you know the issue is with འིའོ་, a minimal working example would simply be something like ཕའིའོ།. No need of such lengthy and noisy strings to debug...)

drupchen commented 5 years ago

solved in 6d5ad812aa7d3962f70e31577664d96cf47e32ab

Since 0.6.4, you have a CLI:

drupchen@drupchen-Inspiron-5558:~$ pybo string "ཕའིའོ།"
Building Trie... (16 s.)
ཕ འིའོ །
10zinten commented 5 years ago

Thats great.