Аннотация

На примере данных «теста 16-ти ассоциаций» показаны проблемы, обусловленные «загрязнением» словесных данных.
Выделены типы «загрязнений» и указаны способы их удаления.
Показаны последствия очистки данных.

Его пример – другим наука,

но, боже мой, какая скука…

А.С. Пушкин

Содержание

  1. В чем проблема
  2. Преобразование первичных данных
  3. «Загрязнения» данных
    1. Имена
    2. Пробелы
    3. Опечатки (описки)
    4. Правописание
    5. Неверная первая буква
    6. Английские символы
    7. Украинские символы и слова
    8. Ненормативная лексика и эвфемизмы
  4. Как же сказывается очистка на частотах?
  5. Выводы и замечания

1. В чем проблема

Работа основана на данных, полученных в результате «теста 16 Ассоциаций» — попарные слова-ассоциации, реализованным Николаем Типатовым (http://b-t.com.ua). Качественные данные в рассматриваемом случае – слова (или словосочетания), которые выбирались респондентами по «ассоциации» на указанную букву или тему.
Данные, которые анализируются в этой статье, относятся к 982 респондентам, применившим 982 · (16 + 1) = 16 694 ассоциации. Естественно, часть из них повторяется. Интерес представляет именно распределение ассоциаций по частоте встречаемости и зависимость этой частоты от различных факторов. В частности, от пола. Этим задачам посвящены статьи:

Но в этих статьях упор был сделан на сами результаты и методику их получения и анализа. При этом сам характер первичных данных обсуждался мимоходом. А ведь только очистка данных позволила и сделать сами выводы, и более тщательно их обосновать.
Данная же статья посвящена как раз «малоинтересным» и редко обсуждаемым деталям обработки данных – очистке первичных данных, возникающим при этом проблемах и способах их разрешения.
Сама проблема очистки данных поставлена давно, известны многие правила ввода и приемы контроля первичных данных. Тем не менее, качественные (номинальные, «назывательные», словесные» данные доставляют наибольшее число ошибок ввода. Их обычно снижают (или даже совсем избегают), предлагая респонденту вводить такое данное из заранее составленного списка. Так организован ввод факторов типа «Образование» и т.п.
Но сама идея теста «на ассоциации» предполагает «полет фантазии», со всеми вытекающими отсюда последствиями. Методам борьбы с такими последствиями и посвящена эта статья.
Одно предварительное замечание. Методика анализа данных есть всего лишь средство, а, как известно, цель определяет средства. В нашем случае мы анализируем ассоциации, а не слова, при помощи которых она выражается. Поэтому я полагал, что слова галоша и галоши, являясь различными словами, выражают одну и ту же ассоциацию. Я их заменял одним словом (каким-то из них, обычно – более частым).
Возможна и другая точка зрения, и не одна. Что ж, флаг им в руки. Я проделал эту весьма нудную, поверьте, работу, исключительно в качестве методического примера – как можно вытащить осмысленные результаты из, в общем-то, весьма «грязных» первичных данных. Стоила ли овчинка выделки? Мне было любопытно и, главное, было время. Иначе – дудки я бы стал возиться с этим «материалом». Хотя и из этой «грязи» можно, умеючи, вытащить кое-что любопытное. И даже значимое!

2. Преобразование первичных данных

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

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

преобразуется в соответствующий фрагмент БД: (DC_db3)

Компактность данных при этом уменьшается – вместо одного числа для выражения фактора мы вводим несколько нулей и одну единицу. Зато довольно просто получаем возможность анализировать частоты. Конечно, это можно проделать и другими способами… Но главное – возможность применить методы баз данных для анализа именно самих ассоциаций.
По идее теста, ассоциация должна начинаться с той буквы, которая предложена в текущей позиции. Поэтому букву можно было бы вычислить как первую букву слова. Увы, столбец «буква» нужен обязательно, поскольку имеются:

  • «финальные» ассоциации, которые рассматриваются отдельно;
  • респонденты, вводившие слова «не на ту букву» (английские, опечатки, приколы, …)

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

3. «Загрязнения» данных

Само понятие «загрязнения» предполагает наличие некоего образца-эталона «чистоты», с которым производятся все сравнения. Однако мы имеем дело с живым языком, и нормы его весьма расплывчаты (вспомним недавнюю эпопею со словарями русского языка). Поэтому некоторый субъективизм в понимании «чистоты» проявится обязательно.
Следующий вопрос – где и когда следует обрабатывать встречающиеся «загрязнения»? Строго говоря – чем раньше, тем лучше. Но если встречается много одинаковых загрязнений, то можно и собрать их вместе, а уж потом исправить одним махом. Что как раз и удобно делать в базе данных.
Конечно, куда лучше автоматизировать контроль таких ошибок и исправлять их «на лету», при вводе данных, не пропуская на следующие этапы обработки.
Отмечу, что большим подспорьем стал спел-чекер. При всех его ограничениях, он может служить хоть каким-то третейским судьей в принимаемых решениях. Пришлось полазить по словарям и Интернету.
Ясно, что процесс интерпретации ассоциации весьма субъективен, а попытка поставить себя на место респондента носит несколько шизофренический характер. Опечатки и различные грамматические тонкости приводят к тому, что имеется масса «одноразовых» ассоциаций, которые надо было бы, строго говоря, просто выкинуть. Поэтому делать такую очистку надо обязательно, чтобы получить хоть какие-то пригодные данные. Даже после многократной очистки остаются возможности для укрупнения, причем вполне оправданные. Например, ажур встречается 4 раза, а ажурно – 1 раз. По отдельности обе «не дотягивают» до рубежа (пусть условного, но какой-то же надо установить) в 5 вхождений, а вместе – уже да.

3.1. Имена

Важная проблема – интерпретация слова как имени или как «простого» слова. Например, «роман» — это имя или литература? Ясно, что часть из этих ассоциаций – имена, а часть просто существительное. Но какая именно часть? И как мне это вычислить? Поэтому я всегда полагал, что в таком сомнительном случае речь идет не об имени. К счастью, таких слов не очень много, и читатель может сам их рассмотреть в нужном ему ключе.
Специфика имен – в исключительно индивидуальном характере самого имени. Действительно, имя Наташа в различных его вариантах упоминается 13 раз. И что? Одно из самых распространенных имен – и только. Никакой семантики, как и положено имени.
Так что при анализе я их потом выкинул, просто для уменьшения объема данных.

3.2. Пробелы

Одним из наиболее трудно обнаруживаемых «загрязнений» являются пробелы – в конце или в начале слова. «Гадость» его в том, что на экране он не отображается – пусто, ну и пусто. А поскольку практически для любой программной системы строки “ребенок” “ребенокÆ” (символ Æ обозначает пробел) являются различными, то и подсчет частот приведет к тому, что будут получены две различные частоты для одного и того же слова.
Если начальный пробел встречается очень редко (например, в данном наборе его нет вообще), то концевой – бывает. Обусловлено это, скорее всего, тем, что много работающий за компьютером человек часто рефлекторно, заканчивая слово, вводит пробел. В данной выборке их немного — всего 32 (только однословные ассоциации). Поскольку в многословных есть внутренние пробелы, искать в них ещё и концевые мне было скучно.
32 из 16654-х – это очень немного, конечно, но все-таки в любой программе, обрабатывающей ввод словесных данных,

следует использовать функцию «усечение начальных и конечных пробелов»

Такая функция придумана давно (проблема-то старая!) и имеется в любой программной среде.

3.3. Опечатки (описки)

Увы, никуда от них не деться! Они вносят наибольшие проблемы, поскольку нам приходится решать: оставить их как есть или же исправить.
Первый путь наиболее прост. Например, как понять такое слово как рвакля? Строго говоря, эти «слова» не могут быть поняты как ассоциации и представляют собой просто «шум». Но тогда их следует исключать из дальнейшего рассмотрения. А это чревато потерей довольно большого числа данных, которые вполне можно было бы «спасти» для анализа.
Второй путь связан с решением проблемы – как исправить данное слово, чтобы восстановить «первоначальный замысел» респондента. Ну нет у меня сомнений, что аарбуз – это все-таки арбуз. А в приведенном выше примере спел-чекер дает только один вариант – ракля.
Встречающиеся опечатки можно разбить на:

  1. однозначно понимаемые (и поэтому легко исправляемые);
  2. неоднозначно понимаемые (и тем самым требующие принятия решения).

Слов «первого типа» вполне много: абажюр, агнанас, айст и т.п. Их исправление требует тьму времени, носит тупой характер, но вполне выполнимо и позволяет сберечь много данных. Я не стал подсчитывать число таких опечаток – слишком много времени это у меня заняло бы. А писать программу для такого обсчета – много чести для столь ограниченной задачи.
Поскольку спел-чекер «отлавливает» однобуквенные опечатки (две и более неверные буквы порождают слишком много возможностей для интерпретации), то чисто практически можно убедиться в том, что опечатки первого класса можно уверенно отловить лишь в словах достаточной длины. Это связано с избыточностью буквенного состава слова, особенно если опечатка сделана в гласной букве или же является дублированием/пропуском буквы.
Слова второго типа вносят куда больше проблем. Часть из них однозначно решается тем фактом, что первая буква искомого варианта нам известна. Например, для слова агрус, введенного на букву А, спел-чекер дает два варианта – аргус и гарус. Выбор очевиден.
В другом случае ситуация куда хуже, но тоже разрешаема. Например, имеем слово александрв. Спел-чекер предлагает 6 вариантов. Но половина из них – это Александр в различных падежах. Нас же интересует только именительный падеж. Но и тут есть 3 варианта – Александров, Александр, Александра. Слава богу, это все имена. Поэтому нам «по барабану», как именно написано это слово – оно уйдет в группу имен. В любом случае, его частота, скорее всего, будет невелика, и эта ассоциация будет отсечена. А при подсчете единичных ассоциаций это опять-таки не скажется.
Но спел-чекер тоже не всемогущ. Например, андроид он предлагает заменить на анероид. Конечно, связано это в ограниченностью словаря спел-чекера. Кстати, у моего после этой работы значительно пополнился словарь.
Но самая драматическая ситуация возникает в случае, когда опечатка в одну букву приводит к нескольким вариантам её исправления, одинаково возможным с логической точки зрения. Пример: бнак м.б. исправлен на банк, бак, брак. И что же надо выбрать? Вопрос не так прост, как кажется. Ведь любой выбор меняет частоты. Если ассоциация остается в числе одноразовых, то и черт с ней. А если она повышает частоту до «критической», превышение которой означает, что данная ассоциация является «употребительной»? Обычно я выбирал тот вариант, который спел-чекер предлагал первым, поскольку в нем варианты, насколько я понимаю, предлагаются именно в порядке убывания частоты заменяющего слова.
И этот пример ещё семечки. Вот слово бонг. Спел-чекер предлагает около десятка замен! И несколько из них вполне разумны в данной ситуации. Такие я оставлял как одноразовые, поскольку их «истинное» написание мне неизвестно.

3.4. Правописание

Иногда опечаток настолько много, что их уже нельзя считать случайными. Такие я выделил в отдельную группу, поскольку вынужден считать их неверным написанием слова.Например, зоря встречается 7 раз (и все у женщин), а заря — 18 (16 у женщин и дважды у мужчин).
Это связано с невысокой грамотностью части (увы, довольно значительной) наших респондентов. А также с разным пониманием «нормы» написания слова. Например, вариант «говно» выбрало 163 человека, а вариант «гавно» — 17. Большинство тут право, и «результирующей» ассоциацией следует выбрать говно с частотой 180. А это сразу меняет его «долевое участие» среди ассоциаций на букву Г.
А вот со словами ребенок и ребёнок ситуация обратная – 22 против 3. По словарю Ожегова (М., Изд. «Русский язык», 1986) правильным написанием будет ребёнок. Но спел-чекер написание ребенок как ошибку не выделяет. Это обусловлено, не в последнюю очередь, частой заменой ё на е, особенно на уже забытых старых компьютерах с убогой русской перекодировкой.
Вообще грамотность сильно хромает, и, похоже, больше на женскую ногу (!?). Например, только женщины трижды употребили слово вертолет, дважды написав его как вертАлет. Любопытно было бы найти гендерные различия в грамотности и оценить их значимость. Мороки много, и пока нет времени.
Проблема «спорного» написания обостряется тем, что у нас ассоциация должна, по самому смыслу теста, начинаться с заранее заданной буквы. Ну что мне делать с явной неграмотностью – словом абвал? Спел-чекер дает единственный вариант: обвал. Но я же не могу перенести эту ассоциацию в букву О!!! Приходится оставлять её как есть и тем самым добавлять в шум – все-таки встречается она только один раз…

3.5. Неверная первая буква

Тут почти всегда ясно, что респондент хотел написать, поскольку первая буква известна, а это резко сокращает число возможных вариантов. Например, ванк – это явно банк, поскольку ни танк, ни любые другие варианты не начинаются с Б. Аналогично: увартира = квартира, виск = риск, оезинка = резинка и т.п. Тут помогает и взгляд на клавиатуру – часто можно понять, что именно хотел ввести человек, просто посмотрев на соседние клавиши (например, в данном примере к и у расположены на клавиатуре рядом). Кварель = акварель – несомненная опечатка, поскольку просто пропущена первая буква.
Но неверная первая буква м.б. связана и с неграмотностью (вспомним абвал на букву А). Однако имеется несколько случаев, которые могу «объяснить» с большим трудом:

Похоже, что часть ассоциаций получена не по букве, а по какой-то звуковой аналогии. Таково, на мой взгляд, происхождение слов лАмпА, нОвОсть, икРа, а также случая 4 – Железная дорога. Но, скорее всего, тут я просто притягиваю за уши всякую чушь, лишь бы как-то объяснить ситуацию. Дурная привычка – искать рациональное обоснование случайности или же глупости…
Малопонятны случаи 5 и 6 – человек явно имел в виду свое имя (это прямым текстом написано в 6!). Ну так напиши, тем более что у тебя высшее образование… Впрочем, м.б., это связано с тем, что буква Т – первая в тесте, и человек просто пока не вник в суть дела. Но пример 6 – это женщина со средним образованием, знает такое слово, как афродизиак (единственная из всех, даже спел-чекер не знает!), тоже написала я как слово, начинающееся на М.
Любовь на Д – имя любимого начинается на Д? Но женщина, написавшая муж на Г? Фрейд прорезался? Прокололась или прикололась? Сия тайна велика есть. Начинаю думать, что у психологической интерпретации данных сильно слабо с обоснованностью.

3.6. Английские символы

Русских слов, набранных английскими символами, не так уж и мало – 126, причем 7 человек сделали это для всех букв теста. Транслитерация? Почему? К тому же один респондент ввел английские слова, начинающиеся, в своем большинстве, на соответствующие звуки (например, candy на букву к, lost на л и т.п.)! Опять звуковые ассоциации? Более того, один человек два слова  из 16 ввел почему-то русскими символами.
Можно просто выкинуть, чтобы не возиться… Но ассоциации у них вполне «нормальные», при этом весьма похожие, так что жалко их терять! Из 8 таких «иностранцев» 6 (!) ассоциировали дом (dom). Слово «любовь» в его английском написании – 4 варианта: lubov, lubov\’, lyubov, lyubovy (из тех же 8-ми). Да, написание разнообразное, но какое единство в сути!
Продемонстрирую «мастерство интерпретации». Эти люди – русскоязычные за рубежом. Но там от русской клавиатуры просто отвыкли, да её там и нет практически (насколько мне известно от моих друзей). А говорить и читать по-русски они могут свободно. Вот заходят они на сайт, проходят тест – а ввода-то русского у них нет! Что ж, пишут аглицким по русски. А поскольку «тоскуют», то вот такие ассоциации у них и проявляются. Во накрутил, а?
Конечно, я «перевел» эти слова там, где это было возможно. Но, м.б., стоит исключить поступление таких данных в базу с самого начала? Не стоит поощрять нездоровые фантазии…

3.7. Украинские символы и слова

Аналогичные проблемы и способы их решения вызывает появление украинских слов и специфических символов украинского языка (чаще всего это i). Когда у меня не было сомнений, что именно имел в виду респондент, я без колебаний заменял слово на соответствующее русское. Так были заменены: зiрка => зорька, гiрка => горка, гiмно => говно, андр => Андрей. Надеюсь, что ошибок не допускал.
Но что делать со словом будинок? Оно, конечно, здание, но ведь не на букву Б! Попадает в одноразовые, хотя слово здание есть и имеет частоту в 4 случая. И его учет перевел бы данное слово в «частые» ассоциации. Вот верность (вірність) попала куда надо, добавив 1 к уже имеющимся 17 русским словам. Повезло же слову – в двух родственных языках начинается на одну букву!

3.8. Ненормативная лексика и эвфемизмы

Заранее прошу прощения у пуристов и ревнителей морали, но я тут занимаюсь анализом, а не борьбой за чистоту языка и нравов.
Уже тот факт, что ненормативная лексика имеет одну из самых высоких частот среди ассоциаций, дает основание рассмотреть её в отдельной статье. Здесь же речь идет о том, как подсчитывать частоты. А для этого надо правильно интерпретировать не столько сами ненормативные слова, сколько их заменители – эвфемизмы.
Возьмем столь любимое респондентами говно. Опечатки, с ним связанные, обсуждены выше. Но к нему же я причислил и «стыдливые» выражения типа г, г….., г-но и т.п. Поскольку эта лексика весьма распространена и хорошо понимаема, то могу сказать, что особых проблем с её интерпретацией не было.

4. Как же сказывается очистка на частотах?

Напомню этапы очистки:

  1. Исходно у нас было 16694 ассоциаций, полученных от 982 респондентов.
  2. Они были разбиты на два списка – Буквы и Финальные.
  3. В каждом списке произведено суммирование частот, что дает списки различных ассоциаций. Этот этап нужен исключительно для сравнения исходных и очищенных ассоциаций.
  4. Для каждого списка произведена очистка (раздельно, но согласованно), что дает очищенные списки ассоциаций. Очистка для общего списка ассоциаций не проводилась (для порядка надо бы, но уж очень муторно…).
  5. В каждом очищенном списке заново произведено суммирование частот.
  6. Получены распределения частот ассоциаций для каждого из списков.

Последняя операция позволяет сравнить изменения частот ассоциаций, поскольку после очистки сильно изменились как числа ассоциаций, так и их распределение:

Число одноразовых ассоциаций, естественно, указано уже после очистки и суммирования. Для человека куда понятнее не частоты, а соответствующие им доли:

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

По критерию хи-квадрат различие распределений весьма значимо (хи-квадрат=27,53 при числе степеней свободы 8, что значимо на уровне 0,001). Как и следовало ожидать, наибольшие изменения связаны с одноразовыми ассоциациями – ведь именно они являются основным «поставщиком» для укрупнения. И поэтому так разнятся их доли в списках различных и очищенных ассоциаций. Нагляднее всего это видно на диаграмме:

Отметим, что доли всех очищенных ассоциаций возросли, причем иногда даже и значимо (пусть даже на уровне 0,05). Исключением является только группа самых высоких частот (от 51 до 500), что связано со значительным ростом всех остальных (кроме одноразовых, разумеется).
С финальными ассоциациями картина аналогична:

Правда, различие распределений тут незначимо (хи-квадрат=4,12, df=6, р=0,66). Но значимым осталось отличие долей одноразовых ассоциаций, хотя и на меньшем уровне значимости в 0,05. Все очищенные доли возросли (хоть и незначимо). При этом наибольшим прирост был как раз для двухразовых ассоциаций – 2,5%. В остальных случаях прирост не превышал 0,6%.
Особенно наглядно различие долей одноразовых и остальных ассоциаций для различных и очищенных списков видно на диаграмме:

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

5. Выводы и замечания

Суммирую впечатления:

  1. Именно «стандартизация» написания слов приводит к самому значительному изменению частот, меняя рейтинг ассоциаций наиболее сильно;
  2. Наиболее сильно меняет «низкочастотный» спектр работа с одноразовыми ассоциациями, но она весьма трудоемка.

Поэтому при работе с подобными данными есть настоятельная необходимость контроля вводимых слов (и фраз) программным путем, с привлечением большого (и пополняемого) словаря. Необходимо также автоматически корректировать вводимый текст, предлагая респонденту поправки и запрашивая его согласия на окончательный ввод. Кстати, число произведенных при таком вводе коррекций является, на мой взгляд, весьма характерным показателем респондента.
Самое время вспомнить эпиграф. В дополнение замечу, что вряд ли столь монотонная и требующая тем не менее предельного внимания работа может быть выполнении вручную «за один проход». Я сам проделывал это несколько раз, кусками – и не могу сказать, что очистка завершена. Все время появляются новые соображения и догадки по поводу того, что именно мог иметь в виду тот или иной респондент. Правда, они уже ничего кардинально не меняют – либо сливаются вместе одна-две одноразовые ассоциации, либо на 1 меняется частота и без того частой ассоциации.
Но увы:

без очистки словесных данных
получаемые на их основе выводы будут сильно зашумлены и ненадежны
или же просто потеряны

Реклама

One Response to “Очистка словесных данных”


  1. Владимир, спасибо за статью.
    Добавлю.
    1. Некоторые описки — следствие украинского языка. зОря — это по-украински
    2. На сегодня в интернете появился новый «язык», разные корни у него (и нежелание напрягаться, и желание скрыть безграмотность, и всевозрастающие скорости жизни и при печати сокращают и много другого). Отсюда — ваще, есно, пасиб и т.д.
    3. Возможные проблемы с пробелом – просмотрщик Opera. Например если вы скопируете слова из Excel и вставите в поле логин – он добавляет несуществующие порбелы
    4. Для чистоты эксперимента имеет смысл перед тестом запросить – на каком языке он хочет проходить его (рус/укр). Но опять же – стоит ли того тест.


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: