Форум » Справочная » Вопрос: Посоветуйте, как выявить и удалить все дублирующие правила из набора разных словарей .dic » Ответить

Вопрос: Посоветуйте, как выявить и удалить все дублирующие правила из набора разных словарей .dic

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

Ответов - 4

Cminant: Пока что никак, такая возможность в редакторе словаей еще не реализована. Однако при загрузке правил группы "словари ударений", все шаблоны привязываются к хэш таблице, и повторыные записи пропускаются автоматически. Т.е. на производительность обработки словарями наличие дублей в группе "словари ударений" не влияет. Добавление в редактор инструментов для работы с файлами словарей (объединение, фильтр дублирующих записей, и т.п.) уже в планах, и будет реализовано в следующих версиях KooBAudio.

smochinin: Огромное и бесконечное спасибо за ответ. Просто попробовал разные словари и запутался в правилах. Теперь просто при анализе текста не скрываю имеющиеся в словарях и проверяю все слова в режиме метасловаря. И ещё при нажатии нижней левой кнопки i выводится инфо о 751 дублирующей записи. Так что буду чистить дальше. Ещё раз спасибо за такое сокровище KooBAudio (сам инвалид и общаюсь со слепыми, как же трудно было добыть аудиокниги...)!

odinokiyklaus: Внесу и я свои пять копеек. Для того, чтобы отсортировать и/или удалить дубликаты в одном словаре использую мега крутую пограмму - notepad++. В данной программе (устанавливаем русскую локализацию), при переходе на вкладку Плагины-> Plugin manager -> Show Plugin Manager находим плагин TextFX Characters (ставим галочку напротив него), и устанавливаем. После установки переходим во вновь появившуюся вклудку на панели "TextFX" -> TextFX Tools. Далее возможны варианты. 1. Чтобы отсортировать словарь по алфавиту нажимаем Ctrl+A (выделить всё) или выделяем часть теста которую надо отсортировать. Нажимаем на самую верхнюю строчку в выпадающем меню TextFX -> TextFX Tools -> Sort Lines Case sensetive (at columns) - Отсортировать линии в колонке по алфавиту. Данная команда только сортирует строчки и не более, о чём можно убедиться, опустившись к самому низу словаря и сравнить кол-во строк которое было до сортировки и после неё. 2. Для того, чтобы удалить дубликаты (именно дубликаты - в точности равные строчки и только - сам проверял) и отсортировать по алфавиту, перед сортировкой в меню TextFX -> TextFX Tools следует поставить галочку напротив строки +Sort outputs only UNIQUE (at columns), и выполить то, что описано в пункте 1 Хочу предупредить, если вдруг кто не знает, что в ловаре регулярные выражения могут стоять специально друг после друга в определённой последовательности - это сделано специально для того, чтобы реглярные выражения не накладывались друг на друга при обработке интерпритатором, и "первоочерёдные" выражения не были затерты "менее очерёдными". Кстати, чтобы таких казусов не было, можно использовать "расстусовку" этих регулярных выражений в пронумерованные списки, идущие следом друг за другом. Но это уже ранее оговорённые истины, поэтому не буду повторяться. Буду рад, если кому то помог.


odinokiyklaus: Кстати, кто интересуется сортировкой строк по длине из-за самого notepad++, то данная функция реализована в виде плагина. Переходим по ссылке linesort, качаем dll-льку, кладём её в папку c:\Program Files (x86)\Notepad++\plugins\ (путь при установке по умолчанию), и в меню плагины появляется выпадающее подменю Далее,, выделяем строки требующие сортировки по длине (длиные в начале), заходим в меню и выбираем опции сортировки по длине "Line Lenght" и "Sort Descending".



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