Комментарии 19
>У меня стоит Apache и установлен модуль php5-dev, поэтому я делаю так
а через инсталяху pecl не получится поставить из-за описанной выше ошибки в коде?
И ещё есть вопрос: не подскажите какие виды нейронных сетей можно обучать непрерывно, а не по выборке?
а через инсталяху pecl не получится поставить из-за описанной выше ошибки в коде?
И ещё есть вопрос: не подскажите какие виды нейронных сетей можно обучать непрерывно, а не по выборке?
Сети Кохонена.
спасибо! Похоже самоорганизующиеся сети Кохонена близко к тому, что нужно.
Правда, не совсем понятно как проверять результат. Задача идентифицировать текстовый спам и «проблемные материалы» (например, не тот раздел) попадающие на ресурс — связи могут быть типа «заглавие содержит или не содержит слова такие-то, такие-то, текст такие слова, у пользователя имя содержит такие-то символы, а подано в таком-то регионе и в такой-то раздел». Вычислить все случаи и закономерности трудно, но при этом глянув на поданный материал я понимаю, что это нужно удалить. Поэтому пришла мысль обучить алгоритм путем постепенно добавления в него плохих (и плюс хороших материалов, если нужно) и смотреть правильно ли он распознает. Ну и по ходу добавлять проблемные материалы, которые появляются в ходе работы.
Правда, не совсем понятно как проверять результат. Задача идентифицировать текстовый спам и «проблемные материалы» (например, не тот раздел) попадающие на ресурс — связи могут быть типа «заглавие содержит или не содержит слова такие-то, такие-то, текст такие слова, у пользователя имя содержит такие-то символы, а подано в таком-то регионе и в такой-то раздел». Вычислить все случаи и закономерности трудно, но при этом глянув на поданный материал я понимаю, что это нужно удалить. Поэтому пришла мысль обучить алгоритм путем постепенно добавления в него плохих (и плюс хороших материалов, если нужно) и смотреть правильно ли он распознает. Ну и по ходу добавлять проблемные материалы, которые появляются в ходе работы.
При попытке установить через pecl другая ошибка была и я не нашел ее решения
Через pecl его можно установить так
Вот ошибка кому интересно
Через pecl его можно установить так
sudo pecl install channel://pecl.php.net/fann-0.1.1
Вот ошибка кому интересно
#
downloading fann-0.1.1.tgz ...
Starting to download fann-0.1.1.tgz (9,509 bytes)
.....done: 9,509 bytes
3 source files, building
running: phpize
Cannot find config.m4.
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module
ERROR: `phpize' failed
Извиняюсь, что не в тему, но вот конкретно эту самую задачу я бы решал гораздо проще, а именно по присутствию/отсутствию типичной для языка диакритики.
Если же таковой нет, тогда частотный анализ незаменим.
Если же таковой нет, тогда частотный анализ незаменим.
У меня проблема и видимо из-за ошибки компиляции, гугл молчит не подскажете в чем дело?
Debian 6 php 5.3 apache 2.2
/usr/sbin/apache2: symbol lookup error: /usr/lib/php5/20090626+lfs/fann.so: undefined symbol: fann_create_array
Debian 6 php 5.3 apache 2.2
У тебя вроде как с модулем fann.so проблема. Скомпилируй заново модуль, да так что бы без ошибок в процессе.
переустановил сам fann дважды и трижды пересобрал модуль php одно и то-же все собирается без ошибок
на
ругается что не хватает параметров, на
падает и пишет в error.log apache ту ошибку
на
fann_create()
ругается что не хватает параметров, на
$ann = fann_create(array(256, 128, 3), 1.0, 0.7);
падает и пишет в error.log apache ту ошибку
Возможно, какая-то несовместимость. Я бы попробовал поставить все из исходников. Если не поможет нужно автору написать.
Здесь все описано:
leenissen.dk/fann/wp/help/installing-fann/
leenissen.dk/fann/fann.html#php.install.ext
Здесь все описано:
leenissen.dk/fann/wp/help/installing-fann/
leenissen.dk/fann/fann.html#php.install.ext
Что-то половина статьи мне напоминает это :)
НЛО прилетело и опубликовало эту надпись здесь
У меня. Собственно все описанные действие в статье проводились в Ubuntu 10.04. Плюс php 5.3.
А что не получается? Какие ошибки выдает?
НЛО прилетело и опубликовало эту надпись здесь
У меня такая-же ерунда
Какая версия php, не 5.4? А то в этой версии есть такой баг bugs.php.net/bug.php?id=61479
Ранее тоже стояла задача для определения языка.
Первая версия была очень простая, аналогично Вашей: используя каждые алфавиты, вычислять количество символов принадлежащих к определенному алфавиту, и у кого будет больше, тот и победитель.
На практике эта система хорошо работала на «до 5» языках, в которых нету пересечений. Пересечений, я имею ввиду пересечений символов в алфавитах. К примеру, если посмотреть на украинский и русский языки. Разногласия в алфавитах очень маленькие. И таких алфавитов очень много (если взять европу, то там вообще почти все такие, которые используют в основном английский алфавит + некоторые свои дополнительные символы). Как пример (очень хорошо помню), это краткие фразы «привет Вася и Петя» определялись как белорусский и русский.
Далее, когда поняли, что по частоте букв будет не очень то хорошо, пришли к другому решению. А что если загнать все слова с каждого словаря в конечный автомат? В результате, мы имели наборы множества слов для каждого отдельного языка. Точность определения кратких словосочетаний была намного выше да и текстов с большой длинной тоже. Но, есть очень большой минус для такой системы: очень много места занимают все эти словари + обработка.
В итоге, решили использовать два подхода одновременно, но при этом, комбинировать. Если текущая буква есть в алфавите, то давать более высокий приоритет (сразу даст выше приоритет для языка, в котором есть «уникальный» буквы). А далее прогонять по словарю, и давать за каждое слово более низкий приоритет, так как слова могут встречаться.
P.S. Пиарюсь:
Паралельно со все этой задачей, запили пакет github.com/ZhukV/LanguageDetector
Проверяли на прогоне текста приложений с Apple iTunes для одного из наших проектов. Точность была очень высока.
Первая версия была очень простая, аналогично Вашей: используя каждые алфавиты, вычислять количество символов принадлежащих к определенному алфавиту, и у кого будет больше, тот и победитель.
На практике эта система хорошо работала на «до 5» языках, в которых нету пересечений. Пересечений, я имею ввиду пересечений символов в алфавитах. К примеру, если посмотреть на украинский и русский языки. Разногласия в алфавитах очень маленькие. И таких алфавитов очень много (если взять европу, то там вообще почти все такие, которые используют в основном английский алфавит + некоторые свои дополнительные символы). Как пример (очень хорошо помню), это краткие фразы «привет Вася и Петя» определялись как белорусский и русский.
Далее, когда поняли, что по частоте букв будет не очень то хорошо, пришли к другому решению. А что если загнать все слова с каждого словаря в конечный автомат? В результате, мы имели наборы множества слов для каждого отдельного языка. Точность определения кратких словосочетаний была намного выше да и текстов с большой длинной тоже. Но, есть очень большой минус для такой системы: очень много места занимают все эти словари + обработка.
В итоге, решили использовать два подхода одновременно, но при этом, комбинировать. Если текущая буква есть в алфавите, то давать более высокий приоритет (сразу даст выше приоритет для языка, в котором есть «уникальный» буквы). А далее прогонять по словарю, и давать за каждое слово более низкий приоритет, так как слова могут встречаться.
P.S. Пиарюсь:
Паралельно со все этой задачей, запили пакет github.com/ZhukV/LanguageDetector
Проверяли на прогоне текста приложений с Apple iTunes для одного из наших проектов. Точность была очень высока.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Построение нейронных сетей в php используя FANN, пример реализации