LINUX.ORG.RU

GNOME 2.12 - что день грядущий нам готовит


0

0

До релиза гнома 2.12 еще больше месяца. Но коль скоро feature freeze уже наступил, можно оглядеть поле битвы и прикинуть расклад. Что и сделал Davyd Madeley (мейнтейнер gnome-applets). Сделал, как всегда, довольно качественно. Да, самое главное: теперь там ЕСТЬ РЕДАКТОР МЕНЮ!:)

>>> Подробности

★★★★★

Проверено: svyatogor ()

Ответ на: комментарий от aist1

>Первоначальная постановка задачи Geek`ом не учитывала данный аспект.

на самом деле я учел всё. Просто отбросил то, что можно добавить потом без ломки архитектуры и упростил задачу до минимума.

geek ★★★
()
Ответ на: комментарий от geek

Определимся сразу, чтобы не возникала интерференция в понятиях. Распознавание образов к ИИ относят не совсем обоснованно. По крайней мере алгоритмы используются разные. В распознавании образов главное -- обучаемость. Однако в OCR печатных текстов распознаются стандартные шрифты, что позволяет настроить распознавание один раз при разработке. Если нет обучения, ИИ нет просто по определению.

Есть один аспект разработки систем распознавания образов, о котором не все знают. Всегда, когда распознавание производится с применением критерия с фиксированным попрогом принятия решения, шум начинает влиять очень сильно. Шум -- это вовсе не обязательно черные точки рядом с буквами. Шум возникает в результате не совсем полного соответствия образца шаблону: немного повернут и т.п. В общем, шум -- это влияние неучтенных при составлении алгоритма классификации факторов. Действие разннобразных шумов приводят к тому, что два, казалось бы идентичных по качеству, текста распознаются со значительно отличающимся уровнем ошибок. Особенно это заметно при классификации речевых сигналов. Там алгоритмы с фиксированным порогом неприменимы.

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

Я уже говорил, ты предлагаешь правильный путь, по которому идут все. Систему можно отладить на некотором множестве документов, на них, да и на большинстве других распознавание будет ОК. Но развивать систему дальше будет очень сложно.

aist1 ★★★
()
Ответ на: комментарий от aist1

Кстати, нет необходимости писать собственный OCR. Достатчно написать engine для ru к GOCR. Я тестировал год назад эту штуку. Английский текст распознает вполне сносно.

aist1 ★★★
()
Ответ на: комментарий от aist1

Я так начинаю понимать, что в рунете просто мало программеров, имеющих достаточно свободного времени, чтобы русифицировать GOCR.

aist1 ★★★
()
Ответ на: комментарий от aist1

>Определимся сразу, чтобы не возникала интерференция в понятиях. Распознавание образов к ИИ относят не совсем обоснованно. По крайней мере алгоритмы используются разные. В распознавании образов главное -- обучаемость. Однако в OCR печатных текстов распознаются стандартные шрифты, что позволяет настроить распознавание один раз при разработке. Если нет обучения, ИИ нет просто по определению.

тот же FineReader способен обучаться (не знаю, пополняет ли он базу данных или просто адаптируется к особенностям конкретного документа)

>Есть один аспект разработки систем распознавания образов, о котором не все знают. Всегда, когда распознавание производится с применением критерия с фиксированным попрогом принятия решения, шум начинает влиять очень сильно.

я не предлагаю фиксированный порок восприятия. с чего ты взял?

>Шум возникает в результате не совсем полного соответствия образца шаблону: немного повернут и т.п.

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

>Действие разннобразных шумов приводят к тому, что два, казалось бы идентичных по качеству, текста распознаются со значительно отличающимся уровнем ошибок. Особенно это заметно при классификации речевых сигналов. Там алгоритмы с фиксированным порогом неприменимы.

для распознавания собственно символов предлогаю следующую модель: программа находит последовательность атомарных операций для повторения рисунка, и уже получившуюся последовательность сравнивает с базовым словарем и с словарем документа из уже распознаных слов. Каждое слово проверяется спеллчекером а в идеале и подвергается семантической проверке. Повторюсь, это прикидки сделанные "с ходу". Вероятно, у такого подхода есть свои недостатки.

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

>Систему можно отладить на некотором множестве документов, на них, да и на большинстве других распознавание будет ОК. Но развивать систему дальше будет очень сложно.

систему можно научить правилам написания текста. Естественно, даже если такая система будет способна распознать рукописный текст, то далеко _не весь_ рукописный текст. У меня есть знакомый, который пишет так, что потом сам прочитать не может ;) Ну и "проблема рецептов" кажется, общемировая - текст, написанный врачами простые смертные понять не могут. Тут надежды на компьютер вообще мизерные

=)

geek ★★★
()
Ответ на: комментарий от aist1

>Достатчно написать engine для ru к GOCR

если gocr нормально делит образ на блоки - то да. Или деление на блоки - тоже задача engine? Gocr счупал давно...не впечатлило. Может с той поры много чего изменилось

geek ★★★
()
Ответ на: комментарий от aist1

>Я так начинаю понимать, что в рунете просто мало программеров, имеющих достаточно свободного времени, чтобы русифицировать GOCR.

просто у ocr-систем мало пользователей. Гораздо меньше, чем у браузера или редактора текстов. Отсюда достаточно низкий спрос, и соответственно, никакое предложение =)

geek ★★★
()
Ответ на: комментарий от jackill

>Ну почему? Координаты у нас есть. И формат OOo у нас есть.

если пытаться реализовать всё сразу...то с вероятностью 99% проект заглохнет. Я всегда считал, что начинать проект с создания окошка "О Программе" - дурной тон %)

geek ★★★
()
Ответ на: комментарий от geek

> тот же FineReader способен обучаться

Хм... работая с Home я этого не заметил. Качество не меняется.

> я не предлагаю фиксированный порок восприятия. с чего ты взял?

Может быть я поторопился с суждением. Но системы с адаптивным порогом -- это уже "почти" ИИ, так как алгоритм адаптации требует применения обучения на реальных данных. Ты говорил про определение угла, что "никаких ИИ тут не надо". Вот я и подумал про алгоритмы с фиксированным порогом.

> и тем более, не предлагаю реализовывать ocr как сравнивалку паттернов

Но ведь в конце всё равно сведется к сравнению шаблонов. И скорее всего по декартовому расстоянию.

aist1 ★★★
()
Ответ на: комментарий от geek

> для распознавания собственно символов предлогаю следующую модель

Можешь пояснить на примере, хотя бы кратко. Интересует вот это "программа находит последовательность атомарных операций для повторения рисунка".

> nb: распознавание речи...

Нестационарность сигнала, влияние аккустического контекста, голос диктора меняется в зависимости от настроения. В OCR ты имеешь дело со шрифтами, начертание которых стабильно. Речь меняется очень сильно во времени, особенно произвольная речь.

> систему можно научить правилам написания текста

Тут уходим в ИИ, потому что задача отличается от SR только модальностью входных данных.

aist1 ★★★
()
Ответ на: комментарий от aist1

>Можешь пояснить на примере, хотя бы кратко. Интересует вот это "программа находит последовательность атомарных операций для повторения рисунка".

векторизация растра

>Речь меняется очень сильно во времени, особенно произвольная речь.

собственно, это я и имел ввиду.

>Тут уходим в ИИ, потому что задача отличается от SR только модальностью входных данных.

о чём и речь

geek ★★★
()
Ответ на: комментарий от aist1

>Ты говорил про определение угла, что "никаких ИИ тут не надо"

определение угла должно происходить в препроцессинге изображения. Собственно распознавание - это уже потом, когда изображение будет приведено к нормальному виду (выровнено, убраны шумы и пр.)

>Но ведь в конце всё равно сведется к сравнению шаблонов.

не обязательно. Как вариант, для распознавания отдельного символа можно импользовать нейросети. Т.е. выбор есть =)

geek ★★★
()
Ответ на: комментарий от geek

> векторизация растра

Какой набор примитивов? А как он будет структурирован? Неупорядоченное множество, иерархическая структура?

>>Тут уходим в ИИ, потому что задача отличается от SR только модальностью входных данных.

>о чём и речь

Я вспомнил, почему мне в свое время "не понравился" GOCR. Когда я его исследовал, то нашел, что сделать с нуля что-то превосходящее его по качеству распознавания будет очень трудоемко, даже для команды. Однако, "находясь под влиянием" SR, я недолюбливал все такие "простые" методы распознавания. Поэтому и решил, что лучше сразу уйти в моделирование человеческого зрительного восприятия.

Если мы включаем в контекст обсуждения постановки задачи рукописный текст, то хочется немного больше узнать о тех твоих алгоритмах ИИ, о которых ты говорил мне. Я чувствую, что ты их неявно имеешь в виду, когда делаешь предложения. Мои алгоритмы на описательном (пока) уровне приведены в main.pdf

aist1 ★★★
()
Ответ на: комментарий от geek

>>Но ведь в конце всё равно сведется к сравнению шаблонов.

>не обязательно. Как вариант, для распознавания отдельного символа можно импользовать нейросети

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

Кста, видел где-то в сети апплет, который моделировал простую OCR (распознавание одного символа) с помощью сети Хопфилда. Меня очень впечатлило.

aist1 ★★★
()
Ответ на: комментарий от geek

Есть еще один интерсный аспект систем, построенных на основе явного программирования разных "улучшателей" распознавания. Чем больше таких элементов, тем лучше распознавание на множестве учтенных факторов, и тем хуже -- на всех остальных. Т.е. эффект аналогичен переобучению нейронной сети с избыточной размерностью.

Кроме того, чем больше этих улучшателей распознавания, тем сложнее становится внесение в распознаватель новых элементов.

aist1 ★★★
()
Ответ на: комментарий от geek

Кста, посмотрел сейчас в исходник ocr0.c

#define IF_NOT_SURE if(bc==UNKNOWN || box1->num_ac==0 || box1->wac[0]<100)

IF_NOT_SURE bc=ocr0_eE(&sdata);
IF_NOT_SURE bc=ocr0_f(&sdata);
IF_NOT_SURE bc=ocr0_bB(&sdata);
IF_NOT_SURE bc=ocr0_dD(&sdata);
IF_NOT_SURE bc=ocr0_F(&sdata);
IF_NOT_SURE bc=ocr0_uU(&sdata);
IF_NOT_SURE bc=ocr0_micro(&sdata);
IF_NOT_SURE bc=ocr0_vV(&sdata);
IF_NOT_SURE bc=ocr0_rR(&sdata);
IF_NOT_SURE bc=ocr0_m(&sdata);
IF_NOT_SURE bc=ocr0_tT(&sdata);
IF_NOT_SURE bc=ocr0_sS(&sdata);
IF_NOT_SURE bc=ocr0_gG(&sdata);
IF_NOT_SURE bc=ocr0_xX(&sdata);
IF_NOT_SURE bc=ocr0_yY(&sdata);
IF_NOT_SURE bc=ocr0_zZ(&sdata);
IF_NOT_SURE bc=ocr0_wW(&sdata);
IF_NOT_SURE bc=ocr0_aA(&sdata);
IF_NOT_SURE bc=ocr0_cC(&sdata);
IF_NOT_SURE bc=ocr0_lL(&sdata);
IF_NOT_SURE bc=ocr0_oO(&sdata);
IF_NOT_SURE bc=ocr0_pP(&sdata);
IF_NOT_SURE bc=ocr0_qQ(&sdata);
IF_NOT_SURE bc=ocr0_iIjJ(&sdata);
IF_NOT_SURE bc=ocr0_n(&sdata);
IF_NOT_SURE bc=ocr0_M(&sdata);
IF_NOT_SURE bc=ocr0_N(&sdata);
IF_NOT_SURE bc=ocr0_h(&sdata);
IF_NOT_SURE bc=ocr0_H(&sdata);
IF_NOT_SURE bc=ocr0_k(&sdata);
IF_NOT_SURE bc=ocr0_K(&sdata);
IF_NOT_SURE bc=ocr0n(&sdata);
IF_NOT_SURE bc=ocr0_brackets(&sdata);
IF_NOT_SURE bc=ocr0p9(&sdata);
IF_NOT_SURE bc=ocr0px(&sdata);

aist1 ★★★
()
Ответ на: комментарий от aist1

>Обучить ее русскому будет, похоже, проблематично.

это да...

geek ★★★
()
Ответ на: комментарий от aist1

тогда надо какую тему продолжить, глядишь народ подтянется :)

вот, скажем, обсудить, что такое "творчество"

что такое - создание того, чего до сих пор не было :)

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

>что такое - создание того, чего до сих пор не было :)

ничего нового в этом мире нету. Всё творчество идет из социума. Человек не способен создать что-то новое, он лишь в состоянии отразить реальность через призму своего восприятия.

geek ★★★
()
Ответ на: комментарий от geek

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

aist1 ★★★
()
Ответ на: комментарий от sin_a

Не, оно не помогает, оно говорит о том что видно то, что еще не присутствует в гносеологии человека. Это чувство -- такая же данность сознания, как и ощущение света, вкуса.

aist1 ★★★
()
Ответ на: комментарий от aist1

Иными словами, для определения понятия субъективной новизны нужны понятия о гносеологии и онтологии. Онтология -- субъективная структура элементов (феноменов) этого мира и отношений между ними. Гносеология -- отражение онтологии в восприятии субъекта или его мировоззрение, база знаний и т.п. Гносеология стремится к своей онтологии в процессе восприятия. Субъективная новизна -- это новые элементы гносеологии, пополняющие уже имеющееся множество.

aist1 ★★★
()

49

Интересно, сколько надо времени и пива, чтоб весь тред перечитать? Или мышци живота перетрудятся?

McLone
()
Ответ на: 49 от McLone

"живи настоящим" :)

читай то, что говорят в настоящий момент :)

sin_a ★★★★★
()
Ответ на: комментарий от svu

потом я третьего за ним ищу
потом - четвертого дыханья
ну я на пятом - сокращу
с гвинейцем - расстоянье

:)

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Я в тёмных поисках тону,
Напрасно голову ломая,
Как подобрать слова к тому,
Чего не выразишь словами

%)

geek ★★★
()
Ответ на: комментарий от sin_a

т.е она перестала быть наиболее обсуждаемой в единицу времени ?

Ведь я уже пару дней видел как она исчезла из списка наиболее обсуждаемых.

argin ★★★★★
()
Ответ на: комментарий от geek

За "Лачугу должника" - респект :)

хотя сам не вспомнил, гугль помог :)

sin_a ★★★★★
()
Ответ на: комментарий от argin

> т.е она перестала быть наиболее обсуждаемой в единицу времени ?

отошла в историю :)

представь, если бы самые длинные обсуждения так и висели всегда? :)

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Во первых, на мой взгляд, если мысль Гика передать буквально, то именно СОЗДАЕТСЯ :-)

Как вы могли заметить, мои взгляды на эту тему достаточно близки: Сознание лишь вытаскивает из подосознания то новое, что разными путями туда проникло.

argin ★★★★★
()
Ответ на: комментарий от argin

У нас есть материя и форма. Материя не создается, она всегда есть, была и будет. Однако, в истории постоянно появляются новые ФОРМЫ материи. Форма (в широком смысле) -- это специфическое свойство системы, не доступное для актуализации до тех пор, пока элементы системы не объединятся определенным образом. В том числе и элементы бессознательного...

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

aist1 ★★★
()
Ответ на: комментарий от aist1

Как ты думаешь, можно-ли описать пространство потенций?

Формулировка грубая, но точить будет долго.

2argin: я-бы предпочел сказать, что создается - на уровне проекта, а на физическом - воплощается (в плоть).

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Хотя это, конечно терминологический вопрос. На уровне плана реализуется потенция, на материальном - воплощается план. Куда здесь поместить слово "создается" - неясно :)

sin_a ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.