Балаболка TTS
Модератор: balabolka
- tonio_k
- V.I.P.
Балаболка TTS
очень интересно! Если бы вы могли придумать алгоритм для аудита словарей rex на предмет их "тяжеловесности". Знать бы чего стоит избегать при составлении правил. Может разбить одно правило на 10 простых строк в итоге даст прирост скорости в те же 10 раз в рамках одного правила?
Вообще, тяжесть правила можно понять только экспериментальным путем? Или есть какие то рекомендации каких шаблонов при составлении правил стоит избегать?
- balabolka
- V.I.P.
Балаболка TTS
Можно посоветовать сайт regex101.com: там можно проверить регулярное выражение, узнать количество шагов (операций) для его выполнения, а также время выполнения. Полезный инструмент для изучения работы регулярных выражений.
- Lecron
- Специалист
Балаболка TTS
Так можно проверить единичные правила, если подозрение уже возникло. И вряд ли сервис позволит тестировать на больших фрагментах, сопоставимых с размером книги. А анализ шагов, еще нужно уметь интерпретировать.
Поэтому все-таки стоит обсудить алгоритм, с позиции наименьшего зла. А зло, это лишь размер куска. В данном случае, зло абсолютное)) равное размеру всего текста.balabolka писал(а): "Балаболка" брала кусок текста (около 16 килобайт), применяла к этому куску все правила из выбранных словарей, затем брала следующий кусок и т.д. Но существовала одна проблема: на "стыке" двух кусков текста правила не срабатывали.
Существуют ли межабзацные правила и насколько они распространены? Если не сильно, достаточно сдвинуть границу на конец абзаца, что при современном форматировании, в 99% совпадает с концом строки. Итого, количество гипотетических ошибок применения правил сокращено на порядки, при полном сохранении скорости обработки.
Если же распространены, можно подумать о других вариантах.
- balabolka
- V.I.P.
Балаболка TTS
В следующей версии "Балаболки" в окно "Статистика замен" добавлю столбец "Время", а также опцию "Показать все правила". Можно будет посмотреть время выполнения каждого правила для текущего текста.
К примеру, обрабатываем текст размером один мегабайт, и есть пара правил в словаре DIC:
Правила будут применены 3000 раз каждое, и на это понадобится меньше 1 миллисекунды.
А в словаре REX есть такое правило:
Оно сработает 1 раз, и на это понадобится 80 миллисекунд. Такое правило надо обязательно перенести из словаря REX в словарь DIC.
Главное, что надо помнить: если можно НЕ использовать регулярное выражение для реализации какой-либо замены, его нужно не использовать. Регулярные выражения выполняются намного медленнее, чем замены из словарей DIC, поэтому применять регулярные выражения надо очень осторожно.
К примеру, обрабатываем текст размером один мегабайт, и есть пара правил в словаре DIC:
Код: Выделить всё
$*»*=
$*«*=
А в словаре REX есть такое правило:
Код: Выделить всё
из воды=из воды<
Да, получается так. Lecron прав, что и значение количества "шагов" (которое показывает сервис regex101.com) не даст ответ на вопрос, эффективным ли образом составлено регулярное выражение, и как быстро оно будет выполняться. Надо всё проверять на реальных текстах.
- fich
- Обыватель
Балаболка TTS
Я пользую "горячие сочетания клав" по возмоге и "печатать прищуриваясь .. " мне реально - "не реально". И кстати, я веду разговор о Движке "НИКОЛАЙ".
- напишите обобщённый bat-файл. Я не очень вкуриваю, староват видите-ли.
- bat-файл на тему. Пример - Я открываю(в Балаболке) - "цикл","роман","меж-авторский опус" из энного количества книг (штук 3-5-8) сразу. Начинаю исправлять в ПЕРВОЙ №1(оригинальные имена, названия планет,зверей)естессно встречающихся во всех остальных 2,3,4,..7..книгах нажимаю -"Заменить всё" и исправление идёт На ВСЕ остальные открытые в "Балаболке" Книги 2,3,4,5,6,7... (прошерстив книгу №1 я уверен что во всех остальных книгах УДАРЕНИЯ "<" стоят и имя "Таллалойата" или планета"илликолила" не будет мне терзать слух в остальных 8 книгах)
----- Кстати, тому, кто, пользует движок "Николай" - и Балаболку версии 2.14.0.669 - озвучте у себя вот это -" все двигалось "
- tonio_k
- V.I.P.
- wasyaka
- V.I.P.
Балаболка TTS
из * воды= из (грязной,чистой солёной и т д) водЫ
из * воды=из воды(dxd, dic)- и как это правило реализовать, если реакция только на края?
- tonio_k
- V.I.P.
Балаболка TTS
из * воды=из водЫ
Это только в Демагоге работает.
В балаболке только через регулярные выражения REX:
\bиз (\w+) воды=из $1 водЫ
Отправлено спустя 10 минут 14 секунд:
Есть и недостаток в этом правиле:
из * воды=из водЫ
Оно сработает так же и на :
Никак не могли достать из воды. Воды здесь были мутные.
Хотя это и маловероятная комбинация, стоит учитывать, что звёздочка это любое слово и абсолютно любой знак препинания, в т.ч. и точка. Исключение - после точки идет абзац.
В этом плане регулярные выражение REX получается более конкретным
\bиз (\w+) воды=из $1 водЫ
(\w+) - это любое слово без знака препинания на конце
Это только в Демагоге работает.
В балаболке только через регулярные выражения REX:
\bиз (\w+) воды=из $1 водЫ
Отправлено спустя 10 минут 14 секунд:
Есть и недостаток в этом правиле:
из * воды=из водЫ
Оно сработает так же и на :
Никак не могли достать из воды. Воды здесь были мутные.
Хотя это и маловероятная комбинация, стоит учитывать, что звёздочка это любое слово и абсолютно любой знак препинания, в т.ч. и точка. Исключение - после точки идет абзац.
В этом плане регулярные выражение REX получается более конкретным
\bиз (\w+) воды=из $1 водЫ
(\w+) - это любое слово без знака препинания на конце
- Arex
- Интересующийся
Балаболка TTS
Мне показалось, или они всё-таки были добавлены в версию v2.14.0.668, а потом бесследно исчезли?
Там что-то не получилось, или у меня действительно был глюк?
- balabolka
- V.I.P.
Балаболка TTS
Arex
Пункт главного меню "Настройки|Импорт текста", вкладка "Настройки", пункт "Добавить сноски и примечания внутрь текста":
Пункт главного меню "Настройки|Импорт текста", вкладка "Настройки", пункт "Добавить сноски и примечания внутрь текста":
- Сохранить текущие позиции сносок и примечаний в тексте
- Переместить сноски и примечания в конец предложений
- Переместить сноски и примечания в конец абзацев
- Arex
- Интересующийся
Балаболка TTS
Спасибо! Оказывается, я не там искал.
Кстати, я тут словил такую ошибку:
Дело в том, что я решил проверить, как работают теги SAPI 5. Для этого я загнал в словарь следующую замену:Ошибка синтезирования речи:
Ошибка в элементе верхнего уровня документа.
Код: Выделить всё
все=<pron sym="f sʲ ɪ "/>
Соответственно, после коррекции изменённый текст выглядит примерно так:
В чём тут может быть проблема? Что я делаю не так?... они почитают этого слегка сумасшедшего бога. <pron sym="f sʲ ɪ "/> его слова, <pron sym="f sʲ ɪ "/> нравоучения ...
- wasyaka
- V.I.P.
Балаболка TTS
Проверил все словари, точнее ещё тестирую (674), но:
Файл тхт в анси 507кб Словарь Ё фиксации BXD - 27мин 38сек + часто Словарь Ё фиксации тоже но в DIC -3 мин 15 сек
На протестированном файле 10кб словарь омо в ргв bxd тоже но в rex (заодно проверил 670-ю и на Демагоге) - время примерно одинаковое +/- 1с.
Все остальные( RGV-ещё трудится) заняли около 10мин - само больше chisla(bxd) - 6мин 43 сек но он у меня двойной - вторая чась преобразует цифры в именительном падеже в единственном числе - 40 преобразует в сорок,101 в сто один и т.д. Личная прихоть (цифр недолжно быть в тексте).
- balabolka
- V.I.P.
Балаболка TTS
Arex
Вы использовали фонемы алфавита IPA, он не поддерживается в SAPI 5. Для русского языка необходимо использовать фонетический алфавит UPS (Universal Phone Set). Однако, не уверен, что старый голос "Николай" знает об этом алфавите. Фонемы UPS будут нормально читаться только современными голосами ("Юрий" и "Милена", например).
Ваш пример будет выглядеть примерно так:
Подробнее про фонетические алфавиты можно прочесть в файле справки "Балаболки". Про UPS можно поискать информацию в интернете.
Вы использовали фонемы алфавита IPA, он не поддерживается в SAPI 5. Для русского языка необходимо использовать фонетический алфавит UPS (Universal Phone Set). Однако, не уверен, что старый голос "Николай" знает об этом алфавите. Фонемы UPS будут нормально читаться только современными голосами ("Юрий" и "Милена", например).
Ваш пример будет выглядеть примерно так:
Код: Выделить всё
... они почитают этого слегка сумасшедшего бога. <pron sym="F S pal IH"/> его слова, <pron sym="V S E"/> нравоучения ...
- balabolka
- V.I.P.
- wasyaka
- V.I.P.
Балаболка TTS
н-да "отпахал" 150мин, это но поделеное по 10кб (ивлеч текст ..) со всеми словарями(bxd) 145 мин ...
вывод? Это только инфо - каждый вибирает для себя - за новый индикатор прогресса можно пожертвовать ...хотя бы временем ...
- balabolka
- V.I.P.
Балаболка TTS
Посмотрел словарь RGV.bxd: попробуйте поделить пополам сверхдлинные правила (те, где "$1 глазА", "$1 словА"). Два новых правила вместе будут выполняться быстрее процентов на десять, чем одно старое правило. Можно поэкспериментировать с такими правилами, где тот предел длины регулярного выражения, когда начинается существенное падение скорости выполнения.
Проверил на небольшом тексте (килобайт десять), как быстро применяются правила из словаря RGV.bxd: в старых версиях программы 58 секунд, в новой 18 секунд. Это ничего не доказывает, но меня такой результат радует.
Еще раз сообщу, что в следующей версии "Балаболки" пункт меню "Статистика замен" будет показывать время применения правил (отдельным столбцом, в миллисекундах). Надеюсь, это поможет составителям словарей.
- AndOSjZ
- Постоялец
- balabolka
- V.I.P.
Балаболка TTS
AndOSjZ
У меня сейчас установлена последняя версия "Милены", и она понимает только фонемы UPS.
Насколько я помню, Nuance Vocalizer содержал редактор словаря. Это был внутренний словарь для голосов Nuance, он использовал транскрипции, состоящие из фонем CPA (Computer Phonetic Alphabet). Фонетический алфавит CPA был придуман для того, чтобы записывать символы алфавита IPA с помощью стандартной клавиатуры (то есть клавиатуры с латинскими буквами).
Словарь с фонемами CPA выглядел примерно так:
Но в голосах "Юрий" и "Милена" нет ни редактора словаря, ни самого словаря. И через SAPI 5 транскрипции CPA работать не будут.
У меня сейчас установлена последняя версия "Милены", и она понимает только фонемы UPS.
Насколько я помню, Nuance Vocalizer содержал редактор словаря. Это был внутренний словарь для голосов Nuance, он использовал транскрипции, состоящие из фонем CPA (Computer Phonetic Alphabet). Фонетический алфавит CPA был придуман для того, чтобы записывать символы алфавита IPA с помощью стандартной клавиатуры (то есть клавиатуры с латинскими буквами).
Словарь с фонемами CPA выглядел примерно так:
Код: Выделить всё
able e b * l
adam a ! * m
agent e dZ * n t
alive * l aj v
aphid e f * d
apple a p * l
asked a s k t
ball b O l
bird b *r d
- Lecron
- Специалист
Балаболка TTS
А еще, авторам поможет показ количества срабатываний. Ибо одно дело, подождать сколько-то там минут ради десятков, сотен, а может и тысяч срабатываний на книгу, и совсем другое, ради одного срабатываания на десяток книг.
Если появится сбор статистики, пополняемый с каждой новой книгой/проверкой, будет совсем класс.
- tonio_k
- V.I.P.
- Lecron
- Специалист
Балаболка TTS
То. Прошу прощения, за невнятное изложение мысли.
Время и статистика, должны показываться сразу. Рядом. Чтобы их оценивать в паре.
А долговременный сбор статистики, позволит оценить необходимость в правилах, которые срабатывают периодически. Сейчас, оценить эффективность многих правил, просто невозможно. Мозг человека не может запомнить и сличить результаты даже для двух книг.
- Manariel 64
- Постоялец
- wasyaka
- V.I.P.
Балаболка TTS
В инсталяторе почемуто 0.674 на сайте "Балаболка" тоже, Интересно - создан 16.10 а изменён 13.10 - Машину времени задействовали?
(портабл 0.675)
Отправлено спустя 31 минуту 54 секунды:
Ещё б добавить еденицу времени - секунда? и сразу видно где... непахоное поле
- balabolka
- V.I.P.
- fich
- Обыватель
- Manariel 64
- Постоялец
- balaamster
- Обыватель
Балаболка TTS
Проверил у себя, так и читает " все двигалось ". Кроме отсутствия "ё", других проблем нет.
- fich
- Обыватель
Балаболка TTS
Спасибо, парни. Блин, а у меня версия 2.14.0.669(и 2.11.0.599), Коля говорит "всё номер номер двигалось" . .. первый раз такое, чушь какая-то. (свои словари отключал, мож глюк мп3буковского, системного, словаря)Николаем ... Балаболку версии 2.14.0.669 - озвучте у себя вот это -" все двигалось "
- Автор, понимаю мелочь, но
- кнопа "Вставить быструю закладку" - плохо анимирована (не продавливается при клаце)
- после побудки, (после "таймер" - "сон") на 3-..5.. раз перестаёт читать, перезапуск Балаболки всё налаживает
- Если запустить балаболку и в процессе загрузки окна - свернуть, то вылетает и зависает, много раз клацаешь по сообщению, потом перезапускаешь.
- вот на таком перечне - зависает "калий-42, магний-28, кальций-45, стронций-85 и -89, цинк-65, кадмий-109, ртуть-203, алюминий-26, скандий-46, углерод-14, олово-113 и -121, свинец-212, гафний-175 и -181, фосфор-32, сурьма-125, висмут-206, -207, -210 и -213,ванадий-48 и -49, ниобий-95, тантал-182, теллур-122 и -129, хлор-36, бром-80m и -82, рений-183 и -186, рутений-97, -103 и -106, осмий-191 и -193, палладий-103, иридий-190, -192 и -194, платина-197." Но если разделить на 3 абзатца, то может и разговориться.
- Корёжит вот это- " ВИКТОР! ВИКТОР! "
(юзаю - ХР, Николай, SAPI4)
- balaamster
- Обыватель
Балаболка TTS
Ошибка в словаре "exc_rus.txt", в папке с движком
Код: Выделить всё
все двигалось : <всё####двигалось> /i
все двигалось : <всё##двигалось> /i
Тут встроенный словарь не помогает. Остаётся только через словарь в Балаболке делать замену ВИКТОР=Виктор.
- fich
- Обыватель
Балаболка TTS
Спасибо! и что с этой ошибкой делать?balaamster писал(а): ↑24 окт 2018 20:51все двигалось : <всё####двигалось> /i
все двигалось : <всё##двигалось> /i
- Есть такие строки в словарое "exc_rus.txt"
все двигалось : <всё####двигалось> /i
все двигалось : <всё##двигалось> /i
- balaamster
- Обыватель
Балаболка TTS
В словаре "exc_rus.txt" удалить ошибочную запись - все двигалось : <всё####двигалось> /i
Для разделения слов используется одна пара "##", вторая тут лишняя.
Это у себя тоже проверил. Проблема не в Балаболке, проблема в движке.
Не справляется он с такой строкой. В других программах у меня такой же сбой - не читает.
- fich
- Обыватель
Балаболка TTS
balaamster, Спасибо
- Ув. балаболка, когда Балаболку сворачиваешь, то её не видит "Alt + Tab" (мож у меня только? на ХР) приходится нырять в трей и метко попадать по менюшке.
Отправлено спустя 54 минуты 34 секунды:
Решил праблу с "Alt + Tab". Убрал галочку "при сворачивании - убирать в трей"
- Хотя если-бы из трея "Alt + Tab"-ом можно было доставать, Балаболку, было-бы вкуснее.
- Ув. балаболка, когда Балаболку сворачиваешь, то её не видит "Alt + Tab" (мож у меня только? на ХР) приходится нырять в трей и метко попадать по менюшке.
Отправлено спустя 54 минуты 34 секунды:
Решил праблу с "Alt + Tab". Убрал галочку "при сворачивании - убирать в трей"
- Хотя если-бы из трея "Alt + Tab"-ом можно было доставать, Балаболку, было-бы вкуснее.
- tonio_k
- V.I.P.
Балаболка TTS
Правила в файле rex:
Удаляют строки:
А при попытке ввести эти правила в BXD правила не срабатывают:
Отправлено спустя 6 минут 57 секунд:
Все, разобрался. Надо так:
1) убрать знак @
2) Поставить галочку Учитывать регистр букв
Код: Выделить всё
@[^\r\n]*\=пОла [^\r\n]*=
@[^\r\n]* пОла\b[^\r\n]*=
► Показать
► Показать
Отправлено спустя 6 минут 57 секунд:
Все, разобрался. Надо так:
1) убрать знак @
2) Поставить галочку Учитывать регистр букв
- wasyaka
- V.I.P.
Балаболка TTS
Омографная пара $пола=пОла,полА, без проставленного ударения, Максим читает (или его приходится заставить ), как пОла (чаще встречаемое) - и ВСЕ правила с омографом пОла для тех, кто доводит необработанные омографы вручную, а так как ты (как и я с недавних пор) после обработки сразу на запись-прослушку, то смысл в этих и ещё в нескольких ТЫСЯЧАХ рег выражений? - только увеличением времени обработки...tonio_k писал(а): ↑02 ноя 2018 00:33КОД: ВЫДЕЛИТЬ ВСЁ(\b(бетон|вибрацией|глиняного|деревянного|доска|досок|достиг|дощатого|дюралюминий|женского|каменного|камень|камни|касалась|касаясь|квадрат|кладка|коснул(ась|ись|ся)|коснуться|кружок|кусок|мозаика|мужского|настил|недостойное|неровного|обломки|обоего|относительно|плит|площад|поверхност|подошвам|покачивание|покрыти|половин|прекрасного|прогиб|противоположного|пыльного|разваливающегося|разного|роль|секци|сотрясение|сторон|стык|точкой|уровн|участ|фрагмент|часть)(\w+)?(\s(\w+)?){1,})(\bпола\b)=$1 пОла
(\b(было|до|из|какого|от|с)\b\s?(\w+)?)\s{1,4}(\bпола\b)=$1 пОла
(\b(стен)\b\s?(\w+)?)\s{1,4}\b(и|или|с)\b\s{1,4}(\bпола\b)=$1 $4 пОла
(\bпола\b)((\s(\w+)?){1,}(боевого|в подвале|небыло|отделения|прихожей)(\w+)?)=пОла $2
Попробуй этот (часть отключил, часть подрихтовал.... ) ... и сравни...
Удачи
- tonio_k
- V.I.P.
Балаболка TTS
Может кому пригодиться:
Инструкция по экспорту из BXD в REX
1) Открываем в Балаболке словарь BXD .
=>Галочка - Показать фильтр.
=> Параметры фильтра: Состояние "Активно", Тип выражения: Регулярное выражение.
=> Применить фильтр.
2)Правка - Выделить все
3)Файл - Сохранить все выделенные...
4)Переименовываем полученный файл в txt
5) Открываем этот файл в Балаболке
6) Делаем активным ТОЛЬКО словарь BXD to REX.rex 7) Настройки => Коррекция произношения => Показать измененный текст
Аналогично экспортируем DIC. Разница только в пункте 1. Тип выражения: Обычный текст
Инструкция по экспорту из BXD в REX
1) Открываем в Балаболке словарь BXD .
=>Галочка - Показать фильтр.
=> Параметры фильтра: Состояние "Активно", Тип выражения: Регулярное выражение.
=> Применить фильтр.
2)Правка - Выделить все
3)Файл - Сохранить все выделенные...
4)Переименовываем полученный файл в txt
5) Открываем этот файл в Балаболке
6) Делаем активным ТОЛЬКО словарь BXD to REX.rex 7) Настройки => Коррекция произношения => Показать измененный текст
Аналогично экспортируем DIC. Разница только в пункте 1. Тип выражения: Обычный текст
- Sarter
- Прохожий
Балаболка TTS
здравствуйте.
балаболка портабл.
голос phvoice
как увеличить паузу между предложениями и абзацами?
имеющиеся настройки в программе эффекта не приносят...
балаболка портабл.
голос phvoice
как увеличить паузу между предложениями и абзацами?
имеющиеся настройки в программе эффекта не приносят...
- fich
- Обыватель
Балаболка TTS
Извините, за ниже следующий ворч.
- Вот считайте меня замшелым консерватором - но лет15 назад высказался и до сих пор затвердеваю на высказанном что- AVI(divX), mpg, TXT,doc, MP3,wav, JPG, tiff - всегда, и позовчера и послезавтра - будут проигрываться любой таратайкой, даже калькулятором, а новые фыбы,дежаву,ебупы, мпг,вебп и т.д. от лукавого, сырое запудривание мо<згу.
- Вот откройте в Балаболке - это (ниже выложенный) бред какой-то, какие-то скобки, ковычки, порванные слова на переносах и меж ними "номера сраниц" ... (тот-же текст есть в пдф и те-же коряки) . .. Мож это такая защита? В произведениях одна убогая картинка, а сколько пафосу! Я КРУТОЙ!и Выкладываю в djvu
- конвертация в ТХТ из "STDUViev 1.6" - даёт те-же результаты.
- Ну и как слушать этот бред??? Вот почему я боролся за правильное исполнение функции "Заменить всё". вот сижу правлю, а то слушать невозможно . ..
- Вот считайте меня замшелым консерватором - но лет15 назад высказался и до сих пор затвердеваю на высказанном что- AVI(divX), mpg, TXT,doc, MP3,wav, JPG, tiff - всегда, и позовчера и послезавтра - будут проигрываться любой таратайкой, даже калькулятором, а новые фыбы,дежаву,ебупы, мпг,вебп и т.д. от лукавого, сырое запудривание мо<згу.
- Вот откройте в Балаболке - это (ниже выложенный) бред какой-то, какие-то скобки, ковычки, порванные слова на переносах и меж ними "номера сраниц" ... (тот-же текст есть в пдф и те-же коряки) . .. Мож это такая защита? В произведениях одна убогая картинка, а сколько пафосу! Я КРУТОЙ!и Выкладываю в djvu
- конвертация в ТХТ из "STDUViev 1.6" - даёт те-же результаты.
- Ну и как слушать этот бред??? Вот почему я боролся за правильное исполнение функции "Заменить всё". вот сижу правлю, а то слушать невозможно . ..
- Вложения
-
- Бушков А. - Самый далекий берег (Специальный русский проект) - 2003.rar
- (7.87 МБ) 670 скачиваний
-
- Михайлов В. - Ночь чёрного хрусталя (Звёздный лабиринт. Коллекция) - 2005.rar
- (11.89 МБ) 689 скачиваний
- tonio_k
- V.I.P.
Балаболка TTS
fich, djvu это на сколько мне известно, формат записи "картинки" со сканера. Используют для иллюстрации и передачи изображения - т.е. там обычно нет текста, а грубо говоря это фотография. Весь текст, который из djvu получаем, это то что смогли "распознать" спец. программы. До электронных книг, под которые Балаболка заточена этот отсканированный текст ещё очень далек. Его надо превращать в тхт, читать, исправлять ошибки распознования. Зачем так сложно? Есть ведь эти же книги уже в нормальном текстовом варианте.
- fich
- Обыватель
Балаболка TTS
И что? Ничего подозрительного в ДЖВУ не наблюдается, что 5 лет в зад, что сейчас(если их открыть) . .. Ещё позавчера - распознавалось, а сегодня деградация. Почему СЕЙЧАС?! (эт уже четвертый за последний месяц, а раньше гуд именно "джв" да и "пдф" скоро заглючат доки,ртф,доксы,ебупы . .. ручёнки у поколения "п" корявые)Весь текст, который из djvu получаем, это то что смогли "распознать" спец. программы.
У меня нет. Качаю с "шарамана" и слушаю.Зачем так сложно? Есть ведь эти же книги уже в нормальном текстовом варианте.
► Показать
- tonio_k
- V.I.P.
- balaamster
- Обыватель
Балаболка TTS
Вот тут и лежит ответ на Ваше негодование.
Проблема не в формате, проблема в человеке, создавшем документ
Формат это лишь ёмкость, которую нужно нормально наполнить.
Можно взять старый деревянный инструментальный ящик и аккуратно разложить в нём инструменты, всё будет удобно, доступно и легко находится
А можно взять новейший пластиковый инструментальный органайзер и просто накидать в него инструменты. А потом долго и упорно искать пассатижи или "ключик на 12"
Текстовый документ тоже легко создать с кучей дефектов после распознавания, ошибок и прочего. Разница лишь в том, что в TXT эти дефекты быстрее обнаруживаются визуально.
А ещё можно использовать формат не по прямому назначению и иметь/создавать кучу проблем.
Вкладывать несколько скриншотов в DOC файл вместо zip/rar-архива.
Вести базу данных с миллионом записией в xls-файле (Excel).
Забивать гвозди пассатижами, при наличии молотка.
Топором нарезать хлеб.
Текст, который необходим именно как текст, а не его визуальное оформление, помещать в DJVU или PDF
В теории, если приложение извлекает текст из предыдущих документов правильно а из нового неправильно, то тут два варианта - либо "криво" создан документ ("кривой" автор или "кривое" приложение, не соблюдающее стандарты формата, в котором создан документ), либо стандарт для формата обновился и текущая версия приложения ещё не способна обработать эти изменения.
- tonio_k
- V.I.P.
Балаболка TTS
Неожиданная статистика времени обработки с использованием в качестве квантификатора - звездочки в правилах регулярных выражениях:
Время обработки: 810мс
Время обработки: 2053мс
Получается при наличии возможности применить "*", если это возможно, дает экономию в скорости почти в 2 раза.
Код: Выделить всё
@(\w+)([\s\,\:\-]*)Дана=$1$2 дАна
Код: Выделить всё
@(\w+)([\s\,\:\-]{1,5})Дана=$1$2 дАна
Получается при наличии возможности применить "*", если это возможно, дает экономию в скорости почти в 2 раза.
► Показать
- fich
- Обыватель
Балаболка TTS
balaamster , Вы просто раскрыли то что я написал выше. Грустно. И что, теперь будет всегда ТАК? -мЧудаки будут корявить в джв,пдф и "звук.движек" будет нести пургу? И это, с сегодняшнего дня, теперь навсегда?
- Всегда знал, "ЧЕМ ПРОЩЕ, ТЕМ НАДЁЖНЕЙ" _"-Лучше велосипед, чем "Феррари" без бензина"(fich)
► Показать
- tonio_k
- V.I.P.
Балаболка TTS
fich, я вам в личку написал - посмотрите
Отправлено спустя 1 день 45 минут 45 секунд:
Таким образом хочу показать, что разбиение одного сложного правила на несколько простых в словаре REX при обработке большого размера текста дают ощутимую задержку в обработке. Так сказать работа в холостую - тоже затратная по времени работа. И выигрывая в скорости срабатывания мы можем проиграть в ОБЩЕЙ скорости обработки текста. В связи с этим, рассмотрите пожалуйста еще один таймер - Общее время работы процедуры "Статистика замен".
*Время обработки засекалось в программе Демагог. Возможно в Балаболке все будет по другому
Отправлено спустя 1 день 45 минут 45 секунд:
Провел такой эксперимент:
► Показать
*Время обработки засекалось в программе Демагог. Возможно в Балаболке все будет по другому
- balabolka
- V.I.P.
Балаболка TTS
Общее время отображается в окне "Измененный текст" (пункт главного меню "Настройки|Коррекция произношения|Показать измененный текст").
Хорошо, можно показывать это значение и в окне "Статистика замен" тоже.
В данном случае можно говорить о замене одного простого правила на четыре простых. Выигрыша по времени, действительно, не будет.
- fich
- Обыватель
Балаболка TTS
Исходя из того что часто стали появляться скан-книги и последующая их конвертация в ТХТ-"буквы" вываливат такие праблы как "перенос" (разрыв слов), "номера страниц" (бывает прям в слове)
- Может быть вы, уважамые, придумаете правила (гекс-регекс-рекс) чтоб Одним нажатием (как в "Заменить всё")
- Удалить из текста одним нажатием цифры от 1 ...... до 500 -с пробелом перед
- Удалить из текста одним нажатием цифры от 1 ...... до 500 -с пробелом после
- Удалить из текста одним нажатием цифры от 1 ...... до 500 -без пробелов
- Понимаю, что это чревато и можно удалить "20 мм орудие смотрело мне в ..", Но! может какой анализатор в Балаболку вмонтировать - чтоб он видел - ЯВНУЮ последовательность цифр встретившуюся в данном тексте после его проверки на "цифры"
- Может быть вы, уважамые, придумаете правила (гекс-регекс-рекс) чтоб Одним нажатием (как в "Заменить всё")
- Удалить из текста одним нажатием цифры от 1 ...... до 500 -с пробелом перед
- Удалить из текста одним нажатием цифры от 1 ...... до 500 -с пробелом после
- Удалить из текста одним нажатием цифры от 1 ...... до 500 -без пробелов
- Понимаю, что это чревато и можно удалить "20 мм орудие смотрело мне в ..", Но! может какой анализатор в Балаболку вмонтировать - чтоб он видел - ЯВНУЮ последовательность цифр встретившуюся в данном тексте после его проверки на "цифры"
- balaamster
- Обыватель
Балаболка TTS
Чтобы найти просто все цифры (1 до 999) в тексте в окне поиска: %rex%\d{1,3}
Одним нажатием "Заменить всё" - маловероятно.
Под это дело лучше завести словарь в bxd-формате:
Выражение: "\s\d{1,3}([А-Яа-яЁё]+)" текст: " $1"
Выражение: "([А-Яа-яЁё]+)\d{1,3}\s" текст: "$1 "
Выражение: "([А-Яа-яЁё]+)\d{1,3}([А-Яа-яЁё]+)" текст: "$1$2"
Отмечаем только этот словарь галочкой, нажимаем ctrl+t и вот такой текст:
► Показать
► Показать
- tonio_k
- V.I.P.
Балаболка TTS
Посмотрите пожалуйста, что за несрабатывание правил?
При тесте правила в Редакторе правил замена срабатывает.
А в самом окне с текстом - Показать измененный текст - изменений нет.
Соответственно не показывает и статистику замен.
► Показать
А в самом окне с текстом - Показать измененный текст - изменений нет.
Соответственно не показывает и статистику замен.
- balabolka
- V.I.P.
Балаболка TTS
tonio_k
В словаре правило не активно: в списке правил в столбце Активно написано "нет". Это означает, что правило хранится в словаре, но не применяется.
Чтобы правило применялось, сделайте его активным: выделите правило и нажмите кнопку "Активно". Также, сработает прием для работы с "галочками": нажатие клавиши "пробел" меняет состояние правила.
В словаре правило не активно: в списке правил в столбце Активно написано "нет". Это означает, что правило хранится в словаре, но не применяется.
Чтобы правило применялось, сделайте его активным: выделите правило и нажмите кнопку "Активно". Также, сработает прием для работы с "галочками": нажатие клавиши "пробел" меняет состояние правила.
- tonio_k
- V.I.P.
Балаболка TTS
А, понял. Активно / не активно - все так сливается. Не мудрено глаза замылить и прворонить очевидное.