Омографы

Ответить
Аватара пользователя
evmir_troll-hunter
Администратор

Омографы

#1

Сообщение evmir_troll-hunter » 09 авг 2018 02:23

Омографы — это разные слова, пишущиеся одинаково, но различающиеся ударением.
► Показать
Обновлены (исправлены, расширены...) словари для "ручного" поиска омографов в тексте (*.hmg)

:download: Расширенный
:download: Сокращённый
:download: Ё-омоформы
:download: Ё-омоформы (спецформат. для программы "Книгодел")
:download: Ё-омоформы (спецформат. для Loquendo TTS)

Редакция: evilone, retigor, good_cat, E. Miroshnychenko


Что такое hmg-словари?
hmg-словари - файлы со списками замен, каждая строка которых содержит перечень словоформ искомого омографа и его искомую форму в тексте; между ними стоит знак равенства (=). Левая часть - искомый фрагмент текста, правая часть - варианты его замены, перечисленные через запятую.
Например:
замок=зАмок,замОк
По умолчанию различие между прописными и строчными буквами при рассмотрении шаблонов не делается. Если регистр букв имеет значение, добавляют символ "$" в начало строки также как и в словарях .dic
$Толстой=тОлстой,толстОй
Данный формат словарей поддерживается программами "Homograph","Балаболка", "Demagog".

В отличии от прочих словарей, hmg-словари используются только для ручной разметки текста. И хотя это очень долго и у многих не хватает терпения возиться со всем этим, особенно если текст весьма объемный, использование данного способа разметки позволяет практически полностью снять омонимию в тексте выставив нужную форму с проставленным ударением.

Аватара пользователя
SZ-Vtk
Обыватель

Yandex TTS

#2

Сообщение SZ-Vtk » 16 июл 2019 23:41

Об одном способе борьбы с омографами

Омографы - позор любой знаковой системы, признание неспособности системы справиться с материалом. Разрешать омографы - увлекательное дело сродни возведению прекрасных мостов через предварительно выкопанные ямы.
Лучше всего с омографами борется сам человек читающий, чуть хуже нейронные сети, далее мы, составители словарей, программисты и говорилкослушатели разной степени образованности и склонности к пуризму, Следует заметить, что даже человек разумный не всегда может с этим справиться (по крайней мере в рамках предложения). Пример. "Большая часть пространства между ветвями галактик заполнена водородом и пылью". Если вы ранее не знали "бОльшая" или "большАя", из приведенного выше предложения вы этого точно не узнаете.То есть в общем случае задача восстановления осмысленного текста из обычного является в русской орфографии нерешаемой.

Теперь о нашем. Я по-прежнему считаю, что наилушим является двухэтапный метод:
1) с помощью внешней программы (лучше интернет-сервиса) переводим обычный текст в текст с "ё" и ударениями в омографах
2) с помощью средств конкретных движков устраняем дефекты речи.
Способы, которыми мы обычно пользуемся, например, "*", не всегда хороши из-за побочных эффектов, а вызвано их применение дефицитом времени и памяти. В случае внешней обработки, не имея ограничений ни того, ни другого, мы можем пользоваться только точными заменами. Кроме того, как это ни удивительно, для некоторые классов омографов можно обрабытывать весь класс целиком.

Среди 5500 омографов русской орфографии имеется небольшой класс (около 200 штук) омографов вида <и.п.мн.ч / р.п.ед.ч.>: руки, ноги, спины, лица, стены, города, реки, леса, горы, моря и т.д. Класс небольшой, но достаточно распостранённый. Чтобы правильно поставить ударение в омографах этого класса, достаточно определить в каком числе (ед. или мн.) стоит омограф, а это определяется видом части речи предстоящего слова. Таким образом, нужно иметь таблицу всех слов русского языка во всех формах с указанием части речи и (для прилагательных) числа.Тогда получаем:

<Существ><омограф> - ед.число //на берегу рекИ
<Глагол><омограф> - мн.число //текут рЕки
<Прич><омограф> - мн.число //мчащиеся рЕки
<Дееприч><омограф> - мн.число //изгибая рЕки
<Прил ед.ч><омограф> - ед.число //голубой рекИ
<Прил мн.ч><омограф> - мн.число //синие рЕки
мои,твои,наши,ваши<омограф> - мн.число //мои рЕки
моей,твоей,нашей,вашей<омограф> - ед.число //моей рекИ

Аватара пользователя
Nxtpr
Интересующийся

Yandex TTS

#3

Сообщение Nxtpr » 17 июл 2019 01:41

Усе уже сделано до нас https://goldlit.ru/component/slog, жаль не для нас.

Аватара пользователя
lplee
Обыватель

Yandex TTS

#4

Сообщение lplee » 17 июл 2019 10:36

Nxtpr писал(а):
17 июл 2019 01:41
Усе уже сделано до нас https://goldlit.ru/component/slog
Там ничего не сделано, обычный разбор предложения на отдельные слова и указание всех, в т.ч. канонической, форм слов

Аватара пользователя
lplee
Обыватель

Yandex TTS

#5

Сообщение lplee » 17 июл 2019 10:37

lplee писал(а):
17 июл 2019 10:36
Среди 5500 омографов русской орфографии имеется небольшой класс (около 200 штук) омографов вида <и.п.мн.ч / р.п.ед.ч.>: руки, ноги, спины, лица, стены, города, реки, леса, горы, моря и т.д
Составить правила для 200шт не проблема, никто ещё не сделал этого?
Вообще, для разбора текста есть неплохие библиотеки на Питоне. Я работал с одной из них (Gensim) для задач кластеризации текстов. Текст, семантические связи и тд понимает почти отлично. Вероятно можно найти и доработать что-нибудь для многострадальных ударений.

Аватара пользователя
Nxtpr
Интересующийся

Yandex TTS

#6

Сообщение Nxtpr » 17 июл 2019 11:31

lplee писал(а):
17 июл 2019 10:36
Там ничего не сделано
Словарные базы сделаны. Кое-где и размеченный текст для машинного обучения. Но не для свободного доступа. Это основа. Без нее ничего не сделаешь.

Аватара пользователя
lplee
Обыватель

Yandex TTS

#7

Сообщение lplee » 17 июл 2019 17:31

Nxtpr писал(а):
17 июл 2019 11:31
Словарные базы сделаны. Кое-где и размеченный текст для машинного обучения. Но не для свободного доступа. Это основа. Без нее ничего не сделаешь.
Не понимаю о чем вы. Выше написали про ударения исходя из конструкции предложения (падежи и тд), вы дали ссылку на сайт, где обычный пословный разбор.
Задам вопрос просто: как это "уже все сделано" поможет проставить ударения правильно?
Вполне вероятно я чего-то не знаю, но вы и не объясняете ничего толком, кроме "все уже есть". Без обид только.

Аватара пользователя
Nxtpr
Интересующийся

Yandex TTS

#8

Сообщение Nxtpr » 17 июл 2019 19:42

На что обижаться. Я к тому, что синтаксический анализ без соответствующих баз не сделаешь.
Почитайте https://habr.com/ru/post/148124/ Даже не статью - комментарии к ней.

Аватара пользователя
SZ-Vtk
Обыватель

Yandex TTS

#9

Сообщение SZ-Vtk » 17 июл 2019 20:34

Таблица всех слов русского языка с их синтаксическими характеристиками получается из известного словаря Зализняка (ок. 100000 слов) с помощью несложной программы или скриптов. И весь дальнейший анализ сводится к нахождению слова в таблице.

Аватара пользователя
lplee
Обыватель

Yandex TTS

#10

Сообщение lplee » 18 июл 2019 00:54

SZ-Vtk писал(а):
16 июл 2019 23:41
Почитайте https://habr.com/ru/post/148124/ Даже не статью - комментарии к ней
Да, уже читал ее, и много других по теме. Есть еще от ABBYY Compreno, сам не юзал, но читал, она тоже разбирает текст на составные части, так сказать, но ещё более мощно. Кажется даже смысл текста понимает. Жаль только - платная, и, если не изменяет память, только доя юрлиц. Но не важно.
Вы это хорошо затронули тему семантического анализа текста для простановки ударений. Если получится реализовать, это же будет унифицированное средство обработки текста для последующей прослушки/записи на любом движке и программе. А то сейчас куча словарей и скриптов, какие-то правила и исключения, сплошное нагромождение не всегда эффективных костылей.....

Аватара пользователя
lplee
Обыватель

Омографы

#11

Сообщение lplee » 18 июл 2019 15:19

evmir_troll-hunter писал(а):
09 авг 2018 02:23
Что такое hmg-словари?
hmg-словари - файлы со списками замен, каждая строка которых содержит перечень словоформ искомого омографа и его искомую форму в тексте; между ними стоит знак равенства (=). Левая часть - искомый фрагмент текста, правая часть - варианты его замены, перечисленные через запятую.
Например:
замок=зАмок,замОк
Подскажите, каким образом выбирается нужно слово из 2х? Ниже вы написали про ручной метод, но это не вариант, 20-ые годы на дворе все-таки.
Например, я работаю с программами Балаболка и Демагог, как я могу применить данные словари?

Аватара пользователя
balabolka
V.I.P.

Омографы

#12

Сообщение balabolka » 18 июл 2019 16:19

lplee писал(а):
18 июл 2019 15:19
Ниже вы написали про ручной метод, но это не вариант, 20-ые годы на дворе все-таки.
20-ые годы, и что?! Вы знаете, где можно взять готовый компонент/сервис/библиотеку/консольную программу, которая умела бы в автоматическом режиме распознавать омографы и расставлять ударения? (И желательно бесплатно.) Если бы было такое готовое программное решение, да еще для разных языков, то можно подумать об использовании его в "Балаболке". Но ничего подобного не было двенадцать лет назад (когда обсуждался вопрос об обработке омографов в "Балаболке"), нет и сейчас.

Вот было бы здорово, если российское государство выделило несколько миллионов рублей на разработку программы или сервиса, преобразующего любой документ в текст, который без ошибок смог бы прочитать речевой синтезатор. Расстановка ударений в омографах или даже во всех словах, расшифровка сокращений и формул, замена чисел словами и т.д. Нужна команда из филологов и программистов с хорошим финансированием; и чтобы результаты их работы могли быть бесплатно использованы любыми желающими (как сервис, как программная библиотека, как компонент для разных языков программирования...). Как бы это пошло на пользу продвижению русского языка в цифровом пространстве...

А пока я смог реализовать лишь "ручной метод" расстановки ударений в омографах. В "Балаболке" это пункт главного меню "Текст|Искать омографы". Программа будет просматривать текст от начала, искать слова-омографы и показывать плавающее окно с вариантами замены. Или можно выбрать пункт главного меню "Вид|Показывать|Омографы": в этом случае все слова-омографы из выбранного словаря будут подсвечены в тексте другим цветом. Можно щелкнуть правой кнопкой мыши на слове и выбрать вариант замены в контекстном меню.

Подробнее про словари омографов написано в файле справки "Балаболки". Словарь предусматривает и автоматические замены для выражений со словом-омографом (но реализована замена очень упрощенно, серьезным решением проблемы с офографами это назвать нельзя).

Код: Выделить всё

$Толстого=То<лстого,Толсто<го
||$Льва Толстого=Толсто<го
||$Льва Николаевича Толстого=Толсто<го

Аватара пользователя
lplee
Обыватель

Омографы

#13

Сообщение lplee » 19 июл 2019 00:01

balabolka писал(а):
18 июл 2019 16:19
Вы знаете, где можно взять готовый компонент/сервис/библиотеку/консольную программу, которая умела бы в автоматическом режиме распознавать омографы и расставлять ударения? (И желательно бесплатно.)
Нет, не знаю, но нужно искать.
balabolka писал(а):
18 июл 2019 16:19
ничего подобного не было двенадцать лет назад (когда обсуждался вопрос об обработке омографов в "Балаболке"), нет и сейчас.
Не соглашусь с вами. За последние несколько лет машинное обучение сильно ушло вперед, нейронки чуть не ежедневно удивляют, как с учителем, так и без.
balabolka писал(а):
18 июл 2019 16:19
А пока я смог реализовать лишь "ручной метод" расстановки ударений в омографах
За это вам большое спасибо! И за программу в целом! Но ручной метод это архаика, вы то точно это понимаете.
Сейчас я занимаюсь вопросом автоматизации этого момента, как будут результаты сразу вам обозначу.

Аватара пользователя
HaRpY
Наблюдатель

Омографы

#14

Сообщение HaRpY » 24 ноя 2019 17:47

Хотелось бы узнать мнение общественности о полноте и достоверности словарей омографов, находящихся в шапке текущей темы (total_omoforms.hmg и yo_total.hmg).
Как вы думаете, следует ли эти словари актуализировать или пусть остаются «как есть»?

Аватара пользователя
tonio_k
V.I.P.

Омографы

#15

Сообщение tonio_k » 25 ноя 2019 23:10

HaRpY писал(а):
24 ноя 2019 17:47
актуализировать или пусть остаются «как есть»?
мое мнение, оставить как есть. А смысл их править? Эти словари нужны в первую очередь тем, кто применяет ручной метод проверки омографов, причем таких пользователей не так уж и много.
Лично я к ним не отношусь. Кроме, разве что, все=всЕ,всЁ - это единственное что я могу себе позволить вручную проверить перед озвучкой книги :smile1:
В словарях выше представлены практически 95% всех встречаемых и хоть иногда употребляемых омографов в книгах.
5% - это настолько маленькая погрешность из очень редко встречающихся омографов, что актуализация словарей погоду не сделает - качество озвучки в целом не изменит.
Более того, со временем, пользователь так или иначе переходит к личному "сокращенному словарю" состоящего из наиболее часто встречаемых или, точнее, статистически часто двояко звучащих омогрфов. С таким словарем можно за относительно небольшой промежуток времени проверить все сомнительные омографы и приступить к прослушиванию книги.

Аватара пользователя
HaRpY
Наблюдатель

Омографы

#16

Сообщение HaRpY » 26 ноя 2019 11:31

tonio_k писал(а):
25 ноя 2019 23:10
Эти словари нужны в первую очередь тем, кто применяет ручной метод проверки омографов, причем таких пользователей не так уж и много.
Спасибо за высказанное мнение.
Мне кажется, что считать данные словари омографов исключительно словарями для ручной правки неправильно. При программной обработке текста (не регулярными выражениями), для того чтобы определить является ли конкретное слово омографом или нет тоже нужен подобный словарь. Вы же для ручной расстановки омографов, как раз и используете программу, которая с данным словарем работает.
tonio_k писал(а):
25 ноя 2019 23:10
В словарях выше представлены практически 95% всех встречаемых и хоть иногда употребляемых омографов в книгах.
Ох уж эти 95% :smile1:

Код: Выделить всё

архимед=архимЁд,архимЕд
tonio_k писал(а):
25 ноя 2019 23:10
Более того, со временем, пользователь так или иначе переходит к личному "сокращенному словарю"
Если личный «сокращенный словарь» представляет собой подмножество исходного полного, то это одно (нормально). Если в личном словаре есть омоформы, которых нет в исходном, то другое (плохо).
Может кто из разработчиков программ выскажется?

Аватара пользователя
tonio_k
V.I.P.

Омографы

#17

Сообщение tonio_k » 26 ноя 2019 12:26

Посмотрите словарь all_omographs.hmg идущий в комплекте с программой Homograph от ув. good_cat
https://mytts.info/viewtopic.php?f=22&t=81
Словарь выглядит актуализированным

Аватара пользователя
HaRpY
Наблюдатель

Омографы

#18

Сообщение HaRpY » 26 ноя 2019 12:43

Если я правильно разобрался, то all_omographs.hmg более древний (от 12.05.2017), чем словари в шапке (от 13.08.2018). Его же и использовали как источник:
good_cat писал(а):
27 июл 2018 18:37
Обновление программы Homograph
27.07.2018 Версия 2.0.0.379 (релиз программы)
(+) Словарь омографов пополнен и разбит на 2 словаря.
total_omoforms.hmg - основной словарь;
yo_total.hmg - словарь омографов Ё/Е.
P.S.
tonio_k писал(а):
26 ноя 2019 12:50
Ну тогда , если у вас есть Что добавить или предложение по изменению
HaRpY писал(а):
26 ноя 2019 11:31
Может кто из разработчиков программ выскажется?
Подождём, что скажут (и скажут ли вообще :boss: ) "начальники транспортных цехов"... Может они тоже считают оптимальным вариантом: оставить "как есть"

Аватара пользователя
good_cat
Администратор

Омографы

#19

Сообщение good_cat » 26 ноя 2019 14:29

Словарь омографов all_omographs.hmg был пополнен, очищен от найденных ошибок и разбит на 2 словаря:

total_omoforms.hmg - основной словарь;
yo_total.hmg - словарь омографов Ё/Е.

Тем не менее словарь all_omographs.hmg может быть полезен, если пользователю нужна частота
появления омографов в тексте.
Словари естественно не полны и вряд ли могут быть "окончательно пополнены", учитывая обилие словоформ русского языка.

В последнюю редакцию словарей не вошли некоторые омографы.
Например:

сети=сЕти,сетИ

т.к до конца не ясно, являются ли они нормой русского языка или
это профессионализмы (жаргон).

Аватара пользователя
HaRpY
Наблюдатель

Омографы

#20

Сообщение HaRpY » 26 ноя 2019 15:36

good_cat писал(а):
26 ноя 2019 14:29
В последнюю редакцию словарей не вошли некоторые омографы.
Например:

сети=сЕти,сетИ

т.к до конца не ясно, являются ли они нормой русского языка или
это профессионализмы (жаргон).
Думаю ничего страшного не произойдет если для "сети" ударение будет только "сЕти". Вроде бы смысл от этого не меняется, только субъективное восприятие. Считаю, что правильно исключили.

С другой стороны что-то вроде "инспекторА" (используемое вместо правильного "инспекторы"), вполне вероятно встретить в тексте (например: "А вы товарищи инспекторА, что думаете?" - обращение во множественном числе) . Ударение в другом месте уже искажает смысл. Подобные омографы, должны оставаться в словаре.

Ответить

Вернуться в «Омонимия»