我有一个这样的文字:
我需要对文本进行标记:每行一个单词,在句子末尾加一个空行。 问题是,有些句子没有“。”在末尾。所以我需要把“。”如果有符号标点,则换行符。
input = "europarltokenized.txt"
output = "europarlpreprocessing.txt"
nline = "\n"
with open(input, "r") as file:
with open(output, "w") as file2:
for line in file:
if not line.startswith("<"):
line=line.split()
for elem in line:
file2.write(elem + "\n")
if elem == "." or elem=="!" or elem =="?":
file2.write("\n")
答案 0 :(得分:1)
您的代码已经非常接近了:
input = "europarltokenized.txt"
output = "europarlpreprocessing.txt"
with open(input, "r") as f, open(output, "w") as f2:
for line in f:
if not line.startswith("<CHAPTER ID="):
sl = line.split()
for token in sl:
f2.write(token + "\n")
if not sl[-1] in [".", "?", "!"]:
f2.write(".\n")
f2.write("\n")
答案 1 :(得分:0)
我不知道它如何对Europarl起作用,但nltk包括波兰语的句子分割模型:
import nltk.data
tokenizer = nltk.data.load('tokenizers/punkt/polish.pickle')
text = u'''Unia Europejska, UE – gospodarczo-polityczny związek 28
demokratycznych państw europejskich. Unia powstała 1 listopada 1993 na
mocy podpisanego 7 lutego 1992 traktatu z Maastricht jako efekt
wieloletniego procesu integracji politycznej, gospodarczej i
społecznej. Korzenie współczesnej integracji europejskiej sięgają
okresu powojennego i ograniczały się do 6 państw
zachodnioeuropejskich.'''
ss = tokenizer.tokenize(text)
这适用于维基百科的文字:
>>> ss
[u'Unia Europejska, UE \xe2\x80\x93 gospodarczo-polityczny ...',
u'Unia powsta\xc5\x82a 1 listopada 1993 na\nmocy podpisanego ...',
u'Korzenie wsp\xc3\xb3\xc5\x82czesnej integracji europejskiej ...']