Ich hatte es so schwer wie es war, also werde ich es vorerst veröffentlichen. Es kann einen besseren Weg geben. Wenn Sie ein Anfänger wie ich sind, beziehen Sie sich bitte darauf.
Die Umgebung ist Python 3.6.9 und Ubuntu 18.04.4.
change_NER.py
# coding:utf-8
import spacy
with open('input.txt','r') as f:
nlp = spacy.load('ja_ginza')
data = f.read()
doc = nlp(data)
with open('output.txt','w') as f:
text = list(data) #Zeichen in Liste speichern
entity = [ent.label_ for ent in doc.ents] #Einzigartiges Ausdrucksetikett
start = [ent.start_char for ent in doc.ents] #Von welchem Charakter ist der einzigartige Ausdruck
end = [ent.end_char for ent in doc.ents] #Wie viele Zeichen sind eindeutige Ausdrücke?
num = 0
stop = False
for i in range(len(text)):
if i == start[num]:
f.write(entity[num])
if num < len(start) - 1: #Prävention außerhalb des Bereichs
num += 1
stop = True
elif stop == True:
if i < end[num-1]: #Nur die Anzahl der Zeichen im eindeutigen Ausdruck
continue #Verbrauchen i
elif i == end[num-1]:
stop = False
f.write(text[i])
else:
f.write(text[i])