Научная статья на тему 'Модель базы данных для хранения текстов и их характеристик>'

Модель базы данных для хранения текстов и их характеристик> Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1442
87
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Романов Александр Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Модель базы данных для хранения текстов и их характеристик>»

70

ТЕХНИЧЕСКИЕ НАУКИ

УДК 004.65: 519.25 A.C. Романов

Модель базы данных для хранения текстов и их характеристик

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

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

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

Статистическая информация об отдельных лексических единицах легко извлекается из текста, и есть все основания полагать, что она адекватно отражает его содержание в целом [2].

Текст определяется как динамическая единица высшего порядка, как письменное произведение, обладающее признаками связности и цельности в информационном, структурном и коммуникативном плане. Текст представляет собой объединенную по смыслу последовательность знаковых единиц, основными свойствами которой являются связность и цельность [3].

Текст можно рассматривать как иерархическую структуру (рис. 1).

Т

S ] 1 £ К

ш, Ы>2 ... "Vi W„

У

а, С ai -2 а, ! а,

Рис. 1. Структура текста: а — символ алфавита А - {а,, а2, ..., а,}; Ь — число символов в тексте; и> — словоформа из словаря К = { т — число слов в тексте;

предложение; у — число предложений в тексте; Т — текст

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

Минимальной единицей текста, с помощью которой автор может выразить некоторую мысль, является предложение. Абзац (как и элементы более высокого уровня) является достаточно крупной единицей. Следовательно, понадобится большой объем текста для статистического анализа в случае использования абзацев как объектов исследования. Поэтому был» принято решение ограничиться предложением как максимальной единицей текста, для которой будет проводиться сбор статистики.

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

А.С. Романов. Модель базы данных для хранения текстов и их характеристик

71

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

Таким образом, основные операции, интересующие исследователей, связаны с получением наборов агрегированных параметров текста.

Первоначально планировалось использовать БД, концептуальная модель которой представлена в [4], но она рассчитана на сбор данных только для одного фиксированного пользователем объема текста и не позволяет исследовать выборки иного размера. Её применение возможно, если чётко известны характеристики и объемы текстов, необходимые для успешной идентификации.

Для исследовательских целей необходимо обеспечить возможность извлечения информации из БД для выборок разного объема. На основе сделанных выводов была разработана концептуальная модель БД для хранения характеристик текста (рис. 2).

tAuthors

tSentences

tWordsList

ID Author

FirstName SecondNarae Las tN ame AuthorSex AuthorAge

tTexts

ID Text

IDAuthor (FK) TextTitie TextDate TextGenre

Рис. 2. Концептуальная модель базы данных для хранения характеристик текста

Текст в базе данных хранится как список предложений. Предложения хранятся как список составляющих их словоформ, последовательностей знаков препинания, цифр и т.д., которые в свою очередь представлены в БД я в виде составляющих их символов. Такой подход позволяет получать выборки любой сложности из БД с помощью запросов на языке SQL (без дополнительной обработки результатов выборки), учитывая иерархическую структуру текста. Рассмотрим таблицы и их поля подробнее.

1. Таблица «Авторы» (tAuthors) предназначена для хранения информации об авторах и содержит следующие поля: фамилию, имя, отчество автора (поля Last Na me, FirstName, SecondName соответственно), пол автора (AuthorSex), возраст автора (AuthorAge) и идентификатор записи (IDAuthor).

2. Таблица «Тексты» (tTexts) содержит следующие поля: название текста (TextTitie), жанр текста (TextGenre), дату написания текста (TextDate), идентификатор записи (ID Text) и идентификатор автора текста (ID_Author).

3. Таблица «Предложения» (tSentences) содержит поля идентификатора предложения ([D Sentence) и идентификатора текста, к которому относится данное предложение (ID Text). Также в таблицу можно добавить поля для хранения синтаксической информации.

72

ТЕХНИЧЕСКИЕ НАУКИ

4. Таблица «Слова» (tWords) предназначена для хранения не только словоформ, но также групп знаков препинания, буквенно-цифровых комплексов и т.п. Она содержит следующие поля: идентификатор записи (IDJWord); само слово (Word), его тип — поле Туре (1 -словоформа, 2 — группа знаков препинания и т.д.), количество слогов в слове (SillableAmount), нормальную форму слова (BaseForm) и часть речи (PartOfSpeach), определяющиеся в результате морфологического анализа, а также расширенную морфологическую информацию (Fulllnfo).

5. Таблица «Символы» (tSymbols) содержит следующие поля: идентификатор символа (ID_J3ymbol), сами символы (Symbol) и их тип (1 — гласный, согласный, цифра, знак препинания).

6. Таблица «Список слов№ (tWordsList) хранит список слов в том порядке, в котором они идут в предложениях. Каждая запись содержит следующую информацию: идентификатор предложения, в которое входит слово, идентификатор текущего слова в предложении (ID Wordl, порядковый номер слова (WordNum) в предложении, роль слова (Role) в предложении: подлежащее, сказуемое и т.п., флаг того, что слово начинается с заглавной буквы (FirstCapital).

7. Таблица «Список символов» (tSymboIsList) хранит список символов в том порядке, в котором они идут в словах. Каждая запись содержит идентификатор слова, в которое входит символ (ID_Word), идентификатор символа (ID_Symbol).

Адекватность хранимой в БД информации должна обеспечиваться используемыми алгоритмами обработки текста: лексико-грамматическим, морфологическим и синтаксическим анализом [5].

Тексты, хранящиеся в БД, занимают больше дискового пространства, чем те же тексты, хранящиеся в виде обычного файла с расширением *.txt. Так, например, размер 100 текстов, каждый из которых состоит из 20000 словоформ, при условии, что уникальных словоформ в них 100000, будет приблизительно в 2 раза больше, чем без использования БД.

В процессе разработки структуры БД было установлено, что хранить агрегированные характеристики текста в таблице нецелесообразно.

Частоты каждого слова хранить в базе данных нецелесообразно, потому что частота подразумевает привязку к некоторому «общему» количеству слов — объему выборки. Как уже было отмечено ранее, необходимо иметь возможность изменять границу выборки. Частоты слов для выборки любого объема можно получить с помощью запроса(ов) на языке SQL. На рис. 3 приведён запрос SQL1, выполняющий подсчет количества и частот различных слов.

SELECT wl.Word, count( wl.Word ) AS Amount, count( wl.Word ) / ( SELECT COUNT( wll.IDJWord )

FROM tWordsList ASwll, tWords as wl where wl,ID__Word = wll.ID Word and wl.Type-1) AS Freq

FROM tWords AS wl, tWordsList AS wll WHERE wl.lD_Word = wll.ID_Word and wl.Type=l GROUP BY wl.Word

Рис. 3. Листинг запроса SQL для получения количества и частот встречаемости пар слов

Логическая модель БД должна поддерживать возможность получения выборок по парным элементам текста: сочетаниям букв и сочетаниям слов. Хранить их в БД также нецелесообразно: их количество и частоту можно получить с помощью SQL-запросов благодаря полям «Номер символа в слове» (SymbNum) и «Номер слова в предложении» (WordNum). На рис. 4 приведен пример последовательности запросов SQL для получения количества и частот встречаемости пар слов без учета их типа.

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

1 Запросы, приведенные в статье, составлены для языка стандарта SQL/92 с учетом отсутствия в некоторых СУБД поддержки механизма вложенных запросов (например, MySQL ранних версий).

A.C. Романов. Модель базы данных для хранения текстов и их характеристик

73

CREATE TEMPORARY TABLE tmp ( AilAmount mediumint); INSERT INTO tmp

SELECT Count( Concat( wl.Word, " w2.Word ) ) AS Amount

FROM tWordsList AS wll, tWordsList AS wi2, tWords AS wl, tWords AS w2

WHERE wI2.WordNum - wll.WordNum =1

AND wl2.ID_Sentence = wll.ID Sentence

AND wl.ID_Word - wll .ID Word

AND w2.ID Word = wl2.ID_Word;

SELECT Cone at I wl.Word, ' w2.Word ) AS DoubleWords, count( Concat( wl.Word, ' w2.Word )) AS Amount, count( Concat( wl.Word, ' *, w2.Word ) ) / t.AilAmount AS Freq

FROM tWordsList AS wll, tWordsList AS wl2, tWords AS wl, tWords AS w2, tmp AS t

WHERE w!2.WordNum - wll.WordNum =1

AND wl2.ID_Sentence = wll.ID_S«ntence

AND wl.ID^Word = wll.H>_Word

AND w2.ID_Word = wl2.ID_Word

GROUP BY DoubleWords

Рис. 4. Листинг последовательности запросов SQL для получения количества и частот встречаемости пар слов

Работа поддержана грантом ФСРМПНТС. Литература

1. Романов A.C. Идентификация авторства текста / A.C. Романов // Научная сессия ТУСУР-2006 : материалы докладов Всероссийской научно-технической конференции студентов, аспирантов и молодых ученых, Томск, 4-7 мая, 2006 г. - Томск : В-Спектр, 2006. -Ч. 3. - С. 115-117.

2. Ермаков А.Е. Тематический анализ текста с выявлением сверхфразовой структуры / А.Е. Ермаков // Информационные технологии. - 2000. - № 11. - С. 37-40.

3. Валгина Н.С. Теория текста : учеб. пособие / Н.С. Валгина // М. : Мир книги, 1998.

- 210 с.

4. Романов A.C. Исследование влияния характеристик текста на результативность определения авторства неизвестного текста / A.C. Романов // Научная сессия ТУСУР-2007 : материалы докладов Всероссийской научно-технической конференции студентов, аспирантов и молодых ученых, Томск, 3-7 мая 2007 г. - Томск : В-Спектр, 2007. - Ч. 2. - С. 183-185.

5. Шемякин Ю.И. Начала компьютерной лингвистики : учеб. пособие / Ю.И. Шемякин.

- М. : Росвузнаука, 1992. - 116 с.

Романов Александр Сергеевич

Аспирант каф. комплексной иифортяанионной безопасности ЗВС TVCVVa ten.-. 13822\ 6Л 41 Эл. почта: rasC^ms .tusur.ru

A.S. Romanov

The database model for texts and their characteristics storage

Description of the conceptual database model for text's storage considering

it's internal singularities and information on the basic text's elements is given. Possibilities

of DBMS and the developed conceptual database model usage for researches

in the field of text's authors' identification are shown.

i Надоели баннеры? Вы всегда можете отключить рекламу.