В итоге процесс взвешенного извлечения терминов выглядит так. Первый этап - выделение искомых тем. Это можно проделать как и вручную, так и автоматически (выбираем те словари, слов из которых больше всего среди полученных SketchEngine терминов). После этого проводится взвешивание "сырых" терминологических данных. Самые высокие весы - 2 - получают слова, присутствующие в словаре (или словарях) по основной теме текста. Аналогично весы 1,5 получают те термины, которые относятся к двум "второстепенным" темам. Если слово не присутствует ни в одном из словарей, то его коэффициент "термовости" не меняется, если находится в хотя бы одном из словарей - опускается вполовину (весы 0,5).
Для создания собственно словарей использовались терминологические категории Викисловаря.
Алгоритм взвешенного извлечения терминов был проверен на "китайском", "медицинском" и "немецком" корпусах, ранее использовавшихся для исследования предобработки (в качестве словаря-мерила использовался ruTenTen11). Эффективность этого алгоритма сильно варьировалась от корпуса к корпусу. Например, в "немецком" корпусе присутствовали нерелевантные для Германии ключевые слова "Тацит" и "кельт", которые появились там из исторического текста. Они пропали со второго и четвертого мест, спустившись на третье (не очень впечатляет) и тридцать третье (впечатляет весьма и весьма) места соответственно. В это же время более немецкий "термин" "ГДР" поднялся с пятнадцатого места на четвертое. В "медицинском" корпусе названия болезней поднялись выше имен врачей, их изучавших. Однако в "китайском" корпусе весы не имели большого успеха: положение основных ключевых слов не изменилось, так как они представляли собой заимствования из китайского языка ("хуацзяо", "хуажень"), в русских словарях отсутствующие.
Рис. 6. Диаграммы, показывающие "силу" ключевых слов до и после процесса взвешивания. Тацит теперь почти наравне с ГДР.
Создание мер
Как уже было сказано, большую помощь для создания более точных методов сравнения коллокаций могут оказать "смешанные" меры, совмещающие в себя несколько способов измерения коллокации. Для этого нам придут на помощь различные методы измерения корреляций. Здесь основной задачей для нас является обнаружение крупных трендов, которые встречаются в разных мерах: мы найдем схожести и различия между ними и объединим похожие вместе, что даст нам возможность обходиться не множеством, а всего лишь двумя-тремя из них.
Основных методов для вычисления корреляций два: коэффициент Пирсона и коэффициент Спирмена. Первый служит для вычисления исключительно линейных отношений между двумя переменными (например, массы и веса), второй же оценивает то, насколько хорошо можно описать отношение между двумя переменными с помощью монотонных функций вообще. Для наших целей более полезен коэффициент Спирмена ("чистой" линейной корреляции между мерами добиться сложно, если не вовсе невозможно), и именно его мы использовали для создания смешанных мер.
Процесс создания смешанных мер проходил в три этапа. Сначала для каждой из возможных троек-M (сочетаний мер,, ) - вычисляется уровень корреляции (средний коэффициент Спирмена c между тремя парами мер в составе тройки - ). Пять троек с самой сильной средней связью выделяются, после чего для каждого элемента в тройку вычисляется также и свой коэффициент, основанный на средней корреляции с двумя другими элементами (по формуле; аналогично с , ). После того, как эти переменные были вычислены, значения разных мер соединяются по пяти самым связным тройкам, после чего меры в них, во-первых, нормализуются (чтобы меры с большим абсолютным значением в целом не затмевали все остальные), а во-вторых, умножаются на весы, равные вышеупомянутому персональному коэффициенту. В итоге мы снова получаем список слов и коэффициентов коллокаций, только этих коэффициентов теперь остается только пять.
При использовании этого алгоритма при поиске леммы "человек" в словаре ruTenTen11 мы получили такие тройки. В целом можно примерно осмыслить полученный в итоге результат: похоже, что тройка T-score, loglikelihood и MI3 выдает в основном часто используемые слова, а остальные тройки - характерные именно для этого слова. Что интересно, и там, и там большую роль играют служебные части речи, особенно предлог "у".
Иные результаты были достигнуты при исследовании
|
'MI.log_f' 'logDice' 'min. sensitivity' |
`MI.log_f' 'MI' 'min. sensitivity' |
'T-score', 'loglikelihood', 'MI3'): |
'logDice', 'min. sensitivity' |
'MI.log_f', 'MI', 'logDice' |
|
|
молодой |
молодой |
и |
тысяча |
молодой |
|
|
тысяча |
тысяча |
молодой |
у |
тысяча |
|
|
у |
право |
с |
другой |
право |
|
|
другой |
у |
что |
право |
жизнь |
|
|
право |
жизнь |
в |
каждый |
у |
Расширенные тезаурусы
Наконец, последним этапом во всем комплексе является создание новых возможностей для уже существующих инструментов. В рамках нынешнего тезауруса SketchEngine возможно найти семантически близкие слова лишь для одного слова. Из-за этого его возможности весьма ограничены: мы можем узнать только о непосредственных "соседях" слова по семантическому контексту, но не о том, каких "соседей", в свою очередь, имеют они.
Однако если мы проведем операцию построения тезауруса дважды - сначала для центрального слова, а затем для всех его "соседей", то мы получим целую синонимическую сеть, своего рода семантическое поле с центром в виде одного начального слова. В этой сети, в свою очередь сможем выделить семантический "центр" - то есть слова, имеющие много смысловых связей со своими "соседями" - и "периферию", отстоящую по смыслу от этого центра достаточно далеко. Таким образом работает сайт Thinkamp Visual Thesaurus, предоставляющий для каждого слова граф с близкими по смыслу словами в качестве вершин.
Рис. 7. Графы, показывающие обычный и расширенный тезаурусы
Визуализация
Принципы визуализации
От графов мы плавно переходим к конечной части нашей работы - визуализации обработанных данных, полученных после работы нашего комплекса над полученными из SketchEngine данными.
При ней мы должны следовать определенным принципам дизайна, чтобы итоговый результат был достаточно наглядным и приятным для глаз. Исследователь Steven Few описал некоторые такие правила (Few, 2006):
1. Визуальная ясность (visual clarity). Следует избегать большого скопления фигур и неоправданного использования ярких цветов, убирать ненужную информацию и выделять нужную. Таким образом когнитивная нагрузка на смотрящего будут уменьшена, а его способность воспринимать информацию - улучшена.
2. Ясность данных (contentclarity). Надписи и легенды не должны быть удалены без надобности. Даже если какие-то данные не указаны, на них должна иметься ссылка. Разумеется, первые два принципа конфликтуют, что приводит к проблемам.
3. Наглядность (preattentiveness): такие визуальные свойства, которые человек может воспринять за короткий срок, не просматривая через изображение несколько раз. Например, легко найти синий круг среди синих квадратов, либо же красный квадрат между синих квадратов: сами по себе цвет и форма видны с первого взгляда. Добавив два различия, однако, мы не добьемся позитивного эффекта - чтобы отделить из всего вышеперечисленного красный круг, требуется посмотреть на изображение как минимум дважды.
4. Гештальт-принципы. Объекты, близкие друг к другу пространственно (принцип близости) или имеющие схожий вид (принцип схожести) будут в основном рассматриваться как принадлежащим к одной и той же группе. (Пример: изображения кнопок в интерфейсе находятся близко.)
5. Интерактивность (программы). Визуализация может подвергаться изменениям, при которых один из предыдущих принципов выходит на первый план в зависимости от того, какой из них на данный момент актуальнее. Интерактивность может быть простой и заключаться просто в возможности повернуть или приблизить график, либо же быть более сложной и включать в себя кастомизацию графиков и данных.
О принципах и проблемах визуализации конкретно корпусных данных писал William L. Allen в своей работе "Making Corpus Data Visible: Visualising Text With Research Intermediaries". Там отмечается, что лингвисты должны показывать "значительные отношения между данными и лингвистикой, но не просто между данными и алгоритмом" (Allen, 2017, с. 12). При своей доступности средства визуализации не всегда достаточно ценятся исследователями, которые должны понимать, что "визуализации и процессы, создающие их, требуют особых ценностей, навыков и целей" (Allen, 2017, с. 12). Аллен приводит еще три принципа, о которых, по его мнению, нельзя забывать при создании визуализаций.
1. учитывать цели и значения до начала работы над дизайном;
2. налаживать четкую связь между всеми членами команды с разными навыками (для нас не имеет значения);
3. делать так, чтобы визуализируемые признаки соответствовали целям и дизайну программы.
Визуализация расширенного тезауруса
Проблема визуализации особенно остро стоит для построения расширенного тезауруса. "Нативная" визуализация простых тезаурусов в SketchEngine представляет собой довольно примитивное "облако слов"; его минусом, в свою очередь, является то, что несмотря на внешне приятный вид, выражать какие-то величины облако может только размером составляющих его слов, из-за чего больше одной переменной они показать не могут. Тезаурус по типу Thinkmap, представляющий собой граф, вполне адекватен для тезауруса-сети, однако мы должны учитывать, что SketchEngine дает нам не только отношения между словами, но еще и силу этой связи. Кроме того, важно выделить "центр" и "периферию" тезауруса.
В результате мы пришли к двум вариантам рисования графа. В первом варианте позиции узлы и ребра графа расставлены согласно силовому алгоритму Фрухтермана-Рейнгольда и представляют собой несколько пучков близко связанных с собой слов. Так мы можем легче выделять семантические поля внутри текста.
Рис. 8. Расширенный тезаурус от слова "человек". Первый вариант графа.
Второй же вариант графа представляет собой нечто среднее между, собственно, графом и пресловутым "облаком слов". Он представляет собой группу увеличивающихся колец овальной формы: слова, имеющие много семантических связей, находятся в центре; имеющие только одну или две - на периферии. Помимо этого, эти слова еще и выражают с помощью своего суммарную силу связи со всеми своими соседями. В первом варианте эта же величина выражается только цветом - от синей периферии через фиолетовый к красному центру.
Рис. 9. Расширенный тезаурус от слова "человек". Второй вариант графа.
Второй вид графа выглядит куда более эффектно и в некоторой степени более наглядно, зато первый лучше показывает отношения между конкретными словами.
Во время исследования расширенного тезауруса обнаружилось несколько интересных фактов. Во-первых, зачастую реальным центром расширенного тезауруса становится даже не то слово, с которого началось построение графа, а один из его соседей, выражающий более общее понятие и имеющий за счет этого больше сильных семантических связей.
В частности, при попытке построения расширенного тезауруса от слова "медицина" мы пришли к ситуации, где ярко-красным центром стало слово "наука", а ее ближайшими соседями - "религия" и "философия". Медицине же были назначены темно-синий цвет и место рядом с другими науками вроде логики и психологи, близкое к центру, но все же не непосредственно в нем.
Рис. 10. Расширенный тезаурус от слова "медицина".
Другие визуализации
Хотя создание тезаурусов было основной визуализационной задачей в пределах этого корпуса, в процессе работы - часто просто для упрощения понимания получаемых результатов самим автором. В частности, во время работы над взвешенным извлечением терминов использовались такие диаграммы, которые выражали количество терминологии среди ключевых слов и их характер.
Рис. 11. Диаграмма терминов "китайского" корпуса".
Рис. 12. Диаграмма терминов "медицинского" корпуса".
Рис. 12. Диаграмма ключевых слов "медицинского" корпуса". Оранжевая часть - термины, синяя - обычные слова.