Анализатор текста

Kudja

Новичок
Анализатор текста

http://www.edimka.ru/cgi-bin/gen.pl - тут есть анализатор, который делает поиск по базе продуктов, принимая различные словоформы, переводя написанные текстом цифры в нормальные цифры, определяющий какие куски текста относятся к какому продукту, возможно синтаксический разбор предложения.

интересует: кто-нибудь может в кратце рассказать каким образом такое реализуется, через какие алгоритмы, методы... все что может пригодится для такого поиска. буду весьма благодарен.

там на ПЕРЛ реализованно (если это важно, хотя наврят, но все таки может будет иметь значение) - меня интересует PHP вариант, может быть просто другие названия каких библиотек...

я думаю так - разбор предложения по частям происходит как то на подобии
PHP:
explode(',',$inputtext);
- т.е. по запятым
далее есть какойто словарик/алгоритм, который числа написанные текстом переводит в цифру :) - алгоритмик придумать можно - это думаю не проблема
далее с использованием какого-нить aspell/pspell/ispell берется им.падеж ед. число продукта, либо выделяется корень из его наименования и ищется в БД по like '%$root%' - тут не совсем ясен момент, как определяется слово ключевое, которое ищем, ведь может остаться какой-нить мусор, на который мы сослаться можем, или тут на оставшиеся слова делать поиск match against лучше???
ну а с ед.измерения и так понятно - идут сразу после числа.

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

maxru

МИФИст
В поиск.
Совсем недавно предлагалась готовая библиотека со словарем.
 

partizan

Новичок
Re: Анализатор текста

Автор оригинала: Kudja

я думаю так - разбор предложения по частям происходит как то на подобии
PHP:
explode(',',$inputtext);
- т.е. по запятым
далее есть какойто словарик/алгоритм, который числа написанные текстом переводит в цифру :)
Я думаю, чтоб написать подобную библиотеку алгоритм немного посложнее:

1) отучится в ВУЗе по специальности "Прикладная математика", на кафедре с названием что-то типа "Компьютерной лингвистики" (или кафедре, на которой лингвистика является одним из направлений деятельности).
2) используя полученные знания построить алгоритмы
3) реализовать их
 

Alexandre

PHPПенсионер
а я думаю, что решение банально простое, типа того, что указал Kudja, только вместо explode(',',$inputtext); используется регэксп.
 

maxru

МИФИст
Re: Анализатор текста

Автор оригинала: Kudja
далее есть какойто словарик/алгоритм, который числа написанные текстом переводит в цифру :) - алгоритмик придумать можно - это думаю не проблема
Конечно не проблема, intval($stringnum).
 

Kudja

Новичок
Re: Re: Анализатор текста

Автор оригинала: partizan
Я думаю, чтоб написать подобную библиотеку алгоритм немного посложнее:

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

-~{}~ 03.08.07 14:29:

Автор оригинала: maxru
Конечно не проблема, intval($stringnum).
вы не поняли - числа такого рода сто два например ;)
 

partizan

Новичок
Re: Re: Re: Анализатор текста

Автор оригинала: Kudja
какой полезный совет... а если нет времени и возможности сейчас пойти учится туда??? может быть идеи наводящие подкинуть попробовали, а не отправлять куда подальше сразу???
Если нет времени учиться - не стоит браться, такое мое мнение. Не в обиду
 

Kudja

Новичок
Автор оригинала: Alexandre
а я думаю, что решение банально простое, типа того, что указал Kudja, только вместо explode(',',$inputtext); используется регэксп.
здесь согласен - указал просто упрощенный вариант, где использовал только запятую
 

partizan

Новичок
Re: Анализатор текста

Автор оригинала: Kudja
делает поиск по базе продуктов, принимая различные словоформы, переводя написанные текстом цифры в нормальные цифры, определяющий какие куски текста относятся к какому продукту, возможно синтаксический разбор предложения.
Это по-вашему довольно простой разбор?

Такие вещи не делаются набравшись советов на форуме, или почитав "Самоучитель PHP за n часов". Для этого нужно долго и упорно учиться
 

Kudja

Новичок
Re: Re: Re: Re: Анализатор текста

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

AmdY

Пью пиво
Команда форума
не слушай советов велосипедистов, maxru отправил тебя в поиск, найди например это http://phpclub.ru/talk/showthread.php?s=&threadid=96949&rand=18
 

Kudja

Новичок
Автор оригинала: AmdY
не слушай советов велосипедистов, maxru отправил тебя в поиск, найди например это http://phpclub.ru/talk/showthread.php?s=&threadid=96949&rand=18
thnx те и maxru
уже тож нашел и читал - вечером буду пробовать - с гугли на этот проект уже попадал вчера помойм, но пока не тестил - буду пробовать, хотя есть ещё некоторые вопросы касательно этой библиотеки и других, которые я писал в посте ispell/aspell/pspell, хотя тут наверное больше вопрос к их словарям... но это уже не в эту тему пойдет
 
Сверху