TTS книги  Проверялка  ФорумФорум  RSS  ПоискПоиск  ПользователиПользователи  ГруппыГруппы   Статистика  Список рапортов  ПрофильПрофиль  Сообщения ЛССообщения ЛС  Выход [ evmir_troll-hunter ]Выход [ evmir_troll-hunter ]  



Начать новую темуОтветить на тему

Балаболка

Предыдущая тема Следующая тема Перейти вниз
На страницу : Предыдущий  1 ... 8 ... 12, 13, 14 ... 17 ... 21  Следующий
АвторСообщениеБалаболка
Lexus
Эксперт


Сообщений : 413

 Lexus :: 01.07.10 8:43
01.07.10 8:43
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Цитата :
в "Демагоге" символ "&" считается буквой, а в "Балаболке" - нет.
На мой взгляд все символы должны обрабатываться словарем, за исключением служебных символов словаря звездочки и $ , может еще знаков ударения(с сомнением, нужно думать)
Мы ведь не планируем ввод в словарь новых служебных символов. Хотя думается, одну разновидность звездочки можно было бы добавить. В некоторых программах для этого используют знак & . Применяется для слов которые обязательно должны иметь символы в месте их установки. Пример (упрощено):
Толст^о&
исключается
т^олсто
Давно хотел поднять тему по такому развитию словарей.
В любом случае остальные символы в словарях должны обрабатываться.
В текстах встречается достаточно мусора и не только, вроде ))))))) ======== (((((((
^-^
и тому подобного набора символов.
Да и прочитать текст программы на языке уровня Си без устранения такого ограничения в словарях вряд ли получится.
Так, что "Демагог" ближе к истине. Хотелось бы и балаболку использовать в таком ключе.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 01.07.10 10:25
01.07.10 10:25
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Lexus
Вы не совсем верно поняли меня: не хочу начинать дисскусию о том, является ли "амперсанд" буквой или нет. Я лишь в очередной раз пытаюсь обратить внимание на то, что "быстрый" метод довольно "чувствителен" к "необычным" правилам; поэтому хочу порекомендовать пользователям воздержаться от добавления таких правил (это только моя личная позиция).

В следующей версии "Балаболки" постараюсь решить все проблемы с применением описанных Вами правил (но "звездочка" в правилах, состоящих из одних лишь знаков препинания, всё же необходима).

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 01.07.10 10:44
01.07.10 10:44
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Все понял, спасибо. Уточню, что злосчастный "амперсанд" был использован случайно, только для того, чтобы показать проблему с символами, не являющимися буквенночисловыми.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 01.07.10 11:13
01.07.10 11:13
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Lexus пишет:
"амперсанд" был использован случайно
"Случайности не случайны" (с) "Кунг-фу Панда"

Этим правилом Вы наглядно высветили основную проблему "быстрого" метода: он ищет в тексте СЛОВА, то есть СОЧЕТАНИЯ БУКВ. Это означает, что применять метод для поиска и замены символов, не являющихся буквами, будет очень и очень сложно, "быстрый" метод может не дать правильного результата. (Именно поэтому в этих случаях и начинают играть важную роль такие мелочи, как является символ "&" буквой или нет.)

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

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 02.07.10 10:23
02.07.10 10:23
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Здорово пользователь разработчиков напряг, ночами не спят... Smile Smile

Правила:

.=раз
..=два
...=три
....=четыре
.....=пять
:=вышел
;;=погулять
!?!!!...=Лексус


Текст:
. .. ... .... ..... : !?!!!... ;;
Не стрелять!... И наступила тишина... .............



Демагог 131:

раз два три четыре пять вышел Лексус погулять
Не стрелять!... И наступила тишина... .............


Балаболка 464:

раз два три четыре пять вышел Лексус погулять
Не стрелять!раз И наступила тишина.раз. пять.раз..четыре


Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 02.07.10 13:39
02.07.10 13:39
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

flegont
Вы уверены, что это была самая последняя, 464-ая версия программы "Балаболка"? У меня получается другой текст на выходе (такой же, как в "Демагоге"); я использовал словарь только с теми правилами, что Вы перечислили. Может быть, дистрибутив был скачен из кэша Вашего браузера или из кэша прокси-сервера; проверьте, пожалуйста, номер версии в окне "О программе".

Или же в настройках "Балаболки" выбран "стандартный" метода, а не "быстрый". Кстати, на примере использования "стандартного" метода видно, что приведенные Вами примеры правил не так однозначны; именно от использования такого рода правил я стараюсь отговорить пользователей.

Результат применения "стандартного" метода:
Код:
раз два три четыре пять вышел Лексус погулять
Не стрелять!три И наступила тишина.раз. пять.раз..четыре

(Я не мог не обратить внимание на то, что Вы на редкость профессионально анализируете функциональные возможности программ "Демагог" и "Балаболка", а также алгоритмы, которые в них используются. Либо Вы программист с большим опытом, либо Вы являетесь автором программы "Демагог"...)

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 02.07.10 14:25
02.07.10 14:25
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Всамдель, не доглядел, где галка стоит. Smile
Быстрый метод в Балаболке дает полное совпадение, теперь включая и правила вида
** * **=...новый раздел...
которые раньше в Балаболке игнорировались.
Согласен, что от "абракадаброобразных" правил пользователей надо отаскивать за шиворот чтоб не привыкали. Ни к чему читать вслух тексты прог на Си или озвучивать морзянку.

( :+1: )

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 02.07.10 18:30
02.07.10 18:30
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Флегонт безусловно талантлив. Криптография, кодирование, программирование, высокий поэтический стиль. Все это, и не только уживается под маской одного человека.
Как его ФБР проглядело? Видать еще один русский шпиён. Нужно стукнуть Smile
Мне нравится профессионализм в его суждениях.

Насчет программы:
Очень огорчает, перестала читать смайлики. Были занесены в словарь. Не совсем корректно добавлять перед ними звездочки.
Что в плюсе?
Возможность пользоваться звездочкой, как подстановочным символом для слов. Наверное я слишком консервативен, но для этого нужно очень хорошо знать язык, чтобы безошибочно ею пользоваться.
По поводу скорости, так и ранее "быстрый" способ в балаболке работал с приемлемой для чтения в реале скоростью.
Насчет последующей обработки словосочетаний, не проверял как это работало ранее в балаболке, просто доверился словам автора, которые косвенно указывали на дальнейшую обработку.
Пока для себя не решил, переходить или нет на новую версию.
Старый "быстрый" метод меня устраивает и пока нравится больше. Я не вижу в нем ограничений, появившихся в последних версиях. Конечно, некоторые из них можно обойти при помощи Ini словаря, но это будет больше походить на костыли.
Программа должна иметь возможность правильно озвучивать любые тексты, в том числе и программы на Си.
Может быть, если это не очень противоречит стратегии развития программы, дать выбор пользователю из двух вариантов "быстрых" методов. Как сейчас существует стандартный, быстрый, добавить быстрый классический. И дальше работать по их сближению, соединяя лучшие стороны воедино.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evmir_troll-hunter
Admin
avatar


Сообщений : 628
Репутация : 208

 evmir_troll-hunter :: 02.07.10 19:16
02.07.10 19:16
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Lexus пишет:
Может быть, если это не очень противоречит стратегии развития программы, дать выбор пользователю из двух вариантов "быстрых" методов.
Lexus имейте совесть!!! Теперь "быстрый" метод способен изменять символы, и всё равно Вас не устраивает?! Извините, но Вы ведете себя как капризный ребенок.Evil or Very Mad
Посимвольная обработка, это революционное открытие - за него нобелевскую премию надо дать!

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 02.07.10 19:30
02.07.10 19:30
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Нобелевку как получим - пропьем всем форумом... за развитие речевых технологий и (обязательно!)возвращение буквы Ё Smile

Теперь конкретно: какие смайлики не читаются?
Smile=улыбка
Wink=усмешка
Sad=грусть
в последней версии балаболки в быстром методе читаются на ура
а в демагоге стали нормально читаться с недавних минут...

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

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 02.07.10 20:37
02.07.10 20:37
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Скачал последнюю версию, поменял метод на быстрый, подключил словарик с правилом
Smile=смайлик улыбка.
И пытался прочесть свой пост см. выше. И ведь не читалось правило.
Потом закрыл программу, добавил свой старый файл конфигурации. Открыл заново - читает.
Мистика? Вряд ли. Может повлиял способ применения правил. Я использую комбинированный метод, отличный от метода по-умолчанию. С ним и прочиталось. Может, что еще. Не берусь судить. Теперь и у меня смайлик улыбка читается. Повторить ошибку не получается. Будем считать сигнал ложным срабатыванием.

Жара, эмоции. Спасибо за оперативный отклик.




Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 08.07.10 13:32
08.07.10 13:32
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Хм... может опять пальцем в небо... Но получается некая странность.
Текст:

Балаболка версии 464, словарь Микеланджело 32-1
8 июля 2010 г. 14 часов 7 минут


Метод применения правил: быстрый

Измененный текст:

Балаболка версии долларов 464, словарь Микеланджело долларов 32-1
восемь долларов июля долларов 2000-десятого года. долларов 14 долларов часов семь долларов мину<т


Примененные правила:

июля 2010 г=июля 2000-десятого года
минут=мину<т
$$14 =14 долларов
$$7 =семь долларов
$$8 =восемь долларов
$$1*=долларов 1
$$2*=долларов 2
$$3*=долларов 3
$$4*=долларов 4


Но правила с $$ не должны применяться к числам перед которыми НЕ стоит $
Wink

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 08.07.10 18:08
08.07.10 18:08
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
flegont
Спасибо, постараюсь исправить эту ошибку в следующей версии программы.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 12.07.10 14:00
12.07.10 14:00
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

версия 465
текст:
$14

правило:
$$14=14 долларов

Текст меняется, но при быстром методе в статистике замен не отображается.

Evmir1 не утруждай себя нажатием минусов. Просмотр репутации отключен.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 12.07.10 17:29
12.07.10 17:29
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
Lexus
Спасибо, там я не догадался проверить. (Жара, мозг плавится.)
Поправлю в следующей версии программы.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evmir_troll-hunter
Admin
avatar


Сообщений : 628
Репутация : 208

 evmir_troll-hunter :: 12.07.10 19:03
12.07.10 19:03
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Lexus пишет:
Evmir1 не утруждай себя нажатием минусов
Lexus как я уже писал Секуке - я этим не страдаю!
Прошу прощения у модератора за оффтопик, но нужно было ответить.
Прежде чем обвинять, нужно доказать.Evil or Very Mad У нас не Средневековье!

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
sm151058
Новичок
avatar


Сообщений : 19
Репутация : 2

 sm151058 :: 01.09.10 17:44
01.09.10 17:44
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
По поводу сносок в fb2. Вроде, раньше Балаболка их читала по мере появления (или я ошибаюсь?). Поставил новую версию - не читает. А хотелось бы слышать сразу.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 01.09.10 18:29
01.09.10 18:29
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Раньше использовался другой компонент для извлечения текста из fb2. Посмотрю, что можно сделать со сносками; спасибо.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
vetandr
Интересующийся


Сообщений : 7
Репутация : 2

 vetandr :: 07.09.10 19:03
07.09.10 19:03
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
Всем привет!
Столкнулся со следующей проблемой. Библиотека у меня в виде отдельных архивов *.rar. Если открыть Балаболкой такой архив и затем сохранить файл, то архив повреждается, и больше его открыть уже не удаётся. (WINRAR на него тоже потом ругается и открывать не хочет)
Версия 1.33.0.471

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evmir_troll-hunter
Admin
avatar


Сообщений : 628
Репутация : 208

 evmir_troll-hunter :: 07.09.10 20:22
07.09.10 20:22
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

vetandr пишет:
Если открыть Балаболкой такой архив и затем сохранить файл, то архив повреждается, и больше его открыть уже не удаётся
У меня такой проблемы нет. Попробуйте нажимать не "Сохранить" а "Сохранить как".
Удачи.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 07.09.10 21:11
07.09.10 21:11
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

vetandr пишет:
Если открыть Балаболкой такой архив и затем сохранить файл, то архив повреждается, и больше его открыть уже не удаётся.
Спасибо за сообщение об ошибке. Исправленная версия - на сайте "Балаболки".

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 08.09.10 17:58
08.09.10 17:58
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

balabolka
Печально, но новый метод применения правил на основе регулярных выражений содержит критическую ошибку, описанную Вами же в ветке Демагога.
Это безусловная ошибка противоречит логике регулярных выражений, сужает возможности правил и допустима лишь на этапе тестирования программы. Жаль, что Вы не даете пользователю возможности выбора, безусловно заменив компонент применения правил.
Шаг вперед и два шага назад.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 09.09.10 1:42
09.09.10 1:42
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
Lexus
Если так необходима поддержка обоих вариантов обработки регулярных выражений, можно добавить такой "переключатель" в программу; сделаю в следующей версии. Но я бы рекомендовал подумать об отказе от использования VBScript.

Описанная мной "ошибка" не столько "критическая", сколько неприятная. Ее вполне можно обойти, видоизменив правила.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 09.09.10 7:53
09.09.10 7:53
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

В кратком хелпе к TRegExpr есть упоминание, что начиная с версии v.0.929 для болшей схожести с Perl для указания значения подвыражений используется '$' и допускаются n > 9.

"...Если Вам необходим просто символ '$' предваряйте его обратной косой чертой.
Если Вам необходимо сразу после '$n' поместить цифру, заключайте n в фигурные скобки '{}'.
Например: 'a$12bc' -> 'a<Match[12]>bc', 'a${1}2bc' -> 'a<Match[1]>2bc'. ..."

Т.е. в VBscript $10 понимается, как значение подвыражения №1 и символ 0. А в Perl это значение подвыражения №10.


Я также обратил внимание, что словарь СИ...ini содержит ошибки вида:
"после XXX" --> "после две тысячи десятого" вместо "после тридцатого"
Эти ошибки наблюдаются как под VBscript, так и под RegExpr для римских чисел, кратных 10.

Правила, содержащие фрагменты вида "$10" верно отрабатывали под VBscript:
"после XXV" --> "после двадцать пЯтого" и ошибочно под TRegExpr: "после пЯтого"
Но, если завершающий 0 убрать, вот так: "$1", то сохранялась правильная работа под VBScript и восстанавливалась правильная работа под TRegExpr!

Впрочем, в силу сложности этого (весьма кстати полезного) словаря, правильно "отрихтовать" его сможет, наверное только сам его создатель Smile

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 09.09.10 10:02
09.09.10 10:02
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

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

(\b)(\d*)([02-9])1-ю(\b) --> $1$2$30 Первую$4

должно получиться
20 Первую
с новым компонентом имеем
2 Первую

Не будучи спецом по дельфи, мне думается,что все-же возможно видоизменить компонент и проводить проверку на наличеие в левой части правила аргумента, соответствующего $30 и при его отсутствии выполнять подстановку $3 переменной.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 09.09.10 12:24
09.09.10 12:24
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

(\b)(\d*)([02-9])1-ю(\b)=$1$2${3}0 Первую$4
Wink

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 09.09.10 13:24
09.09.10 13:24
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Чем дальше в лес, тем больше шишки.
A{n} в левой части правила означает А повторенное n раз.
Примениение {} в правой части правила - костыль, не вписывающийся в общий стандарт. Может и можно его использовать, но это ж сколько словарей наплодится с таким синтаксисом под две программы.
А современные движки имеют тенденцию к внедрению правил на основе RE в свои внутренние словари. Есть и будут созданы другие программы с RE правилами.
Стратегически и концептуально это неверно.
Я поддерживаю идею оставить в балаболке возможность использовать вариант vbscript правил (вместе с новым методом, дав пользователю выбор).
Это нужно еще и для выявления различий в методах применения словарей.
И я все-же надеюсь, что со временем появится возможность доработать компонент или найти другой, соответствующий PCRE.
Как вариант могу предложить использовать в балаболке скрытый препроцессор самих правил на основе RE.
Т.е перед примением словарей, обработать левую часть правил на основе RE (черновой набросок):
[а-яё]\b --> [а-яё][\s\?\!\.\,\:\;"]
\b[а-яё] --> [\s\?\!\.\,\:\;"][а-яё]
Результат будет аналогичен.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 09.09.10 14:18
09.09.10 14:18
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
Если двузначные числа для обозначения подвыражений стали такой проблемой, можно вернуться назад, к числам < 10. Я сомневаюсь, что кому-то из пользователей TTS программ реально потребуется более девяти замен в одном правиле.

С наименьшими потерями текст программного модуля можно модифицировать таким образом. В функции ParseVarName заменить этот кусок текста:

Код:
    while (p < TemplateEnd) and
      {$IFDEF UniCode} //###0.935
      (ord (p^) < 256) and (char (p^) in Digits)
      {$ELSE}
      (p^ in Digits)
      {$ENDIF}
      do begin
      Result := Result * 10 + (ord (p^) - ord ('0')); //###0.939
      inc (p);
      end;

на этот:

Код:
    if (p < TemplateEnd) and
      {$IFDEF UniCode} //###0.935
      (ord (p^) < 256) and (char (p^) in Digits)
      {$ELSE}
      (p^ in Digits)
      {$ENDIF}
      then begin
      Result := ord (p^) - ord ('0'); //###0.939
      inc (p);
      end;

То есть, перебираем не все цифры после символа $, а только одну. После такой модификации запись $10 будет всегда трактоваться как '$1 и ноль'; и это не скажется на скорости работы компонента.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 09.09.10 15:54
09.09.10 15:54
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Возможно, будет работать даже чуть-чуть быстрее, т.к. убрана операция умножения.
Надо потестировать. В принципе 9 подвыражений в правиле для ini-словарей достаточно.

ЗЫ. Я поинтересовался, как выходит из такой неоднозначности Perl. Если в строке замены стоит, к примеру $10, а в строке поиска кол-во подывражений меньше 10, то это $1 и символ 0. Заковыристо, однако Smile

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 09.09.10 16:17
09.09.10 16:17
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Кстати, в компоненте TRegExpr количество подвыражений вообще не может быть больше, чем 15 (константа NSUBEXP). Smile

Если количество подвыражений равно 10, то мы все равно оказываемся в ситуации неопределенности: в этом случае $10 может обозначить как $10, так и $1 и ноль. То есть, идеального решения не существует - даже проверка количества подвыражений не даст абсолютной уверенности.

Я решил использовать такой код вместо вышеуказанного "куска":

Код:
    begin
    if Delimited then
    begin
      while (p < TemplateEnd) and
      {$IFDEF UniCode} //###0.935
      (ord (p^) < 256) and (char (p^) in Digits)
      {$ELSE}
      (p^ in Digits)
      {$ENDIF}
      do begin
      Result := Result * 10 + (ord (p^) - ord ('0')); //###0.939
      inc (p);
      end;
    end else
    begin
    if (p < TemplateEnd) and
      {$IFDEF UniCode} //###0.935
      (ord (p^) < 256) and (char (p^) in Digits)
      {$ELSE}
      (p^ in Digits)
      {$ENDIF}
      then begin
      Result := ord (p^) - ord ('0'); //###0.939
      inc (p);
      end;
    end;
    end;

В этом случае программа будет считать легитимными такие способы записи: $1, $2, ..., $9, ${10}, ${11} и т.д. Случаи, когда используются десять подвыражений, крайне редки (сейчас в INI-словарях таких нет), так что можно использовать в таких правилах фигурные скобки (или вообще не составлять правила с таким большим количеством подвыражений - это тоже способ обеспечить совместимость словарей).

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 09.09.10 16:52
09.09.10 16:52
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

А как будет выглядеть в этом случае замена по словарю СИ...ini для словосочентания "после XXV съезда КПСС" ?
У меня получилось "после 200 пЯтого... " Wink

До изменений TRegExpr давал "после пЯтого..."

VBScript давал верный ответ "после двАдцать пЯтого..."

Но если в в словаре правило
@(\d*[02-9]|\D|^)5-(ого|ому|ом|ым|ых|ое|и|ая|ую|ый|ой)([^А-яЁё\-]|$)=<дес$10> пЯт$2 $3

исправить на

@(\d*[02-9]|\D|^)5-(ого|ому|ом|ым|ых|ое|и|ая|ую|ый|ой)([^А-яЁё\-]|$)=<дес$1> пЯт$2 $3

то и VBScript (!) и все вариатны TRegExpr дают правильный ответ!

Так что еще и со словарем непонятки... зачем там 0 после 1-цы
Wink

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 09.09.10 17:43
09.09.10 17:43
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

ЗЫ. Соврал. VBScript работает правильно только для исходного варианта правила с $10.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 19.09.10 21:46
19.09.10 21:46
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

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

  • применять правила из INI-словарей быстрее;
  • применять правила, "охватывающие" несколько абзацев.

Данная настройка не оказывает влияния на процесс чтения вслух или на сохранение аудиофайла.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evmir_troll-hunter
Admin
avatar


Сообщений : 628
Репутация : 208

 evmir_troll-hunter :: 20.09.10 9:14
20.09.10 9:14
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Добавлена поддержка аудиофайлов формата MPEG-4 (MP4, M4A, M4B). Отличная новость!
Щиро дякую.:+1:

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 20.09.10 12:33
20.09.10 12:33
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

balabolka
Цитата :
В новой версии программы добавлена настройка Применять правила к большим по размеру частям текста (окно "Настройки", закладка "Правила"). Эта опция будет использоваться лишь в случае обработки текстов при помощи правил (например, при использовании пункта главного меню "Показать измененный текст"). Если опция включена, то это позволит:
Если я правильно понял, это может привести к серьезной путанице, поскольку окошки используется и для проверки, какие правила применяются при чтении или записи для коррекции ошибок словаря и для проверки правильности работы программы. А с включенной опцией показываться будет одно, а выполняться другое.
Правильнее разделить новую опцию и пункты меню "измененный текст" и "примененные правила". Может ввести для нее, какой-нибудь другой способ вызова?

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 20.09.10 21:48
20.09.10 21:48
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

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

Суть дилеммы, которую Вы описали, мне понятна, но делать что-либо для ее разрешения не стану. Таким пользователям остается лишь отказаться от использования новой опции (по умолчанию опция отключена, "галочка" в этом пункте не стоит).

-----

В очередной раз повторяю свою рекомендацию не добавлять в словари правила, затрагивающие более одного абзаца или более одного предложения. ВСЕГДА существует вероятность, что такие правила не сработают: какой бы величины не были "куски" текста, которыми оперирует программа, - большие или маленькие, - между ними всегда будут "стыки".

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evilone_
Участник «online словари»
avatar


Сообщений : 860
Репутация : 317

 evilone_ :: 04.10.10 19:28
04.10.10 19:28
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
балаболка 478 с включенной опцией "Применять правила к большим частям текста" при нажатии на "Показать измененный текст" зависает через раз (подключено два словаря этот и этот используется стандартный метод замен для dic и PCRE для ini) :kill:
сначала что-то происходит но под самый конец просто перестает реагировать, индикатор замирает и все, приходится удалять через диспетчер задач
и еще почему-то в ини-словаре, который подключен, при редактировании через балаболку начали удаляться комментарии и разрывы строк, это так задумано? можно ли не удалять комментарии и вообще сохранять форматирование ини-словаря?warry

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 04.10.10 21:00
04.10.10 21:00
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
evilone_
Скачал словари, попробовал применить к нескольким текстам; вот это правило из INI-словаря отправило компонент для обработки регулярных выражений на "бесконечный" цикл:
Код:
(\n|\r|\t|\.|\,|\:|\;|\-|\!|\?|"|\»|\)|\]|\}|\s)+(слово)+\s+(было)+\s=$1$2` $3
Это правило располагается почти в конце списка. Мне сложно сказать, что не так с этим правилом или с его обработчиком; надеюсь на помощь специалистов в регулярных выражениях.

С другими правилами проблем не возникло.

evilone_ пишет:
и еще почему-то в ини-словаре, который подключен, при редактировании через балаболку начали удаляться комментарии и разрывы строк, это так задумано? можно ли не удалять комментарии и вообще сохранять форматирование ини-словаря?
Не понял, о чем именно идет речь; поясните, пожалуйста.

Исторически так сложилось, что в редакторе словарей я не показываю те первые строки, которые представляют из себя комментарии ("шапку" словаря). Так попросили сделать иностранцы для первой версии "Балаболки", у которых были уже готовые, собственные INI-словари; мне это показалось логичным, и я согласился. В случае с DIC-словарями поступил точно так же.

Но "шапка" никуда не девается - при сохранении словаря на диске, она добавляется в файл. Открыл Ваш словарь в программе, сохранил - получился такой же текстовый файл, как и был прежде.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 04.10.10 21:16
04.10.10 21:16
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Еще в прошлой версии тоже заметил, если в словаре присутствовали пустые строки, после сохранения через редактор словаря они исчезали. Не помню только в ini или в dic тоже.
Наверное об этом шла речь. Я тоже использовал пустые строки для разделения блоков.
Хорошо бы их оставить(сохранить форматирование).

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evilone_
Участник «online словари»
avatar


Сообщений : 860
Репутация : 317

 evilone_ :: 04.10.10 22:27
04.10.10 22:27
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

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

balabolka пишет:
вот это правило из INI-словаря отправило компонент для обработки регулярных выражений на "бесконечный" цикл
да, спасибо помогло, но почему так происходит непонятно, в демагоге такой проблемы нет и правило как-то проглатывается Suspect
можно ли как-то сделать "защиту от дурака" в подобных ситуациях? например если зацикливается то как-то его прерывать или хотя бы иметь возможность в программе поймать такое безобразие и остановить?

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 05.10.10 0:36
05.10.10 0:36
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

evilone_ пишет:
в демагоге такой проблемы нет и правило как-то проглатывается
Вы ошибаетесь, программа "Демагог" зависает (уходит на бесконечный цикл) в тех же местах текста и на том же самом правиле. Не вводите пользователей в заблуждение. Evil or Very Mad

Я уже написал, что мне сложно разобраться, в чем проблема с этим правилом и почему обработчик зацикливается, когда применяет регулярное выражение. Попытаюсь переадресовать вопрос разработчикам компонента, но маловероятно, что это даст результат. Может быть, автор правила может объяснить, в чем тут дело?

----

Редактор словарей менять не стану, так что пустые строки и комментарии в середине списка будут удаляться. Если форматирование принципиально для какого-либо конкретного словаря - используйте обычный текстовый редактор ("Блокнот", например).

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
Lexus
Эксперт
avatar


Сообщений : 413
Репутация : 32

 Lexus :: 05.10.10 8:36
05.10.10 8:36
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Код:
комментарии в середине списка будут удаляться
Это ограничивает возможности по отладке словарей. Особенно ini. Раньше можно было закомментировать правило и посмотреть, как это влияет на обработку. Сейчас этого, к сожалению не будет. Может использовать для отключения правил, что- нибудь другое?

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evmir_troll-hunter
Admin
avatar


Сообщений : 628
Репутация : 208

 evmir_troll-hunter :: 05.10.10 12:35
05.10.10 12:35
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

evilone_ пишет:
балаболка 478 с включенной опцией "Применять правила к большим частям текста" при нажатии на "Показать измененный текст" зависает через раз
Проблема в больших текстах. При обработке corrector.ini, и Балаболка и Демагог зависают! Причем неважно есть ли проблемная строка, или нет. Я пол ночи мучил док. на 10,28 МБ. – такой объём обработать не хватит никакого терпения. Делил текст на две и четыре части – не помогло.
В конце концов, я разделил Балаболкой док. по 1 МБ. и всё получилось довольно быстро.
Статистика замен, Быстрый метод;
Демагог:
# Tекст "Сборник рассказов1_1.txt", измененный по "СИ (Вадим Романько).ini" ( 00:02:0)
# Tекст "Сборник рассказов1_1.txt", измененный по "omograph.dic" ( 00:03:1)
# Tекст "Сборник рассказов1_1.txt", измененный по "corector.ini"( 00:03:5)
Балаболка;
СИ (Вадим Романько).ini=3 мин. 41,13 сек.
omograph.dic=2 мин. 40,04 сек.
corrector.ini=4 мин. 24,50 сек.

Считаю, что размер текста в 1 МБ. оптимален на данный момент. По крайней мере для меня.Wink

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 05.10.10 16:37
05.10.10 16:37
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Источник: Дж. Фридл "Регулярные выражения".
http://wmate.ru/ebooks/book67.html

Есть 2 алгоритма обработки РВ.
ДКА - детерминипрованный конечный автомат.
НКА - недетерминированный конечный автомат.

Все современные системы обработки РВ используют НКА, хотя ДКА в тысячи раз более быстрый и абсолютно надежный. Но он не позволяет работать с подвыражениями и вообще со сложныи синтаксисом.

НКА - похож на блуждание в лабиринте. Пошел направо - тупик. Вернулся. Пошел налево - развилка, поошел налево - тупик, пошел направо - тупик - вернулся на пред-предыдущую развилку и т.д. НАИХУДШИЙ случай - это, когда количество проверок становится равным 2 в степени N. где N - число символов в тексте. Если имеем текст в 10000 символов (это меньше 10 кб) то проверок будет 2 в степени 10 тысяч.
Время работы алгоритма увеличивается до миллиардов (и много более!) лет. Это называется ЭКСПОНЕНЦИАЛЬНЫЙ ПОИСК.
Многие системы отслеживают факт попадания на "дорогу в ад", подсчитывая и ограничивая число проверок. Тогда на текстах бОльшего размера даное РВ выдает Ложь, а на меньших - Истину.
Другие системы ограничиваю отводимую память и банально выдают "Stack overflow".

В книге приводятся примеры фатальных РВ и даются советы (эмпирические) как НЕ написать что-либо подобное...
Алгоритм НКА крайне чувствителен и к ФОРМЕ записи РВ. Например x+ и xx* - это одно и то же, но 2-е РВ выполняется быстрее.

Естественно, что А.Сорокин, создавая свой компонент не вдавался, да наверное, и не знал многих подробностей. А у меня после беглого просмотра монографии Фридла совершенно отпало желание ваять свой собственный компонент для работы с РВ. Так что - что имеем, с тем и работаем.

Но тем, кто занимается составлением ИНИ словарей - эту книжку настоятельно рекомендую. Чтоб жизь медом не казалась. Smile

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 05.10.10 17:19
05.10.10 17:19
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
По идее, размер текстового файла не должен существенно влиять на применение правил: программы всё равно применяют текст "кусками". Так что неважно, какая длина у текста - программа просто поделит его на 10, 100 или 1000 "кусков".

Но с этим правилом:
Код:
(\n|\r|\t|\.|\,|\:|\;|\-|\!|\?|"|\»|\)|\]|\}|\s)+(слово)+\s+(было)+\s=$1$2` $3
вот какая штука. Даже если оно не применяется, его проверка очень сильно тормозит работу программы. То есть, программа не "зависает" и не уходит на бесконечный цикл (тут я был неправ) - продолжительность проверки правила зависит от количества строк в "куске" текста.

Вот пример текста:
Код:





Слово Слово Слово
Правило будет проверено на нем мгновенно (но ни разу не применено).
Увеличим количество пустых строк:
Код:









Слово Слово Слово
Проверка правила заняла уже более 2 секунд. Вставляем еще пару пустых строк - 36 секунд. Дальше рекомендую не продолжать, программу придется "прибивать" в списке процессов.

Кто автор этого "убийственного" правила? Он тестировал его на своем компьютере?

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 05.10.10 19:11
05.10.10 19:11
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Цитата из книги Дж. Фридла

Конструкция выбора может дорого обойтись

Конструкция выбора является одной из главных причин,
порождающих возвраты. В качестве простого примера мы воспользуемся
знакомым текстом makudonarudo и сравним, как организуется поиск
совпадений для выражений u|v|w|x|y|z и [uvwxyz]
Символьный класс проверяется простым сравнением, поэтому [uvwxyz]
«страдает» только от возвратов перехода к следующей позиции в строке
(всего 34) до обнаружения совпадения:
The name "'McDonald's" is said "makudonarudo" in Japanese
Использование выражения u|v|w|x|y|z требует шести возвратов для
каждой начальной позиции, поэтому то же совпадение будет найдено
только после 204 возвратов...


А ведь в обсуждаемом нами правиле конструкция выбора еще круче Smile

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 05.10.10 19:35
05.10.10 19:35
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

ЗЫ. А следующий за приведенной цитатой раздел в книжке называется "Хронометраж". Где рассказано, как выполнять эту традиционную для составителей регулярных выражений работу.
А то без оной последствия могут быть тяжкими...

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evilone_
Участник «online словари»
avatar


Сообщений : 860
Репутация : 317

 evilone_ :: 05.10.10 20:22
05.10.10 20:22
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
balabolka пишет:
Кто автор этого "убийственного" правила? Он тестировал его на своем компьютере?
ну автор правила ломающего программу это снова я, как всегда pale, но до появления опции "Применять правила к большим частям текста" было все более менее нормально
также интересно что у меня почему-то только в связке dic+ini получается зацикливание а просто ini с этим правилом нормально меняет текст Suspect
в общем тайна покрытая мраком, а правило - убийца :butcher:

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
evmir_troll-hunter
Admin
avatar


Сообщений : 628
Репутация : 208

 evmir_troll-hunter :: 05.10.10 21:03
05.10.10 21:03
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

evilone_ пишет:
до появления опции "Применять правила к большим частям текста" было все более менее нормально
Без этой опции, Балаболка обрабатывала текст очень медленно. Тот же мегабайтный текст - corector.ini=11 мин. 32,19 сек.

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
flegont
V.I.P.
avatar


Сообщений : 355
Репутация : 475

 flegont :: 05.10.10 21:48
05.10.10 21:48
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Хм... Наверно, и от текста зависит. Пока что убить Демагога этим правилом не удалось. Smile
Текст в 1.4 Мб. Вот фрагмент статистики.

# Tекст "В.Ли_Гроза_над_Миром.txt", измененный по "corector.ini+omograph.dic"
( 0:02:30)

Венедикт Ли arnys@mail. ru n 1 d 3@yahoo. com
Гроза над Миром


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

Т. Эллиот
...


===========================================

А вот еще... 2.5 Мб

# Tекст "MONTEC.txt", измененный по "corector.ini+omograph.dic" ( 0:04:08)


Аликсандр Дюма
Граф Монте-Кристо

изд. ХудЛит, тысяча девятьсот семьдесят седьмой год.
OCR Палек, тысяча девятьсот девяносто восьмой год.
...

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение
balabolka
V.I.P.
avatar


Сообщений : 1212
Репутация : 986

 balabolka :: 05.10.10 23:26
05.10.10 23:26
Выбрать/отменить одновременное цитирование Ответить с цитатой Послать сигнальный рапорт на это сообщение администратору или модератору Закрыть рапорты на это сообщение

Спасибо/Thanks
flegont пишет:
Пока что убить Демагога этим правилом не удалось
С чего Вы это взяли?! Если в наших программах используется один и тот же компонент - почему он должен по-разному обрабатывать одно и то же правило?!

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

Цитата :
# Tекст "", измененный по "corector.ini" ( 0:02:28)













Слово слово слово

Вернуться к началу Перейти вниз
Посмотреть профильОтправить личное сообщение

Балаболка

Предыдущая тема Следующая тема Вернуться к началу
Балаболка
Страница 13 из 21Страница 13 из 21На страницу : Предыдущий  1 ... 8 ... 12, 13, 14 ... 17 ... 21  Следующий
  Перестать следить за ответами    Форма быстрого ответа    Перестать следить за ответами    Форма быстрого ответа  
Начать новую темуОтветить на тему
Этот сайт не предоставляет электронные версии программного обеспечения и полнотекстовых электронных изданий, а занимается лишь
подборкой и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями.

Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении