текст из слов и фраз из файла
# Считайте файл "фразы.txt" и сохраните все фразы в список
with open("фразы.txt", "r", encoding="utf-8") as f:
фразы = [line.strip() for line in f.readlines()]
def найти_фразы(слово):
# Ищите фразы, которые содержат это слово
фразы_с_словом = [фраза for фраза in фразы if слово in фраза]
if not фразы_с_словом:
# Если таких фраз нет, ищите фразы, которые содержат корень слова без окончаний
корень_слова = слово[:-2] # удалить окончание "-а" или "-и"
фразы_с_корнем = [фраза for фраза in фразы if корень_слова in фраза]
return фразы_с_корнем
return фразы_с_словом
def генерировать_новые_фразы(введенная_фраза):
слова = введенная_фраза.split()
новые_фразы = []
for слово in слова:
фразы_с_словом = найти_фразы(слово)
новая_фраза = random.choice(фразы_с_словом)
новые_фразы.append(новая_фраза)
return новые_фразы
while True:
введенная_фраза = input("Введите фразу текста: ")
новые_фразы = генерировать_новые_фразы(введенная_фраза)
print("Новые фразы:")
for фраза in новые_фразы:
print(фраза)
----------------------------------->
вводим фразу и код из каждого слова делает новую фразу для текста вывода
новые фразы для текста берём из файла фразы.txt
вот другой вариант этого кода ->
import random
import re
def load_phrases(filename):
with open(filename, 'r', encoding='utf-8') as file:
return [line.strip() for line in file.readlines()]
def get_stems(word):
# Простой пример получения корня слова (можно использовать более сложные методы)
return re.sub(r'(а|я|ов|ев|ей|е|ы|и|у|о|ь|й)$', '', word)
def find_matching_phrases(input_words, phrases):
matches = []
stems = [get_stems(word) for word in input_words]
for phrase in phrases:
if any(word in phrase for word in input_words) or any(stem in phrase for stem in stems):
matches.append(phrase)
return matches
def main():
phrases = load_phrases('фразы.txt')
used_phrases = set()
while True:
input_text = input("Введите фразу: ")
if input_text.lower() == '0':
break
input_words = input_text.split()
matching_phrases = find_matching_phrases(input_words, phrases)
# Убираем уже использованные фразы
new_phrases = [phrase for phrase in matching_phrases if phrase not in used_phrases]
if not new_phrases:
print("нет новых фраз.")
continue
# Выбираем случайную фразу
selected_phrase = random.choice(new_phrases)
used_phrases.add(selected_phrase)
print(f"Новая фраза: {selected_phrase}")
if __name__ == "__main__":
main()
----------------------------------->
* промт данного алгоритма для модели gpt ->
есть файл txt с фразами строк
вводим фразу текста input
затем из каждого введённого слова делаем новую фразу
из тех фраз которые есть в файле
в этих фразах должны быть слова которые мы ввели через input
(то есть в фразах нужно найти наши слова ввода)
если таких слов нет то можно искать их корни без окончаний слов
затем делаем цикл while и ввод новой фразы из слов
чтобы фразы текста не повторялись берём строки из файла данных в случайном порядке
число фраз нового текста должно соответствовать числу слов которые мы ввели через input
файл данных - фразы.txt
**
Мой единственный друг скажи
Как держаться за эту жизнь?
Если в мире моем от лжи
Правда рушатся этажи
Когда предали от души
Мне казалось, что вот уже
Мое сердце не выдержит
Ну я все-таки выживший
Я выживший
Я все обиды выдышал
И видишь я могу дышать
На этом свете без тебя
Я выживший
Я все обиды выдышал
И видишь я могу дышать
На этом свете без тебя
Мой единственный друг скажи
Когда в спину не от чужих
А от самых своих — ножи
Как же боль эту выдержать?
Знаешь, больно не от того
Что ударили- ничего
Слезы лишь от того бегут
Что ударил не враг, а друг
Я выживший-
Я все обиды выдержал
И видишь я могу дышать
На этом свете без тебя..
Свидетельство о публикации №124092705138