Я работаю над обработкой естественного языка и мне нужно предварительно обработать некоторые данные.Мои данные находятся в текстовом файле, и я должен прочитать данные и изменить все имена на Мужские или Женские.
После прочтения данных и их токенизации я применяю pos-теги и проверяю файл, имеющий список имени измените имя на «Мужской» или «Женский»
Например:
['Jack', 'and', 'Jill', 'Went', 'up', 'the', 'hill']
следует изменить на
['Male', 'and', 'Female', 'Went', 'up',' the ',' hill ']
на основе следующего POS
[(' Jack ',' NNP '), (' and ','CC '), (' Jill ',' NNP '), (' Went ',' NNP '), (' up ',' IN '), (' the ',' DT '), (' hill ','NN ')]
Мой код выглядит следующим образом:
import nltk
text = open('collegegirl.txt').read()
with open('male_names.txt') as f1:
male = nltk.word_tokenize(f1.read())
with open('female_names.txt') as f2:
female = nltk.word_tokenize(f2.read())
data = nltk.pos_tag(nltk.word_tokenize(text))
for word, pos in data:
if(pos == 'NNP'):
if word in male:
word = 'Male'
if word in female:
word = 'Female'
Приведенный выше код просто проверяет слова и ничего не пишет.Как мне отредактировать имена в данных.Я новичок в Python.Заранее спасибо.