Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Text_Yoficator: Ёфикатор. Восстанавление буквы «ё» в русских текстах (Rin)
Author Message
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Thu Dec 11, 2008 5:21 pm (написано за 8 минут 12 секунд)
   Post subject: Text_Yoficator: Ёфикатор. Восстанавление буквы «ё» в русских текстах
Reply with quote

Ёфикатор. Восстанавление буквы «ё» в русских текстах

Project has been moved to code.google.com/p/php-yoficator/

Ё это не разновидность буквы Е, а совершенно самостоятельная буква.
Путём добра и правды введём букву ё в русский язык в полном объёме!
Более подробно об этом можно почитать на сайте Виктора Трофимовича Чумакова (yomaker.ru/), главного ёфикатора России.

НАЗНАЧЕНИЕ
Корректировка существующих и новых текстов, публикуемых посетителями на веб-сайтах.

ВОЗМОЖНОСТИ
  1. Восстанавление буквы «ё» в русских текстах, в которых вместо неё употреблена буква «е».
  2. Заменяет «е» на «ё» только в бесспорных случаях («неполная» или «быстрая» ёфикация).
  3. Исправление нескольких букв е,ё в словах.
  4. Корректная обработка сокращений, пример: "мед. училище" (но не "мёд. училище").
  5. Аббревиатуры не обрабатываются (пример: ОПЕК).
  6. Кодировка символов -- UTF-8.
  7. Класс может работать без PHP-расширений mbstring и iconv!
.
ВНИМАНИЕ
При первом запуске программа конвертирует словарь Yoficator.dic.dat в нужный ей формат
и сохраняет файлы Yoficator.dic.php и Yoficator.dic.cdb в ту же папку, где находится класс.

ССЫЛКИ
  ru.wikipedia.org/wiki/Ёфикатор
  www.yomaker.ru/ -- cайт «главного ёфикатора России» Виктора Трофимовича Чумакова.
  vgiv.narod.ru/yo.html -- Ёфикатор Владимира Иванова.
  Ещё чуть-чуть и Артемий поймёт зачем нужно ставить «ё» на письме (tema.livejournal.com/564042.html?page=1&view=291638090)
  Ё (bolknote.ru/2010/02/04/~2418#40)

ОМОНИМИЯ С БУКВАМИ Е/Ё
  передохнём (отдохнём) != передохнем (умрём)
  лён (ткань) != лен (феодальное владение)
  съём (жилья) != съем (скушаю)
  всё (everything) != все (everyone)
  Лёне (Голубкову) != Лене (Голубковой)

ОТЛИЧАТЬ БУКВЫ Е/Ё -- ВАЖНО:
  День за днём горим огнём,
  Не вздохнём, не охнем,
  Если не передохнём,
  Значит, передохнем…
       Валентин Берестов

Почему же, ё-моё, ты нигде не пишешь «ё»? :)


Ё и ёжик.jpg
 Description:
Ё и ёжик
 Filesize:  122 KB
 Viewed:  40127 Time(s)

Ё и ёжик.jpg



artlebedev_kovodstvo_119_yo.png
 Description:
Ё против Артемия Лебедева, http://zapomni.ru/portfolio/yo.htm
 Filesize:  19.69 KB
 Viewed:  44858 Time(s)

artlebedev_kovodstvo_119_yo.png




Last edited by Rin on Wed Jun 29, 2011 12:36 pm; edited 13 times in total
Back to top
View user's profile Send private message Send e-mail
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Thu Feb 26, 2009 4:04 pm (спустя 2 месяца 14 дней 22 часа 43 минуты; написано за 15 секунд)
   Post subject:
Reply with quote

1.0.3 / 2009-01-22
  1. Улучшена обработка слов-сокращений с точкой
  2. Исправлены ошибки
  3. Оптимизация скорости
Back to top
View user's profile Send private message Send e-mail
Alexxz
Guest





Карма: 387
   поощрить/наказать


PostPosted: Mon Apr 20, 2009 10:05 pm (спустя 1 месяц 22 дня 6 часов 32 секунды; написано за 23 секунды)
   Post subject: 7zip
Reply with quote

Вот о чём ты думал, когда упаковывал в 7zip?
Back to top
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Mon Apr 20, 2009 10:20 pm (спустя 15 минут; написано за 28 секунд)
   Post subject:
Reply with quote

О размере архива. Есть проблемы?
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9993
   поощрить/наказать


PostPosted: Tue Apr 21, 2009 12:28 am (спустя 2 часа 8 минут; написано за 48 секунд)
   Post subject:
Reply with quote


!

Alexxz, forum.dklab.ru/about/todo/PravilaEtogoForuma-ProchitayteObyazatelno.html — на форуме принято общение «на Вы»
Back to top
View user's profile Send private message
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Mon Aug 17, 2009 10:27 am (спустя 3 месяца 26 дней 9 часов 58 минут; написано за 15 секунд)
   Post subject:
Reply with quote

1.0.4 / 2009-08-16
  1. Обновлен словарь, добавлено 20664 словоформ, всего стало 105645 словоформ
  2. Сделано хеширование словоформ для уменьшения размера файлов словарей
Back to top
View user's profile Send private message Send e-mail
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Thu Feb 18, 2010 3:54 pm (спустя 6 месяцев 1 день 5 часов 27 минут; написано за 20 секунд)
   Post subject:
Reply with quote

1.0.5 / 2009-12-30
  1. При обработке сохраняются все диакритические знаки и "мягкие" переносы строк
Back to top
View user's profile Send private message Send e-mail
юный ё
Guest





Карма: 387
   поощрить/наказать


PostPosted: Sun Mar 28, 2010 11:13 am (спустя 1 месяц 9 дней 19 часов 18 минут; написано за 2 минуты 48 секунд)
   Post subject:
Reply with quote

Я всё правильно понял: при запуске ReflectionTypehint_example.php всё должно работать? Если так, то не хочет у меня работать Yoficator, выдаёт в ответ:
Code (php): скопировать код в буфер обмена
Fatal error: Class 'ReflectionTypehint' not found in Z:\home\yo.loc\www\ReflectionTypehint_example.php  on line 16
Back to top
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Sun Mar 28, 2010 2:49 pm (спустя 3 часа 36 минут; написано за 2 секунды)
   Post subject:
Reply with quote

bhv.ru/books/book.php?id=6643
Back to top
View user's profile Send private message Send e-mail
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Wed Dec 29, 2010 1:05 pm (спустя 9 месяцев 22 часа 15 минут; написано за 48 секунд)
   Post subject:
Reply with quote

1.0.6 / 2010-03-02
  1. Добавлена проверка на возможные коллизии в хэшах (если ключи словаря это хэши)
1.0.7 / 2010-12-28
  1. Обновлён словарь, всего 106104 словоформ
  2. Исправлена ошибка: не ёфицировались слова, начинающиеся с прописной буквы
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 387
   поощрить/наказать


PostPosted: Thu Apr 28, 2011 2:16 pm (спустя 3 месяца 30 дней 1 час 10 минут; написано за 36 секунд)
   Post subject:
Reply with quote

Блин! ГГениальная идея! Я вот всё голову ломало как юзеров заставить писать букву "Ё"... Спасибо большое за идею!
Back to top
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Wed Jun 29, 2011 12:24 pm (спустя 2 месяца 22 часа 8 минут; написано за 6 секунд)
   Post subject:
Reply with quote

Project has been moved to code.google.com/p/php-yoficator/
Back to top
View user's profile Send private message Send e-mail
Михаил Гутентог
Заглянувший



Joined: 11 Dec 2010
Posts: 16
Карма: 7
   поощрить/наказать

Location: Иркутск

PostPosted: Tue Jul 05, 2011 4:03 pm (спустя 6 дней 3 часа 38 минут; написано за 14 минут 29 секунд)
   Post subject: Re: Text_Yoficator: Ёфикатор. Восстанавление буквы «ё» в русских текстах
Reply with quote

Это очень хорошая идея - восстанавливать справедливость с применением современных технических средств. Мне кажется, её можно немного улучшить. Например, сократить словарь.

1. Из словаря можно убрать слова с вопросительным знаком - они имеют значение для науки, но для практического применения правил (где нужен чёткий выбор: да или нет) являются только лишним грузом.

2. По той же причине лучше бы убрать имена собственные (вы ведь решили их в принципе не ёфицировать?).

3. Кажется, также, что громадное количество словоформ можно выкинуть. Например, слово "раскалён" не встречается в таком окружении, где "ё" будет ошибкой, так зачем вся эта куча "раскалённых раскалённостей"? Используйте в словаре какой-нибудь знак, например "раскалён~", означающий, что фрагмент перед этим знаком всегда должен быть с буквой ё (независимо от контекста).
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9993
   поощрить/наказать


PostPosted: Tue Jul 05, 2011 4:09 pm (спустя 6 минут; написано за 28 секунд)
   Post subject:
Reply with quote

Михаил Гутентог wrote:
 Например, слово "раскалён" не встречается в таком окружении, где "ё" будет ошибкой
— угу.
А «раскалена», например?
Back to top
View user's profile Send private message
Михаил Гутентог
Заглянувший



Joined: 11 Dec 2010
Posts: 16
Карма: 7
   поощрить/наказать

Location: Иркутск

PostPosted: Tue Jul 05, 2011 5:19 pm (спустя 1 час 10 минут; написано за 3 минуты 3 секунды)
   Post subject:
Reply with quote

bæv wrote:
Михаил Гутентог wrote:
 Например, слово "раскалён" не встречается в таком окружении, где "ё" будет ошибкой
— угу.
А «раскалена», например?
Согласен, вопрос достаточно сложный. Этот случай, наверное, можно было бы описать двумя правилами:

раскалён
раскалённ~

Другие случаи могут оказаться ещё сложнее. Но упростить словарь всё-таки принципиально возможно. Вопрос доброй воли и алгоритма. Алгоритм, кажется уже наметился: нашёл упрощение, предложил, обсудили, утвердили (сообществом).
Back to top
View user's profile Send private message Send e-mail
Rin
Участник форума



Joined: 01 Jun 2005
Posts: 515
Карма: 180
   поощрить/наказать

Location: Москва

PostPosted: Tue Jul 05, 2011 11:10 pm (спустя 5 часов 50 минут; написано за 4 секунды)
   Post subject:
Reply with quote

Зачем уменьшать словарь, меньше скачивать? :)
Я взял готовый словарь Владимира Иванова (см. vgiv.narod.ru/yo.html).
Так же очень важно не делать ложных исправлений, особенно для серьёзных СМИ.
Back to top
View user's profile Send private message Send e-mail
Михаил Гутентог
Заглянувший



Joined: 11 Dec 2010
Posts: 16
Карма: 7
   поощрить/наказать

Location: Иркутск

PostPosted: Wed Jul 06, 2011 11:20 am (спустя 12 часов 9 минут; написано за 1 минуту 52 секунды)
   Post subject:
Reply with quote

Rin wrote:
Зачем уменьшать словарь, меньше скачивать? :)
Ну так программа быстрее работать будет. Только она у меня что-то вообще никак не работает. Сначала была проблема зависимостей (файлы вручную пришлось дописывать по include), потом появились ошибки вида:

Parse error: syntax error, unexpected T_FUNCTION in \Text_Yoficator-1.0.7\UTF8.php on line 3130
Back to top
View user's profile Send private message Send e-mail
Михаил Гутентог
Заглянувший



Joined: 11 Dec 2010
Posts: 16
Карма: 7
   поощрить/наказать

Location: Иркутск

PostPosted: Fri Jul 08, 2011 4:59 am (спустя 1 день 17 часов 39 минут; написано за 4 минуты 51 секунду)
   Post subject:
Reply with quote

Rin wrote:
Так же очень важно не делать ложных исправлений, особенно для серьёзных СМИ.
Тут я вот о чём подумал: у большинства СМИ (даже у несерьёзных) обычно бывает корректор, и он всё равно "вычитывает последним" (позже всех программ). Бывают ситуации (например, термины), отличные от общего словаря, и у корректора на этот случай должна быть возможность править ё-словарь (да и другие проверочные словари).

То есть неплохо бы добавить веб-интерфейс для правки словаря, чтобы корректор каждый раз не бегал к программисту. Я бы и сам добавил (кто предлагает, тот и должен делать), но не представляю, как это реализовать это без БД. То есть представляю, но мне не нравится идея писать в файл (нагрузочно, да и может оказаться вообще фатальным если одновременно будут работать два корректора).
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Fri Jul 08, 2011 3:58 pm (спустя 10 часов 58 минут; написано за 12 секунд)
   Post subject:
Reply with quote

Михаил Гутентог,
у вас PHP < 5.3.x
Back to top
View user's profile Send private message Send e-mail
Михаил Гутентог
Заглянувший



Joined: 11 Dec 2010
Posts: 16
Карма: 7
   поощрить/наказать

Location: Иркутск

PostPosted: Sat Jul 09, 2011 5:01 pm (спустя 1 день 1 час 3 минуты; написано за 1 минуту 39 секунд)
   Post subject:
Reply with quote

Александр Михалицын wrote:
Михаил Гутентог,
у вас PHP < 5.3.x
Не, не у меня - у хостера. По-моему, это тоже проблема - PHP 5.3 only (лучше, наверное, учитывать инертность хостинговых компаний).
Back to top
View user's profile Send private message Send e-mail
Гамлиэль Фишкин
Заглянувший



Joined: 14 Sep 2011
Posts: 1
Карма: 0
   поощрить/наказать

Location: Петербург

PostPosted: Wed Sep 14, 2011 10:08 am (спустя 2 месяца 4 дня 17 часов 6 минут; написано за 17 минут 31 секунду)
   Post subject: Re: Text_Yoficator: Ёфикатор. Восстановление буквы «ё» в русских текстах
Reply with quote

Прошу прощения за моё невежество, как этот ёфикатор устанавливать? Я создал в www-каталоге Apache'а каталог yo и в него всё распаковал, после чего всем файлам (включая подкаталог Text и файлы в нём) выставил права 777. По адресу localhost/yo/ просто отображается список файлов в каталоге, обращение к самим файлам ничего не даёт.

А нет ли чего-нибудь подобного на Perl'е? Лучше всего, на мой взгляд, было бы создать Perl-модуль (только не на само́м Perl'е, а, скажем, на C — для большего быстродействия) и добавить его в CPAN. Чтобы можно было подключать его строчкой вида
Code (perl): скопировать код в буфер обмена
use yoficator;
и использовать строчкой вида
Code (perl): скопировать код в буфер обмена
yoficate $text;
(по умолчанию обрабатывалась бы переменная $_, а возвращалось бы число произведённых замен).
Back to top
View user's profile Send private message
Sparknsk
Заглянувший



Joined: 17 Nov 2011
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Thu Nov 17, 2011 9:57 am (спустя 2 месяца 2 дня 23 часа 49 минут; написано за 1 минуту 53 секунды)
   Post subject:
Reply with quote

Использую данный класс, очень здорово! Спасибо)

Вопрос есть небольшой - например слово "ёж", есть в словаре, но почему-то когда пишу "еж", то никаких действий... Но зато слово "ежик" нормально преобразует в "ёжик". Может где-то настройках на длину слова?
Back to top
View user's profile Send private message
LordDon
Заглянувший



Joined: 14 May 2013
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Tue May 14, 2013 4:23 pm (спустя 1 год 5 месяцев 27 дней 6 часов 26 минут; написано за 1 минуту 58 секунд)
   Post subject:
Reply with quote

А вы не могли бы подробней расписать как ваш класс на сайт прикрутить?
Какие файлы и в какой последовательности подключать? Какие требования к php?
Как его вызывать?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML