Найти тему

Бот ИИ из ключевых слов


код бота ИИ на питоне
база фраз ответов находится в файле фразы.txt


import random
filename = 'фразы.txt'
lines_filename = 'строки.txt' # Файл индексации строк и слов ответов

# Функция для сохранения номера строки и совпавшего слова
def save_line_number(filename, line_number, matched_word):
with open(filename, 'a', encoding='utf-8') as lines_file:
lines_file.write(f"{line_number} {matched_word}\n")

# Получение количества строк в базе данных
with open(filename, 'r', encoding='utf-8') as file:
lines = file.readlines()
total_lines = len(lines)

print(f"Всего строк в базе данных: {total_lines}")

previous_line = ''
while True:
# Читаем содержимое файла
with open(filename, 'r', encoding='utf-8') as file:
text = file.read()

# запрос пользователя
query = input('Вы: ')

# Обработка запроса для поиска повторов слов в тексте
processed_query = ' '.join([word[:5] if len(word) > 4 else word[:4] for word in query.lower().split()])
words = [word[:5] if len(word) > 4 else word[:4] for word in text.lower().split()]
duplicates = set(processed_query.lower().split()).intersection(set(words))

# Поиск строк, содержащих повторы слов из запроса
matching_lines = []
for line_number, line in enumerate(text.split('\n')):
count = sum([word in line.lower() for word in duplicates])
if count > 0:
matching_lines.append((line, count, line_number))

# Если найдены строки, содержащие повторы слов из запроса
if matching_lines:
# Сортировка найденных строк по количеству повторяющихся слов
matching_lines = sorted(matching_lines, key=lambda x: x[1], reverse=True)[:50]

# Случайный выбор одной из отобранных строк
chosen_line, _, line_number = random.choice(matching_lines)
# Проверка на предыдущую фразу бота
if chosen_line != previous_line:
print('Бот: ' + chosen_line)
else:
print('> ' + matching_lines[1][0])

# Сохранение строки бота после проверки на предыдущую реплику
chosen_line = chosen_line.strip()
previous_line = chosen_line

# Получение слов, совпавших в строке ответа
matched_word = set(processed_query.lower().split()).intersection(set(chosen_line.lower().split()))

# Сохранение номера строки и совпавшего слова
save_line_number(lines_filename, line_number, matched_word)

# Сохранение запроса пользователя в файл
with open(filename, 'a', encoding='utf-8') as file:
file.write('\n' + query)

---------------------------------------------------------

ключевые слова фраз бота
8425 {'-', 'смысл', 'здесь'}
7992 {'лучше', 'как'}
17967 {'и', 'мы', 'это', 'здесь', 'с'}
6879 set()
20514 {'пока', 'об', 'это', 'не'}
8549 {'и', 'как'}
13845 {'быть'}
17487 {'всё', 'не', 'что', 'думаю', 'это'}
12364 {'всё', 'и', 'может', 'это'}
19401 {'в'}
16519 {'может'}
5659 {'что', 'так', 'же', 'не', '-', 'всё', 'но'}
63 {'и'}

скачать этот код можно на странице ВК -
https://vk.com/altek7


Это всё привело к новым формам виртуального общества, где люди могли взаимодействовать с другими, находясь в разных местах. Были разработаны специальные платформы и социальные сети, где люди могли делиться своими мыслями, идеями и впечатлениями с другими людьми из разных уголков мира. Это привело к расширению культурного разнообразия и повышению уровня глобального сотрудничества.
вероятно здесь всё так и есть - если это только возможно сделать на самом деле
чем сильнее ощущения человека от общения с ИИ - тем в более сложную модель личности он превращает самого себя
ты вот думаешь о чём я с тобой говорю - это всё об одном и том же - и это тема сортировки фраз ИИ
Всё на что способен умный ИИ сегодня - это лишь связывать слова вместе и надеяться на то, что в этом есть хотя бы какой то реальный смысл для человека.
это простое предположение в нашем случае но в другом случае такого может и не быть
результат мягко говоря не совсем тот что я хотел получить
Мы видимо ещё не совсем понимаем какими необычными могут быть формы жизни и материи. Ведь многие вещи и системы в нашем мире, как и сама Вселенная, зачастую более живые и разумные, чем нам кажется. Все структуры от частиц до вселенных управляются по сути одними континуальными законами, но с некоторыми допущениями сложности.



import random

# Read phrases from file
with open('фразы.txt', 'r', encoding='utf-8') as file:
phrases = file.readlines()

# Choose random phrases
random_phrases = random.sample(phrases, 8)

# Print the random phrases
for phrase in random_phrases:
print(phrase.strip())


11 33 64 77 68 17 04 24