поиск похожих фраз в файлах
для этого поместите в папку эту программу на питоне и запустите её
->
import os
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
def read_txt_files_from_folder(folder='.'):
texts = []
filenames = []
for filename in os.listdir(folder):
if filename.endswith('.txt'):
path = os.path.join(folder, filename)
with open(path, 'r', encoding='utf-8') as f:
content = f.read()
# Разобьём содержимое на строки, чтобы считать фразы
lines = content.splitlines()
for line in lines:
line = line.strip()
if line: # пропускаем пустые строки
texts.append(line)
filenames.append(filename)
return texts, filenames
def main():
texts, filenames = read_txt_files_from_folder('.')
if not texts:
print("В папке нет текстовых фраз.")
return
query = input("Введите фразу для поиска: ").strip()
if not query:
print("Пустая фраза.")
return
try:
top_n = int(input("число фраз для вывода: "))
except ValueError:
print("это целое число")
return
# Векторизуем все фразы + запрос
vectorizer = TfidfVectorizer()
all_texts = texts + [query]
tfidf_matrix = vectorizer.fit_transform(all_texts)
# Вектор запроса - последний
query_vec = tfidf_matrix[-1]
texts_vec = tfidf_matrix[:-1]
# Косинусное сходство
similarities = cosine_similarity(texts_vec, query_vec).flatten()
# Отфильтруем по условию 0.1 <= sim <= 0.3
filtered = [(i, sim) for i, sim in enumerate(similarities) if 0.1 <= sim <= 0.3]
if not filtered:
print("Нет фраз с таким сходством")
return
# Сортируем по убыванию сходства
filtered.sort(key=lambda x: x[1], reverse=True)
# Выводим топ n фраз
for i, (idx, sim) in enumerate(filtered[:top_n], 1):
print(f" {texts[idx]} ( {filenames[idx]})")
if __name__ == '__main__':
main()
**
диапазон косинусного сходства фраз здесь задается параметром 0.1 <= sim <= 0.3
пример поиска фраз ->
знаем ли мы хорошо что самое важное и ценное в нашей жизни
поиск фраз ->
что самое главное сейчас в нашей жизни и в чём это выражается
ты говоришь об ошибках ? - это здесь не самое важное
мы всё знаем что нам нужно
когда мы не создаём новые технологии жизни - мы теряем не деньги - деньги это не самое важное -
мы теряем жизни реальных людей и их души для эволюции качества жизни всей нашей планеты
то что бывает мы уже знаем и не нужно нам объяснять как детям - что есть хорошо а что не так хорошо как мы думаем
мы знаем намного больше чем нам это кажется - не так ли ?
нам кажется что мы знаем много - но так ли это есть на самом деле ?
что самое ценное в ии - он не выпускает из поля зрения ни одной актуальной мысли - из тех что есть в его памяти
и хорошо что мы не знаем всё то чего понять нам так бывает не просто
хорошо что мы это знаем и можем учесть в дальнейшем
если мы этого не сделаем - то наверно не поймём чего- то очень важное в нашей жизни
самое важное в мире — это семья и любовь.
ладно пусть будет так - ведь в этом и заключается что то весьма важное в нашей жизни
самое важное в моей жизни — помогать людям и делать их жизнь проще и удобнее.
как вы думаете, какое самое важное качество для успеха?
мы многое не знаем но как обычно о многом догадываемся в нашей жизни
жить хорошо когда знаешь зачем живёшь - но знаем ли мы это достаточно хорошо чтобы понять как устроен этот мир в своей основе больших данных
это ничего не может объяснить из того что мы вроде бы хорошо знаем
я не знаю хорошо ли это или нет
ведь сознание это самое главное что есть у нас в жизни
можем ли мы понять как работают простые вещи нашего сознания в нашей жизни
да кажется ты прав - так обычно мы можем понять что то важное в жизни
хорошо что это так
мы все не знаем на что реально способны в этой жизни
и хорошо что мы не знаем всего того что нас связывает с другими людьми
конечно- это трудный вопрос - но если мы хотим понять его значение лучше - это самое важное
наверно мы это уже хорошо знаем - ведь по другому быть не может
если что то происходит важное как мы можем это понять лучше
всё ли хорошо в нашей жизни прямо сейчас - или это нам только так кажется - вопрос риторический наверно
конечно это всё интересно - ведь любая информация всегда имеет важное значение в нашей жизни
Свидетельство о публикации №125052600744