pythainlp.tokenize¶
The pythainlp.tokenize
contains multiple functions for tokenizing a chunk of Thai text into desirable units.
-
pythainlp.tokenize.
word_tokenize
(text, engine='newmm', whitespaces=True)[source]¶ - Parameters
- Parameters for engine
newmm - Maximum Matching algorithm + TCC
icu - IBM ICU
longest-matching - Longest matching
mm - Maximum Matching algorithm
pylexto - LexTo
deepcut - Deep Neural Network
wordcutpy - wordcutpy (https://github.com/veer66/wordcutpy)
- Returns
A list of words, tokenized from a text
Example:
from pythainlp.tokenize import word_tokenize text='ผมรักคุณนะครับโอเคบ่พวกเราเป็นคนไทยรักภาษาไทยภาษาบ้านเกิด' a=word_tokenize(text,engine='icu') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอ', 'เค', 'บ่', 'พวก', 'เรา', 'เป็น', 'คน', 'ไทย', 'รัก', 'ภาษา', 'ไทย', 'ภาษา', 'บ้าน', 'เกิด'] b=word_tokenize(text,engine='dict') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอเค', 'บ่', 'พวกเรา', 'เป็น', 'คนไทย', 'รัก', 'ภาษาไทย', 'ภาษา', 'บ้านเกิด'] c=word_tokenize(text,engine='mm') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอเค', 'บ่', 'พวกเรา', 'เป็น', 'คนไทย', 'รัก', 'ภาษาไทย', 'ภาษา', 'บ้านเกิด'] d=word_tokenize(text,engine='pylexto') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอเค', 'บ่', 'พวกเรา', 'เป็น', 'คนไทย', 'รัก', 'ภาษาไทย', 'ภาษา', 'บ้านเกิด'] e=word_tokenize(text,engine='newmm') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอเค', 'บ่', 'พวกเรา', 'เป็น', 'คนไทย', 'รัก', 'ภาษาไทย', 'ภาษา', 'บ้านเกิด'] g=word_tokenize(text,engine='wordcutpy') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอเค', 'บ่', 'พวกเรา', 'เป็น', 'คน', 'ไทย', 'รัก', 'ภาษา', 'ไทย', 'ภาษา', 'บ้านเกิด']
-
pythainlp.tokenize.
dict_word_tokenize
(text, custom_dict_trie, engine='newmm')[source]¶ dict_word_tokenize()
tokenizes word based on the dictionary you provide. The format has to be in trie data structure.- Parameters
- Returns
A list of words, tokenized from a text.
- Example::
>>> from pythainlp.tokenize import dict_word_tokenize,create_custom_dict_trie >>> listword=['แมว',"ดี"] >>> data_dict=create_custom_dict_trie(listword) >>> dict_word_tokenize("แมวดีดีแมว",data_dict) ['แมว', 'ดี', 'ดี', 'แมว']
-
pythainlp.tokenize.
sent_tokenize
(text, engine='whitespace+newline')[source]¶ This function does not yet automatically recognize when a sentence actually ends. Rather it helps split text where white space and a new line is found.
-
pythainlp.tokenize.
create_custom_dict_trie
(custom_dict_source)[source]¶ The function is used to create a custom dict trie which will be used for word_tokenize() function. For more information on the trie data structure, see: https://marisa-trie.readthedocs.io/en/latest/index.html
- Parameters
custom_dict_source (string/list) – a list of vocaburaries or a path to source file
- Returns
A trie created from custom dict input