Автор Тема: Чем пофиксить е > ё малой кровью?  (Прочитано 316 раз)

Оффлайн artenaki

  • Давно тут
  • **
  • Сообщений: 184
Хотя бы явное.
В LibreOffice мучение.
Голосовой TTS движок хочет ё в тексте для правильного произношения.

Оффлайн artenaki

  • Давно тут
  • **
  • Сообщений: 184
Re: Чем пофиксить е > ё малой кровью?
« Ответ #1 : 01.04.2024 03:10:40 »
Как оказалось, проще воспользоваться каким-нибудь онлайн ёфикатором типа https://textometr.ru/yoficator (в том числе показывает спорное для ручной правки) или нейросетью.
Хорошие решения по прежнему приветствуются.

Оффлайн artenaki

  • Давно тут
  • **
  • Сообщений: 184
Re: Чем пофиксить е > ё малой кровью?
« Ответ #2 : 01.04.2024 05:49:20 »
Нашёл вот такой инструмент на nodejs https://github.com/e2yo/eyo
Но safe режим несколько хуже, чем у https://textometr.ru/yoficator
https://textometr.ru/yoficator немного продвинутей и учитывает слово рядом. Например, фиксит "о чем". Хоть, "чем" и unsafe слово (бывает "чем", бывает "чём"), но "о чем" без ё никто не скажет, так что это фиксится. А nodejs это не фиксит. И подобное. Где-то 3% на такие фиксы приходится.
Вообще в идеале хотелось бы safe авто исправлений (+ немного продвинутости по анализу соседнего слова) и запрос на unsafe с показом контекста.

Оффлайн artenaki

  • Давно тут
  • **
  • Сообщений: 184
Re: Чем пофиксить е > ё малой кровью?
« Ответ #3 : 01.04.2024 07:29:28 »
https://vgiv.narod.ru/yo/yo.html под wine32 задаёт вопросы, на мой взгляд излишне много. Исправляет слова вроде темно-коричневый, в отличии от предыдущих.

Оффлайн ProfessorNavigator

  • Давно тут
  • **
  • Сообщений: 214
Re: Чем пофиксить е > ё малой кровью?
« Ответ #4 : 01.04.2024 14:08:09 »
Расширение oofbtools для Libreoffice вроде бы умеет.

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Чем пофиксить е > ё малой кровью?
« Ответ #5 : 01.04.2024 14:22:59 »
учитывает слово рядом. Например, фиксит "о чем". Хоть, "чем" и unsafe слово (бывает "чем", бывает "чём"), но "о чем" без ё никто не скажет, так что это фиксится.
   Слишком примитивный критерий. Какое слово рядом поможет отделить "не о чем" от "ни о чём", черта и чёрта? Таких пар достаточно много, и на каждую свой отдельный набор из нескольких правил. А есть ещё падежи, склонения, спряжения, разные части речи и т.д. Чтобы программа могла автоматом правильно делать замены нужен полный семантический разбор текста, с учётом контекста. Это ё на е заменить можно простым поиском/заменой. В обратную сторону куда как сложнее.

Расширение oofbtools для Libreoffice вроде бы умеет.
Умеет, только не слишком хорошо. В неравнозначных парах либо не поставит ё там где надо, либо поставит там где не надо. Проверять это уже придётся вручную.

Оффлайн ProfessorNavigator

  • Давно тут
  • **
  • Сообщений: 214
Re: Чем пофиксить е > ё малой кровью?
« Ответ #6 : 01.04.2024 17:22:36 »
Умеет, только не слишком хорошо. В неравнозначных парах либо не поставит ё там где надо, либо поставит там где не надо. Проверять это уже придётся вручную.
Не знаю - не проверял. Только видел, что там такая функция есть.

Ещё один вариант - установить languagetool в Libreoffice, словарь hunspell-ru-aot или hunspell-ru-lebedev-io и править всё вручную.

Оффлайн artenaki

  • Давно тут
  • **
  • Сообщений: 184
Re: Чем пофиксить е > ё малой кровью?
« Ответ #7 : 01.04.2024 22:17:53 »
В обратную сторону куда как сложнее
Исправить можно многое на автомате, если есть база с примерами и только по мелочи спрашивать.
Но никто-же не озаботился продвинутой удобной ёфикацией.
yo wine32 спрашивает у меня совершенно дурацкие вещи, например "сто лет" с е или ё. Или "на кой черт". Я же говорю, нужна просто база с популярными примерами. Сразу 99% покроет, избавит от хлопот пользователя.

Фишка в том, что если даже прогнать автозаменой, утилиты всё равно будут спрашивать (уточнять).
« Последнее редактирование: 01.04.2024 22:19:51 от artenaki »

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Чем пофиксить е > ё малой кровью?
« Ответ #8 : 02.04.2024 00:23:51 »
Ещё один вариант - установить languagetool в Libreoffice, словарь hunspell-ru-aot или hunspell-ru-lebedev-io и править всё вручную.
   В больших текстах будет довольно утомительно. А результат тот же, что и с ёфикатором OOoFBTools (который таки часть работы автоматом сделает).

Исправить можно многое на автомате, если есть база с примерами
...
Сразу 99% покроет
   Такая база будет немаленькой, и чтоб её собрать нужно хорошенько поработать. А пока даже сколь-нибудь списка неоднозначных пар слов нет. Да и будет там совсем не 99%, даже не близко.

Фишка в том, что если даже прогнать автозаменой, утилиты всё равно будут спрашивать (уточнять).
   OOoFBTools и LanguageTool спрашивать не будут, они неоднозначные пары просто проигнорируют. Поэтому от ручного поиска по тексту и проверки всех вхождений "ё" и слов наподобие "все" не избавят.

   В последних версиях LO появилась возможность использовать проверку грамматики, орфографии, пунктуации онлайн. Вот этим не пользовался и не могу сказать насколько оно обучено русскому языку и букве "ё". Я в LO помимо прочего и документы редактирую, а в случае с документами даже само наличие подобного кода недопустимо (пускай даже и отключённого в настройках).
« Последнее редактирование: 02.04.2024 03:29:18 от stranger573 »

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Чем пофиксить е > ё малой кровью?
« Ответ #9 : 02.04.2024 12:51:11 »
yo wine32 спрашивает у меня совершенно дурацкие вещи, например "сто лет"
   Не дурацкие. Программа не может понимать смысла написанного. У неё есть в списке для сопоставления "лет/лёт", вот и спрашивает. А что там сто или миллион сто ей безразлично. Поэтому алгоритм с примерами всегда будет работать плохо. Вот в данном конкретном случае в базе должны быть все комбинации от "пять" до бесконечности (исключая где пишется "год/года"). А есть ещё "много/мало лет" и т.д. Для только одного частного случая — бесконечное количество примеров.
   По своей сути ёфикация — это восстановление утраченной информации, задача совсем не простая и не во всех случаях может быть выполнена на 100%. Например, одно предложение из одного слова "Все". Там "е" или "ё" должно быть? Это знает только тот кто его написал. Все остальные будут гадать, но не знать.