Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Вниз

Анализ текста - общение с компом   Найти похожие ветки 

 
Arbin   (2002-10-02 11:02) [0]

Никто не пробовал писать интеллектуальный анализ текста под Делфи? То есть научить составлять разумную фразу на основании обработанной информации (например, реализация беседы человека и компа).


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


 
Yar-Com   (2002-10-02 17:59) [1]

ИМХО надо нейронные сети юзать....


 
artgamer   (2002-10-02 20:00) [2]

Пробовал. Долго и муууууууторно... Даже с использованием готового словаря MS Word 2000.


 
Asteroid   (2002-10-02 21:39) [3]

Был подобный проект для ICQ, назывался ICQza - на английском. В принципе нормально, но видно, что комп. Есть даже исходник на C


 
Дьякон ФРОСТ   (2002-11-28 00:37) [4]

Я пробовал. пробовал пробовал..... пожалел что связался....


 
Ru   (2002-11-28 13:37) [5]

разумность фразы в любом случае будет маловатой
если знаешь примерно что может сказать опонент, то встраиваешь набор фраз и выдаешь опоненту в ответ на его фразы: привет - здарова


 
Джастер   (2002-11-28 20:42) [6]

Народ, о чем речь? Ведь спрашивали о разумном собеседнике, а такого, насколько мне известно, еще никто не сделал...


 
Art   (2002-12-10 09:17) [7]

Я пробовал ИИ писать, вернее только часть которая делала (так чтоли скажем) эмоции, получилось, там сплошная математика описывается все просто, а вот анализатор слов + проверка орфографии (учитывая что юзер может для прикола слова коверкать) + семантический анализ (ну насколько я знаю семантический словарь еще никто не смог придумать и даже теории для него нет) + (желательно) память (ну т.е. чтоб он помнил о чем вчера например говорили) никто не придумал. У меня такая мысля что если кто придумает для чего это все надо (кроме просто поболтать и в играх использовать) то можно и рискнуть.
(Тут такая мысля что если все это реализовать то можно переворот в операционных системах сделать :) МыслящийВиндовс, брррр какой ужас!)


 
Дмитрий К.К.   (2002-12-10 17:06) [8]

Еще бы. Один скажет: "Здравствуйте!", другой - "Как житуха, старик?", третий "Не дождетесь!"... И как компу с етим сладить??? ИМХО, задача не для программиста-одиночки, а для научного института (с хорошей спонсорской поддержкой).


 
Landgraph   (2002-12-10 17:37) [9]

В принципе про нейронные сети согласен - можно использовать... Однако на существующей элементной базе будет существенный проигрыш в скорости работы этой сети... Т.е. будет долго думать что же все таки произошло... Да и настроить такую сеть будет мягко говоря сложновато...

Однако, ИМХО, копать лучше всего в сторону нейронных сетей.


 
Ketmar   (2002-12-10 19:24) [10]

или фреймов.

Satanas Nobiscum! 10-Dec-XXXVII A.S.


 
Art   (2002-12-10 22:58) [11]

Сети сети, сети не панацея. Ну сколько может запомнить нейронная сеть которую программеру среднему не сложно написать? Ну 15 - 20 образов и то уже с глюками, я говорю что нужен иной подход совсем другой.
И еще, нейронные сети реагируют быстро, но глючно, а всемогущие переборы слишком медленны вот такая блин капуста...
А насчет разных высказываний то это вполне решимо - например мы можем менять коэффициенты и выдавать определенные фразы в определенных состояниях (ну предположим что это у нас получилось) но как комп будет понимать что "хлеб черствый"? Это невозможно без семантических словарей или грамотной базы знаний (что по сути семантический словарь), получается что дейтище человека (ЭВМ) не способна решать задачи на уровне человека, а это не есть факт.
НЕ надо очеловечивать компьютеры, они этого страсть как не любят.


 
Art   (2002-12-10 23:07) [12]

4Arbin
Можно твою задачу решить при помощи теории черного ящика - т.е. человек это черный ящик, мы лишь наблюдаем как он реагирует на внешние события, запоминаем и когда с компом происходят такие же события он вываливает то что делал на его месте человек. Но это беспантовый алгоритм но зато легко реализуется и создает впечатление внешнее. В нейроные сети лучше не лезь все равно они не эффективны (я так считаю, сперва программить а потом еще и обучать ...) хотя на их основе возможно создание механических систем (например ракета которая находит самолет среди ловушек опираясь лишь на то что у него крылья торчать должны).


 
MRB_SPB   (2002-12-11 10:22) [13]

Впринципи если решать задачу для конкретной прикладной области она переходит из разряда искуственного интелекта в разряд базы знаний и довольно несложно реализуется многими алгоритмами, но если имеется ввиду более широкие понятия, то тут тебе понадобится маленькое НИИ и 10 лет напряжённой работы.


 
Ru   (2002-12-11 15:32) [14]

Проблема: компьютер должен вести разумный диалог с юзером.
Решение:
1. нейросеть
достоинства: обучаемость
недостаток: сложность
2. словарь
достоинства: простота реализации
недостаток: не обучается

Берем реализацию 2.
Проблема: составление словаря.
Решение:
1. разделить словарь по предметным областям
2. плюнуть на это дело

Берем реализацию 2.1
Проблема: разделение предметных областей
Решение:
1. жесткое ограничение проблем
2. возможность расширения


 
Silentor   (2002-12-12 19:36) [15]

Сложность реализации распознавания текста зависит и от языка общения. Грамматика того же русского VS английского (подлежащее+ сказуемое+...) сложнее.


 
Дмитрий К.К.   (2002-12-12 20:14) [16]

Пора бы веточку перенести в раздел "Потрепаться". Потому что идут пустые разговоры.


 
Bones   (2002-12-13 06:15) [17]

На самом деле есть множество программ распознавающих человеческие фразы. Но насколько мне известно - даже ученые не могут реализовать настоящей "беседы" человека с компом. Если и делать такую пагу, то только на основе ее самообучения, т.е. накопления опыта. Ведь люди общаются друг с другом благодаря их жизненому опыту и словарному запасу. И вообще, по-моему, тут еще надо хорошо знать психологию человека. А так я бы может чем-нибуди и помог бы. Пишите!


 
Alek Aaz   (2002-12-13 06:55) [18]

ИМХО кажется нужно скрестить оба метода. И словарный и Сети. Вообще можно попробовать.


 
TButton   (2003-01-10 15:33) [19]

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


 
Asteroid   (2003-01-11 18:29) [20]

Можно поступить так:
1) Начальное накопление знаний из огромного массива текстов не-разговоров:
Анализировать массив на вхождения слов и словосочетаний, записывать частоту/число вхождений.
Редко встречающиеся слова/фразы выкидывать (они специальные, с опечатками или не сочетаются). Затем расставить фразы по темам. Возможно придется вручную обозначить темы, затем уже под них подгонять слова/выражения
Т.е.:
если некая фраза часто встречается только в теме Т, она встретилась в новом тексте -> новые фразы из нового текста добавлять в список фраз Т.
2) переход к разговору
Обязательно наличие БОЛЬШОГО контекста, понятий "та/тот/то", "эта/этот/это", "он/она/оно" и прочих местоимений.
Возможно, нужен пополняемый словарь начальных фраз, типа "привет", "пирвет", "здарово", "как жисть?" и пр. вариаций. Неэффективно, но ничего другого пока нет.

Обязательно: прога должна уметь отвечать на собственные вопросы, распознавать длинные предложения. Должна быть большая база данных фактов (типа: гора - Эверест; Джомолунгма=Эверест) - или поиск по инету.
Лучше делать для одного языка (русского), поскольку в английском до фига заморочек наподобие артиклей - и уже фиг прога разберет, когда нужно использовать какой артикль.

Нейросеть сложно и долго, но эффективно.
Список - слишком много места займет (с учетом того, что некоторые фразы входят во много тем сразу)


 
TButton   (2003-01-11 19:54) [21]

2Asteroid
База фактов ето правильно, загнать в него пару енциклопедий, школьный курс литературы... да и вообще школьный курс всего и пару раз в неделю новости ему давать, да и доступ к метеорологическим серверам, чтоб погоду знал.
Контекст фразы определяется по контексту слов которые ее составляют, например если основной контекст принадлежит теме Х то и ответ будет построен из набора слова темы Х.


 
Asteroid   (2003-01-11 22:12) [22]

> TButton © (11.01.03 19:54)
Неплохо было бы еще и систему аргументации и смены темы...но об этом позже.
Я видел новость про то, что русские программисты разработали типа базы данных новостей на нейросетях. Как раз там и использовался метод анализа сочетаний слов. Вроде им даже удалось сделать ее независящей от языка новостей.

Только как создавать из слов/фраз предложения, да еще и "в кассу"? Можно попробовать повозиться с нейронной сетью...слоев этак с пять...тот же мехянизм анализа сочетаний фраз в предложении в рамках одной темы...еще больше исходная база текстов...теоретически может сработать...тормознуто, очень сложно, но если сработает - будет более, чем здорово!
Список - проблемы с добавлением/удалением новых слов/фраз. У нейросети с этим, имхо, попроще.

В общем, думать надо, думать долго и упорно; а потом так же долго и упорно писать + искать исходные тексты и пр...работа не из простых даже для команды специалистов. Или надо искать другие пути...


 
Pardus   (2003-01-12 15:06) [23]

Генерировать, а тем более распознавать фразу на естественном языке нейронными сетями не удасться RTFM! (Как бы вы или кто другой не старался).

Есть проработанная теория в области ИИ и ЭС построения диалоговых компонет (решают именно вашу задачу).

Для анализа следующие этапы:
(Входная Фраза) - Морфологический анализ - Синтаксический анализ - Семантический анализ - (Внутреннее представление)

Для синтеза всё в обратном порядке.
Но это ОЧЕНЬ серьёзная программа получится. Кроме того, с русским языком у неё возникнут большие проблемы (из-за богатого словообразования). Для таких задач предпочтительнее взять какой-нибудь "бедный" язык вроде английского...


 
Дмитрий К.К.   (2003-01-14 14:32) [24]

Хотя с другой стороны... Не слишком ли мы много требуем от железяки? Вспомните людоедку Эллочку :)


 
Урб   (2003-01-14 15:43) [25]

+ еще есть такая запарка с сохранением контекста...


 
Mihey   (2003-01-14 22:24) [26]

У меня уже всё готово. Очень простой пример. Качайте отсюдова:

http://www.hot.ee/mvps2/files/Obsiralka.zip

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


 
Nikolas van rain   (2003-02-10 00:54) [27]

Наконец наткнулся на нормальных людей, Пиплы! я жуткил ламер, и в Делфих и в ИИ, но идей очень много.. Вот бы кто помог разобратся с сетями.. а то я скачивал пару продуктов.. и наших и забугорны.. но там хрен поймешь чего.. у наших тест на тесте, без каких то обозначений. У тех куча леваго базара..
Буду длагодарен если кто то откликнется и еще лучше скинет простенький примечик реализации однослойной сети, мне просто не от чего отталкнутся..
Заранее благодарен!


 
west   (2003-07-10 16:29) [28]

Народ кончайте пустой базар вы только человека запутали а толку маловато


 
Fenik   (2003-07-10 19:54) [29]

> west © (10.07.03 16:29)

Базар закончился в феврале. А вот вы как-то откопали его :))


 
K.o.Z   (2003-07-10 23:52) [30]

а не выйдет ли тоже самое, что в Матрице?? Вы решили очеловечить железяку, что само собой явл. очень тяжелым процессом, схожим с эволюцией

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


 
Asteroid   (2003-07-11 04:10) [31]

> K.o.Z © (10.07.03 23:52)
Не очеловечить, а лишь преобразовать человеческое мышление в машинное. Причем не все мышление, а лишь его малую (хотя и немаловажную) часть - речь. Никакой эволюцией, и уж тем более Матрицей, здесь и не пахнет. Это "всего лишь" написать алгоритм и предоставить данные для его работы.


 
Кен   (2003-07-11 07:44) [32]

> artgamer © (02.10.02 20:00)
> Пробовал. Долго и муууууууторно... Даже с использованием
> готового словаря MS Word 2000.


А где можно найти словарь от MS Word 2000 ?


> K.o.Z © (10.07.03 23:52)
> а вот самообучение это реальность - как-то читал на компьюленте.ру,
> что учёные сделали робота с крыльями и он через опред. время
> самостоятельно научился летать перепробовав множество вариантов
> управления своими крыльями - "выучился на ошибка" ....


Кто бы мне сказал, как анализировать ошибки. Есть последовательность чего то. Ходов, собыйтий, чего то ещё. Как её анализировать ?


 
K.o.Z   (2003-07-11 22:32) [33]

2 Кен © (11.07.03 07:44)
;) увы не скажу, т.к. не знаю... не я ж сделал этого робота ...


 
StorM   (2003-07-11 23:11) [34]

>Кто бы мне сказал, как анализировать ошибки. Есть >последовательность чего то. Ходов, собыйтий, чего то ещё. Как её >анализировать ?
Опять же самообучаемые роботы построены на основе нейронных сетей.


 
Кен   (2003-07-12 01:32) [35]

> Опять же самообучаемые роботы построены на основе нейронных
> сетей.

А ошибки то как анализировать. Есть например у вас запись партии, в которой кто то выигрывает. Как вы будете это анализировать ?

Или вот в жизни. Едет автомобиль и врезается. Все его параметры в каждый момент времени известны. Как анализировать на предмет ошибки ?


 
Del   (2003-07-12 02:53) [36]

Народ! Я еще давно такую программку видел и качал я сейчас она есть. Лежит здесь: nai.wallst.ru - называется NAI. Базарит иногда реально, а иногда как тамагочик!


 
Donatas   (2003-07-12 21:23) [37]

я писал(пишу) ИИ :)может кто встречал моего бота для аськи :) дык вот имхо оптимально - использовать aiml...в принципе он для этого и делался....есть возможность распознования темы разговора... есть память... а с предложениями,которые бот не понимал - поступал так: записывал их в файл....и потом переспрашивал их у другого человека...полученный ответ доболвлял в базу :) плюс делал еще инверсию :) типа на вопрос
"ты был вчера в кино?"
после инверсии давал ответ
"я был вчера в кино"
или "я был вчера в кино?"
в общем тема интересная....но объемная =\ и времени не хватает ей как следует заниматься =(


 
iXuSs   (2003-07-12 22:00) [38]

> а с предложениями,которые бот не понимал - поступал так: записывал их в файл....и потом переспрашивал их у другого человека...полученный ответ доболвлял в базу

Идея интересная, особенно если постепенно редактировать файл памяти, усложнять реакцию и т.д.


 
wiz   (2003-07-13 01:45) [39]

2 Кен (11.07.03 07:44)

А робот с крылышками был не такой уж и умный... ему дали 4-6 степеней свободы "крыла" и датчик положения по вертикали.

Далее решалась довольно "простая" задача: поиск максимума результата (высоты подъема) в зависимости от параметров функции(последовательности изменения положения частей "крыла"), причем вид этой функции неизвестен.

Есть большое кол-во методов решения такой задачи (курс "Численные методы") и они к ИИ не имеют никакого отношения.

Другое дело, что в задаче с крыльями (наверняка) очень большое кол-во параметров, следовательно необходимо добавлять к классическим методам эвристику (индивидуальную), иначе эта "птичка" махала бы крыльями до скончания веков.

---

imho анализ правильности можно сделать, если:

а) есть возможность перебрать множество вариантов (статистика)
б) есть некое численное выражение "правильности" каждого варианта (или алгоритм его подсчета).

---

Применительно к "Или вот в жизни. Едет автомобиль и врезается."

Есть еще 100 авто. А лучше еще 1000 :). Теперь варьируем параметры у каждой новой тачки, которую мы разбиваем, и к каждой тачке приписываем число "ошибочности поведения" (например цена ремонта).
Таким образом мы привели задачу к следующей: изменением каких-либо параметров во времени свести к минимуму цену ремонта (лучше всего к нулю).

И вот тут-то человек начинает отличаться от всяких алгоритмов и конечных автоматов. Человек почему-то сразу знает, что надо было включить левый поворотник на 6-ой секунде и перейти на другую полосу :). А вот до алгоритма это дойдет попытке на 3000-ой...


 
Кен   (2003-07-13 02:02) [40]

> Идея интересная, особенно если постепенно редактировать
> файл памяти, усложнять реакцию и т.д.

Сто лет в обед ей.

А есть ли какие нибудь функции по выделению из фраз подлежащих, сказуемых, остоятельств, и всего прочего ?



Страницы: 1 2 вся ветка

Форум: "Игры";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.047 c
14-16694
dream
2004-01-16 09:51
2004.02.06
Всем кто интересуеться игровыми клубами


7-16776
Lserge
2003-11-22 11:49
2004.02.06
изменение звуков программных событий


14-16628
Ega23
2004-01-13 15:47
2004.02.06
Подскажите бесплатный remainder


1-16466
KLAUS
2004-01-27 20:41
2004.02.06
ImagaBase


14-16638
Satirus
2004-01-14 14:03
2004.02.06
Восстановление Win2K





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский