nltk 无法控制的令牌长度减少在西里尔文本中

92dk7w1h  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(36)

下午好。
这个项目,无论我是否愿意,都会缩短过长的非拉丁字符序列。
nltk/nltk/tokenize/casual.py
第297行
| | safe_text=HANG_RE.sub(r'\1\1\1', text) |
tknzr = TweetTokenizer(reduce_len=False)
tknzr("Loooool") == ["Loooool"] Latin symbols OK
tknzr("Лооооол") != ["Лооооол"] Cyrillic symbols Failed
tknzr("Лооооол") == ["Лооол"]

xxslljrj

xxslljrj1#

为了解决这个问题,我建议更改正则表达式:
nltk/nltk/tokenize/casual.py
第215行:
| | HANG_RE=regex.compile(r"([^a-zA-Z0-9])\1{3,}") |
将HANG_RE更改为:
HANG_RE = regex.compile(r"([^а-яА-Яa-zA-Z0-9])1{3,}")
或者直接在代码中写入:
nltk.casual.HANG_RE = regex.compile(r"([^а-яА-Яa-zA-Z0-9])\1{3,}")

相关问题