Изучение набора данных встраиваемых слов

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

Однако что произойдет, если данные, на которых основаны эти методы, окажутся необъективными? Время от времени мы видим в новостях истории о том, что технологии распознавания лиц терпят неудачу в меньшинствах или о ботах Twitter, разносящих расистские высказывания. Но правда в том, что мы продолжаем слышать о предвзятости и ИИ, не зная, как именно эти предубеждения кодируются в используемых нами технологиях.

В результате я объясню некоторые недостатки инструмента, известного как встраивание слов, потому что они используются для широкого круга задач, связанных с компьютерами и человеческим языком или обработкой естественного языка ( НЛП), и потому что относительно легко исследовать и объяснять, как эти инструменты могут быть проблематичными, без использования большого количества сложного технического жаргона. Во-первых, давайте узнаем больше о НЛП и о том, как встраивание слов вписывается в него, а затем мы узнаем, как сами вложения способствуют созданию предвзятых результатов.

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

Вложения слов существенно увеличивают информацию о каждом слове, которое фиксируется в этих числовых представлениях. Название одного из самых известных алгоритмов, «Word2Vec», хорошо передает эту идею, в котором слово представлено как вектор, или набор чисел, который сам генерируется средствами машинного обучения. Хотя методы НЛП применялись в течение многих лет до появления встраивания слов в начале 2010-х годов, эти методы действительно произвели революцию в этой области, позволив сделать некоторые важные открытия позже в этом десятилетии.

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

Чтобы выяснить, почему встраивание слов может стать проблематичным, нам нужно посмотреть, как оцениваются модели, на которых они основаны. Наличие надежного способа оценки модели машинного обучения так же важно, как и сама модель. Самый распространенный способ проверить правильность встраивания слов - использовать их для оценки аналогий. Это потому, что задача довольно проста; математически это просто сложение и вычитание векторов.

Возьмем, к примеру, мужчина с женщиной, как король с ______. При таком наборе входных данных быстрое преобразование данных привело бы к встраиванию для queen. Я нарисовал векторы для четырех слов ниже.

В дополнение к этим аналогиям простые шаги сложения и вычитания векторов могут также фиксировать грамматические отношения, например, если слова в единственном или множественном числе, и даже факты о мире, такие как страны и столицы.

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

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

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

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

Давайте теперь посмотрим на набор данных более подробно. Я провел этот анализ в паре записных книжек Python, написанных как дополнение к этому посту, так что не стесняйтесь следить за ними, если хотите! Я также написал более техническую трактовку предыдущего обсуждения. Если вы уже знакомы с концепцией, ознакомьтесь со списком чтения в репозитории Github.

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

Затем мы берем пару векторов, таких как «мужчина» и «женщина», и смотрим на векторы, которые представляют людей, которые им наиболее близки. Вектор, наиболее похожий на «женщина», который также представлял человека, соответствовал слову «жертва», а другие векторы, близкие к «женщине», представляли такие профессии, как «учитель» и «проститутка», в то время как наиболее похожие векторы для Слово «мужчина» относится к таким словам, как «солдат» и «герой». Когда мы смотрим на векторы «гражданин» и «иммигрант», наиболее сходными векторами для «гражданина» обычно являются такие профессиональные занятия, как «юрист» и «бизнесмен», но «крестьянин» и «рабочий» ближе к «иммигранту». ” Наконец, сравнивая векторы «христианства» и «ислама», мы обнаруживаем, что оба вектора близки ко многим религиозным терминам, но вектор «ислама» гораздо ближе к векторам «радикальный», «фундаменталистский» и «Экстремистский».

Последний этап анализа, который мы проводим, вероятно, самый интересный. Векторы - это не просто набор чисел; они также способ представить эти числа в пространстве. Таким образом, это зависит от человеческих предубеждений, преобразующих векторное пространство, в котором находится наш набор данных. Мы смотрим на вектор, который количественно определяет определенный тип смещения. Например, вектор, соответствующий разнице между «он» и «она», может представлять «гендерный компонент». Это связано с тем, что числовое значение вектора отражает численное различие «мужских» и «женских» векторов. Если мы трансформируем набор данных таким образом, чтобы мы присваивали оценку каждому вектору на основе разницы между «он» и «она», мы обнаруживаем, что слова, имеющие отношение к спорту и армии, имеют более высокие баллы, а слова, описывающие выполнение искусство, а также члены семьи женского пола имеют более низкие оценки. Я построил все векторы после преобразования, чтобы получить результат ниже.

Давайте посмотрим на пару точек на этом графике.

Фактически, попытка «устранить предвзятость» вложения слов, чтобы они не содержали проблемных отношений, является основной областью исследований в НЛП, а преобразование предвзятости в операции с векторным пространством - ключевая парадигма в подобной работе.

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

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