Сравнение утилит анализа корпусов

Материал из NLPub
Перейти к навигации Перейти к поиску

Часто перед лингвистом возникает задача быстро проанализировать некий массив текстов и получить разнообразные количественные параметры, относящиеся к ним: количество словоформ и словоупотреблений, частотные словари, списки n-грамм и т. д.

Разумеется, для всех этих задач разработано множество модулей и библиотек, которые можно и нужно использовать в крупномасштабных проектах. Но для небольших задач, которые решает один пользователь (при этом не профессиональный программист) лучше подходят отдельные графические утилиты анализа корпусов (corpus analysis tools), которыми может воспользоваться даже лингвист, умеющий лишь запускать уже готовые программы.

Одной из наиболее распространённых утилит анализа корпусов в мире является WordSmith Tools Майка Скотта из Оксфордского университета. У неё есть два недостатка: она платная и работает только под MS Windows. Первый недостаток слегка компенсируется возможностью скачать демо-версию, со вторым ничего поделать нельзя. Но зато это хорошо разработанный toolbox со множеством инструментов, полезных любому лингвисту, и он фактически стал стандартом, на который ориентируются все прочие подобные программы.

Практически ничем WordSmith не уступает бесплатный AntConc, разработанный Лоренсом Энтони (Waseda university, Япония). В нём также реализованы все необходимые функции — список слов, конкорданс, поиск коллокаций и т. п. При этом он бесплатный, с открытыми исходными кодами и кроссплатформенный, работает под MS Windows, Linux и Mac.

Вот так выглядит частотный список, сгенерированный AntConc для корпуса из 600 текстовых файлов:

Freq.png

Однако, формат простого списка не даёт возможности снять полисемию и неоднозначность грамматического класса слова, поскольку это невозможно сделать без контекста. Чтобы разобраться с этим вопросом, нужно будет перейти к вкладке «конкорданс» (concordance).

Конкорданс — это список контекстов искомого слова в исследуемом корпусе. Результаты поиска показываются в формате, который называется KWIC (key word in context). Конкордансы полезны для изучения устойчивых словосочетаний (коллокаций).

Concordance.png

Результаты поиска можно сортировать по-разному. Можно настроить AntConc на показ того или иного количества слов справа и слева от искомого термина. Также возможно изменять порядок строк конкорданса: например, если вы искали глагол «скачать», то можете попросить конкордансер, чтобы он отсортировал в алфавитном порядке слова, непосредственно следующие за словом поиска. Это поможет вам найти подходящие дополнения, которые можно употреблять с этим глаголом.

AntConc умеет автоматически генерировать список n-грамм любой длины и частоты для данного корпуса. Так выглядит соответствующее окно для слова «спам»: биграмма «спам заблокировать» и триграмма «спам заблокировать пользователя». Это также полезно для поиска коллокаций.

Ngram.png

Наконец, есть возможность выявлять ключевые слова одного корпуса посредством сравнения его с другим, более крупным корпусом. Используется показатель логарифмического сходства (log-likelihood) или хи-квадрат. Очень полезно для выявления тех лексических индикаторов, по которым затем можно было бы классифицировать документы.

Likelihood.png

Ещё один полностью свободный кроссплатформенный инструмент анализа корпусов — Corsis (или Tenka Text), который стремится стать полнофункциональной заменой для WordSmith Tools. Он разрабатывается в Германии и выглядит слегка погламурнее, чем AntConc, плюс умеет выдавать более подробную статистику по корпусу, например, средние длины слов и предложений, соотношение числа словоформ и словоупотреблений, количество предложений и их распределение по длине, индекс исключительности (каков процент слов, употреблявшихся лишь один раз), индекс постоянства (каков процент частых слов) и так далее. Зато в нём нет возможности выявить ключевые слова текста или работать с n-граммами.

Вот частотный словарь в Corsis:

Corsis.png

А вот страничка статистики корпуса там же:

Stat.png

И, в заключение, об одном российском продукте — Dialing Concordance группы «Автоматическая обработка текста», доступный для свободного скачивания. Он выгодно отличается от всех перечисленных тем, что обладает встроенным морфологическим анализатором и способен понимать русское словоизменение. К сожалению, на этом его достоинства заканчиваются: кроме поиска в заданном корпусе заданного слова, он не умеет делать практически ничего, и к тому же доступен только под MS Windows (под *nix существует свободная библиотека, осуществляющая теоретически те же функции, но с не очень дружественным отсутствием интерфейса).