Суббота, 26.05.2012, 00:26

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Страница 1 из 3123»
Модератор форума: Vinchensoo 
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » виртуальный собеседник
виртуальный собеседник
kvestproДата: Воскресенье, 22.01.2012, 20:12 | Сообщение # 1
почетный гость
Сообщений: 72
Сейчас нет на сайте
создаю виртуального собеседника и столкнулся с проблемой:
как сделать чтобы программа искала в тексте memo1.text ключевые слова.
пример:
пользователь вводит:
Как у тебя дела?
программа должна считать не всю фразу а именно "как дела"
if memo1.text содержит 'как дела' then
написать "нормалек"
мне нужно слово содержит, но delphi
P.S. то что я написал наверное чушь.... biggrin
я сам запутался....
 
AlderdДата: Воскресенье, 22.01.2012, 22:37 | Сообщение # 2
частый гость
Сообщений: 45
Сейчас нет на сайте
Use "регулярные выражения", Luke.
 
masb8ly-GCДата: Воскресенье, 22.01.2012, 23:59 | Сообщение # 3
участник
Сообщений: 156
Сейчас нет на сайте
Парсить строку, не? Потом делаешь сравнение, выделяешь нужное и дальше все просто!

 
kvestproДата: Понедельник, 23.01.2012, 09:24 | Сообщение # 4
почетный гость
Сообщений: 72
Сейчас нет на сайте
masb8ly-GC,
а пример кода не напишете?
пожалуйста cry
 
UzzzerДата: Понедельник, 23.01.2012, 10:13 | Сообщение # 5
участник
Сообщений: 186
Сейчас нет на сайте
Quote (kvestpro)
создаю виртуального собеседника и столкнулся с проблемой:

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

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

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

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

Что полезное? я сделал шифратор/дешифратор текста....
собеседника хочу создать хорошего, не хуже болтуна.
Конечно не сразу, но базу буду обновлять.
мне нужна практика.
 
RikettaДата: Понедельник, 23.01.2012, 10:43 | Сообщение # 7
Strategist
Сообщений: 597
Сейчас нет на сайте
Короче делаешь так:
Открываешь Google.
Там пишешь что-то вроде этого: Delphi поиск в файле.
Затем тыкаешь первые 3 ссылки не глядя.
И куришь их.

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

Работаю с C#, XNA и WM Engine.
Arduino - аппаратная вычислительная платформа
Стоик - Экономическая 2D RTS
InfoBox 1.2 - Вышла финальная версия.


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

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

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

 
SpihexДата: Понедельник, 23.01.2012, 16:50 | Сообщение # 10
Моргающий Гемо-Брат
Сообщений: 462
Сейчас нет на сайте
kvestpro, позволь несколько вопросов. Сколько лет ты программируешь? Возраст указан верно?

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

Мне отчего-то кажется, ты не совсем представляешь объём работы, необходимый к выполнению. Или тебя интересует около 200-300 общих фраз?

But it's different now,
When i poor and aging,
You'll never see this face again...
You go stabbing.
Yourself.
In the neck.
(Interpol - obstacle 1)
 
FOXДата: Понедельник, 23.01.2012, 16:57 | Сообщение # 11
участник
Сообщений: 225
Сейчас нет на сайте
Quote (kvestpro)
чтобы его изучить нужно не только курить мануалы, но и практиковаться.

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

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

 
FOXДата: Понедельник, 23.01.2012, 17:09 | Сообщение # 14
участник
Сообщений: 225
Сейчас нет на сайте
На самом деле плохо что автор взялся за это sad программирование как и другие сложные науки лучше изучать постепенно а некоторые начинают скакать впереди поезда что только создаёт дополнительные трудности и в итоге займёт больше времени

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

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

 
SpihexДата: Понедельник, 23.01.2012, 17:32 | Сообщение # 17
Моргающий Гемо-Брат
Сообщений: 462
Сейчас нет на сайте


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

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

Я так и не понял, нужен относительно полноценный собеседник или бот-отвечалка на дежурные фразы?
В первом случае - нужно будет ознакомиться с AI. Во втором - здесь подскажут. Хм, так или иначе, но без меня lol *тема интересная. слежу*

But it's different now,
When i poor and aging,
You'll never see this face again...
You go stabbing.
Yourself.
In the neck.
(Interpol - obstacle 1)
 
TimKruzДата: Понедельник, 23.01.2012, 17:33 | Сообщение # 18
старожил
Сообщений: 1588
Сейчас нет на сайте
Quote (Monteg)
Хватит демотивировать автора, он вполне может написать подобную программу.

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

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

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

 
kvestproДата: Понедельник, 23.01.2012, 19:32 | Сообщение # 20
почетный гость
Сообщений: 72
Сейчас нет на сайте
Quote (FOX)
Не изобретай велосипед есть задачники по программированию по которым и надо практиковаться

в студию задачники!!! biggrin
когда я их искал мне гугл находил людей которые решают задачи, а вот задачников не было....
 
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » виртуальный собеседник
Страница 1 из 3123»
Поиск:

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