Pull to refresh
52
0
Send message

Обновляем морфологический анализатор

Reading time1 min
Views4.9K

Одной из задач компьютерной лингвистики является определение словарной формы слова. Для решения этой задачи Яндекс в 2006 году выпустил для некоммерческого использования морфологический анализатор русского языка mystem. Это небольшая консольная программа, которая производит морфологический анализ слов, причем как известных словарю, так и неизвестных.

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

По сравнению с предыдущей версией словарь увеличился более чем в два раза (в том числе благодаря помощи проекта AOT). Также мы добавили в mystem частотный словарь русского языка, созданный сотрудниками Института им. В. В. Виноградова на основе Национального корпуса русского языка.

Обратите внимание, поскольку словарный запас программы стал больше, разбор текста в этой версии будет отличаться от разбора того же текста в старой версии.

В интерфейсе мы добавили поддержку различных кодировок и упразднили некоторые устаревшие опции.

Найти всю необходимую справочную информацию, а также загрузить новую версию вы можете на странице проекта. Ждем ваших отзывов, замечаний и предложений.

Команда отдела лингвистики, заботимся о родном языке.

.
Total votes 56: ↑48 and ↓8+40
Comments13

Тонкости использования селекторов аттрибутов в CSS

Reading time4 min
Views34K
CSS может связываться с HTML элементами используя любые из его атрибутов. Вы наверняка знаете о классах и ID. Проверим это в HTML:
<h2 id="first-title" class="magical" rel="friend">David Walsh</h2>

Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
h2[rel=friend] {
  /* woohoo! */
}

Читать дальше →
Total votes 165: ↑140 and ↓25+115
Comments116

Подводный мир Интернета или где топят оптику в мировом океане

Reading time3 min
Views32K
image
Интернет – это не только web. Помимо контента (и устройств его хранения и обработки), отображаемого на web страницах важны ещё и линии связи. Причём важнее всего дальнемагистральные направления, т.к. провайдеров в городе может быть несколько, а вот соединение между городами и странами могут обеспечить немногие. Тем более, если речь идёт о разных континентах, тогда приходится топить сотни километров оптоволокна в пучинах мирового океана.
Читать дальше →
Total votes 162: ↑161 and ↓1+160
Comments110

5 причин полюбить Mylyn

Reading time7 min
Views12K
Данный пост на самом деле является инициатором еще одного, который уже выходил ранее. Меня на самом удивило, что о такой интересной вещи, как Mylyn, так мало написано на хабре и мне бы хотелось немного это исправить. Под катом перевод достаточно интересной, на мой взгляд, статьи. Надеюсь на интересное обсуждение.
Читать дальше →
Total votes 50: ↑43 and ↓7+36
Comments51

Модификация байт-кода виртуальной машины Java

Reading time7 min
Views12K
Данный пост является продолжением статьи о байт-коде виртуальной машины Java, и мы считаем, что читатель имеет представление о его структуре. Наиболее распространенной библиотекой для модификации байт-кода является фрейморк ASM от object web. На нем построено большинство высокоуровневых библиотек, в частности cglib.

Библиотека ASM имеет два варианта API. Что бы лучше представить отличие между ними, проведем следующую аналогию. Класса это некое дерево. Корень его- сам класс. Переменные, методы, подклассы это его листья. Инструкции — листья методов. Таким образом можно провести параллель с XML и двумя типами его парсеров. Первый вариант Core API похож на SAX парсер. Когда нужно прочитать, создать или внести изменения, делается обход дерева представления класса. Второй вариант (Tree API) работает по прицепу DOM парсера. Сначала строиться дерево представления, а затем с ним производиться необходимые манипуляции. Очевидно, что первый вариант API менее ресурсоемкий, более подходящей для внесения небольших изменений. Второй требует больше ресурсов, но и дает более гибкие возможности. Мы рассмотрим только первый вариант API.

Читать дальше →
Total votes 35: ↑26 and ↓9+17
Comments2

Создание своего Windows Service

Reading time7 min
Views87K
Я решил провести один эксперимент, суть его пока не могу разглашать, но по результатам обязательно опишу его))) Для этого эксперимента, мне нужно написать приложение которое работает как сервис в Windows.
Читать дальше →
Total votes 84: ↑57 and ↓27+30
Comments35

Знакомство с Bean Validation API

Reading time4 min
Views70K
Не так давно в Яве не существовало стандарта, описывающего способ валидации данных. Каждый выкручивался как мог, писались (и пишутся) свои поделки а так же используются некоторые возможности широко распространенных сервисов как Spring или Hibernate. Наибольшей проблемой было то, что валидация могла быть реализована отдельно от предметной модели и быть редунданто расбросанной по фронт- и бэкэнду. Теперь, при помощи стандарта JSR 303: Bean Validation (практически это явлается стандартизированным валидатором Hibernate) становится возможным следовать принципу «Don't Repeat Yourself»: объявлять ограничения для данных прямо в предметной модели и валидировать данные где угодно, хоть на сервере, хоть в десктопном приложении.

Под катом маленький пример использования
Total votes 36: ↑34 and ↓2+32
Comments21

Information

Rating
Does not participate
Date of birth
Registered
Activity