|
|
Автор | Сообщение | Demagog (Демагог) |
---|
flegont V.I.P.
Сообщений : 355
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 18.05.10 9:57 |  |
| - flegont пишет:
- Я тоже замечал такое явление для файлов mp3. Может ламе так работает?
да в том то и дело что не mp3 а wav он же без потерь должно одинаковым быть, и главное не понятно оно хорошо или плохо  |
|
|
 | |
Lexus Эксперт
Сообщений : 413
Репутация : 32
 | |
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | 18.05.10 17:28 |  |
| - Lexus пишет:
- При соблюдении этики, открытые исходники только приветствую.
В том то и дело, что этика сейчас не в ходу.  |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | 18.05.10 19:49 |  |
| Вот напр. вчера ночью слушаю книгу, заснул. А утром смотрю - велосипед украли! Как говорил п. Преображенский; "Разруха не в стране - а в головах". |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 19.05.10 10:27 |  |
| flegont, вроде все функции можно отключить но у меня все равно не получилось это случайно всплыло при проверке словарей к аленке а возможно что это какая-то особенность голосового движка?  |
|
|
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 19.05.10 14:48 |  |
| flegont, ну без словарей ясное дело записывалось все со словарем и так понятно что будет разное может кто-то догадается почему  |
|
|
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | 19.07.10 12:16 |  |
| - flegont пишет:
- Текст: упомянутый 30.8 мб
замена всех запятых пробелами - 5 сек. затем "текст в столбик" - 2.5 мин
Просто отличная новость. Ура, даёшь революцию! |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | 19.07.10 12:49 |  |
| Действительно всё работает быстро!!! Я в "Полная акцентуированная парадигма по А. А. Зализняку" сделал всё что хотел з 11 минут (удалил апострофы, запятые, расположил в столбик)! А Word и Блокнот "кряхтели" больше часа - буржуи. Пускай теперь подвинутся.
Пользователи форума очень плотно работают с Быстрым и Стандартным методами слов и фраз. Это очень хорошо, но иногда нужно просто заменить одни символы (запятые, тире, многоточия и т.д.) на другие (даже на пробелы), или совсем их удалить. Для этого есть опция Правка\Заменить\Заменить всё. Но эта опция на больших текстах работала медленно – до недавних пор. Автор Демагога её улучшил, теперь замена происходит за секунды! |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | 08.08.10 14:45 |  |
| Секретный эксперимент-2 ===================
Дано: текст объемом 16 мб Требуется: получить список всех словоформ из данного текста
Инструментарий: комп Celeron 2.0 GHz, 1Gb Софт: Демагог v.136
Решение
1. Загружаем текст
2. На всякий случай "Правка - Заменить символы - Табуляция -> 4 пробела"
3. "Правка - Текст в столбик", сохраняем результат в файл tmp.txt В ентом промежуточном тексте 2334570 слов Затраты времени - пока практически нулевые.
4. Для удаления дубликатов из tmp.txt воспользуемся упомянутым в справке свойством Демагога: операции сравнения файлов выполняются с удалением строк-дубликатов и алфавитной сортировкой результата. "Сервис - Статистика - Сравнение файлов - Пересечение файлов" "Выберните 1-й файл": tmp.txt "Выберните 2-й файл": tmp.txt По теории множеств - результат пересечения файла с самим собой - это тот же самый файл. По Демагогу - это тот же самый файл, но без строк-дубликатов. Прога задумывается аж на полминуты, потом начинает ползти зеленая полоска и через минуту с хвостиком в окне статистики появляется результат.
5. Правой мышовой клавишей в окне статистики - меню - "Сохранить как..." tmp1.txt
6. Загружаем файл tmp1.txt В нем всего-то чуть больше 167000 слов. Беглый просмотр показывает, что надо удалить мусор вроде кавычек, скобок и т.п. Это мигом, через опцию "Правка - Заменить - Заменить все". Кстати, кавычки, точки, скобки и т.п. предпочтительнее убивать, заменяя пробелами т.к. некоторые слова могут из-за очепяток в тексте не разделяться пробелами, а лишь знаками препинания. Такие слова могли сидеть в строке, как ОДНО слово и будут теперь разделены.
7. Повторить "Правка - Текст в столбик"
8. Для восстановления слегка нарушенной после пп. 6-7 алфавитной сорировки применим опять тот же фокус со статистикой и самопересечением файла. Теперь это происходит мгновенно.
9. А затем ручками, ручками выделяем всю цифровую и латинистую дрянь и удаляем. Тоже легко: благодаря алфавитной сортировке гуано всплыло наверх
10. В общем-то все... ------------------------ а аахен абаев абаева абаеву абаевым абажура абажурами абажуром абажуры абака аббас аббаса аббасом аббасу аббат аббата аббатов аббатом аббату ... (и т.д. 159 тысяч словоформ) -------------------------------------
Затраты времени на всё про всё ~ 20 мин., включая попивание кофе и почесывание репы.
ЗЫ. Таким же способом можно обработать любой другой корпус, а полученный результат объединить с предыдущим через "Сервис - Статистика - Сравнение файлов - Объединение файлов". Дубликаты, как водится, будут в ходе слияния отброшены.
ЗЫ.ЗЫ. Конешно, так находятся не все теоретически возможные словоформы, а лишь встречающиеся в реальных текстах. С ростом объема обработанных текстов список словоформ тоже будет расти, но не пропорционально, а намного медленнее.
|
|
|
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 08.08.10 18:47 |  |
| flegont, спасибо, очень удобная и быстрая штука вот если бы "мусор" и "дубликаты" сами убирались только после нажатия "Правка - Текст в столбик" было бы до безобразия здорово 
|
|
|
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | 09.08.10 16:44 |  |
| - flegont пишет:
- Словоформы без дубликатов получаются за 25 секунд.
Можно ехать на Багамы, когда нобелевку дадут. |
|
|
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 09.09.10 14:00 |  |
| такой вопрос возник - а какая очередность применения правил программой если подключено несколько dic и ini словарей? какие будут первыми а какие последними и можно ли как-то вручную указывать какой словарь должен быть применен первым а какой последним? |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | 13.09.10 22:01 |  |
| INI всегда применяется первыми, а DIC следом.
Очередность применения нескольких DIC-ов роли не играет, ибо перед применением они все объединяются в одну хеш-таблицу. Это равносильно тому, как если бы в один дик-словарь добавили содержиме остальных. Правила, попавшие в одно "слварное гнездо" хеш-таблицы, отсортированы в нём в порядке убывания длины. Так что, если нет правил-дубликатов с одинаковой левой и разными правыми частями, то всё будет нормально.
А вот для INI-словарей важен даже порядок следования правил внутри словаря - от "перестановки мест слагаемых" рез-т очень даже измЕнится и может быть в корне неверным. Попрбуйте переставить, например, правила в словаре СИ...ini. Ужас што будет...
Поэтому, если надо применить несколько ини-словарей, то по очереди: открыжил первый, получил измененый текст, сохранил. Открыжил другой словарь и т.д. Скучная, но надежная процедура... И на каждом шаге можно проконтролировать - что получилось. Или же учесть тот факт, что ини-словари располагаются в списке по алфавиту, и в этом же порядке будут применены. Тогда надо заранее дать им такие имена, чтобы порядок был правильный...
 |
|
|
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 13.09.10 22:49 |  |
| - flegont пишет:
- Или же учесть тот факт, что ини-словари располагаются в списке по алфавиту, и в этом же порядке будут применены. Тогда надо заранее дать им такие имена, чтобы порядок был правильный...
ага, т.е. для ini получается верхний в списке это всегда первый а самый нижний - последний   |
|
|
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 28.09.10 18:33 |  |
| возник такой вот вопрос, это было замечено, причем это уже давно, в балаболке, но скорее всего, потому что принцип работы один и тот же, присутствует и в демагоге, при обработке текста по словарю который содержит в правиле одно и тоже слово дважды, замена просто игнорируется
Правила в словаре:
- Код:
все равно=всё равнО я все=я всё
Текст:
- Код:
Но я все равно увидела. а потом, уже днем, они сделали ящик. Стандартный метод:
- Код:
Но я всё равнО увидела. а потОм, уже днем, они сделали ящик. Быстрый:
- Код:
Но я всё равно увидела. а потОм, уже днем, они сделали ящик.
к примеру, на текст в ~1500 омографов (250 тыс. символов) получается 35 несовпадений по одному и тому же словарю, причем не в пользу быстрого метода 
а вопрос такой - это нормальная ситуация (те самые 2-3%) или что-то делается не так и есть какие-то тонкости в использовании таких правил в словаре? |
|
|
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | 29.09.10 19:48 |  |
| - flegont пишет:
- правило "я все=я всё" - неверное.
да, но это пример для одной строки текста 
- balabolka пишет:
- В "быстром" методе программа "перемещается" по тексту, слева направо, от слова к слову. Первым на пути программы встречается слово "я"; к этому слову подходит правило "я все=я всё"; оно и срабатывает. Другое правило не используется, так как слово "все" уже заменено на "всё".
допустим, но разве эти два правила не входят в одно "словарное гнездо" со словом "все"? тогда почему в рекомендации указывается, что
- Цитата :
- Желательно правила, попадающие в одно словарное гнездо, располагать в порядке убывания их длины
пример - одно "словарное гнездо", правила расположены в порядке убывания, первым срабатывает правило с наименьшей длиной, почему?
как в быстром методе задать принудительную сортировку правил? например в стандартном методе можно было по длине задать какое из правил будет применено к тексту первым, как это правильно сделать сейчас для быстрого метода с учетом добавления к методу множественных замен? другими словами как сделать так чтобы первым срабатывало правило все равно=всё равнО а не я все=я всё? |
|
|
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | 29.09.10 21:16 |  |
| - evilone_ пишет:
- разве эти два правила не входят в одно "словарное гнездо" со словом "все"?
Нет, не входят. В "быстром" методе самым главным словом - "словарным гнездом" - является самое первое слово в шаблоне. В выражении "я все" это будет слово "я", в выражении "все равно" - слово "все".
- evilone_ пишет:
- как сделать так чтобы первым срабатывало правило все равно=всё равнО а не я все=я всё?
Боюсь, это невозможно; мне ничего сейчас не приходит на ум. Другой вопрос - стоит ли активно использовать такое "наложение" правил?! Это может не сработать в "быстром" методе, но, если это сработает в "стандартном" методе, - результат может быть непредсказуемым. |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
evilone_ Участник «online словари»
Сообщений : 860
Репутация : 317
 | |
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | 30.09.10 1:14 |  |
| - Код:
все равно=всё Равно все равно=всё рАвно все равно=всё раВно все равно=всё равНо все равно=всё равнО Да, вот тут довольно "тонкий" момент. В "Демагоге" правила сортируются ТОЛЬКО ПО ДЛИНЕ; поэтому в случае, подобному описанному Вами, - когда совпадают и длина правил, и первые слова в них, - правила будут отсортированы случайным образом (и поэтому четвертое правило вдруг стало первым).
Насколько помню, я тоже столкнулся с такой проблемой при сортировке правил, и чтобы обеспечить однозначный порядок строк в результирующем списке, программа сравнивает не только длины шаблонов, но, - если длины правил одинаковые, - сравнивает их ПОЗИЦИИ В ИСХОДНОМ СПИСКЕ правил. В "Балаболке" правило "все равно=всё Равно" всегда будет располагаться выше в результирующем списке, чем правило "все равно=всё равнО" из того же словаря, - потому что в исходном списке правил одно правило было выше другого.
Повторяю: если сравнивать только длины шаблонов правил, то процедура сортировки может расположить правила с одинаковыми длинами в совершенно произвольном порядке. Добавить одно правило в редакторе, удалить одну строку - и в следующий раз порядок правил будет уже другим. Это создаст проблемы при редактировании и применении словарей. |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | 30.09.10 9:38 |  |
| Порядок правил в словарях - очень тонкая тема. Для ИНИ-словарей ответ однозначный - порядок - железно важен и не имеет значения, какие правила длиннее. Как, например, они в словаре СИ.ini расположены, в том порядке и работают. Иначе - просто работать не будут, так как задумано. Со словарями ДИК - все намного таинственней. Я не решаюсь определить в этом вопросе "единственно верный путь". Бывало, сталкивался с ситуациями (в классическом методе), когда боле короткое правило, хоть тресни, но должно было бы быть применено первым, иначе рез-ты получались из ряда вон... И что делать? Так что, сортировка дик-правил в порядке убывания длины - это просто выбор наименьшего из возможных зол, хоть какой-то маяк во тьме  Может быть, каким-то образом некоторым правилам приписывать "рейтинг"? Есть рейтинг - стройтесь по рейтингу; нет рейтинга - стройтесь по росту... ??? Учет первоначального положения правил - это уже что-то вроде назначения рейтинга, хотя при неосторожной правке исходного словаря и тут возникнут проблемы. В общем - вопрос открыт для обсуждения  |
|
|
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | 30.09.10 10:46 |  |
| flegont Порядок правил в исходном списке - это единственное, что я смог придумать, единственное, за что можно "зацепиться" без серьезных изменений формата словаря (как мне кажется). Кстати, в этом случае играет роль и алфавитный порядок имен файлов словарей: при формировании исходного списка правил сначала считываются строки из первого словаря (они получают номера 1, 2, 3, ...), затем из второго по списку словаря (1001, 1002, 1003, ...) и т.д.
Вам придется как-то решать это проблему, тем более что пользователи в лице evilone_ уже обратили внимание на странности в сортировке одинаковых правил. Функция сортировки SortByLenDegrad в Вашей программе не должна просто возвращать "0" для одинаковых по длине правил - потому что сортировка строк при таком обилии "нулей" будет случайной. Подключили еще один словарь на панели словарей - будет один порядок правил, отключили - правила с одинаковой длиной поменяются местами или вообще перемешаются.
Я согласен с Вами, что нужно искать какое-то эффективное решение для этой проблемы. Совсем не наставиваю, что мой вариант идеальный и единственно правильный; просто я не смог придумать ничего другого. |
|
|
 | |
balabolka V.I.P.
Сообщений : 1212
Репутация : 986
 | 30.09.10 15:43 |  |
| Конечно, не нужно и преувеличивать серьезность этой проблемы. Подавляющее большинство правил одной длины могут располагаться в абсолютно любом порядке, и их применение не зависит друг от друга. Сложности могут возникнуть только с теми парами правил, которые:
- имеют одинаковую длину;
- начинаются с одного и того же слова (если используется "быстрый" метод);
- левые части правил либо абсолютно одинаковые, либо очень похожи (например, один шаблон полностью умещается внутри другого шаблона правила).
Еще может возникнуть проблема с теми правилами, которые активно меняют один и тот же текст, - тогда порядок применения правил играет роль.
Как автор программы, работающей со словарями формата DIC, я, естественно, заинтересован в единообразном порядке сортировки правил. Поэтому и описал так подробно, как именно решается проблема в "Балаболке"; использовать или нет мой способ - решать автору "Демагога". |
|
|
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | |
 | |
flegont V.I.P.
Сообщений : 355
Репутация : 475
 | 11.12.10 11:00 |  |
| "Химические" опыты с INI-словарями
(в помощь изучающим английский язык)
Примеры мини-ini-словариков. Отсутствие ошибок НЕ гарантируется . Исправления, доработки, новые идеи - приветствуются.
---------------------------------------
_По_словам.ini #Чтение текста "по словам". После каждого слова ставится точка (\w+)=$1.
----------------------------------------
_Слова_трижды.ini #Каждое слово повторить 3 раза (\w+)=$1 $1 $1
-----------------------------------------
_Строки_трижды.ini #Каждую строку повторить 3 раза ([\w\x20\.\,\!\?"\-]+\r\n)=$1$1$1
------------------------------------------
Я_Билингва_SAPI5.ini #Выделить английские фрагменты в тексте ([A-z\.\,\!\?\-\x20]+)=<eng>$1</eng> <eng>([\!\?\.\,\-\x20]+)</eng>=$1 #И вставить теги конкретного английского голоса #<eng>=<voice required="Name=Microsoft Anna"> #<eng>=<voice required="Name=Microsoft Mary"> #<eng>=<voice required="Name=Microsoft Sam"> <eng>=<voice required="Name=Microsoft Mike"> </eng>=</voice>
ЗЫ. Этот словарик не работает с версиями Демагога ниже 165.
ЗЫ.ЗЫ. Первые 3 словарика подключаются только по одному, а не все вместе. Но каждый из них можно комбинировать с Билингвой. Названия словарей выбраны так, чтобы Билингва всегда выполнялась в последнюю очередь, иначе будет ошибка.
ЗЫ.ЗЫ.ЗЫ. Больше всего мне понравились комбинации голосов Николай-Майк и Алена-Мери . Но Майк и Мери не работают под Windows 7. -------------------------------------------
ПРОВЕРОЧНЫЙ SIMPLE TEST ТЕКСТ
Выйду на поле в мятых трусах коричневых, Знаю в футболе пару финтов гарринчевых, На деревяшке выжгу тебя паяльником, Скину рубашку, спрячусь под пододеяльником.
I love you, baby. I just believe in what you say. Yes. It is table. And it was table yesterday. I love you, baby. Baby, you love my "имидж". O-o. I am crazy. I can speak English!
Я - очень умный, Есть во мне божья искра... "О" - это буква, "0" - это цифра!
 |
|
|
 | |
evmir_troll-hunter Admin
Сообщений : 628
Репутация : 208
 | |
 | |
|
Demagog (Демагог) |
---|