Python Tokenization
Я новичок в Python, и у меня есть назначение Tokenization. Входные данные - это файл .txt с предложениями, а выходные данные - это файл .txt с токенами, и когда я говорю Token, я имею в виду: простое слово, ',', '!' '?' , '.' ""
У меня есть эта функция: Ввод: Elemnt это слово с или без пунктуации, может быть слово как: Привет или сказал: или сказал: "StrForCheck: это массив пунктуации, который я хочу отделить от слов TokenFile: это мой выходной файл
def CheckIfSEmanExist (Elemnt, StrForCheck, TokenFile):
FirstOrLastIsSeman = 0
for seman in StrForCheck:
WordSplitOnSeman = Elemnt.split(seman)
if len(WordSplitOnSeman) > 1:
if Elemnt[len(Elemnt)-1] == seman:
FirstOrLastIsSeman = len(Elemnt)-1
elif Elemnt[0] == seman:
FirstOrLastIsSeman = 1
if FirstOrLastIsSeman == 1:
TokenFile.write(Elemnt[0])
TokenFile.write('\n')
TokenFile.write(Elemnt[1:-1])
TokenFile.write('\n')
elif FirstOrLastIsSeman == len(Elemnt)-1:
TokenFile.write(Elemnt[0:-1])
TokenFile.write('\n')
TokenFile.write(Elemnt[len(Elemnt)-1])
TokenFile.write('\n')
elif FirstOrLastIsSeman == 0:
TokenFile.write(Elemnt)
TokenFile.write('\n')
Код зацикливается на массиве пунктуации, и, если он его находит, я проверяю, была ли пунктуация первой буквой или последней буквой в слове, и записываю в выходной файл слово и пунктуацию в каждой строке
Но моя проблема в том, что он прекрасно работает по всему тексту, кроме этих слов: «Работа», «Создано», «Публично», «Полиция»