![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ArNic |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 278 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Т.к. была необходимость составления кейвордов налету, я написал генератор кейвордов, который динамично формирует список кейвордов.
Вот пример кода:
А вот вводная форма:
Если есть идеи по улучшению или критика по производительности, жду. Для тех, у кого посещает мысль "нафига он нужен?" Так как код "пятиминутка" код не трудно было написать, а выложил я его чтобы обнаружить отрицательные стороны в способе программирования, с точки зрения производительности. Это сообщение отредактировал(а) ArNic - 21.1.2010, 00:58 |
||||
|
|||||
| ArNic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 278 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Жду еще сутки и считаю код "самым быстрым и самым оптимальным на свете".
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
недостатки алгоритма:
0. игнорирует аббревиатуры короче 4 символов: СБУ, ФБР, ИИ. 1. нет нормализации(собаки, собака, собаке) 2. нет возможности работать с несколькими словами(Кривой Рог, метод Гаусса, автомат Калашникова, Большой адронный коллайдер) 3. нет работы со стоп-словами(которые не должны ни в коем случае попасть в "ключевые" - всякие "вследствие", "короче", даже если у них высокая частота) 4. 20 самых частовстречаемых слов - не лучшая идея. к сожалению, не помню точно, но надо выбирать срез ближе к середине частотного ряда, а не с краю. Если 1,2,3 могут замедлить алгоритм, то 0 и 4 вполне можно внедрить в имеющийся без потери производительности. |
|||
|
||||
| ArNic |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 278 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Решил вопрос по пунктам 0,3,4 Возникла проблема с преобразованием в нижний регистр, а точнее это не получается с латиницей функцией php, поэтому попробовал решитьрегуляркой. Думаю что регулярка составлена неверно. Но это вообще не критично. Можно просто удалить строку. Озадачен пунктом 1 и 2. Не сталкивался ни разу, склоняюсь к мысли что простого решения нет. Если будет время ими займусь, пока что получилось вот что: (изменения помечены желтым)
Жду критики, замечаний, отзывов. Это сообщение отредактировал(а) ArNic - 21.1.2010, 13:31 |
||||
|
|||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
||||
|
||||
| ArNic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 278 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Прочел все. Понял, что без словаря никак не сделать универсальный нормализатор. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |