проверка фраз текста на содержание ключевых слов
убрав те фразы которые не подходят по контексту ключевых слов
ключевые слова вводим через input
текст находится в файле фразы txt
Для выполнения вашей задачи вам нужно будет написать программу, которая будет:
Считывать текст из файла.
Принимать ключевые слова через ввод.
Проверять содержание текста на наличие этих ключевых слов.
Удалять фразы, которые не подходят по контексту ключевых слов.
Создавать более короткую версию текста.
Вот пример кода на Python, который может помочь вам в этом:
def load_text(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
return file.read()
def filter_text(text, keywords):
# Разделяем текст на предложения
sentences = text.split('. ')
# Фильтруем предложения, оставляя только те, которые содержат ключевые слова
filtered_sentences = [sentence for sentence in sentences if any(keyword in sentence for keyword in keywords)]
# Объединяем отфильтрованные предложения в один текст
return '. '.join(filtered_sentences)
def main():
# Путь к файлу с текстом
file_path = 'фразы.txt'
# Загружаем текст из файла
text = load_text(file_path)
# Ввод ключевых слов
keywords_input = input("Введите ключевые слова, разделенные запятыми: ")
keywords = [keyword.strip() for keyword in keywords_input.split(',')]
# Фильтруем текст
filtered_text = filter_text(text, keywords)
# Выводим отфильтрованный текст
print("Отфильтрованный текст:")
print(filtered_text)
if __name__ == "__main__":
main()
Как использовать этот код:
Сохраните его в файл, например, filter_text.py.
Создайте файл фразы.txt и заполните его текстом, который вы хотите отфильтровать.
Запустите скрипт с помощью Python.
Введите ключевые слова, разделенные запятыми, когда будет предложено.
Этот код будет выводить отфильтрованный текст, содержащий только те предложения,
которые включают хотя бы одно из введенных ключевых слов.
*
def filter_phrases_by_keywords(file_path, keywords):
# Читаем текст из файла
with open(file_path, 'r', encoding='utf-8') as file:
phrases = file.readlines()
# Приводим ключевые слова к нижнему регистру для сравнения
keywords = [keyword.lower() for keyword in keywords]
# Фильтруем фразы
filtered_phrases = []
for phrase in phrases:
# Приводим фразу к нижнему регистру и разбиваем на слова
words = phrase.lower().split()
# Считаем количество ключевых слов в фразе
keyword_count = sum(1 for word in words if word in keywords)
# Если найдено два или более ключевых слова, добавляем фразу в результат
if keyword_count >= 2:
filtered_phrases.append(phrase.strip())
return filtered_phrases
# Пример использования
if __name__ == "__main__":
# Вводим ключевые слова
input_keywords = input("Введите ключевые слова через пробел: ")
keywords = [kw.strip() for kw in input_keywords.split(' ')]
# Путь к файлу с фразами
file_path = 'фразы.txt'
# Получаем отфильтрованные фразы
result_phrases = filter_phrases_by_keywords(file_path, keywords)
# Выводим результат
print("Отфильтрованные фразы:")
for phrase in result_phrases:
print(phrase)
Как использовать этот код:
Сохраните его в файл, например, filter_phrases.py.
Создайте файл фразы.txt и добавьте в него фразы, которые хотите проверить.
Запустите скрипт, и введите ключевые слова, разделенные запятыми.
Скрипт выведет фразы, содержащие хотя бы два из введенных ключевых слов.
Примечания:
Убедитесь, что файл фразы.txt находится в той же директории, что и скрипт, или укажите полный путь к файлу.
Код не учитывает регистр букв, поэтому ключевые слова и фразы могут быть в любом регистре.
Свидетельство о публикации №124112203967