Насколько сложно создать скрипт который посчитает сколько раз каждое слово написано в блоге это я для того спрашиваю чтоб начать избавляться от слов паразитов в своем лексиконе если кто знает наработки в этом плане дайте ссылку.
Тест McAfee: можете ли Вы распознать фальшивые сайты?
Антивирусная компания McAfee разработала весёлый онлайновый тест McAfee SiteAdvisor Phishing Quiz, с помощью которого каждый может проверить свои «антифишинговые» способности. Сможете ли вы отличить настоящий сайт от его копии-фейка?
Что интересно, все фейковые копии сайтов взяты из реальных случаев мошенничества: это подделки под MySpace, PayPal, Bank of America и т.д. В каждой из них настоящий сыщик найдёт свидетельство подделки, будь то ошибка в дизайнерском оформлении, отсутствие буквы или знака препинания.
Что интересно, все фейковые копии сайтов взяты из реальных случаев мошенничества: это подделки под MySpace, PayPal, Bank of America и т.д. В каждой из них настоящий сыщик найдёт свидетельство подделки, будь то ошибка в дизайнерском оформлении, отсутствие буквы или знака препинания.

Грамматический треугольник: дети, орфография и Интернет

Вместо эпиграфа:
"Детям нельзя в интернет. От детей интернет тупеет" Bash.org.ru
Мы с вами, хабралюди, являемся свидетелем уникального события — на наших глазах
Посредством или по средствам
Посредством (предлог)
(via, by means of)
Холодильник был открыт посредством отмычки (каким образом, при посредстве чего)
Милиционеры схватили грабителей посредством бдительной бабушки (заметьте: не за счет бабушкиной пенсии, а с ее личной помощью)
По (не по) средствам (предлог с существительным)
(within (beyond) one's means)
Банки не заинтересованы чтобы молодежь жила по средствам (согласно достатку)
России не по средствам ее стратегические амбиции (не может себе позволить)
Чаще всего вы, скорее всего, имеете в виду «посредством» ;)
(via, by means of)
Холодильник был открыт посредством отмычки (каким образом, при посредстве чего)
Милиционеры схватили грабителей посредством бдительной бабушки (заметьте: не за счет бабушкиной пенсии, а с ее личной помощью)
По (не по) средствам (предлог с существительным)
(within (beyond) one's means)
Банки не заинтересованы чтобы молодежь жила по средствам (согласно достатку)
России не по средствам ее стратегические амбиции (не может себе позволить)
Чаще всего вы, скорее всего, имеете в виду «посредством» ;)
Live Search заговорил по-русски
Поисковик Microsoft Live Search научился работать с морфологией русского языка и исправлять запросы, набранные в неправильной раскладке клавиатуры и с грамматическими ошибками. В этом начинании Microsoft, конечно, выступает в роли отстающего, но движение в эту сторону определенно может принести кое-какие плоды.
Менеджер продуктов в российском представительстве Microsoft Антон Данилов говорит, что «работа над поиском велась в Редмонде при тесном сотрудничестве с российским офисом». Механизм обработки русскоязычных запросов встроен в Live Search таким образом, что доступен из любой страны, а не только из России.
В механизме учитываются связанные слова: «падежи, времена, распознается множественное/единственное число», — говорит Антон. Но переходы слов в другие формы (отглагольные прилагательные, например) сейчас не обрабатываеются.
Будут ли наработки по исправлению раскладки и анализу морфологии использованы в других продуктах Microsoft, в компании не комментируют. Но перспективы аналога Punto Switcher'a в Office рисуются очень живо.
Менеджер продуктов в российском представительстве Microsoft Антон Данилов говорит, что «работа над поиском велась в Редмонде при тесном сотрудничестве с российским офисом». Механизм обработки русскоязычных запросов встроен в Live Search таким образом, что доступен из любой страны, а не только из России.
В механизме учитываются связанные слова: «падежи, времена, распознается множественное/единственное число», — говорит Антон. Но переходы слов в другие формы (отглагольные прилагательные, например) сейчас не обрабатываеются.
Будут ли наработки по исправлению раскладки и анализу морфологии использованы в других продуктах Microsoft, в компании не комментируют. Но перспективы аналога Punto Switcher'a в Office рисуются очень живо.
лишнее в комментариях
До того как у меня появилась возможность вести свой блог я писал уже эту идею в личку кому-то из ТМ.
Наверняка каждый встречал топики, в которых есть масса комментариев с указанием на грамматические ошибки в самом топике (понятное дело что многим даже лень через ворд прогнать свой текст и у многих встречаются ошбки\опечатки) считаю, что эта информация полезна только автору топика и постороннему читателю в принципе излишня… так вот мысль в том, чтоб очистить комментарии от «поправок» сделать механизм для указания на ошибки отдельно от механизма комментирования… что-нибудь вроде формы «указать автору на ошибку» и чтоб эти сообщения видел только автор топика или блога (те, кто имеет права подправить), что-то наподобе Orphus
Наверняка каждый встречал топики, в которых есть масса комментариев с указанием на грамматические ошибки в самом топике (понятное дело что многим даже лень через ворд прогнать свой текст и у многих встречаются ошбки\опечатки) считаю, что эта информация полезна только автору топика и постороннему читателю в принципе излишня… так вот мысль в том, чтоб очистить комментарии от «поправок» сделать механизм для указания на ошибки отдельно от механизма комментирования… что-нибудь вроде формы «указать автору на ошибку» и чтоб эти сообщения видел только автор топика или блога (те, кто имеет права подправить), что-то наподобе Orphus
Создаём парсер для ini-файлов. Теория
Эта статья задумывалась как наглядное сравнение двух схожих библиотек для создания парсеров: Boost Spirit для C++ и Parsec для Haskell. Потом я решил, что лучше разбить статью на 3 части. В первой части я расскажу как написать контекстно-свободную грамматику для описания содержимого ini-файла.
Русский без роботизма, часть 1
Я всецело за чистоту и правильное использование русского языка. В жизни вообще и в рунете в частности. Ибо от надписей вроде «23 штука» или усреднённых вариантов «23 шт.» мягко говоря коробит.
Поэтому, когда встала задача побороть роботизм в окончаниях существительных, была разработана и реализована соответствующая функция (вернее сказать плагин для Smarty).
Поэтому, когда встала задача побороть роботизм в окончаниях существительных, была разработана и реализована соответствующая функция (вернее сказать плагин для Smarty).
Нетривиальные аспекты расстановки переносов в технических текстах
Вот, задался вопросом, как правильно переносить такие конструкции, как имена файлов, полные имена классов с пространствами имен, пути, урлы и тому подобные вещи, встречающиеся в технических текстах?
Например: «Параметры соединения с базой данных должны быть указаны в файле Testdatabase.Hibernate.cfg.xml». Где расставить переносы в слове «Testdatabase.Hibernate.cfg.xml»?
Варианты:
0) Не переносить. Тоже, конечно, вариант. Но когда текст будет растянут по ширине и появятся гиганские пробелы, то станет ясно, что так верстают только мудаки.
1) По слогам
Test¬da¬ta¬ba¬se.Hi¬ber¬na¬te.cfg.xml
Недостаток такого способа мне видится в том, что знак переноса в конце строки может быть ошибочно воспринят как часть имени файла.
2) После точек
Testdatabase.¬Hibernate.¬cfg.¬xml
Существует опасность, что точка будет воспринята как конец предложения.
3) Перед точками
Testdatabase¬.Hibernate¬.cfg¬.xml
Точка в начале строки довольно тупо смотрится.
Этот вопрос я задал также на грамоте.ру, посмотрим, что они ответят.
Таким образом, я для себя еще не определился. Может, кто-то из окружающих дополнит этот текст новым аргументом «за» или «против»?
UPD: Осмотрев некоторые книги на Гугл-Букс пришел к выводу, что для переноса по словам урлов, путей и неймспейсов знак переноса не используют, но разбивают на составные части по точкам или слешам. При этом точка или слеш остаются всегда в конце строки.
UPD 2: Ответ грамоты.ру:
«Правила русского правописания подобные случаи, разумеется, не регламентируют. Вряд ли такие цепочки подлежат переносу.»
Например: «Параметры соединения с базой данных должны быть указаны в файле Testdatabase.Hibernate.cfg.xml». Где расставить переносы в слове «Testdatabase.Hibernate.cfg.xml»?
Варианты:
0) Не переносить. Тоже, конечно, вариант. Но когда текст будет растянут по ширине и появятся гиганские пробелы, то станет ясно, что так верстают только мудаки.
1) По слогам
Test¬da¬ta¬ba¬se.Hi¬ber¬na¬te.cfg.xml
Недостаток такого способа мне видится в том, что знак переноса в конце строки может быть ошибочно воспринят как часть имени файла.
2) После точек
Testdatabase.¬Hibernate.¬cfg.¬xml
Существует опасность, что точка будет воспринята как конец предложения.
3) Перед точками
Testdatabase¬.Hibernate¬.cfg¬.xml
Точка в начале строки довольно тупо смотрится.
Этот вопрос я задал также на грамоте.ру, посмотрим, что они ответят.
Таким образом, я для себя еще не определился. Может, кто-то из окружающих дополнит этот текст новым аргументом «за» или «против»?
UPD: Осмотрев некоторые книги на Гугл-Букс пришел к выводу, что для переноса по словам урлов, путей и неймспейсов знак переноса не используют, но разбивают на составные части по точкам или слешам. При этом точка или слеш остаются всегда в конце строки.
UPD 2: Ответ грамоты.ру:
«Правила русского правописания подобные случаи, разумеется, не регламентируют. Вряд ли такие цепочки подлежат переносу.»
Часто встречающиеся ошибки
Здесь я собрал несколько наиболее часто встречающихся мне грамматических ошибок. Может быть, кому-то окажется полезным.
Grammar Gravity
Довольно часто на Хабрахабре можно увидеть комментарии, которые содержат сообщения о том, что в статью закралась та или иная ошибка. Такие комментарии не относятся непосредственно к теме, которую выносит статья на обсуждение общественности, и отвлекает участников дискуссии от плодотворного её проведения.
Такую информацию нужно отправлять персонально автору, но порой пользователям бывает просто лень открывать свою Хабрапочту и набирать там необходимую информацию для того, чтобы оповестить автора об ошибке. Что же может нам помочь?
Пользовательский скрипт Grammar Gravity поможет вам, не отходя от статьи и её обсуждения, отправить автору сообщение об ошибке в два клика. Вы, как будто бы, пишете обычный комментарий, но, на самом деле, вы отправляете персональное сообщение автору статьи! Красота, не правда ли?

Если же вам недостаточно просто сообщать пользователю об ошибках, вы хотите написать ему полноценное сообщение, то вам следует установить Grammar Gravity Parallel.

Расширение было оттестированно на Firefox 2 и 3, Opera 10, Google Chrome и Safari. Не исключено, что оно будет работать и на других браузерах, которые не попали в вышеперечисленную выборку. Для установки скрипта в Firefox вам понадобится Greasemonkey, в Opera — включить пользовательские скрипты в настройках, в Google Chrome — добавить к опциям ярлыка --enable-user-scripts --user-scripts-dir=\путь\до\директории и положить в ту самую директорию скрипт.
Присылая автору сообщение об ошибке персональным сообщением, вы делаете доброе дело! Мир запомнит вас! Удачи вам!
Такую информацию нужно отправлять персонально автору, но порой пользователям бывает просто лень открывать свою Хабрапочту и набирать там необходимую информацию для того, чтобы оповестить автора об ошибке. Что же может нам помочь?
Пользовательский скрипт Grammar Gravity поможет вам, не отходя от статьи и её обсуждения, отправить автору сообщение об ошибке в два клика. Вы, как будто бы, пишете обычный комментарий, но, на самом деле, вы отправляете персональное сообщение автору статьи! Красота, не правда ли?

Если же вам недостаточно просто сообщать пользователю об ошибках, вы хотите написать ему полноценное сообщение, то вам следует установить Grammar Gravity Parallel.

Расширение было оттестированно на Firefox 2 и 3, Opera 10, Google Chrome и Safari. Не исключено, что оно будет работать и на других браузерах, которые не попали в вышеперечисленную выборку. Для установки скрипта в Firefox вам понадобится Greasemonkey, в Opera — включить пользовательские скрипты в настройках, в Google Chrome — добавить к опциям ярлыка --enable-user-scripts --user-scripts-dir=\путь\до\директории и положить в ту самую директорию скрипт.
Присылая автору сообщение об ошибке персональным сообщением, вы делаете доброе дело! Мир запомнит вас! Удачи вам!
Robot Grammar Nazi: Робот, говори правильно!
Даже когда люди общаются с автоматизированной системой, они делают множество выводов о том, что за «персонаж» с ними общается. Эти выводы складываются из многих характеристик, в том числе качества голоса, набора слов, способа их произнесения и т.п.
Это явление представляет возможность компании создать конкретный образ и расширить свой бренд посредством грамотного проектирования персонажа, являющегося визитной карточкой системы.
Некоторые дизайнеры думают, что нужно убедить пользователя в том, что с ним разговаривает человек…
Это явление представляет возможность компании создать конкретный образ и расширить свой бренд посредством грамотного проектирования персонажа, являющегося визитной карточкой системы.
Некоторые дизайнеры думают, что нужно убедить пользователя в том, что с ним разговаривает человек…
L-Systems — математическая красота растений
Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.
В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.
Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.
Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
Универсальная on-line проверка грамматики с помощью google ajax search api
Обычно я проверяю английскую грамматику, вбивая в Google куски фраз, и смотрю, что получится.
Если найдено много вариантов, то фраза правильная, если не очень много — то неправильная.

Вот, написал сервис, который отсылает запросы в Google, а сам подсвечивает, «правильно», или «неправильно» написаны куски предложения, и местами даже подсказывает — какое слово можно поставить на то, или иное место в предложении.
Еще он показывает в каком именно контексте найдено слово.
Замечательно то, что ему все равно, какой язык вы проверяете.
Если найдено много вариантов, то фраза правильная, если не очень много — то неправильная.

Вот, написал сервис, который отсылает запросы в Google, а сам подсвечивает, «правильно», или «неправильно» написаны куски предложения, и местами даже подсказывает — какое слово можно поставить на то, или иное место в предложении.
Еще он показывает в каком именно контексте найдено слово.
Замечательно то, что ему все равно, какой язык вы проверяете.
Проверка грамматики Open Office в вашем WEB-приложении

Грамматика арифметики или пишем калькулятор на ANTLR
Sandbox
Когда встает вопрос о том, как вычислить арифметическое выражение, то, наверное, многие думают от обратной польской нотации. Поэтому в данном топике хотелось бы рассказать о том, как можно составить грамматику арифметического выражения и построить по ней лексический и синтаксический анализатор при помощи ANTLR.
Microsoft Word. Автоматическое исправление языка текста

Часто проверка орфографии и грамматики в Word не работает по причине того, что язык слов выставлен неправильно. Я сталкиваюсь с этим в документах написанных на русском языке, но содержащих большое количество IT-терминов на английском.
Разрабатываем компилятор для учебного языка Cool на языке C# под .NET (Часть 1)
Sandbox
Введение
Здравствуй, уважаемый хабраюзер.Я хотел бы тебе представить материал о практическом создании компилятора, который будет транслировать код, написанный на языке Cool, в код виртуальной машины CIL (Common Intermediate Language) под платформу .NET.Данный материал я решил разбить на две части
В первой части будет описан процесс написания грамматики с учетом приоритетов операторов в среде ANTLR, а также генерации лексера и парсера под язык C#. Также в ней будут рассмотрены подводные камни, которые встретились у меня на пути. Таким образом я постараюсь хоть кому-нибудь сэкономить время (может быть для себя в будущем).
Во второй же части будет описан процесс построения семантического анализатора кода, генерации кода и самопальной
Prolog — грамматический разбор и языковые проблемы
Грамматический разбор — тема, которую должен знать и ориентироваться каждый программист. Именно, потому что применяем ее каждый день. Да мы не пишем новые языки или не правим грамматики каждый день, но мы пользуемся регулярными выражениями, задумываемся о сложности и вычислимости, думаем о количестве строк кода, что имеет непосредственное отношение к грамматикам.
Целью этой статьи является попытка показать связи в различных областях знаний, как программирование и математика, философия и логика, а так же продемонстрировать в действии одну из наиболее удачных областей применения языка Prolog — грамматический разбор.
Целью этой статьи является попытка показать связи в различных областях знаний, как программирование и математика, философия и логика, а так же продемонстрировать в действии одну из наиболее удачных областей применения языка Prolog — грамматический разбор.
Как я создавал синтаксический анализатор
Sandbox
Для одного из моих проектов потребовалась интересная фича — перефразирование текста, позволяющего, к примеру, фразу “корова паслась на лугу” переделать в “пятнистая буренка жевала сочную траву на зеленом лугу”. Конечно же, подобного рода преобразования требуют очень большую базу связей между словами и выражениями, отсутствие которой и свело на нет всю работу. Но это уже другая история. Сейчас же я расскажу о том, как решал вопрос синтаксического анализа предложений, которые затем должны были преобразоваться во что-то новое, но такое же человекочитаемое.