Профессиональные задачи филолога и свободное программное обеспечение

Маслинский Кирилл Александрович

На сегодняшний день в России нелегко найти филолога, который использует свободное ПО или хотя бы имеет представление о существовании такого феномена. Может ли эта ситуация измениться, и что это может дать филологической общественности?

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

Мой обзор и обобщения основаны на беседах с коллегами в Петербурге и Москве: студентами, аспирантами, преподавателями ВУЗов и практикующими исследователями, а также на собственном опыте — конечно, эти данные не имеют никакой статистической значимости. Поэтому ко всем сделанным утверждениям стоит относиться как оценкам ситуации внутри нескольких локальных сообществ, а не как к правилам, не имеющим исключений.

Собственно лингвистические задачи

Ряд задач по анализу языкового материала в некоторой степени поддаётся автоматизации. Среди необходимых программных средств можно назвать средства для фонетического, морфологического и синтаксического анализа, а также вспомогательную среду для переводчика (словари, автоматические переводчики и т. п.). В наиболее коммерциализованных прикладных областях — в первую очередь в переводе — существует рынок коммерческих приложений, в той или иной степени продублированных свободными проектами.

Если оставить в стороне «коммерческие» задачи и ограничиться «домашними» профессиональными потребностями филолога, то тут встречаются продукты самого разного происхождения, в основном доступные бесплатно в сети Интернет. Свободное ПО при этом наименее известно: преобладают различные FreeWare, ShareWare и программы без определённых условий распространения и исходных текстов. При выборе ПО царит случайность: используют не то, что подходит для решения задачи, а то, что известно или нашлось. Специалисты могут обмениваться находками лично, но нет общего информационного поля — не знают, чем пользуются коллеги для решения тех же задач. Неизвестны и систематические источники информации о прикладном лингвистическом ПО.

Общефилологические задачи

Самая общая задача филолога — это анализ текстов в самых разных пониманиях и текстов, и анализа. Естественно, что желание применить возможности компьютера растёт прямо пропорционально размеру корпуса текстов и детальности анализа. Компьютер может быть серьёзным подспорьем на этапе предварительного анализа данных, выполняя поиск, выборку, подсчёт и построение вторичных данных на основе исходного корпуса.

Однако чтобы получить преимущества от работы с корпусом в электронном виде, он должен быть структурирован — тексты нужно превратить в данные. Очень многие специалисты не осознают это как отдельную задачу: не знакомы с возможными способами хранения данных (структурированные форматы, базы данных) и хранят материал в обычных текстовых файлах и офисных документах. Наиболее структурированные данные хранятся с помощью электронных таблиц (в соответствующем офисном приложении), однако сами такие данные формируются обычно вручную, а не автоматически.

Результат: слабая автоматизация поиска и построения выборки. Большинство задач решаются многократным повторением операции поиска с последующим копированием. При необходимости обработки корпуса часто возникает задача регулярных замен, однако ни это понятие, ни подходящие инструменты неизвестны, поэтому используются многократные строковые замены. Редко осознаются в качестве автоматизируемых текстологические задачи, включающие сравнение текстов.

Общегуманитарные задачи

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

Большинство специалистов исходят здесь только из известных им возможностей привычных офисных приложений, а на трудности, возникающие при решении специфических задач, смотрят как на неизбежное зло. Довольно редко возникает желание найти специальные инструменты (скажем, для рисования диаграмм или создания библиографии). Многие вырабатывают собственные практические приёмы и инструменты для облегчения положения, но только редкие из них выходят за рамки индивидуального использования и могут стать общественным проектом (ср. проект СОЛУНЬ).

Возможности свободного ПО

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

Регулярные выражения
Очень многие из задач автоматической обработки текста сводятся к поиску (и замене) по регулярному выражению. Очень широкий инструментарий, от grep до OpenOffice.org и специализированных утилит (см. CPAN).
Стандартные утилиты UNIX
Инструментарий UNIX для обработки текста можно успешно применять для многих филологических задач: подсчёт частотности словоформ, выборка на основе регулярных выражений, группировка и сортировка данных, построение таблиц, текстология (сравнение текстов) и т. п.
Treeline — создание корпусов
Утилита Treeline очень хорошо подходит для формирования и постепенной обработки (структурирования) корпусов данных, состоящих из небольших текстов. Она может служить значительно более гибким аналогом бумажной картотеки. Существует множество аналогичных утилит (см. SourceForge).
Контроль версий
Любая академическая деятельность требует работы с разными редакциями документов. Очень полезным при этом может быть использование системы контроля версий (выбор свободных инструментов здесь очень велик).

Преподавание свободного ПО филологам

Можно заключить, что источник множества затруднений, делающих работу многих филологов с компьютером неэффективной — это отсутствие контекста. Случайность в выборе ПО порождает у пользователей сильную зависимость от ограничений конкретных программ. Недостаёт:

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