Форум » Справочная » Пользовательские словари » Ответить

Пользовательские словари

KOMODOR: Представляю на суд свои словари. 1. Слова исключительно нарицательные и почти все - с подстановочными знаками. 2. Ученые 3. Писатели 4. Политические деятели. 5. Античность Словари, конечно, неполные, зато в них самое основное. Настоятельно рекоммендую не бездумно вставлять, а просмотреть вручну, благо они не очень большие. ссыль

Ответов - 43, стр: 1 2 3 All

Cminant: smochinin пишет: я просто думал, что и в пределах словаря более низко стоящее слово перекрывает вышестоящие Как раз таки наоборот: чем "выше" расположено правило в общей коллекции, тем выше его приоритет в случае нескольких перекрытий фрагмента текста. Порядок загрузки строго последовательный: [pre2] 01_Словарь1.dic\праивло1 #1 01_Словарь1.dic\праивло2 #2 01_Словарь1.dic\праивло3 #3 02_Словарь2.dic\праивло1 #4 02_Словарь2.dic\праивло2 #5 03_Словарь2.dic\праивло3 #6 ...[/pre2] индекс правила после "#" определяет его приоритет (чем меньше, тем предпочтительнее)

smochinin: тогда жизнь удалась!

smochinin: У меня всё почти разрешилось. Непередаваемое спасибо MoppoH'у за словари. От них я и пляшу. Первое, обнаружил волшебную полезность кнопки "Искать однокоренные слова" в Редакторе словарей, которая, в сочетании с фильтром Автофильтр словаря ударений, позволила многим словам из Словаря 7 Простые выражения, отбросив хвосты и усы, вознестись к Слова со звёздочкой. Второе, сегодня проснулся с идеей все слова со звёздочкой короче или состоящие из 6 букв, перенести в отдельный словарь, который будет обрабатываться раньше, а всё, что длиннее будет, при случае, исправлять слишком усеченные правила. UPD. Вторая идея не подходит. Перечитал справку и, как я понял, верхнее правило из словаря ударений выводит слово из оборота ВООБЩЕ, и второе правило в том же блоке уже это слово не видит. Тогда получается что при сортировке от больших слов к меньшим, большие выводят из проверки наиболее подходящие слова, и так далее?


MoppoH: Сначала текст лучше обрабатывать словарями где слова длинные или словосочетания, бывает такое что есть словосочетания типа сте<ны го<рода, в тексте может встретиться рушились сте<ны го<рода, а в словаре Регулярные выражения есть такое правило рушились (какие то еще слова) города<, и вот если стены города идут в словаре раньше, то Рег выражение рушились ........ города уже не будет исправлено

smochinin: Спасибо за совет!!! Я исхожу из того, что Ваши словари уже расставлены в нкжном порядке. Я лишь седьмой подредактировал с помощью поиска однокоренных слов. Бесконечное спасибо за возможность ими пользоваться!

smochinin: Здравствуйте! У меня опять наболело, и я пришел сюда. Подскажите, пожалуйста, можно ли как-нибудь заменить одни куски слова другими при помощи словарей, не теряя при этом ударения, проставленного основной группой словарей? Я имею в основном словаре зазвёздоченные огрызки, типа *кручива* *качива* *хажива* *лажива* *свистыва* и в том же духе. После обработки словарями получаю покачивающиеся, Закруучивающийся, прохаживающегося, разглаживающего и прочие. И вот вопрос, можно ли одним правилом в постобработке заменить все *чивающегося *щивающаяся и прочие, на чивыющивося шивыющаяся, не затрагивая уже проставленных ударений? Пробовал в постобработке ввести правило *чивающегося=чивыющивося, но в режиме отладки словарей это правило не применяется...

MoppoH: заменить то можно, но в таком слове чивыющивося 100% ударение будет не правильное, а так ты все правильно написал, если в словарь добавить *гося=вося то он заменит все окончания гося на вося

smochinin: Как это заменить. Постобработка не реагирует((( Мне надо, чтобы ударение оставалось с предыдущего этапа обработки...

MoppoH: может я чего не так понял, но принцип такой, есть допустим слово собирающегося 1 добавляем в любой словарь такое правило *ирающе*=ира<юще 2 добавляем в словарь постобработки *гося=вося

smochinin: Спасибы, заработало! *чивыющивося ни в какую не видит, а *вося увидел за милую душу!

smochinin: Вчера ударился об косяк и потом всю ночь мучался вопросом, а всё таки, что программа быстрее обрабатывает - простые одиночные слова или слова со звёздочкой? Может, я глупость делаю, разделвая слова как хамсу - обрубая хвосты и головы? Я просто представил, что прога видит целое слово и с радостью и без вопросов использует его, а слово со звёздочкой приходится примерять к каждому слову...

MoppoH: зачем программе слово со звездочкой применять к каждому слову, он так же ищет похожее как и слово без звездочки, если одно слово со звездочкой заменяет 10 без нее то обработка будет быстрее, так как ему придется только раз проверить текст на слово со звездочкой и заменить все одинаковые, а не 10 раз проходить текст для каждого слова

smochinin: Тогда ура, разделываю дальше!!! У меня вот ещё какой вопрос: никто не встречал на просторах инета словарь для произношения английских слов? Билингву не получается использовать, в импорте нажал галочку Билингва, а где движок выбирать не понял... А в книге каждая глава англостишком начинается...

MoppoH: вообще то на компе должен стоять англ движок, посмотри панель управления-распознавание речи в настройке программы надо выбрать его

smochinin: Спасибо, нашел! RHvoice Alan.

Cminant: smochinin пишет: а всё таки, что программа быстрее обрабатывает - простые одиночные слова или слова со звёздочкой? Одиночные слова (без звездочек, пробелов, или пользовательских регулярных выражений) обрабатываются быстрее за счет оптимизации простых правил (см. настройки программы, раздел производительность->обработка текста). Вообще правила бывают двух видов: регулярные выражения, и записи в хэш таблице. Правила со "звездочками" на самом деле так же относятся к рег. выражениям, т.к. программа автоматически перестраивает их во время загрузки по принципу "кот*"->"\bкот" "*гося" -> "гося\b" и т.д. Сделано это для совместимости со старыми словарями, а так же для удобства: звездочки легче вводить т.к. не нужно переключать раскладку, в отличие от "\b", а так же они смотрятся нагляднее и проще для понимания пользователем, не знакомым с регулярными выражениями в принципе. Суть оптимизации в том, что все правила из одного слова сводятся к одному регулярному выражению \b\w+?\b , совпадения которого потом дополнительно скаинируются по двум хэш таблицам (одна с чувствительностью к регистру, вторая - без). Поскольку поиск по хэш таблицам на порядок быстрее обработки каждого отдельного выражения, время обработки всех оптимизированных записей сравнимо со временем обработки каждого отдельного "неоптимизированного" правила со звездочкой, рег выражением, или из нескольких слов с пробелами и прочими разделителями. В окне списка словарей есть кнопка "Info" которая покажет общее кол-во правил и сколько из них оптимизированы. В данном случае 96606 оптимизированных правил приблизительно равны по времени обработки одному правилу на основе регулярных выражений, что дает выигрыш в скорости примерно в 3 раза. P.S. в текущей версии обнаружился баг: оптимизацию нельзя отключить в настройках, соответствующий чекбокс попросту игнорируется.

smochinin: Дозвёздочился.. у меня 58 процентов оптимизированных правил и в день по 150 зазвездоченных правил. У меня теперь 18000 правил зазвёздочены и 658 повторов.... А впрочем, если не записывать по 60 килокниг масштаба Войны и Мира, то оно не очень существенно. Огромное спасибо за обстоятельный ответ.

MoppoH: получается что слова яйцеголов яйцеголовая яйцеголовому яйцеголовых яйцеголовым яйцеголовыми яйцеголового яйцеголовое программа обработает быстрее чем яйцеголов* при такой статистике обработка книги 8-10 часов у меня занимает около 3-5 минут (Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz Intel64 Family 6 Model 42 Stepping 7 3311MHz RAM: 8173MB)

smochinin: таки да. У меня с уменьшением числа простых слов, прога всё дольше и дольше обрабатывает. Ну ничего, сначала забью все слова со звёздочками, а потом просто буду их распушать до разных слов. Я ведь правильно понимаю, что слова со звёздочкой удалять не придется, тк они у меня идут 07 номером, а простые слова 03 номером. Прога ведь будет брасть простые слова раньше и выводить их из анализа и преобразования. То есть она сначала заберет простые слова яйцеголов яйцеголовая яйцеголовому яйцеголовых яйцеголовым яйцеголовыми яйцеголового яйцеголовое А уже оставшиеся будет примерять к яйцеголов*.

MoppoH: действительно, книгу в 11 часов словарем с простыми выражениям проверило за 22 секунды, а вот словарями со звездочкой и рег выражениями проверило уже за 40 секунд пы.сы. если что вот тут есть словарь с простыми выражениями на 120 000 слов и выражений



полная версия страницы