Skip to content

Commit 64e283b

Browse files
committed
add whitespace+newline in pythainlp.tokenize.sent_tokenize
1 parent b2c97cc commit 64e283b

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

docs/pythainlp-1-5-eng.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,19 @@ d=word_tokenize(text,engine='pylexto') # ['ผม', 'รัก', 'คุณ', '
4141
e=word_tokenize(text,engine='newmm') # ['ผม', 'รัก', 'คุณ', 'นะ', 'ครับ', 'โอเค', 'บ่', 'พวกเรา', 'เป็น', 'คนไทย', 'รัก', 'ภาษาไทย', 'ภาษา', 'บ้านเกิด']
4242
```
4343

44+
#### sent_tokenize
45+
46+
Thai Sentence Tokenizer
47+
48+
```python
49+
sent_tokenize(text,engine='whitespace')
50+
```
51+
52+
engine :
53+
54+
- whitespace
55+
- whitespace+newline
56+
4457
#### Thai Character Clusters (TCC)
4558

4659
TCC : Mr.Jakkrit TeCho

docs/pythainlp-1-5-thai.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,12 @@ sent_tokenize(text,engine='whitespace')
8989

9090
text คือ ข้อความในรูปแบบสตริง
9191

92-
engine คือ เครื่องมือสำหรับใช้ตัดประโยค ปัจจุบันรองรับเฉพาะ whitespace ตัดประโยคจากช่องว่าง
92+
engine คือ เครื่องมือสำหรับใช้ตัดประโยค
9393

94-
คืนค่า ออกเป็น list
94+
- whitespace ตัดประโยคจากช่องว่าง
95+
- whitespace+newline ตัดประโยคจากช่องว่างและตัดจากการขึ้นบรรทัดใหม่
96+
97+
คืนค่า ออกมาเป็น list
9598

9699
#### WhitespaceTokenizer
97100

pythainlp/tokenize/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# -*- coding: utf-8 -*-
22
from __future__ import absolute_import,unicode_literals
33
import nltk
4+
import re
45
from six.moves import zip
56
def word_tokenize(text,engine='icu'):
67
"""
@@ -72,6 +73,8 @@ def sent_tokenize(text,engine='whitespace'):
7273
'''
7374
if engine=='whitespace':
7475
data=nltk.tokenize.WhitespaceTokenizer().tokenize(text)
76+
elif engine=='whitespace+newline':
77+
data=re.sub(r'\n+|\s+','|',text,re.U).split('|')
7578
return data
7679
def wordpunct_tokenize(text):
7780
'''

0 commit comments

Comments
 (0)