pythainlp.khavee

The pythainlp.khavee is toolkit for Thai Poetry. khavee is กวี (or Poetry) in Thai language.

Modules

class pythainlp.khavee.KhaveeVerifier[source]
__init__()[source]

KhaveeVerifier: Thai Poetry verifier

check_sara(word: str) str[source]

Check the vowels in the Thai word.

Parameters:

word (str) – Thai word

Returns:

name vowel of the word.

Return type:

str

Example:

from pythainlp.khavee import KhaveeVerifier

kv = KhaveeVerifier()

print(kv.check_sara('เริง'))
# output: 'เออ'
check_marttra(word: str) str[source]

Check the Thai spelling Section in the Thai word.

Parameters:

word (str) – Thai word

Returns:

name spelling Section of the word.

Return type:

str

Example:

from pythainlp.khavee import KhaveeVerifier

kv = KhaveeVerifier()

print(kv.check_marttra('สาว'))
# output: 'เกอว'
is_sumpus(word1: str, word2: str) bool[source]

Check the rhyme between two words.

Parameters:
  • word1 (str) – Thai word

  • word2 (str) – Thai word

Returns:

boolen

Return type:

bool

Example:

from pythainlp.khavee import KhaveeVerifier

kv = KhaveeVerifier()

print(kv.is_sumpus('สรร','อัน'))
# output: True

print(kv.is_sumpus('สรร','แมว'))
# output: False
check_karu_lahu(text)[source]
check_klon(text: str, k_type: int = 8) List[str] | str[source]

Check the suitability of the poem according to Thai principles.

Parameters:
  • text (str) – Thai poem

  • k_type (int) – Type of Thai poem

Returns:

the check of the suitability of the poem according to Thai principles.

Return type:

Union[List[str], str]

Example:

from pythainlp.khavee import KhaveeVerifier

kv = KhaveeVerifier()

print(kv.check_klon('''ฉันชื่อหมูกรอบ ฉันชอบกินไก่ แล้วก็วิ่งไล่ หมาชื่อนํ้าทอง ลคคนเก่ง เอ๋งเอ๋งคะนอง มีคนจับจอง เขาชื่อน้องเธียร''', k_type=4))
# output: The poem is correct according to the principle.

print(kv.check_klon('''ฉันชื่อหมูกรอบ ฉันชอบกินไก่ แล้วก็วิ่งไล่ หมาชื่อนํ้าทอง ลคคนเก่ง เอ๋งเอ๋งเสียงหมา มีคนจับจอง เขาชื่อน้องเธียร''',k_type=4))
# # -> ["Cant find rhyme between paragraphs ('หมา', 'จอง')in paragraph 2", "Cant find rhyme between paragraphs ('หมา', 'ทอง')in paragraph 2"]
check_aek_too(text: List[str] | str, dead_syllable_as_aek: bool = False) List[bool] | List[str] | bool | str[source]

Thai tonal word checker

Parameters:
  • text (Union[List[str], str]) – Thai word or list of Thai words

  • dead_syllable_as_aek (bool) – if True, dead syllable will be considered as aek

Returns:

the check if the word is aek or too or False(not both) or list of the check if input is list

Return type:

Union[List[bool], List[str], bool, str]

Example:

from pythainlp.khavee import KhaveeVerifier

kv = KhaveeVerifier()

# การเช็คคำเอกโท
print(kv.check_aek_too('เอง'), kv.check_aek_too('เอ่ง'), kv.check_aek_too('เอ้ง'))
## -> False, aek, too
print(kv.check_aek_too(['เอง', 'เอ่ง', 'เอ้ง'])) # ใช้ List ได้เหมือนกัน
## -> [False, 'aek', 'too']
__dict__ = mappingproxy({'__module__': 'pythainlp.khavee.core', '__init__': <function KhaveeVerifier.__init__>, 'check_sara': <function KhaveeVerifier.check_sara>, 'check_marttra': <function KhaveeVerifier.check_marttra>, 'is_sumpus': <function KhaveeVerifier.is_sumpus>, 'check_karu_lahu': <function KhaveeVerifier.check_karu_lahu>, 'check_klon': <function KhaveeVerifier.check_klon>, 'check_aek_too': <function KhaveeVerifier.check_aek_too>, '__dict__': <attribute '__dict__' of 'KhaveeVerifier' objects>, '__weakref__': <attribute '__weakref__' of 'KhaveeVerifier' objects>, '__doc__': None, '__annotations__': {}})
__module__ = 'pythainlp.khavee.core'