Делаем себя развидеть это, или Право на предварительную правку



Здравствуй, %USERNAME%! Пишет тебе Конвент Парфа, а публикует Джедай..


У меня для тебя хорошая новость.

Больше не надо ломать глаза о "ВООБЩЕМ". Больше не надо ругать в комментариях автора текста за "ТАК-ЖЕ". Не надо умолять администрацию сайта поставить Orphus. Промывать глаза дистиллированной водой...

chas-correct - это легковесное расширение для браузера, работающее по принципу AdBlock, но блокирующее не рекламу, а самые распространенные ошибки. А таких ошибок действительно много! Например, в русском языке нет глаголов, оканчивающихся на "ЮТЬСЯ". Частица "БЫ" не пишется через дефис. А в слове "ВЫИГРАТЬ" нет буквы "Й"!

Конечно, chas-correct - не панацея; едва ли он когда-нибудь научится различать "держатся" и "держаться". Тем не менее, на одном только Хабре нынешняя версия могла бы исправить около миллиона ошибок, то есть в среднем примерно по три ошибки на статью с комментариями (включая статьи, перемещённые в черновики :D ).

Как скорее начать использовать

Установить chas-correct можно, скачав его из репозитория на github: https://github.com/nickkolok/chas-correct/tree/master/bin
для Chromium-подобных - инструкция по установке в корне репозитория: https://github.com/nickkolok/chas-correct

Сейчас поддерживаются мобильный и настольный Firefox, а также настольный (десктопный) Chromium и его форки, в том числе новые Opera. Немного подробностей есть в хабрапесочнице: http://habrahabr.ru/sandbox/93387/

ЧАВО

В: Зачем нужен chas-correct? Любой современный браузер умеет подчёркивать ошибки красненьким.
О: Умеет, конечно. Только "свои" ошибки, возникающие при наборе текста, и только робко подчёркивать. chas-correct же самостоятельно скрывает от глаз читателя чужие ошибки, изначально содержащиеся в тексте на загруженной странице.

В: Неужели до этого раньше не додумались?!
О: Сам удивляюсь. Были схожие идеи: http://habrahabr.ru/post/244905/ и http://habrahabr.ru/post/225911/ Но объединять их почему-то не стали...

В: Все ли ошибки исправляет chas-correct?
О: Конечно, нет! Только то, что, во-первых, часто встречается, во-вторых, может быть легко формализовано и исправлено автоматически.

В: Есть ли chas-correct в официальном каталоге расширений Google Chrome/Opera/... ?
О: Нет. Мне некогда возиться с их верификациями и как-то жаль выкладывать подорожавшие доллары за аккаунт, который в любой момент могут забанить или подвести под санкции. Кроме того, я считаю политику навязывания централизованной установки и проверки расширений сомнительной; впрочем, это тема для отдельного холивара.

В: Обновляется ли chas-correct?
О: К сожалению, пока нет. Значительное количество ошибок уже проанализировано и исправляется им, а дальнейшее увеличение словаря ошибок требует некоторой оптимизации алгоритма. Если же предусмотреть обновление не только словаря, но и самого движка, да ещё и в обход официальных хранилищ расширений - у устанавливающего возникнет вполне обоснованная паранойя (как, впрочем, и в случае установки из магазина Chrome; были случаи). В будущем планируется разработать обновление только словаря в обход всевозможных сторов.

В: А как он вообще работает?
О: На регулярках. Вот не надо на этом моменте топорщить бороду и воздевать руки к небу, не надо! Полноценный анализ текста в реальном времени в браузере всё равно едва ли возможен. По крайней мере, при текущей вычислительной мощности ЭВМ. Даже в случае с регулярными выражениями потребовались значительные усилия на оптимизацию.

В: Как убедиться, что расширение работает?
О: Если вы не видите здесь ошибок - скорее всего, оно работает.

В: А почему бы не отправлять текст на проверку тому же Яндекс-Спеллеру в режиме реального времени?
О: Во-первых, это приведёт к значительному количеству ложных срабатываний, такие эксперименты до меня проводились, повторюсь: http://habrahabr.ru/post/225911/ Во-вторых, это бы означало, что вся переписка пользователя отправляется на сторонний сервис... что, мягко говоря, не очень хорошо в наши тревожные времена.

В: Это никак не решает проблему безграмотности, это просто помогает закрыть глаза нанеё!
О: А вот и не угадали. Человек, которые не видит орфографических ошибок, накапливает так называемую "читательскую грамотность" и делает ошибки при письме/наборе с меньшей вероятностью. А вообще прививать любовь к родному языку нужно, кто ж с этим поспорит.

В: Работает ли chas-correct с динамически подгружаемым содержимым, например, с мгновенными сообщениями ВКонтакте?
О: Работает, но не всегда мгновенно, чтобы не насиловать таймер.

В: А откуда взяты базы ошибок и показатели эффективности?
О: У Хабра такая удобная структура страниц... Прямая нумерация. Цикл, wget, на парсер, порезано на слова, посчитано, потом самое частотное - через Яндекс-Спеллер.

В: Исправляет ли chas-correct набираемый мною текст?
О: Работа расширения блокируется примерно на 3 секунды после любого нажатия клавиши на клавиатуре, после чего оно корректирует набранный текст, переводя, кстати, курсор в его начало. Так что если Вы хотите, чтобы chas-correct исправлял не только то, что Вы читаете, но и то, что Вы пишете - возьмите за правило ждать 3 секунды между окончанием набора сообщения и отправкой. Это вообще очень полезно...

В: Возможны ли ложные срабатывания, когда chas-correct исправляет правильное на неправильное?
О: Практически исключены. Теоретически такое возможно при столкновении с неологизмами, именами персонажей, географическими названиями и прочими несловарными словами. Однако иногда расширение исправляет неправильное на неправильное: так, "ЧТО-БЫ" всегда превратится во "ЧТОБЫ", даже если должно быть "ЧТО БЫ".

В: А зачем автор всё это делает?
О: Честно... Есть одна чудесная кареглазая девушка, которая меня на это вдохновила. Да и самому нужно. Буду очень рад, если кому-нибудь пригодится. Кроме того, это - строчка в портфолио (какая-никакая), шанс на инвайт на Хабр (моя статья в песочнице: http://habrahabr.ru/sandbox/93387/), шанс на поощрение от ВГУ (пользуясь случаем, передаю компании "Информсвязь" большое спасибо за именные стипендии). Кроме того, chas-correct - это неплохой способ сделать приятное интеллигентной девушке (читателю на заметку, кстати: chas-correct + AdBlock - и можно тащить в филармонию).

В: Код ужасен! Его надо причесать и оптимизировать!
О: Код под GPL, патчи принимаются, форки тоже никто не отменял. Кстати, закомменченные куски кода - не от моей небрежности, а чтобы десять раз не переизобретать несработавшую оптимизацию.

В: Есть ли какие-то настройки, графический интерфейс, ... ?
О: Нет. Многого ещё нет... Просто совесть не позволяет мне более держать эту идею неопубликованной. (Здесь должна быть хрестоматийная история про Васю и Петю, писавших стартапы.) Но можно нажать Ctrl+Shift+A - и произойдёт автоматическая расстановка пробелов вокруг знаков препинания. И больших букв. По крайней мере, попытается произойти.

В: Какие перспективы у проекта, что автор планирует делать дальше?
О: Оптимизировать алгоритмы по времени. Пополнять словарь. Приделать графический интерфейс, галочки-флажочки: коррекция е/ё, антимат и т.д.

В: Я программист, знаю регулярные выражения и хочу помочь.
О: В dictionary.js, например, есть пометки TODO. Там реально есть, что делать.

В: Я не программист и регулярных выражений не знаю, но тоже хочу помочь.
О: Собирайте ошибки. Присылайте мне на nickkolok@mail.ru - обязательно с указаниями адреса страницы и ошибочного написания слова.

В: Я вебмастер, заведую сайтом, где школьники часто пишут с ошибками. Можно ли использовать наработки chas-correct напрямую на сайте?
О: Если очень хочется - то можно. Даже кэширование должно работать, можно просто подключить скрипты, как в манифесте. Конечно, гораздо правильнее прогонять отправляемое через такой фильтр, а уже имеющуюся базу обработать однократно. С Node.js оно вроде как совместимо. В общем, пишите на nickkolok@mail.ru, разберёмся.

Комментарии

Популярные сообщения из этого блога

Pidgin IM, подключение аккаунтов Telegram и Вконтакте

HP2727 сканирование в сеть

Почему вам стоит попробовать GNOME

Ubuntu без Unity. Как все начиналось, и что имеем сейчас