Как стать автором
Обновить

Заметки об NLP (часть 1)

Время на прочтение 5 мин
Количество просмотров 15K
Искусственный интеллект Natural Language Processing *
В преддверии Нового года решил начать небольшой цикл статей, посвящённых наиболее интересующему меня лично направлению в обработке текстов на естественном языке. (То есть NLP в заголовке означает natural language processing — ваш К.О.) Синтаксический анализ, семантика, машинный перевод, поиск смысла слова в контексте — в общем, вся радость компьютерного лингвиста :)

Наверно, сразу имеет смысл определиться с уровнем изложения. Я сам пытаюсь заниматься компьютерной лингвистикой (с переменными успехами). Постараюсь рассказать о том, что конкретно волнует, чего уже можно, чего пока нельзя, и над чем как раз сейчас надо работать. Быть может, эти статьи помогут мне самому отструктурировать информацию в голове и опираться на уже готовую структуру в новом году. А если у читателей появятся свои идеи или мысли о сотрудничестве — ещё лучше.
Интересующихся прошу под кат
Всего голосов 67: ↑57 и ↓10 +47
Комментарии 54

Заметки об NLP (часть 2)

Время на прочтение 4 мин
Количество просмотров 5.8K
Искусственный интеллект Natural Language Processing *
Хотя в первой части я и говорил, что не собираюсь останавливаться на морфологии, видимо, совсем без неё не получится. Всё-таки обработка предложений сильно завязана на предшествующий морфологический анализ.
Читать дальше →
Всего голосов 58: ↑47 и ↓11 +36
Комментарии 43

Заметки об NLP (часть 3)

Время на прочтение 5 мин
Количество просмотров 9.3K
Искусственный интеллект Natural Language Processing *
(Начало: 1, 2) Что ж, подходим к самому интересному — разбору предложений. Тема эта многогранна и многоуровнева, так что подступиться к ней не очень просто. Но ведь трудности лишь закаляют :) Да и выходные, текст пишется легко…

Начнём с такого понятия, как синтаксический анализ предложений (по-английски parsing). Суть этого процесса состоит в построении графа, «каким-либо образом» отражающего структуру предложения.
Читать дальше →
Всего голосов 54: ↑47 и ↓7 +40
Комментарии 53

Заметки об NLP (часть 4)

Время на прочтение 5 мин
Количество просмотров 4.4K
Искусственный интеллект Natural Language Processing *
(Начало: 1, 2, 3) На сей раз хочу немного отвлечься и порассуждать (а точнее, похоливарить) на тему статистических алгоритмов и вообще «обходных путей» компьютерной лингвистики.
В первых частях нашего разговора речь шла о «классическом пути» анализа текста — от слов к предложениям, от предложений к связному тексту. Но в наше безумное время появились и соблазны решить проблему «одним махом», найдя, если угодно, баг в системе или «царскую дорогу».
Читать дальше →
Всего голосов 47: ↑39 и ↓8 +31
Комментарии 52

Заметки об NLP (часть 5)

Время на прочтение 5 мин
Количество просмотров 6.2K
Искусственный интеллект Natural Language Processing *
Что ж, продолжим. (Первые части: 1 2 3 4). Долго выбирал, что будет лучше для следующей темы — пофилософствовать о прагматике языка или поговорить конкретно об алгоритмах разбора. Учитывая, что предыдущая часть была неформальной, решил всё-таки переключиться на конкретику, а там посмотрим.

Итак, синтаксический анализ предложения. Давайте сразу определимся, что речь пойдёт о разборе в рамках концепции dependency parsing, причём определяющей методологией разбора будет точный анализ (не статистический). Начнём с небольшого обзора происходящего вокруг.
Читать дальше →
Всего голосов 55: ↑41 и ↓14 +27
Комментарии 41

Заметки об NLP (часть 6)

Время на прочтение 6 мин
Количество просмотров 3.4K
Искусственный интеллект Natural Language Processing *
(Первые части: 1 2 3 4 5). Надеюсь, разговор о естественном языке читателей ещё не утомил! По-моему, тематика действительно интересная (хотя популярность топиков явно идёт на убыль :) ). Что ж, посмотрим, на сколько частей меня ещё хватит. Думаю, экватор мы уже прошли, но три-четыре темы затронуть ещё можно.

На сей раз заметка полностью посвящена проекту XDG/XDK, который я пытаюсь изучать на досуге. Назвать себя специалистом по XDG пока ещё не могу. Но потихоньку двигаюсь.
Читать дальше →
Всего голосов 68: ↑53 и ↓15 +38
Комментарии 24

Заметки об NLP (часть 7)

Время на прочтение 6 мин
Количество просмотров 3.9K
Искусственный интеллект Natural Language Processing *
(Первые части: 1 2 3 4 5 6). Как и обещал вчера, продолжаем обсуждать XDG и движемся к следующим темам. Возможно, мы двигаемся слишком быстро, и действительно имело бы смысл публиковать одну статью раз в два-три дня, чтобы оставалось время всё обсудить. Но, наверно, пока «бензин есть», я буду продолжать писать. А потом можно будет вернуться и обговорить ранее освещённые вопросы. Мне кажется, что в компьютерной лингвистике разные темы настолько тесно связаны друг с другом, что разговор об одной из них без связи с другими малопродуктивен. А мы ещё не обо всём беседовали, так что лучше охватить взглядом как можно больше аспектов компьютерного анализа текста, а потом уже рассуждать о конкретике в рамках общей картины происходящего.
Читать дальше →
Всего голосов 39: ↑29 и ↓10 +19
Комментарии 17

Заметки об NLP (часть 8)

Время на прочтение 5 мин
Количество просмотров 3.3K
Искусственный интеллект Natural Language Processing *
(Первые части: 1 2 3 4 5 6 7). В этой части я расскажу о синтактико-семантическом анализаторе — как я его вижу. Обратите, кстати, внимание на часть 7 — она до главной страницы не добралась, так что не уверен, что все интересующиеся её видели.
Читать дальше →
Всего голосов 54: ↑36 и ↓18 +18
Комментарии 45

Заметки об NLP (часть 9)

Время на прочтение 7 мин
Количество просмотров 5.2K
Искусственный интеллект Natural Language Processing *
(Первые части: 1 2 3 4 5 6 7 8). Да возрадуются минусующие, сегодня представляю вниманию читателей последнюю, по всей видимости, часть «Заметок». Как и предполагалось, мы поговорим о дальнейшем семантическом анализе; также я порассуждаюю немного о том, чем в принципе можно заняться в нашей области и какие есть трудности «научно-политического» характера.
Читать дальше →
Всего голосов 60: ↑46 и ↓14 +32
Комментарии 16

Заметки об NLP (часть 10)

Время на прочтение 9 мин
Количество просмотров 8.1K
Искусственный интеллект Natural Language Processing *
(Первые части: 1 2 3 4 5 6 7 8 9). Как говорилось в известной рекламе, «вы не ждали, а мы пришли» :)

За время, прошедшее после публикации девятой части, я прочитал одну хорошую книжку по теме (в to-read списке ещё парочка), множество статей, а также пообщался с несколькими специалистами. Соответственно, накопился новый объём материала, заслуживающий отдельной заметки. Как обычно, знакомлю других, параллельно структурирую знания для себя.

Сразу прошу прощения: эта часть для чтения и понимания достаточно трудна. Ну да, как говорится, не всё коту масленица. Сложным задачам соответствуют сложные тексты :)
Читать дальше →
Всего голосов 41: ↑31 и ↓10 +21
Комментарии 12

Извлечение фактов. Синонимия и омонимия

Время на прочтение 2 мин
Количество просмотров 2.6K
Чулан
Данный пост возник как результат общения с одним наивным человеком и результат собственных размышлений о таком сложном и неоднозначном предмете, как язык (в данном случае русский).
О разговоре: суть заключалась в том, что (назовём его Некто) Некто заявлял, что процесс извлечения фактов из текста на естественном языке – вещь достаточно простая и легко реализуемая, мол, ищем глаголы (слова, заканчивающиеся «ет/ют/ел/…») и рядом стоящие существительные (слова длинной более 4 букв), составляем триплеты и загоняем в базу онтологий – вот и движок по извлечению фактов.
Тут же, по моей собственной системе классификации интеллекта, человек получил одну из самых наименьших оценок, но это заставило меня задуматься о некоторых аспектах представления информации в ЕЯ и сложностях, возникающих при извлечении информации из него.

Сегодня будет разговор о синонимии и омонимии.
Читать дальше →
Всего голосов 26: ↑19 и ↓7 +12
Комментарии 21

NLP: проверка правописания — взгляд изнутри (часть 1)

Время на прочтение 4 мин
Количество просмотров 6.4K
Искусственный интеллект Natural Language Processing *
Читавшие мои предыдущие публикации знают, что пишу я достаточно редко, но обычно сериями. Хочется собраться с мыслями на заданную тему и разложить их по полочкам, не втискивая себя в прокрустово ложе одной короткой статейки.

На сей раз появился новый повод поговорить об обработке текстов (natural language processing то бишь). Я разрабатываю модуль проверки правописания для одной конторы. На выходе должна получиться функциональность, аналогичная встроенной в MS Word, только лучше :) Не могу пока назвать себя крупным специалистом в этой области, но стараюсь учиться. В заметках постараюсь рассказать о том, куда движется наш проект, как устроен тот или иной этап обработки текста. Может, в комментариях услышу что-нибудь новое/интересное и для себя. Если проекту с этого будет польза — прекрасно. Как минимум, устаканю данные у себя в голове, а это тоже неплохо.
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 14

NLP: проверка правописания — взгляд изнутри (часть 2)

Время на прочтение 6 мин
Количество просмотров 3.4K
Искусственный интеллект Natural Language Processing *
(Часть 1) Сегодня мы поговорим об уровнях понимания текстов нашей системой, о том, какие ошибки правописания отловить просто, какие не очень просто, а какие запредельно сложно.

Начнём с того, что текст можно рассматривать с двух точек зрения: либо как простую последовательность слов, пробелов и знаков препинания, либо как сеть связанных между собой синтактико-семантическими зависимостями понятий. Скажем, в предложении «я люблю больших собак» можно расставить слова в любом порядке, при этом структура связей между словами будет одна и та же:

Читать дальше →
Всего голосов 56: ↑50 и ↓6 +44
Комментарии 12

NLP: проверка правописания — взгляд изнутри (часть 3)

Время на прочтение 4 мин
Количество просмотров 3.8K
Искусственный интеллект Natural Language Processing *
(Часть 1, Часть 2) В прошлый раз я преждевременно упомянул токенизацию; теперь можно поговорить и о ней, а заодно и о маркировке частей речи (POS tagging).

Предположим, мы уже выловили все ошибки (какие догадались выловить) на уровне анализа текста регулярными выражениями. Стало быть, пора переходить на следующий уровень, на котором мы будем работать с отдельными словами предложения. Разбиением на слова занимается модуль токенизации. Даже в столь простой задаче есть свои подводные камни. Я даже не говорю о языках вроде китайского и японского, где даже вычленение отдельных слов текста нетривиально (иероглифы пишут без пробелов); в английском или в русском тоже есть над чем подумать. Например, входит ли точка в слово-сокращение или представляет собой отдельный токен? («др.» — это один токен или два?) А имя человека? «J. S. Smith» — сколько здесь токенов? Конечно, по каждому пункту можно принять волевое решение, но в дальнейшем оно может привести к различным последствиям, и это надо иметь в виду.

Примерно так я рассуждал на начальных этапах нашего проекта, теперь же склоняюсь к тому, что в задачах обработки текстов частенько приходится подчиняться решениям других людей. Это будет уже ясно на примере маркировки частей речи.
Читать дальше →
Всего голосов 37: ↑30 и ↓7 +23
Комментарии 50

NLP: проверка правописания — взгляд изнутри (часть 4)

Время на прочтение 3 мин
Количество просмотров 5.8K
Искусственный интеллект Natural Language Processing *
(Части 1, 2, 3) В четвёртой части мы поговорим о проверке грамматики за пределами токенизированных передложений.

Как уже упоминалось, разбиение предложения на токены и POS-разметка уже позволяют создать простой инструмент проверки грамматической корректности текста. По крайней мере, LanguageTool плагин к Open Office работает именно так. Очевидно, что массу ошибок можно выловить на уровне размеченных токенов. Однако также очевидно, что не менее обширные классы ошибок остаются за пределами возможностей нашего модуля. Взять хотя бы такую простую вещь как согласование подлежащего и сказуемого: «дама любил собак», «любил собак дама», «собак дама любил»… как составить паттерн для правила «сказуемое должно иметь тот же род, что и подлежащее?» Даже для английского языка с более-менее чётким порядком слов это трудно, говорить о русском и вовсе не приходится.
Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 7

Точка, точка, запятая: машинное обучение

Время на прочтение 7 мин
Количество просмотров 17K
Блог компании VK
Как научить поисковую машину правильно разбивать текст на предложения? Сделать так, чтобы она могла распознавать точки, которые не являются концами предложений.

Наша статья о машинном обучении объясняет одну из техник, которые применяются в поисковой машине тогда, когда возникает нужда в корректном разбиения текста на предложения. Решение такой задачи имеет принципиальное значение, например, при генерации сниппетов поисковыми системами или при построении базы контекстов словоупотребления. Сейчас эта технология встраивается в индексатор Поиска@Mail.Ru. Точность метода, по нашим наблюдениям — не менее 99%.
О том, как это работает, читайте в нашей статье.
Читать дальше →
Всего голосов 56: ↑41 и ↓15 +26
Комментарии 8

Ответы генерального директора ABBYY Сергея Андреева на вопросы читателей Хабра. Часть 1

Время на прочтение 11 мин
Количество просмотров 37K
Блог компании Content AI
image
Уважаемые читатели и писатели Хабра!

Хочу сказать спасибо всем участникам этого обсуждения за их искреннее желание сделать нашу страну лучше. Это видно во всех вопросах, заданных здесь, даже если они порой звучат жёстко и предубеждённо. Я посчитал важным ответить на вопросы, потому что ABBYY слишком давно не рассказывала о том, чем мы занимаемся, и как мы это делаем. А отсутствие информации порождает много нелепых догадок. Итак, время отвечать на вопросы.

В этих ответах я буду иногда отвлекаться к общим суждениям и общей информации, но не для того, чтобы что-то рекламировать, а чтобы лучше объяснить причины, лежащие в основе наших действий.

Начну с того, что компании ABBYY уже 21 год. Все это время мы делаем интересные продукты и технологии, известные во всём мире. Сейчас это продукты распознавания печатного и рукописного текста и словари. В будущем – это продукты, основанные на компьютерной лингвистике. Наши интересы не лежат в области потребления. Наши руководители и акционеры не ездят на роскошных автомобилях, не покупают яхт, вертолетов и дворцов, у нас нет дач на Рублевке. Нам интересно делать новые удивительные продукты, а не ходить по магазинам.
Читать дальше →
Всего голосов 139: ↑115 и ↓24 +91
Комментарии 171

Узнать всё о лингвистическом аннотировании текстов на семинаре ABBYY Open

Время на прочтение 1 мин
Количество просмотров 2.4K
Блог компании Content AI
В ближайший вторник, 24 мая, мы организуем в Москве семинар «Актуальные проблемы компьютерной лингвистики», посвящённый лингвистическому аннотированию текстов (корпусов). Мероприятие состоится в рамках серии открытых лекций и семинаров ABBYY Open.

Лингвистическое аннотирование является сегодня центральной темой, объединяющей интересы теоретических и компьютерных лингвистов. Разметка корпусов нужна как для задач машинного обучения систем Natural Language Processing (NLP), так и для получения собственно лингвистических результатов.

Приглашенные докладчики – известные специалисты в области компьютерной лингвистики Эдуард Хови (Eduard Hovy, University of Southern California/Information Sciences Institute) и Диана Маккарти (Diana McCarthy, Lexical Computing Ltd).

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

Рабочий язык семинара – английский.
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 1

«Диалог» задаёт стандарты компьютерной лингвистики в России

Время на прочтение 6 мин
Количество просмотров 8.2K
Блог компании Content AI
Как вы знаете, ABBYY создаёт программы, которые так или иначе связаны с обработкой языков: ABBYY Lingvo переводит слова с одного языка на другой, ABBYY FineReader преобразует тексты из печатного вида в электронный, ABBYY Compreno (о ней мы писали здесь) будет переводить на разные языки целые тексты. Программы такого типа называют «наукоемкими», потому что они основываются на результатах серьезных научных исследований. А в нашем случае – на результатах из области искусственного интеллекта, распознавания образов и компьютерной лингвистики. О компьютерной лингвистике и пойдет речь в этом посте.

Мы очень заинтересованы в том, чтобы эта наука развивалась, поэтому не ограничиваемся исследованиями внутри компании, но и который год подряд организуем целую научную конференцию на эту тему – «Диалог». Поскольку компьютерная лингвистика – достаточно специфическая область знаний, о «Диалоге» много знают лингвисты и мало знают все остальные. Под катом мы расскажем вам о нём подробнее.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 26

Интернет как корпус – новый семинар в серии ABBYY Open

Время на прочтение 1 мин
Количество просмотров 3.4K
Блог компании Content AI

В следующий вторник, 19 июля, в московском офисе ABBYY состоится очередной семинар в серии ABBYY Open «Актуальные проблемы компьютерной лингвистики». На семинаре выступит Сергей Шаров – сотрудник кафедры перевода Университета Лидса (Великобритания), ранее работавший в Российском НИИ искусственного интеллекта и Институте русского языка, РАН. Его доклад «Web as Corpus, Подходы к количественному и качественному анализу текстового содержания интернета» посвящен методам сбора лингвистических корпусов в интернете, оценке качества этих методов и рассмотрению подходов к автоматической классификации текстов.

На семинаре будут описаны способы быстрого сбора корпусов в нужной области, подходы к автоматической классификации текстов по предметным областям и жанрам с помощью таких методов как Support Vector Machines (SVM), Topic Modeling, Multidimensional Scaling. Помимо количественной оценки качества методов необходимо также проводить качественную оценку соответствия результатов классификации языковой интуиции. На семинаре будут приведены примеры использования методов создания и обработки корпусов для русского, английского, китайского и немецкого языков.

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

UPD: Видео с семинара можно найти здесь
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 4