Опыт динамического составления конкордации
к текстам А. С. Пушкина

since Jul. 9 2001
Японский язык | Русский язык  

Предисловие

Данная Web-страничка — опыт компьютерного динамического составления конкордации к художественным текстам А. С. Пушкина. Конкордация (или "конкорданс", по термину литератураведения в последние дни) — это указатель слов и словосочетаний, встречающихся у какого-либо писателя или в какой-либо книге, с отсылками к тексту. Здесь можно получить данные о частоте появления слов, а также список слов и словосочетаний согласующихся с выбранными выражениями. Мне бы хотелось, чтобы эти таблицы могли принести пользу исследователям творчества Пушкина.

Электронные тексты основаны на CD-ROM Полного собрания сочинений А. С. Пушкина, опубликованном фирмой F-BIT.

Круг произведений А. С. Пушкина для конкордации состоит из следующих жанров:

  - Стихотворения
  - Поэмы
  - Драмы
  - Художественная проза
  - Сказки
  - Исторические статьи
  - Критика
  - Письма

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

О процессе подготовки пушкинского корпуса (corpus) см.: «Опыт статистической обработки текстов А. С. Пушкина»

В составлении конкордации главную роль играет программа Staslova, написанная мной и предназначенная для статистического анализа слов в многоязычном тексте. WWW-серверные приложения (CGI, Shell script) проверены на программе просмотра Microsoft Internet Explorer 5.5 (Windows 2000 / Me).

О Staslova см.:   «staslova — программа для статистики и проверки форм слов»

Предлагаемые материалы ни в коей мере не претендуют на полноту и совершенство, и автор, а также фирма F-BIT, не несут никакой ответственности за любые результаты полученные при их использовании. Это следует признать до начала работы.

Замечания и предложения принимаются по электронной почте.

 


Внимание о форме

При составлении конкордации пользователи могут определять условие желательных словесных форм на Web-form — выражение или expression.

Буквы (символы) для описания выражения включают в себя:

  • буквы нормальные, согласующиеся с теми же буквами.
  • "*" — специальная буква неопределенности, согласующаяся с любыми буквами больше 0.
  • "." — специальная буква неопределенности, согласующаяся с одной любой буквой.
  • "*" "+" "#" — знаки логической операции. "*" означает логическую «конъюнкцию» (AND), "+" — «дизъюнкцию» (OR), и "#" — отрицание (NOT).
    Приоритет вычислительной обработки: "*" > "+" = "#"
  • "(",")" [круглые скобки] — знаки группировки, изменяют приоритет вычисления по арифметическому принципу. Их нужно записывать парой.
  • Буквы как "*" теряют свою специальную функцию когда пред ними ставится символ "\". (И "\" — тоже.)

Примеры выражения:

выражениесогласующиеся слова
крас*крас красавица красавец красивый ...
крас.краса красе ... (не согласуется с красой)
краса* * *иц.красавица красавицу ... (не согласуется с красавицами)
кр* * (*сав* # (*а + *ы))красавицу красавец... (не согласуется с красавица)
а*(любые слова начинающиеся на "а")
*(все слова: это требует много времени ...)
....(любые слова из 4 букв)
Г*\**Графиня**** ...
 

В элемент "выражение" вводите символьные цепочки по-русски по кодировке UTF-8. Так как я установил эту страницу по кодировке UTF-8 то можно, по-видимому, вводить русские буквы UTF-8 и в японской системе Microsoft Windows, если настроить Windows Multilingual support. Если ваша клавиатура не подготовлена для того чтобы вводить русский алфавит, используйте "Русскую клавиатуру" (виртуальную).

От определения разделительных знаков зависит словораздел в текстах. Разделители условно разделены на 3 типа:

  • разделитель безусловный — безусловно разделяет слова.
  • разделитель последовательный — функцирует в качестве разделителя, когда написан подряд больше 2 раз, например:
     
    определениеразделенные слова
    -Римский-Корсаков (не разделено)
     Я студент
     
  • разделитель смежный — разделяет когда проявляется смежно с теми буквами, которые выступают в качестве разделителя, например:
     
    определениеразделенные слова
    'sister's (не разделено)
     Я говорил Sister (не 'Sister')
     

Для упрощения процесса работы определение типа разделителей можно пропустить в умолчании.

Показываю устройство системы WWW-сервера, которая работает для составления конкордации:

элементсредства
системаIBM ThinkPad X20 (laptop PC)
CPUPentium III 600MHz
объем памяти320MB
операционная системаFreeBSD 6.2-RELEASE
WWW-серверApache 2.2.3
язык программированияStaslova: C (GNU C compiler 3.4.6)
CGI: Perl5 (5.8.8)

 

counter