Пятница, 26 Апреля 2024, 23:04

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » виртуальный собеседник
виртуальный собеседник
kvestproДата: Воскресенье, 22 Января 2012, 20:12 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
создаю виртуального собеседника и столкнулся с проблемой:
как сделать чтобы программа искала в тексте memo1.text ключевые слова.
пример:
пользователь вводит:
Как у тебя дела?
программа должна считать не всю фразу а именно "как дела"
if memo1.text содержит 'как дела' then
написать "нормалек"
мне нужно слово содержит, но delphi
P.S. то что я написал наверное чушь.... biggrin
я сам запутался....


Инверсная кинематика в Unity
Алгоритм поиска пути Jump Point Search
AlderdДата: Воскресенье, 22 Января 2012, 22:37 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Use "регулярные выражения", Luke.
masb8ly-GCДата: Воскресенье, 22 Января 2012, 23:59 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Парсить строку, не? Потом делаешь сравнение, выделяешь нужное и дальше все просто!

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
kvestproДата: Понедельник, 23 Января 2012, 09:24 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
masb8ly-GC,
а пример кода не напишете?
пожалуйста cry


Инверсная кинематика в Unity
Алгоритм поиска пути Jump Point Search
UzzzerДата: Понедельник, 23 Января 2012, 10:13 | Сообщение # 5
участник
Сейчас нет на сайте
Quote (kvestpro)
создаю виртуального собеседника и столкнулся с проблемой:

Проблема в том, что надо с начало выучить ЯП что-бы что-то нормальное сделать!

ЗЫ.
Quote (kvestpro)
виртуального собеседника

Смысл? максимум он у тебя на 20-30 вопросов будет отвечать, ты сам порадуешься и друзьям покажешь. ну а смысла то нет? Если просто попрактиковаться делай уже что-то стоящее или хотя бы полезное!
kvestproДата: Понедельник, 23 Января 2012, 10:30 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Uzzzer, я изучаю делфи.
чтобы его изучить нужно не только курить мануалы, но и практиковаться.

Quote (Uzzzer)
Смысл? максимум он у тебя на 20-30 вопросов будет отвечать, ты сам порадуешься и друзьям покажешь. ну а смысла то нет? Если просто попрактиковаться делай уже что-то стоящее или хотя бы полезное!

Что полезное? я сделал шифратор/дешифратор текста....
собеседника хочу создать хорошего, не хуже болтуна.
Конечно не сразу, но базу буду обновлять.
мне нужна практика.


Инверсная кинематика в Unity
Алгоритм поиска пути Jump Point Search
RikettaДата: Понедельник, 23 Января 2012, 10:43 | Сообщение # 7
Strategist
Сейчас нет на сайте
Короче делаешь так:
Открываешь Google.
Там пишешь что-то вроде этого: Delphi поиск в файле.
Затем тыкаешь первые 3 ссылки не глядя.
И куришь их.

На Cpp и CSharp обычно первые две этом MSDN. :D


Fougerite - Rust Server OpenSource API
TerraDev - Terraria OpenSource Hack


Сообщение отредактировал Riketta - Понедельник, 23 Января 2012, 10:43
kvestproДата: Понедельник, 23 Января 2012, 11:19 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Riketta, уже гуглил.... гугл выдает совсем другое.
яндекс тоже ничего не дает.


Инверсная кинематика в Unity
Алгоритм поиска пути Jump Point Search


Сообщение отредактировал kvestpro - Понедельник, 23 Января 2012, 12:21
masb8ly-GCДата: Понедельник, 23 Января 2012, 16:41 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Quote (kvestpro)
masb8ly-GC, а пример кода не напишете? пожалуйста

Ты же сказал, что тебе нужно практиковатся, вот и практикуйся! Пиши в гугле "парсинг строки delphi" и читай!
Принцип работы приблизительно такой:
1. По словам занести строку в массив.
2. Анализирование массива на предмет совпадений.
3. Подбор ответа.


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
SpihexДата: Понедельник, 23 Января 2012, 16:50 | Сообщение # 10
Моргающий Гемо-Брат
Сейчас нет на сайте
kvestpro, позволь несколько вопросов. Сколько лет ты программируешь? Возраст указан верно?

Словосочетание "как дела" (со знаком или без) может встречаться и в других выражениях, не интересующимися о реальном положении дел кого-либо. Это придираюсь smile

Мне отчего-то кажется, ты не совсем представляешь объём работы, необходимый к выполнению. Или тебя интересует около 200-300 общих фраз?
FOXДата: Понедельник, 23 Января 2012, 16:57 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Quote (kvestpro)
чтобы его изучить нужно не только курить мануалы, но и практиковаться.

Не изобретай велосипед wink есть задачники по программированию по которым и надо практиковаться
MontegДата: Понедельник, 23 Января 2012, 16:58 | Сообщение # 12
участник
Сейчас нет на сайте
kvestpro, Думаю это то что нужно. Когда то делал подобное по принципу ключевых слов. http://netnotes.narod.ru/notes/t6.html
masb8ly-GCДата: Понедельник, 23 Января 2012, 17:04 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Quote (Spihex)
kvestpro, позволь несколько вопросов. Сколько лет ты программируешь? Возраст указан верно?

Человеку 13 лет и как я понимаю он только начал программировать. А есть разница? Мне тоже 13 и что? Проект не настолько сложен, чтобы для его написания нужен был большой опыт в программировании... Нужно просто немного усидчивости и все!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
FOXДата: Понедельник, 23 Января 2012, 17:09 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
На самом деле плохо что автор взялся за это sad программирование как и другие сложные науки лучше изучать постепенно а некоторые начинают скакать впереди поезда что только создаёт дополнительные трудности и в итоге займёт больше времени

Сообщение отредактировал FOX - Понедельник, 23 Января 2012, 17:09
MontegДата: Понедельник, 23 Января 2012, 17:15 | Сообщение # 15
участник
Сейчас нет на сайте
Хватит демотивировать автора smile он вполне может написать подобную программу.
masb8ly-GCДата: Понедельник, 23 Января 2012, 17:18 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Quote (FOX)
На самом деле плохо что автор взялся за это программирование как и другие сложные науки лучше изучать постепенно а некоторые начинают скакать впереди поезда что только создаёт дополнительные трудности и в итоге займёт больше времени

А ТС не постепенно начинает? Теория это еще не все! Главное практика! Я например первые программы на паскале и делфи писал совершенно не зная синтаксиса (ну какие-то знания с 5 лет еще были, но в 5 лет я еще только оператор присвоения и выучил). И ничего нормально все писал)


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
SpihexДата: Понедельник, 23 Января 2012, 17:32 | Сообщение # 17
Моргающий Гемо-Брат
Сейчас нет на сайте


Quote (masb8ly-GC)
Проект не настолько сложен, чтобы для его написания нужен был большой опыт в программировании... Нужно просто немного усидчивости и все!

из первой части следует намёк на то, что ты такую задачу уже решал. Если да, то что тебе для этого потребовалось? Если нет - не суди о сложности.

Я так и не понял, нужен относительно полноценный собеседник или бот-отвечалка на дежурные фразы?
В первом случае - нужно будет ознакомиться с AI. Во втором - здесь подскажут. Хм, так или иначе, но без меня lol *тема интересная. слежу*
TimKruzДата: Понедельник, 23 Января 2012, 17:33 | Сообщение # 18
старожил
Сейчас нет на сайте
Quote (Monteg)
Хватит демотивировать автора, он вполне может написать подобную программу.

Правильно.
kvestpro, в общем, стандартных функций в Делфи для этих целей нет, так что придётся писать свои. Для начала - разбиваешь строку на слова (разделитель слов - пробел), потом отбрасываешь лишнее (проверяешь по базе используемых слов), оставшееся сравниваешь с шаблонами (по базе шаблонов), далее проверяешь допустимый на данный момент вариант и выводишь на экран... Все базы хранятся в файлах.
В общем-то просто (если иметь опыт программирования, много литературы почитать, чтобы велосипед не изобретать), главное наполнить базы ("обучить") - и псевдоИИ готов, в некотором смысле поговорить можно.
Вот тут можно найти несколько полезных книжек, правда нужно иметь опыт в программировании... Там и форум есть...
Кстати, я где-то (не помню где) видел исходник "собеседника" на Турбо Паскале...


masb8ly-GCДата: Понедельник, 23 Января 2012, 17:38 | Сообщение # 19
постоянный участник
Сейчас нет на сайте
Quote (Spihex)
из первой части следует намёк на то, что ты такую задачу уже решал. Если да, то что тебе для этого потребовалось? Если нет - не суди о сложности.

Ну когда у человека есть хотя бы не большой опыт в программировании и если он понимает поставленную задачу, то судить о сложности очень просто!
Тов. TimKruz более четко передал мой ход мыслей, так как я не всегда четко их выражаю)
Если сравнить мой ответ и ответ TimKruz'a, то видно, что люди имеющие опыт в программировании или по крайней мере в алгоритмизации мыслят абсолютно одинаково! И о сложности судить могут!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
kvestproДата: Понедельник, 23 Января 2012, 19:32 | Сообщение # 20
заслуженный участник
Сейчас нет на сайте
Quote (FOX)
Не изобретай велосипед есть задачники по программированию по которым и надо практиковаться

в студию задачники!!! biggrin
когда я их искал мне гугл находил людей которые решают задачи, а вот задачников не было....


Инверсная кинематика в Unity
Алгоритм поиска пути Jump Point Search
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » виртуальный собеседник
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг