Pull to refresh

Comments 19

>У меня стоит Apache и установлен модуль php5-dev, поэтому я делаю так
а через инсталяху 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

Извиняюсь, что не в тему, но вот конкретно эту самую задачу я бы решал гораздо проще, а именно по присутствию/отсутствию типичной для языка диакритики.

Если же таковой нет, тогда частотный анализ незаменим.
В русском тексте могут быть, например, английские слова и как тогда? Считать частоты. Поэтому, я думаю, наличие/присутствие символов само по себе не годиться.
У меня проблема и видимо из-за ошибки компиляции, гугл молчит не подскажете в чем дело?

/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 одно и то-же все собирается без ошибок
на

fann_create()

ругается что не хватает параметров, на

$ann = fann_create(array(256, 128, 3), 1.0, 0.7);

падает и пишет в error.log apache ту ошибку
только тут чище и с примером и нас избавили от большого кол-ва вопросов собрав все в одном месте.
UFO just landed and posted this here
У меня. Собственно все описанные действие в статье проводились в Ubuntu 10.04. Плюс php 5.3.
А что не получается? Какие ошибки выдает?
UFO just landed and posted this here
Ранее тоже стояла задача для определения языка.

Первая версия была очень простая, аналогично Вашей: используя каждые алфавиты, вычислять количество символов принадлежащих к определенному алфавиту, и у кого будет больше, тот и победитель.
На практике эта система хорошо работала на «до 5» языках, в которых нету пересечений. Пересечений, я имею ввиду пересечений символов в алфавитах. К примеру, если посмотреть на украинский и русский языки. Разногласия в алфавитах очень маленькие. И таких алфавитов очень много (если взять европу, то там вообще почти все такие, которые используют в основном английский алфавит + некоторые свои дополнительные символы). Как пример (очень хорошо помню), это краткие фразы «привет Вася и Петя» определялись как белорусский и русский.

Далее, когда поняли, что по частоте букв будет не очень то хорошо, пришли к другому решению. А что если загнать все слова с каждого словаря в конечный автомат? В результате, мы имели наборы множества слов для каждого отдельного языка. Точность определения кратких словосочетаний была намного выше да и текстов с большой длинной тоже. Но, есть очень большой минус для такой системы: очень много места занимают все эти словари + обработка.

В итоге, решили использовать два подхода одновременно, но при этом, комбинировать. Если текущая буква есть в алфавите, то давать более высокий приоритет (сразу даст выше приоритет для языка, в котором есть «уникальный» буквы). А далее прогонять по словарю, и давать за каждое слово более низкий приоритет, так как слова могут встречаться.

P.S. Пиарюсь:
Паралельно со все этой задачей, запили пакет github.com/ZhukV/LanguageDetector
Проверяли на прогоне текста приложений с Apple iTunes для одного из наших проектов. Точность была очень высока.
Sign up to leave a comment.

Articles