Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Кто подскажет на какких языках написаны поисковые алгоритмы поисковых систем. Я сомниваюсь, что на PHP - это было бы дольше, хотя кто знает. В общем хотелось бы об том знать больше. (Добавление)
Немного не в вопрос, но объеденю.
"Морфология" - реально добится словоизменений без БД со словами? Т.е. простой обработкой например с помощью php.
pifon1989
Отправлено: 25 Августа, 2008 - 12:56:06
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008
Помог: 0 раз(а)
ALEN пишет:
Кто подскажет на какких языках написаны поисковые алгоритмы поисковых систем. Я сомниваюсь, что на PHP - это было бы дольше, хотя кто знает. В общем хотелось бы об том знать больше.
PHP + Perl + JavaScript, если брать во внимание только алгоритмы.
Ну и, разумеется, поисковые роботы пишутся либо на PHP, либо на Perl, и, я слышал, на C. Точно вам никто не скажет, механизмы поисковиков не раскрываются по сей день.
И насчёт того, что php - дольше, это вы зря. Так же, как и в любом языке программирования. И причём учитывайте, что там, в поисковике, над алгоритмом работает не кодер-самоучка, группа людей малость побольше
ALEN пишет:
"Морфология" - реально добится словоизменений без БД со словами? Т.е. простой обработкой например с помощью php.
В каком смысле словоизменений со словами?
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
ALEN
Отправлено: 25 Августа, 2008 - 13:29:18
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
pifon1989 пишет:
группа людей малость побольше
Если учитывать сумму инвестиций то уже все понятно.
pifon1989 пишет:
В каком смысле словоизменений со словами?
Например слово "МИР"
Без словарей и дополнительных данных из БД, т.е. по падежам можество существующих слов склонят слова.
МИР, МИРУ, МИРА,МИРОМ и т.д.
pifon1989
Отправлено: 25 Августа, 2008 - 13:34:20
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008
Помог: 0 раз(а)
ALEN пишет:
Например слово "МИР"
Без словарей и дополнительных данных из БД, т.е. по падежам можество существующих слов склонят слова.
МИР, МИРУ, МИРА,МИРОМ и т.д.
А, собственно, зачем это нужно?
Если нужно просто вставлять в текст, объявляете несколько переменных, в которых содержатся слова в разных падежах.
Если проверить, правильный ли укзан падеж в слове, применяете функцию ereg(). Если найти в большом тексте слова в нужном падеже - preg_match().
Само по себе вряд ли такое есть. Нужно либо самому писать, либо гуглить. Да и, опять же, повторюсь, для того, чтобы написать класс, нужно ещё знать сначала, нафиг он нужен, ибо применений могут быть иногда и тысячи.
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
ALEN
Отправлено: 25 Августа, 2008 - 13:39:27
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
На счет регулярных выражения я то и сам понимаю.
Использовать в поиске. Т.е. пользователь пишет фразу, каждая фраза склоняется и т.д. на основе всего я формирю запрос к БД и выдаю результат более релевантный нежели при использовании просто слов, которые существуют во фразе.
Например если пользователь введен слово МИР из сто страниц будет только на одной, но есть пользователи которые не граматно состовляют запросы (как я))))!), поэтому качественней более объемней я получу результат после обработки.
Использовать словари чего-то не хочется - запросы будут дольше!
pifon1989
Отправлено: 25 Августа, 2008 - 14:00:16
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008
Помог: 0 раз(а)
ALEN пишет:
Использовать в поиске. Т.е. пользователь пишет фразу, каждая фраза склоняется и т.д. на основе всего я формирю запрос к БД и выдаю результат более релевантный нежели при использовании просто слов, которые существуют во фразе.
Например если пользователь введен слово МИР из сто страниц будет только на одной, но есть пользователи которые не граматно состовляют запросы (как я))))!), поэтому качественней более объемней я получу результат после обработки.
Использовать словари чего-то не хочется - запросы будут дольше!
Видите ли, тут есть ряд сложностей, как то: откуда скрипту, пусть зашибись умному, знать, как просклонять слово "мир"? Нет, ну предположим, что мы зададим ряд условий.
Получится:
мир - введено юзером
Дополнительно также в запрос будет вставлено:
мирНЫЙ;
ВСЕмирНЫЙ;
мирА;
мирУ;
Но предположим, что юзер введёт не слово "мир", на которое мы рассчитывали, а, скажем, "гора".
И тогда БД спросят:
гораНЫЙ
ВСЕгораНЫЙ
гораА
гораУ.
И в результате мы получаем не только лишние запросы, но и куда больший нагруз, чем от словарей!
А если юзер введёт "никотинамидадениндинуклеотидфосфат"?
В общем, тут без словарей никак. Разве что применять короткие или урезанные. Но я бы вообще то посоветовал вам не заморачиваться. Если вы не решили в одиночку делать поисковик, а просто нуждаетесь в поиске по сайту или форуму, ограничтесь запросом юзера, и уверяю, всё, что ему нужно, он найдёт и без словарей.
А если уж хотите чтобы прямо как поисковик искало, воспользуйтесь сайтовым поисковиком от гугла, яндекса или другой системы. И себе легче сделаете, и задачу выполните.
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
ALEN
Отправлено: 25 Августа, 2008 - 14:21:11
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Я прекрасно это понимал и понимаю, тему создал для того, чтоб малоли кто-то или я сам сделав вывод, додумался до определенного деяния.
Например возможно определить что это за слово - грубо говоря сделать разбор слова и т.д. Я уверяю, что даже имея словарь - это будет достаточно полезным и результативным делом.
Особенно если попадутся слова например коса, замок и т.д. в этом роде подогнав систему мы получим полезные вещи.
У Вас выше даже пример грубый, можно лишится еще половины вышеуказаных ошибок например уничтожая лишнии буквы, например зачем добовлять , У или А если они уже есть, т.е. по регулярному... их нужно определять.
Да не буду спорить - сильно решил прыгнуть и выше головы, т.к. граматика руского языка достаточно сложна, чтоб ее довести до логики, без неких исключений никак не обойтись, но данный топик должен довести меня и таких же, как я до определенного решения, чтоб потом не вести все по новой. Поэтому хочется услышать еще мнения, кто и что думает по этому поводу.
pifon1989
Отправлено: 25 Августа, 2008 - 14:36:49
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008
Помог: 0 раз(а)
Если вы думаете, что всё так реально просто, то призадумайтесь также: почему ещё никто не сел и такого не сделал? А если и сделал и сел, что не распространил?
Я брал ещё простые существительные, не составные, это ещё не глаголы, не причастия, не деепричастия, не прилагательные, не местоимения, не наречия и не междометия. Вспомните ещё союзы и предлоги.
Для того, чтобы создать такую систему нужно море свободного времени, отнюдь не один доброволец и более-менее решительная цель такого убивания времени.
И, прикидывая в уме, уже представляю, сколько будет весить такой скрипт и сколько будет тянуть памяти.
Бросьте, если это не бессмысленно, то по крайней мере бесполезно.
Тем паче что простые запросы великолепно справляются со своей работой.
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
ALEN
Отправлено: 25 Августа, 2008 - 15:30:06
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Я не говорю, что конкретно сяду и буду писать. Изначально все нужно сделать логически, а логически еще все на словарях. Вот быо бы удобно, если бы определить не сложную функцию по определению к какой части речи относится слово. ЕСли этого не узнать, то действительно это безсмыслено, но кто знает, что нам готовят другие версии того же php.
pifon1989
Отправлено: 25 Августа, 2008 - 16:12:09
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008
Помог: 0 раз(а)
ALEN пишет:
но кто знает, что нам готовят другие версии того же php.
мнхмн...)) Вы правда думаете, что у php сообщества мало работы кроме как создавать анализаторы части речи на РУССКОМ языке?
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
ALEN
Отправлено: 25 Августа, 2008 - 16:30:10
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
pifon1989 пишет:
мнхмн...)) Вы правда думаете, что у php сообщества мало работы кроме как создавать анализаторы части речи на РУССКОМ языке?
Я же естественно "грубо" высказал. Множество библиотек придумывается и т.д.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.