温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Displacement of diacritics/accents from strings in python
nlp python string

其他 - 变音符号/重音符号在python字符串中的位移

发布于 2020-03-27 11:55:42

我正在执行一个NLP任务,该任务需要使用称为Yoruba的语言的语料库。约鲁巴语是一种在字母表中带有变音符号的语言。如果我在python环境中读取了任何文本/语料库,则某些上级变音符号会移位/移位,尤其是对于字母ẹ和ọ:

图片说明

对于顶部带有变音符号的字符they,他们会移位。也有:ẹ同样的事情也会发生。(ọ)

def readCorpus(directory="news_sites.txt"):
with open(directory, 'r',encoding="utf8", errors='replace') as doc:
data = doc.readlines()
return data

预期的结果是将变音符正确地放置在顶部(我很惊讶stackoverflow能够修复变音符)。

后来,已被替换的变音符号被视为标点符号,因此被删除(通过我的NLP处理功能),从而影响了整个任务。

查看更多

查看更多

提问者
Jesujoba ALABI
被浏览
188
Jesujoba ALABI 2019-07-04 04:47

我使用reg ex'cos删除了数字,某些字符串包含数字,但是使用了字符串库中的maketrans方法来删除标点符号。

import string
out = re.sub(r'[0-9\.]+', '', ins)
punct = str.maketrans({k: None for k in string.punctuation})
new_s = out.translate(punct)