Добавить в корзинуПозвонить
Найти в Дзене

Замена на антонимы

Замена на антонимы: Три мужчины под дверью Спали рано утром. «Кабы я был раб, — Говорит один мужчина, — То на весь нечестивый мир Разрушил бы я праздник». Код: import nltk from nltk.corpus import wordnet as wn from nltk.tokenize import word_tokenize, pos_tag # Загрузите необходимые ресурсы NLTK nltk.download('punkt') nltk.download('averaged_perceptron_tagger') nltk.download('wordnet') # Функция для получения антонимов def get_antonyms(word): antonyms = set() for syn in wn.synsets(word): for lemma in syn.lemmas(): if lemma.antonyms(): antonyms.add(lemma.antonyms()[0].name()) return list(antonyms) # Функция для замены существительных на антонимы def replace_nouns_with_antonyms(text): tokens = word_tokenize(text) tagged = pos_tag(tokens) new_text = [] for word, tag in tagged: if tag in ['NN', 'NNS', 'NNP', 'NNPS']: # существительные antonyms = get_antonyms(word) if antonyms: # Заменяем слово на первый найденный антоним new_word = antonyms[0] new_text.append(new_word) else: new_text

Замена на антонимы:

Три мужчины под дверью

Спали рано утром.

«Кабы я был раб, —

Говорит один мужчина, —

То на весь нечестивый мир

Разрушил бы я праздник».

Код:

import nltk

from nltk.corpus import wordnet as wn

from nltk.tokenize import word_tokenize, pos_tag

# Загрузите необходимые ресурсы NLTK

nltk.download('punkt')

nltk.download('averaged_perceptron_tagger')

nltk.download('wordnet')

# Функция для получения антонимов

def get_antonyms(word):

antonyms = set()

for syn in wn.synsets(word):

for lemma in syn.lemmas():

if lemma.antonyms():

antonyms.add(lemma.antonyms()[0].name())

return list(antonyms)

# Функция для замены существительных на антонимы

def replace_nouns_with_antonyms(text):

tokens = word_tokenize(text)

tagged = pos_tag(tokens)

new_text = []

for word, tag in tagged:

if tag in ['NN', 'NNS', 'NNP', 'NNPS']: # существительные

antonyms = get_antonyms(word)

if antonyms:

# Заменяем слово на первый найденный антоним

new_word = antonyms[0]

new_text.append(new_word)

else:

new_text.append(word)

else:

new_text.append(word)

return ' '.join(new_text)

# Текст для обработки

text = """Три девицы под окном

Пряли поздно вечерком.

«Кабы я была царица, —

Говорит одна девица, —

То на весь крещеный мир

Приготовила б я пир»."""

# Применяем замену существительных на антонимы

new_text = replace_nouns_with_antonyms(text)

print(new_text)