Омографы
|
|
Admin | Дата: Пятница, 30.07.2021, 02:01 | Сообщение #1 |
Группа: Администраторы
Сообщений: 140
Статус: Offline
| Начало темы здесь (ссылка на архивную копию форума mytts.info)
|
|
| |
tonio_k | Дата: Пятница, 11.02.2022, 16:43 | Сообщение #2 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| Корпус слов с расставленными ударениями (только) для целевого омографа взятый из Национального корпуса русского языка Корпус собирался в автоматисческом режиме (wget+lua скрипт для Демагога) с удалением всех ударений кроме омографов.
|
|
| |
tonio_k | Дата: Среда, 05.10.2022, 15:25 | Сообщение #3 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| Корпус слов "Омографы" создан на основе более 48000 книг. Представляет собой более тысячи (по количеству омографов) текстовых файлов в ANSI кодировке в разрезе каждого отдельного слова-омографа. Название файла соответствует слову-омографу. Весь текстовый файл - это строки с найденными в книгах предложениями, которые содержат соответствующее слово-омограф. Корпус слов "Омографы" может пригодиться составителям словарей для сбора статистики, выявления закономерностей и анализ целесообразности добавления правила в словари.
|
|
| |
wasyaka | Дата: Четверг, 06.10.2022, 07:54 | Сообщение #4 |
Группа: Модераторы
Сообщений: 35
Статус: Offline
| Цитата tonio_k ( ) Корпус слов "Омографы" ТРЕБУЕТ ПАРОЛЬ...
|
|
| |
tonio_k | Дата: Четверг, 06.10.2022, 09:52 | Сообщение #5 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| Цитата wasyaka ( ) ТРЕБУЕТ ПАРОЛЬ В описании в самом низу
UPD добавил в двух местах в описании и выделил цветом
Сообщение отредактировал tonio_k - Четверг, 06.10.2022, 10:19 |
|
| |
tonio_k | Дата: Четверг, 06.10.2022, 19:38 | Сообщение #6 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| wasyaka, корректировка файла "все.txt" из корпуса слов. Отдельно скидываю, пока перезаливаю весь Корпус слов Омографы. Предыдущий "все.txt" был немного кривой - он не открывался через скрипт ===================ПОИСК ПО ШАБЛОНУ.lua Этот скрипт должен был открывать "все.txt" построчно (тем самым не перегружая память), а тут из-за кривизны весь файл выглядел как одна строка и перегружал память. К стати, пока идет сбор совпадений, если показалось, что найденного материала уже достаточно, можно нажать Ctrl+P (или что там у вас останавливает работу скрипта) тогда скрипт остановится с выводом найденных строк на момент прерывания
Сообщение отредактировал tonio_k - Четверг, 06.10.2022, 20:05 |
|
| |
wasyaka | Дата: Воскресенье, 09.10.2022, 08:48 | Сообщение #7 |
Группа: Модераторы
Сообщений: 35
Статус: Offline
| Цитата tonio_k ( ) Корпус слов "Омографы" создан на основе более 48000 книг Слишком много книг и соответственно - много одноразовых пар - слово + омограф... А извлечь омографы из пару тысяч книг? (был у тебя такой скрипт, но гавкнулся винт и...)
|
|
| |
tonio_k | Дата: Воскресенье, 09.10.2022, 13:58 | Сообщение #8 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| Цитата wasyaka ( ) А извлечь омографы из пару тысяч книг? Так корпус слов это и есть основные омографы из 48 тысячи книг. Все основные омографы уже найдены и собраны каждый - в отдельный одноимённый файл. Самое трудное было поиск дубликатов, но не дубликатов строк в книге (это искажает статистику повторяемости популярных выражений), а дубликатов книг, когда имеем несколько книг и одна из них является сборником-сериалом остальных маленьких книг или когда одна из книг является сборкой лучших книг, когда в одной книге несколько книг из разных источников. А особенный геморрой, это дубликаты разных переводов, когда совпадениий 20, 30 50 + строк. Вроде бы дубликат книги, а вроде и нет. Приходилось выставлять порг чувствительности.
Повторение пар в разрезе омграфа - идея в том, что бы была видна статистика частоты встречаемости этих повторений в тысячах книг. Например, создаём не стандартное правило dic. И сомневаемся, а имеет ли смысл его заносить в словари? Такое словосочетание больше нигде не встретиться или, все же, вероятность есть? А может этот поисковый запрос слишком поверхностный. И поменяй в одном, заденет там, где менять не надо? Для этого запускаем скрипт (ссылка на скрипт в комплекте ) указываем левую часть правила в поисковом запросе и получаем сотни/тысячи совпадений или вообще ни одного на 48 тысяч книг.
Цитата wasyaka ( ) Слишком много книг и соответственно - много одноразовых пар - слово + омограф Корпус слов омографов. Это все, что вытащено из десятков тысяч книг. Вам осталось воспользоваться скриптом Демагога: ===================ПОИСК ПО ШАБЛОНУ.lua С его помощью можно извлекать любые строки по любому из имеющихся способов (rex , lua, dic) и помещать их в окно статистики. Затем содержимое окна статистики перенести в другое окно, и по этому окну при помощи того же скрипта делать дополнительные уточняющие поиски по содержимому окна. Если нужен корпус по какому-либо ещё слову, скажите, я сделаю. Только желательно накопить сразу список слов, а не по одному слову. Особенность работы скрипта по сбору корпуса слов, что увеличение количества искомых ключевых слов не влияет на скорость его работы. А крутится он всю ночь. Потом ещё склеивать отрезки.
Цитата wasyaka ( ) (был у тебя такой скрипт, но гавкнулся винт и...) Наверно, это тот самый скрипт, которым я этот корпус делал? Скину позже в личку
UPD скрипт поиск по шаблону ещё доработать надо. Но пока в целом работает
Сообщение отредактировал tonio_k - Воскресенье, 09.10.2022, 14:33 |
|
| |
tonio_k | Дата: Среда, 12.10.2022, 18:11 | Сообщение #9 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| Видео Пример использования корпуса слов "Омографы"
|
|
| |
adelantado | Дата: Вторник, 22.11.2022, 21:30 | Сообщение #10 |
Группа: Пользователи
Сообщений: 7
Статус: Offline
| дополню по корпусу омографов.
вот тут я веду набор скриптов под bash для обработки книг и устранения омографов. Оно для гугло-ттс, потому что я им в данным момент пользуюсь.
Так вот там, в файлах mano-lc.txt, mano-uc.txt лежит список найденных омографов, примерно по 10К слов в каждом. Списки отдельные для слов с заглавной и строчной букв. То же самое для ё-омографов в файлах yomo-*, но с ними я особо не работаю отдельно и там довольно много экзотики и мусора из первоисточника. Это довольно полный список, но там не всё - регулярно натыкаюсь на что-то новое.
|
|
| |
reborn00 | Дата: Среда, 08.02.2023, 13:43 | Сообщение #11 |
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Цитата adelantado ( ) набор скриптов под bash морфологический анализ текста по словарю - это интересная мысль. Сейчас решения rex и dic словарей в прогах демагог и балаболка похожи на бесконечный процесс добавления правил для каждого рядом стоящего слова или их окончаний. В вашем случае можно привязываться к падежам слов и их числу, что будет по идее иметь больший охват и более быструю работу. Но интересно как оно оказывается на практике.
|
|
| |
tonio_k | Дата: Четверг, 09.03.2023, 18:42 | Сообщение #12 |
Группа: Пользователи
Сообщений: 162
Статус: Offline
| Цитата reborn00 ( ) можно привязываться к падежам слов и их числу, что будет по идее иметь больший охват и более быструю работу. делали подобное на питоне. Т.к русский язык не такой простой и многое зависит от контекста, в итоге получаем по сути такой же набор правил, что и правила замен в словарях, только написанный программным языком. Общая статистически распространённая база, может и программируется, а потом начинается добавление и рост простых словарей (исключений) с заменами по контексту. Все эти программные правила (подавляющее большинство ) можно прописать регулярными выражениями в привязке к окончаниям либо правилами замен dic со звездочками. И в итоге получаем тот самый:
Цитата reborn00 ( ) бесконечный процесс добавления правил для каждого рядом стоящего слова или их окончаний.
И ещё один важный момент, "Программный" словарь доступен к пониманию далеко не каждому пользователю и не всякий научится/захочет его пополнять. А простые словари - они и есть простые, переносимые, подлежащие анализу и пакетной оптимизации (кроме регулярок) и доступны к пониманию и освоению большинству пользователей.
|
|
| |
adelantado | Дата: Четверг, 16.03.2023, 08:24 | Сообщение #13 |
Группа: Пользователи
Сообщений: 7
Статус: Offline
| Цитата tonio_k ( ) делали подобное на питоне. *делает. правда на питоне только часть, вытягивающая анализ из spacy, большая модель 3.5.0, (она же наташа). т.е. повторение попытки Lecron, собственно его работой и навеяно. буквально вчера подключил spacy и для пары все/всё процент ошибок не менее 30%. Т.е. уйти от ручного написания правил не получится и потребуется тонкая настройка в том числе спуск не уровень отдельных случаев.
Пока все выглядит так: - обработка на основе лексической информации из словаря Хагена. она неполная, например управления глаголов там нет, и по имеющимся признакам его слишком часто не определить. Для понимания, его можно проставить и я это делаю, но речь идет и миллионах словоформ, где невозможно по формальным признакам определить управление и нужно спускаться на смысловой уровень.. т.е. коррекции возможны только в рабочем порядке и только после нахождения ошибки - я не нейросеть и не НИИ. - затем те самые пресловутые правила с бесконечными дополнениям - и только потом лексическая информация из spacy
Однако, точно эта конструкция работает довольно быстро. Мой тестовый файл из 52К строк обрабатывается за 40 секунд и еще база spacy делается за 3 минуты, но это разовый запуск.
На самом деле, имеет смысл развивать разные инструменты с разной методикой и сравнивать их результаты. И желательно организовать обмен готовыми вылизанными человеком текстов со снятой омографией для отлова ошибок. А так, не думаю, что на данный момент "универсальная таблетка" возможна.
|
|
| |
Lecron | Дата: Воскресенье, 11.06.2023, 13:15 | Сообщение #14 |
Группа: Пользователи
Сообщений: 24
Статус: Offline
| Цитата adelantado ( ) пары все/всё процент ошибок не менее 30% Правило все=все`|мест мн|опр мн| : всё|мест ед|опр ед|сущ мн|союз|нар|част|межд| для Natasha дает исчезающе малое количество ошибок.
Для омографов скорее надо разделить на формы в пределах одной нормальной формы (словообразование), например бе`льма/бельма` и вроде бы разрешаемые морфологические, но произошедшие от разных слов, например СУЩ жр мн бе`лок / СУЩ мр ед бело`к. С первыми Наташа справляется удовлетворительно, а со вторыми отвратно. Впрочем и среди первых есть сложности с глаголами — переходной/непереходной, совершенный/несовершенный. А для вторых проще оперировать не склонениями в правилах, а нормальными формами контекста. Что опять приводит к программной обработке. Более того, контекст можно собрать тоже программно. Пара омографов существует не для всех словоформ. Например для бе`рет из пары бе`рет/берёт их можно собрать для берета, берету, беретом. А для пресловутого за`мок/замо`к можно собирать по синонимам — дворец, особняк, поместье, задвижка, замочек, запор, засов.
P.S. Кстати, почему совершенный, а не совершЁнный? Во втором случае, понять суть признака намного проще. Она прям заложена в название.
|
|
| |
adelantado | Дата: Понедельник, 03.07.2023, 23:26 | Сообщение #15 |
Группа: Пользователи
Сообщений: 7
Статус: Offline
| Цитата Lecron ( ) Правило все=все`|мест мн|опр мн| : всё|мест ед|опр ед|сущ мн|союз|нар|част|межд|для Natasha дает исчезающе малое количество ошибок. всё равно альтернативный инструмент нужен. иначе эти ошибки обнаружить можно будет только случайно.
это как с pymorphy2. Расставил базовые формы в словаре. Ошибок именно исчезающе малое количество, но есть нюанс. "Пресловутая" пара "зАмок/замОк" потребовала правил с использованием базовой формы слова и обнаружилось масса ошибок. Процент мизерный, но попадается на каждом шагу.
"Замок" уже пару недель мусолю эту базу в 297К строк. Пока довёл до 75%. Думаю, до 90% довести или до момента, где уже перестану находить однозначность. Лучше всего работать не через синонимы, а через глаголы и только потом через синонимы и устойчивые сочетания. Мне так показалось, по крайней мере.
|
|
| |