Разбор слова по составу параллельно: «параллельно» — корень слова, разбор по составу (морфемный разбор слова)

Содержание

Разбор слов по составу

Разбор слова по составу

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

Виды морфем

В русском языке используются следующие морфемы:

— Корень. В нем заключается значение самого слова. Слова, у которых есть общий корень, считаются однокоренными. Иногда слово может иметь два и даже три корня.
— Суффикс. Обычно идет после корня и служит инструментом для образования других слов. К примеру, «гриб» и «грибник». В слове может быть несколько суффиксов, а может не быть совсем.
— Приставка. Находится перед корнем. Может отсутствовать.
— Окончание. Та часть слова, которая изменяется при склонении или спряжении.
— Основа. Часть слова, к которой относятся все морфемы, кроме окончания.

Важность морфемного разбора

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

Пример

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

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

Как разобрать слово по составу

Для помощи начинающим существуют морфемно-орфографические словари. Можно выделить книги таких авторов, как Тихонов А.Н., Ожегов С.И., Рацибурская Л.В.

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

Этапы морфемного анализа

Чтобы морфемный разбор слов было легче осуществить, следует придерживаться определенного алгоритма:

— Сначала нужно определить часть речи, задав вопрос к слову. Для прилагательного это будет вопрос «какой?», для существительного — «что?» или «кто?».
— Затем нужно выделить окончание. Чтобы его найти, слово нужно просклонять по падежам, если часть речи это позволяет. Например, наречие изменить никак нельзя, поэтому у него не будет окончания.
— Далее нужно выделить основу у слова. Все, кроме окончания, — основа.
— Потом следует определить корень, подобрав родственные однокоренные слова.
— Определяется приставка, а потом суффиксы (при их наличии).

Особенности разбора

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

Разбор слов по составу, морфемный разбор

Разбор слов по составу

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

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

Разбираем поэтапно

Морфемный разбор слова необходимо делать в определенной последовательности:


  • Для начала, выпишите слово и выясните, к какой части речи оно относится. Если это, к примеру, наречие – знайте, что оно не будет иметь окончания и других частей, так как не изменяется.
  • Определите окончание, если оно вообще есть. Для этого просклоняйте слово, произнесите его в разных падежах. Например: стол, стола, к столу… Вот эта изменяемая частичка в конце – и есть окончание. Выделяете его в квадратик.
  • Далее стоит определить основу. Это та часть, у которой нет окончания. Например, слово «городской»: тут окончание «ой», и основа «городск».
  • Как видите, основа может содержать в себе суффикс и даже приставку.
  • Находим приставку, если таковая имеется. К примеру, слово «застолье»: после того, как вы определили основу «стол», вы безтруда найдете приставку «за».
  • Определяем суффикс. Эта часть слова стоит сразу после основы (корня» и нужна, чтобы образовать новое слово. Например, был стол – стал столик. В этом случае «ик» — суффикс (окончания нет). Был лес – стал лесок, или лесник.
  • Последний этап – найти корень слова. Это та часть, которая не изменяется. В случае со столом, «стол» и есть корень. Чтобы определить корень, найдите однокоренные слова.

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

Особенности, которые следует знать

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


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

Чтобы научиться делать морфемный разбор грамотно, не забывайте пользоваться электронными словарями, которые доступны на нашем сайте. Это удобно, и позволит вам научиться разбирать слова безошибочно!

Ударение

Eckher Dictionary is a modern pronunciation dictionary of the English language. Every pronunciation in Eckher Dictionary is written in IPA (International Phonetic Alphabet). Example English pronunciations: «bamlanivimab».

Eckher’s Periodic Table of the Elements is the modern and accessible version of the periodic table that allows you to easily navigate all 118 elements and view detailed information about each element. It supports both the 18 column (IUPAC) and 32 column (long form) versions of the periodic table and provides the mobile- and touch-friendly interface for viewing the table.

Create sequence logos for protein and DNA/RNA alignments using Eckher Sequence Logo Maker.

Compose speech audio from IPA phonetic transcriptions using Eckher IPA to Speech.

Browse place name pronunciation on Eckher IPA Map.

Enter IPA characters using Eckher IPA Keyboard.

Navigate the Semantic Web and retrieve the structured data about entities published on the web using Eckher Semantic Web Browser.

Turn your phone into a compass using Eckher Compass.

Author, enrich, and query structured data using Eckher Database for RDF.

Create TeX-style mathematical formulas online with Eckher Math Editor.

Create knowledge graphs using Eckher RDF Graph Editor.

Send messages and make P2P calls using Eckher Messenger.

Build event-sourced systems using Eckher Database for Event Sourcing.

View PDB files online using Eckher Mol Viewer.

Listen to your text using Eckher Text to Speech.

View FASTA sequence alignments online with Eckher Sequence Alignment Viewer.

Convert Punycode-encoded internationalized domain names (IDNs) to Unicode and back with Eckher Punycode Converter.

Explore the human genome online with Eckher Genome Browser.

Edit text files online with Eckher Simple Text Editor.

Send test emails with Eckher SMTP Testing Tool.

В морфемном словаре русского языка МОРФЕМА.РУС приведен разбор слов по составу (морфемный разбор, морфемный анализ). Даный словарь поможет в проведении морфемного анализа не только начальных (словарных) форм слов, но и всех их словоформ (всех грамматических форм слов русского языка). В основу морфемного словаря «Морфема» положена наиболее полная лексика русского языка.

Разбор слова «грибочек» по составу (морфемный анализ) представлен в словаре МОРФЕМА.РУС (выделение корня, суффикса, основы и окончания).

Demonym is an online dictionary of demonyms (words used to identify the people from a particular place). Some of these words aren’t well-known or easy to remember, and Demonym can help you quickly find the answer. Examples: Barbados.

Розбір слів за будовою: «ходити».

Разбор слоў па саставе: «рассыпаць».

Ударения в словах: «Шеншин».

Синонимы к словам: «потешить».

Антонимы к словам: «сжать».

Создание параллельного счетчика слов в Go

Я пытаюсь создать счетчик слов, который возвращает массив количества появлений каждого слова в текстовом файле. Более того, мне поручили распараллелить эту программу.

Моя первая попытка выполнить эту задачу была следующей:

Реализация 1

  func WordCount(words []string, startWord int, endWord int, waitGroup *sync.WaitGroup, freqsChannel chan<- map[string]int) {
    частоты: = сделать (карта [строка] int)
    для я := startWord; я < конец слова; я++ {
        слово := слова[я]
        частоты[слово]++
    }
    freqsChannel <- частоты
    группа ожидания.Готово()
}

func ParallelWordCount(текстовая строка) map[string]int {
    // Разделить текст на массив строк из слов в тексте.
    текст = строки.ToLower(текст)
    текст = строки.ReplaceAll(текст, ",", "")
    текст = строки.ReplaceAll(текст, ".", "")
    слова := строки.Поля(текст)
    длина := длина (слова)
    темы := 28
    freqsChannel := make(chan map[string]int, threads)

    var waitGroup sync.WaitGroup
    waitGroup.Добавить (потоки)
    отложить ожиданиеGroup.Wait()

    wordsPerThread := длина / нити // всегда округляется в меньшую сторону
    wordsInLastThread := длина - (threads-1)*wordsPerThread
    startWord := -wordsPerThread
    конечное слово := 0
    для я := 1; я <= потоки; я++ {
        если я < потоков {
            startWord += слова в потоке
            endWord += слова в потоке
        } еще {
            startWord += словаInLastThread
            endWord += словаInLastThread
        }
        go WordCount(слова, startWord, endWord, &waitGroup, freqsChannel)
    }
    частоты: = <-freqsChannel
    для я := 1; я < потоков; я++ {
        subFreqs := <-freqsChannel
        для слова count := range subFreqs {
            freqs[слово] += количество
        }
    }
    обратные частоты
}
 
%MINIFYHTML325802344c5b617c19f5170ade9eaeb422%

По словам моего ассистента, это не было хорошим решением, так как предварительная обработка текстового файла выполнялась

  текст = строки.ToLower(текст)
текст = строки.ReplaceAll(текст, ",", "")
текст = строки.ReplaceAll(текст, ".", "")
слова := строки.Поля(текст)
  

в ParallelWordCount

противоречит идее параллельной обработки.

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

Реализация 2

  func WordCount(текстовая строка, группа ожидания *sync.WaitGroup, freqsChannel chan<- map[string]int) {
    частоты: = сделать (карта [строка] int)
    текст = строки.ToLower(текст)
    текст = строки.ReplaceAll(текст, ",", "")
    текст = строки.ReplaceAll(текст, ".", "")
    слова := строки.Поля(текст)
    для _, значение := диапазон слов {
        частоты[значение]++
    }
    freqsChannel <- частоты
    Группа ожидания.Готово()
}

func splitCount(string string, subStrings int, waitGroup *sync.Группа ожидания, freqsChannel chan<- map[string]int) {
    если подстроки != 1 {
        длина: = длина (ул.)
        charsPerSubstring := длина/подстроки
        я: = 0
        для str[charsPerSubstring+i] != ' ' {
            я++
        }
        subString := str[0 : charsPerSubstring+i+1]
        go WordCount (subString, waitGroup, freqsChannel)
        splitCount(str[charsPerSubstring+i+1:length], subStrings-1, waitGroup, freqsChannel)
    } еще {
        go WordCount(str, waitGroup, freqsChannel)
    }
}

func ParallelWordCount(текстовая строка) map[string]int {
    темы := 28
    freqsChannel := make(chan map[string]int, threads)

    вар ожиданиеГрупповая синхронизация.группа ожидания
    waitGroup.Добавить (потоки)
    отложить ожиданиеGroup.Wait()

    splitCount(текст, потоки, &waitGroup, freqsChannel)

    // Собираем и возвращаем частоты
    частоты: = <-freqsChannel
    для я := 1; я < потоков; я++ {
        subFreqs := <-freqsChannel
        для слова count := range subFreqs {
            freqs[слово] += количество
        }
    }
    обратные частоты
}
 
%MINIFYHTML325802344c5b617c19f5170ade9eaeb424%

Среднее время выполнения этой реализации составляет 3 мс по сравнению со старым средним значением 5 мс, но полностью ли я рассмотрел вопрос, поднятый моим ассистентом преподавателя, или вторая реализация также не использует все преимущества параллельной обработки для эффективного подсчета слов? текстовый файл?

Исследование моделирования рекуррентной сети с использованием вычислений резервуара

Образец цитирования: Hinaut X, Dominey PF (2013) Параллельная обработка в реальном времени грамматической структуры в лобно-полосатой системе: исследование моделирования рекуррентной сети с использованием вычислений резервуара.ПЛОС ОДИН 8(2): е52946. https://doi.org/10.1371/journal.pone.0052946

Редактор: Томас Боро, Национальный центр научных исследований, Франция

Поступила в редакцию: 31 июля 2012 г.; Принято: 26 ноября 2012 г.; Опубликовано: 1 февраля 2013 г.

Авторские права: © 2013 Hinaut, Dominey. Это статья с открытым доступом, распространяемая в соответствии с лицензией Creative Commons Attribution License, которая разрешает неограниченное использование, распространение и воспроизведение на любом носителе при условии указания оригинального автора и источника.

Финансирование: Эта работа финансировалась проектами EC FP7-ICT 231267 Organic и 270490 EFAA. Спонсоры не участвовали в разработке исследования, сборе и анализе данных, принятии решения о публикации или подготовке рукописи.

Конкурирующие интересы: Авторы заявили об отсутствии конкурирующих интересов.

Введение

Одним из самых замечательных аспектов языковой обработки является скорость, с которой она происходит. Это, пожалуй, наиболее четко проявляется в исследованиях потенциала мозга, связанного с событиями (ERP), в которых слово, которое нарушает предсказания о развивающемся значении или грамматической структуре, может вызывать реакцию мозга на это слово уже через 200–600 мс [1]–[3]. .Интересно, что было продемонстрировано, что эти эффекты могут охватывать несколько предложений. То есть информация, представленная предложением в начале дискурса, может вызвать онлайн-конфликтную реакцию на слово, которое встречается в дискурсе несколькими предложениями позже [3]–[5]. Это говорит о том, что мозг накапливает данные в режиме онлайн в режиме реального времени и прогнозирует или генерирует ожидания относительно последующей структуры поступающего предложения. Это также указывает на то, что мозг делает эти накопленные знания доступными в режиме реального времени и что он постоянно пересматривает свои прогнозы на основе взаимодействия между поступающей информацией и контекстом, сформированным более ранними входными данными.

Сходящиеся данные указывают на то, что не только кора головного мозга отвечает за эту обработку, и что действительно кортико-стриарная система (состоящая из коры и полосатого тела, коркового входного ядра базальных ганглиев) играет значительную роль в языке. обработка. Моро и др. [6] наблюдали значительную активацию левой области коры ВА45 (часть зоны Брока) и левого хвостатого ядра полосатого тела в условиях, которые специфически требовали синтаксической обработки.Точно так же при обработке синтаксических аномалий Friederici и Kotz [7] наблюдали корковую активность в левой задней лобной покрышке, прилегающей к BA 44 (часть поля Брока), и в скорлупе левых базальных ганглиев. Точно так же исследования пациентов с дисфункцией полосатого тела подтверждают гипотезу о том, что кортико-полосатая система играет роль в обработке речи. Hochstadt [8] исследовал синтаксическое понимание и переключение когнитивных установок, вербальную рабочую память и артикуляционную репетицию у 41 пациента с болезнью Паркинсона и обнаружил дефицит синтаксического понимания сложных предложений у этих пациентов.Это говорит о том, что интактные базальные ганглии необходимы для аспектов синтаксической обработки. В этом контексте Уллман предположил на уровне слов, что форма процедурной памяти в корково-стриарной системе отвечает за применение грамматических правил [9], [10].

Фридеричи и его коллеги использовали дополнительный подход к исследованию функции базальных ганглиев при обработке речи посредством анализа активности мозга у пациентов с болезнью Паркинсона во время обработки синтаксиса [11].Эти авторы исследовали пациентов с БП и контрольную группу того же возраста в задаче на понимание слуховых предложений и проанализировали ответы ERP (зарегистрированные с помощью скальповых электродов), связанные с ранней синтаксической обработкой «первого прохождения» (выявленной ранним левым передним отрицанием или ELAN) и более поздняя синтаксическая интеграция (обнаруженная P600). P600 — это отчетливо выраженная реакция мозга на синтаксическую сложность и/или синтаксические нарушения примерно через 600 мс после слова-нарушителя [2], [7], [12]–[14]. Интересно, что пациенты с БП не отличались от контрольной группы в отношении ELAN.Однако их ответ P600 был значительно снижен по сравнению с контролем [11]. Аналогичные исследования у пациентов с поражением базальных ганглиев показали, что эти субъекты не давали нормального P600 в ответ на синтаксические аномалии [12], [15]. Эти данные свидетельствуют о том, что интактное полосатое тело необходимо для генерации ответа P600. Это поднимает вопрос о роли полосатого тела в P600. Вполне вероятно, что P600 возникает не в стриатуме, а скорее в коре, возможно, под влиянием стриатума через кортико-стриато-таламо-кортикальную (CSTC) петлю.Исследования локализации источника магнитоэнцефалограммы (МЭГ) локализовали происхождение P600 как двусторонние корковые источники в височной доле [16]. Височная кора имеет сильную анатомическую связь с полосатым телом [17], которое посредством растормаживания в стриато-черном контуре [18] может активировать таламические ядра, которые проецируются обратно в височную кору [19] у нечеловеческих приматов. Через эту петлю CSTC полосатое тело влияет на височную кору. Функциональный коррелят этого взаимодействия CSTC был продемонстрирован у людей с помощью фМРТ [20].Таким образом, вполне вероятно, что полосатое тело вносит свой вклад в P600, как это наблюдалось в клинических исследованиях на людях [11], [12], [15], посредством влияния полосатого тела на кору через цепь CSTC. Это предсказывает, что активность в полосатом теле способствует генерации коркового P600.

Интересно, что P600 не ограничивается грамматически неправильными предложениями, но также был тщательно изучен при обработке грамматически правильных предложений, которые имеют двусмысленности, которые разрешаются в конце предложения.Фридеричи и др. [2] таким образом наблюдали ответы P600 для слов в правильно построенных предложениях, которые были критическими для разрешения грамматических неоднозначностей. Они предположили, что их результаты потенциально согласуются с параллельными моделями синтаксического анализа предложений [21], [22], в которых несколько вариантов синтаксического анализа поддерживаются параллельно. Хотя накапливаются данные о роли кортико-стриарной системы в обработке некоторых аспектов грамматической структуры языка в режиме реального времени, лежащие в основе механизмы и их реализация в нейронных структурах кортико-стриарной системы остаются важной открытой темой исследований. .

Чтобы начать решать эту проблему, мы ранее разработали нейронную сеть и более символические модели распределения тематических ролей при обработке предложений [23]–[29]. Здесь мы расширяем эту работу в рамках модели рекуррентной нейронной сети, показанной на рисунке 1. Тематическое назначение ролей включает в себя определение того, кто что кому сделал, или извлечение тематических ролей (агент, объект, получатель) для глаголов в предложении. Таким образом, для предложения «Мальчик, взявший мяч у мужчины, был укушен собакой» мальчик является агентом , забрал , а объект укусил .

Рис. 1. Тематическое распределение ролей и соответствие между кортико-стриарной и резервуарной реализациями обработки предложений.

А. Обработка грамматических конструкций в структуре коллектора. Семантические и грамматические слова (то есть слова открытого и закрытого классов соответственно) разделяются на входе. Семантические слова (SW) хранятся в стеке памяти. Грамматические слова и единый вход для всех SW являются входами в резервуар (аналог префронтальной области коры BA47).Во время обучения входные предложения представляются слово за словом, а единицы считывания (соответствующие полосатому телу) приводятся к соответствующему закодированному значению (т.е. SW1-Объект, SW2-Предикат, SW3-Агент). При тестировании блоки считывания кодируют предсказанную роль (роли) каждого семантического слова, формируя закодированное значение. Значение (то есть хит (Мэри, Джон, _)) может быть реконструировано из закодированного значения, поскольку SW в стеке памяти переназначаются тематическим ролям (предикат, агент, объект, получатель), определенным в считываниях.B. Активные и пассивные грамматические конструкции (т. е. преобразование формы предложения в значение) и их общее значение. Кодированное значение (указано стрелками) соответствует определенному отображению слов открытого класса в значение, определяющее грамматическую конструкцию.

https://doi.org/10.1371/journal.pone.0052946.g001

Рисунок 1 (A) иллюстрирует функциональную организацию модели и (B) понятие распределения тематических ролей в грамматических конструкциях.Грамматическая конструкция – это отображение между поверхностной формой предложения (порядком слов) и значением [30]. В модели предложения представлены пословно в качестве входных данных, и модель извлекает закодированное значение, т.е. спецификацию тематической роли каждого элемента открытого класса в предложении. Затем это можно использовать для определения глобального значения предложения. Более конкретно, несмотря на то, что два предложения «Мэри ударила Джона» и «Джон был ударен Мэри» имеют одинаковое значение hit(Mary, John) , их кодированные значения различны, т.е.е. в первом предложении семантическое слово 1 (Мэри) является агентом, а во втором предложении семантическое слово 1 (Джон) является объектом и так далее. Это представлено на рисунке 1B, который иллюстрирует грамматические конструкции как отображения из формы предложения в значение [30], [31], здесь для активных и пассивных конструкций. Наши модели основаны на том принципе, что информация, необходимая для выполнения этого тематического распределения ролей, закодирована в предложении конфигурацией грамматических функциональных слов (например,грамм. определители, вспомогательные глаголы, предлоги) внутри предложения. Это основано на гипотезе конкуренции реплик Бейтса и МакУинни [32], которая утверждает, что в разных языках для кодирования используется ограниченный набор реплик, включая конфигурацию грамматических функциональных слов (морфология закрытого класса в целом), порядок слов и просодию. грамматическая структура, позволяющая осуществить распределение тематических ролей. Таким образом, мы реализуем гипотезу конкуренции реплик [32], [33], сосредотачиваясь на порядке слов и грамматической морфологии.В нашем моделировании идея состоит в том, что последовательность слов закрытого класса формирует паттерн активности в рекуррентной сети, и что этот паттерн может быть связан с соответствующей спецификацией тематической роли. Рисунок 1А иллюстрирует моделирование этого подхода. Информация о закрытом классе вводится в рекуррентную префронтальную сеть (резервуар), соответствующую префронтальной области коры BA47. Результирующие паттерны активности в этой рекуррентной сети могут быть расшифрованы в хвостатом ядре полосатого тела (считывание) на основе связей между корой и полосатым телом, которые соответствующим образом модифицируются в процессе обучения.Таким образом, мы предполагаем, что корково-полосатая система играет особую роль в обработке речи, при этом рекуррентные связи в коре головного мозга кодируют текущую грамматическую структуру, а полосатое тело декодирует эту структуру как правила сопоставления элементов открытого класса с их соответствующими тематическими ролями. Это согласуется с предположением Ульмана о том, что корково-полосатая система реализует основанную на правилах процедурную систему для применения грамматических правил на уровне слов [9], [10].

В предыдущей работе мы продемонстрировали реализуемость этой концепции в рекуррентной сети с двумя существенными ограничениями [24], [27].Первое ограничение заключалось в том, что мы использовали ограниченный набор из девяти грамматических конструкций, определенных протоколом Каплана [34], который был разработан для тестирования пациентов на дефицит понимания синтаксиса. Второе ограничение заключалось в том, что в соответствии с протоколом Каплана модель обучалась идентифицировать агента, объект и получателя в таком порядке, 90 079 после 90 080 полного представления предложения. Таким образом, мы не имели представления об онлайн-обработке смысла предложения.Оба эти ограничения были частично связаны с техническим ограничением во время разработки этой модели, связанным с механизмом обучения.

Это техническое ограничение проявилось во время обучения. После представления каждого предложения модель методом проб и ошибок обучалась создавать агента, объект и получателя предложения. Это требовало интенсивного обучения, и в методе пошагового обучения мы использовали запрещенные эксперименты с большими корпусами. В текущем исследовании мы преодолеваем это ограничение, применяя метод вычисления пласта (RC).Резервуарные вычисления — это метод машинного обучения, в котором рекуррентная сеть с фиксированными соединениями используется для кодирования пространственно-временной структуры входной последовательности, а соединения со слоем считывания обучаются с использованием эффективных алгоритмов для получения желаемого результата в ответ на входные последовательности [35]. ], [36]. Центральная концепция резервуарных вычислений заключается в проецировании низкоразмерных входных данных на рекуррентно связанный «резервуар» нейронов, который создает многомерную проекцию низкоразмерного входного пространства, тем самым повышая разделимость входных данных.Повторяющиеся соединения обеспечивают чувствительность к событиям во времени, таким образом обеспечивая желаемую чувствительность к последовательной и временной организации. Эта проекция и динамика резервуара служат формой ядра в смысле машинного обучения, что позволяет выполнять сложные нелинейные вычислительные задачи с простыми линейными показаниями [37]. Интересно, что недавно Jaeger и его коллеги [38] отметили, что наша более ранняя работа, в которой префронтальная кора моделировалась как рекуррентная сеть с фиксированными связями и модифицируемыми корково-стриарными связями для изучения желаемых выходных последовательностей [28], [39], была фактически первое выражение принципа резервуара, реализованное в предполагаемом нейрофизиологическом субстрате (т.е. корково-стриарная система). Используя эту гомологию, как показано на рисунке 1B, теперь мы можем воспользоваться преимуществами методов машинного обучения, которые являются стандартными в области RC, и, таким образом, использовать значительное ускорение обучения, необходимое для наших экспериментов, и более зрелую теоретическую основу. В частности, теперь мы используем методы регрессии для изучения весовых коэффициентов связи между резервуаром и блоком считывания [35], [38], [40]. Учебный корпус сначала представляется, предложение за предложением, слово за словом, в резервуар, и состояние активации популяции записывается для каждого временного шага во время представления корпуса.Состояние резервуара сбрасывается перед представлением каждого предложения. Мы также генерируем желаемый паттерн активации в выходных нейронах, которые кодируют значения для каждого предложения. Затем используется линейная регрессия для определения выходных весов, которые обеспечат правильное сопоставление между активностью коллектора и желаемой реакцией показаний. Мы тестируем два режима обучения. Для непрерывного обучения регрессия применяется, начиная с начала первого слова на каждом временном шаге: таким образом, мы просим считывающие нейроны предоставить закодированное значение предложения с начала предложения.Для окончательного обучения предложения регрессия применяется только в конце предложения.

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

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

Результаты

Эксперимент 1: базовое понимание синтаксиса

Синтаксическое понимание — это способность определять, кто что кому сделал, основываясь исключительно на синтаксической или грамматической информации в предложении [34].Сначала мы проверили способность модели к синтаксическому пониманию, определив, может ли она выучить 26 различных грамматических конструкций, которые использовались в Dominey et al. (2006) (см. Текст S1, структуры 15–40). Эти конструкции демонстрируют различные поверхностные формы (например, активные, пассивные, дательно-пассивные, подлежащие-относительные и т. д.), включая поверхностные формы одиночного глагола и двойного глагола. Предложения представляются слово за словом в качестве входных данных для модели, которая была обучена производить закодированное значение.Напомним, что закодированное значение есть указание для каждого упорядоченного семантического слова его тематической роли, для первого (и необязательно) второго действия. Таким образом, мы считаем, что это закодированное значение, раскрываемое нейронной активностью считывания, является системным анализом значения. С самого начала этой обработки считывающие нейроны кодируют предсказанное в данный момент значение предложения. Рисунок 2 иллюстрирует поведение модели для 4 примеров предложений.

Рисунок 2. Выходные данные «полосатых» нейронов считывания для существительного 2 для четырех примеров предложений.

Нейроны, кодирующие различные тематические роли, обозначены цветными кривыми (см. вставленную легенду). Для всех четырех предложений (см. точку перед стрелкой (а)) модель изначально предсказывает, что существительное 2 является объектом действия 1 (зеленый след). В В и С это остается верным, но Существительное 2 также является Агентом и Объектом Действия 2 в В и С соответственно. В точке (b) прибытие «to» подтверждает правильное предсказание N2-O1 (зеленая кривая) в A, а прибытие «that» вызывает изменение активности в B и C с повышенным предсказанием как Агента, так и Роли объектов для V2 соответственно.Обратите внимание, что это разрешается по прибытии «V» и «was» в B и C соответственно (стрелка (c)). В D появление «был» провоцирует новый анализ с Существительным 2 как Агентом Действия 1. Встроенная легенда: N2-A1 – Существительное 2 – агент Действия 1. А – Агент, О – Объект, R – Получатель. Условия моделирования, время активации, AT  = 20, и количество единиц коллектора, N = 300.

https://doi.org/10.1371/journal.pone.0052946.g002

A. N V N to N.

Б.Н В Н та В Н.

C. N V N, который был V на N.

D. N был V на N.

Шесть показанных нейронов представляют возможные тематические роли второго существительного (существительное 2) в этих предложениях (которые являются Агентом, Объектом или Получателем для Действия 1 или Действия 2). После представления во всех четырех предложениях «The N» нейронная активность представляет собой ожидаемые вероятности для каждой из возможных тематических ролей, и эта активность на данном этапе идентична для четырех предложений.По мере поступления следующих слов эти вероятности обновляются, что иллюстрирует повторный анализ предложений в режиме онлайн (т. е. изменение закодированного значения). Точнее, для предложений A–C предсказание о том, что второе существительное (N2) является объектом первого глагола, подтверждается появлением «V» (см. стрелку, отмеченную (a), и зеленый след на рис. 2A, ДО Н.Э). В этот же момент появление «было» в D приводит к резкому сдвигу в активности нейронов, когда N2, наконец, кодируется как агент V1 (см.2Д). Появление «to» в A по сравнению с «that» в B и C (см. стрелку (b)) показывает, что предсказанный анализ был для более распространенной формы предложения в A со сдвигом в активности в B и C. Для B и C появление «that» указывает на то, что существует второй глагол, активирующий роли агента и объекта для глагола 2. Окончательное решение о роли существительного 2 как агента или объекта глагола 2 отмечено стрелкой (c). . Повторный анализ фактически представляет собой непрерывный анализ, который может продолжаться по предсказанной траектории или, в случае повторного анализа, переходить на новую траекторию.Примечательно, что этот сдвиг в кодировании в реальном времени не был специально обучен, а скорее отражает неотъемлемые свойства нейронов-резервуаров и считывающих нейронов, работающих вместе. Резервуар кодирует текущую траекторию грамматической структуры по мере последовательного поступления слов. Обученные считывающие нейроны извлекают эту структуру в режиме реального времени с предиктивной точки зрения. Это действие по считыванию отражает текущие вероятности для каждого из нескольких возможных параллельных синтаксических анализов.

Модель смогла обучить этот набор построений без ошибок.Таким образом, этот результат согласуется с гипотезой закрытого класса для этих 26 различных грамматических конструкций, т. е. что упорядоченный набор элементов закрытого класса достаточен для однозначной идентификации каждой отдельной грамматической конструкции [23], [25], [31], [32]. . Возможно, более интересно, что результаты этого эксперимента показывают, что рекуррентная сеть кодирует инкрементное представление грамматической структуры входных предложений, которое затем демонстрируется в считывающих нейронах. Это можно наблюдать по значениям считывающих нейронов, которые кодируют смысл, и их оперативным модификациям в ходе пословного представления входных предложений.Как видно, например, в 2D значение изначально неверно, а затем разрешено при приходе было , что указывает на пассивную форму. Мы изучаем этот повторный онлайн-анализ и возможную нейрофизиологическую корреляцию более подробно в Эксперименте 2.

Эксперимент 2: объяснение нейронного кодирования P600

Значение предложения может быть двусмысленным в какой-то промежуточной точке, при этом правильное значение становится определенным только позже в предложении. Это можно наблюдать при чтении предложений, образованных из «относительных» конструкций.«Относительные» конструкции содержат два глагола – главный и относительный. Эксперименты ERP [2] показывают, что предложения, относящиеся к объекту, такие как (b) ниже, труднее обрабатывать, чем предложения, относящиеся к субъекту, такие как (a).

а. Собака, укусившая кошку, погналась за мальчиком. (относящийся к предмету).

б. Собака, которую укусила кошка, погналась за мальчиком. (относительно объекта).

Эта трудность частично проявляется как реакция более крупного связанного с событием мозгового потенциала (ERP) P600 на дифференцирующее слово в объектно-относительных предложениях.Таким образом, при воздействии предложений (а) и (б) испытуемые обычно демонстрируют большую реакцию P600 на «the» в (b), чем на «bit» в (а). Частично объяснение сложности обработки заключается в том, что «собака» является подлежащим «преследовал», но объектом «укусил» в (б), тогда как в (а) является подлежащим обоих глаголов. Предполагается, что сдвиг перспективы от субъекта к объекту требует дополнительных усилий по обработке [41]. Также верно и то, что предложения, относящиеся к объекту, в целом встречаются реже [42], что позволяет предположить, что у людей может быть меньше опыта с такими предложениями.Таким образом, что касается двусмысленности, при появлении «что» начальная именная группа «собака» может быть либо подлежащим следующего глагола (более частый случай), либо дополнением. Эта двусмысленность разрешается следующим словом.

В этом контексте мы хотим исследовать, как чувствительность модели к статистической структуре обучающего корпуса может помочь объяснить наблюдаемые ответы P600. Одним из способов оценки этой чувствительности является наблюдение за уровнем активности считывающих нейронов, которые кодируют значение.Наблюдая за рисунками 2 и 3, мы видим, что появление определенных слов вызывает изменения в этих уровнях активности. Эти изменения соответствуют обновлению предсказанного закодированного значения. Сравнивая предложения A и B на рис. 3, если объектно-релятивное слово более сложное (или менее частое), мы ожидаем увидеть больше изменений в активности чтения для предложения B, когда появляется критическое слово «the» или «V». То есть, если предсказанное значение временно двусмысленного предложения разрешается словом, указывающим на низкочастотную грамматическую конструкцию, произойдет более мгновенное изменение нейронной активности, чем если оно разрешается словом, указывающим на высокочастотную конструкцию.Интересно, что мы наблюдаем обратное. То есть мгновенное изменение при поступлении «бита» (V) в (а) кажется, по крайней мере, таким же большим, как мгновенное изменение, связанное с прибытием «этого» в (б). Дальнейшее исследование показывает, что в нашем корпусе (конструкции 15–44 в тексте S1) широко распространены сложные (неканонические) типы предложений, включая относительный пассив (например, предложение 24 в тексте S1), в котором первое существительное не является первым существительным. агент первого глагола. Таким образом, наш корпус не соблюдает стандартные относительные частоты распределения для субъектов и объектов [42].

Рисунок 3. Обработка относительных фраз.

Оба предложения начинаются с «The N that...». A. Подлежащее-относительное (первое существительное является подлежащим главного и относительного предложений) «N, который V the N был V by the N». Появление «V» после «that» вызывает сдвиг в кодировании активности для N1-A1, т. е. существительное 1 является агентом глагола 1. При появлении второго «V» мы наблюдаем увеличение активности в N1- A2, кодирование N1 как агента глагола 2. B. Объектно-относительное (первое существительное является субъектом основного и объектом относительного предложения) «N, что N V V the N.Появление второго «the» порождает сдвиг в закодированном значении, когда N1 отводится роль Объекта Действия 1 (N1-O1), а затем Агента Действия 2 (N1-A2). Интересно сравнить ответы на вторую букву «V» в предложении 20 (рис. 3А) с ответами в том же месте на «был» в предложении 22 «The N that V the N is V by the N». в тексте S2, где два нейрона, кодирующие агента и объект глагола 2, смещаются в противоположном направлении. Условия моделирования, время активации, AT  = 20, и количество единиц коллектора, N = 300.

https://doi.org/10.1371/journal.pone.0052946.g003

Чтобы решить эту проблему, мы модифицировали наш корпус таким образом, чтобы частота субъектных родственников была выше, чем частота объектных. В этих условиях можно было бы ожидать, что предложения (например, объектно-относительное), употребляющие менее частотную (неканоническую) форму, вызовут изменения в считывающей деятельности в ответ на слово, указывающее на неканоническую форму. Чтобы определить, повлияют ли эти измененные статистические данные корпуса на изменения в считывающей активности таким образом, мы обучили модель на этом модифицированном корпусе, в котором исключены все относительные пассивы и все, кроме одного, относительные объекты.Исключенные предложения отмечены * в корпусе в тексте S1. Результаты показаны на рисунке 4.

Рисунок 4. Относительные предложения с измененным распределением корпуса, в котором отношения субъекта встречаются чаще, чем отношения объекта.

A. Родственник субъекта. Для слова «V», следующего за «это», наблюдается относительно небольшое изменение в считывающих нейронах, что указывает на то, что предсказания модели в основном подтвердились. Б. Относительно объекта. Для «того», следующего за «то», происходит значительный сдвиг в активности, соответствующий переназначению наиболее вероятного закодированного значения.Условия моделирования, время активации, AT  = 20, и количество единиц коллектора, N = 300.

https://doi.org/10.1371/journal.pone.0052946.g004

Благодаря этому обновленному распределению относительных значений субъекта и объекта, которое более точно соответствует человеческому языку [42], мы теперь обнаруживаем два ожидаемых эффекта: . Во-первых, с самого начала предполагается, что N1 будет агентом V1 (см. синюю кривую на рис. 4 по сравнению с перекрывающимися синими и зелеными кривыми на рис. 3). Во-вторых, в объектном отношении появление «того» после «того» приводит к изменению предсказанных значений, отклонению от первоначального предсказания.Для субъекта изменения намного меньше с появлением «V». Мы можем предположить, что эта относительная разница в изменениях активности в этих двух условиях может иметь некоторое функциональное отношение к ERP P600, возникающему в сходных обстоятельствах. Таким образом, это изменение в нейронной активности можно рассматривать как отражение степени повторного анализа и формы стоимости обработки нейронов (с энергетической точки зрения).

Чтобы сгенерировать аналог сигнала «стоимости обработки», мы можем взять форму производной по времени этой нейронной активности в считывающих нейронах.Мы вычисляем это следующим образом: для каждого считывающего нейрона мы измеряем абсолютное значение изменения активности между двумя временными шагами и берем сумму этих изменений. Это можно визуализировать на рисунке 5, где мы рассчитываем и отображаем это изменение нейронной активности. Мы ориентируемся на приход слова, следующего за «The N that», отмеченного стрелкой на рис. 5 A и B. На правой панели B, соответствующей менее частому объектному отношению, наблюдается большее изменение активности, аналогично наблюдаемому усилению эффекта Р600 в этих условиях.

Рисунок 5. Глобальные мгновенные изменения выходной активности.

Зеленая кривая: расчетная сумма изменений (мгновенная временная производная) нейронной активности за два последовательных временных шага для предложений, относящихся к субъекту и объекту, в A и B соответственно. Соответствует нейронному «усилию», служащему показателем, связанным с ERP человека. Это изменение активности можно сравнить с реакцией P600 человека. Для A и B начало предложения вызывает значительное изменение в деятельности. Появление релятивизатора «это» порождает еще одно существенное изменение (указывающее на то, что это событие с относительно низкой вероятностью в корпусе).Решающее сравнение для следующего слова («V» и «the» соответственно в A и B, отмечены стрелкой). Приход «V» в A указывает на предметно-относительную структуру, которая является более вероятной в корпусе, и приводит к небольшому изменению активности. Прибытие «the» в B указывает на низкую частоту (только один в корпусе) относительно объекта и вызывает большее изменение активности. Синяя трасса — разница суммы. – простая сумма разностей активности между двумя временными шагами. Зеленый след – абс. сумма диф. – сумма абсолютных значений разностей активности.Красный след – абс. Максимум. диф. – абсолютное значение максимальной разницы активности между двумя временными шагами. Синие и красные кривые представлены в качестве дополнительной информации. Условия моделирования, время активации, AT  = 20, и количество единиц коллектора, N = 300.

https://doi.org/10.1371/journal.pone.0052946.g005

Таким образом, можно увидеть, что система генерирует онлайн-предсказания об изменении значения предложения, так что изменения в этих предсказаниях проявляют свойства, сравнимые с 600р.В частности, изменения нейронной активности отражают частоту корпуса, которая коррелирует (обратно) со сложностью обработки и амплитудой P600 [2], [42]. Хотя это может представлять потенциальный интерес для понимания нейрофизиологии P600, это также означает, что система извлекает часть базовой структуры корпуса.

Эксперимент 3: грамматическое обобщение

Важным моментом в изучении языка является то, что извлечение присущей грамматической структуры из учебного корпуса во время обучения позволит системе приспосабливаться к новым конструкциям, которые явно не присутствовали в обучающем наборе.Это понятие присутствует как в вычислительных, т.е. [43]–[45] и контексты развития [46], [47].

Чтобы определить, может ли эффективность обучения на фиксированном наборе конструкций, как указано выше, переноситься на новые конструкции, мы выполнили перекрестную проверку с методом исключения одного, где для каждой из 26 конструкций модель был обучен на оставшихся 25, а затем проверен на необученной конструкции. Резервуар из 100 единиц и время активации, равное 1, обобщено для новых тестовых конструкций (усреднено по 100 экземплярам резервуара) с 14.83% (± 2,59) означает ошибку (т. е. % всех выходных нейронов неверны) и 42,73% (± 7,19) ошибки предложения (т. е. % предложений, по крайней мере, с одним неправильным выходным нейроном — см. Методы — Обучение и измерения ошибок). Это означает, что в большинстве случаев система способна корректно обобщаться на новые конструкции. Мы проверили производительность при времени активации 10 временных шагов с 16,9% (+2,59) и 45,9% (+7,74) ошибки смысла и предложения соответственно, а также при времени активации 20 временных шагов при 17.2% (+2,63) и 46,4% (+7,74) ошибок смысла и предложения соответственно. Это свидетельствует об относительной стабильности по этому параметру. Рисунок 6 иллюстрирует успешное обобщение в этих условиях (N = 100, AT = 20) для тех же конструкций, что и на рисунке 2. Хотя это многообещающе, но остается формой «игрушечной» демонстрации, где обучающая выборка содержит ограниченный материал и может ограничить умение обобщать. Таким образом, мы будем исследовать обобщение с более расширенными корпусами. Однако сначала мы рассмотрим интеграцию информации в течение нескольких предложений в короткие сегменты дискурса.

Рисунок 6. Обобщение на новые грамматические конструкции, которых не было в обучающей выборке.

Те же предложения, что и на рисунке 2. Во всех случаях модель правильно определяет соответствующие тематические роли для существительного 2 (и существительного 1 – не показано). Условия моделирования, время активации, AT  = 20, и количество единиц коллектора, N = 100.

https://doi.org/10.1371/journal.pone.0052946.g006

Эксперимент 4: обработка короткого дискурса

Информация из предложений в начале дискурса может влиять на последующую обработку в режиме реального времени [3]–[5].Для прототипического примера семантическая аномалия N400 [48] может быть вызвана словом «соленый» в предложении «арахис был соленым», если информация, полученная ранее в дискурсе, привела к ожиданию того, что арахис на самом деле является солёным. , влюбленный [4]. В связи с этим возникает вопрос: как сделать информацию из предыдущего предложения доступной для изменения обработки текущего предложения в режиме реального времени? Чтобы начать отвечать на этот вопрос, текущий эксперимент исследует способность модели использовать информацию из предыдущего предложения, чтобы определить тематические роли второго предложения в сегменте дискурса из двух предложений.Мы обучили, а затем протестировали модель на 10 отдельных сегментах дискурса из двух предложений (без перекрестной проверки). Во всех случаях во втором предложении использовались местоимения «он» и «оно», которые требовали правильной ссылки на имена собственные и нарицательные соответственно в предыдущем предложении. Модель смогла правильно использовать информацию в десяти изученных сегментах дискурса из двух предложений. Рисунок 7 иллюстрирует ответы полосатого тела для считывания нейронов, кодирующих значение существительного 1 для 4 примеров дискурсов.Это интересный набор дискурсивных пар, в котором два разных первых предложения пересекаются с двумя разными вторыми предложениями. Обратите внимание, что для всех иллюстративных предложений мы включаем определенные существительные и глаголы для иллюстрации, но модель всегда обрабатывает входные последовательности, в которых существительные и глаголы просто кодируются как N и V (или SW для экспериментов 5–7).

Рисунок 7. Обработка дискурса из двух предложений.

Четыре примера дискурсов. A–C и B–D используют одну и ту же форму первого предложения соответственно, а A–B и C–D используют одну и ту же форму второго предложения соответственно.Это дает четыре различных шаблона закодированного значения. Для каждого во втором предложении должна быть разрешена анафорическая ссылка «он» и «оно» так, чтобы «он» ассоциировался с именем собственным, а «оно» с нарицательным (т. е. с тем, за которым следует « the») из первого предложения. A. Существительное 1 является Агентом Действия 1 и Действия 2. B. Существительное 1 является Объектом Действия 1 и 2 C. Агент 1 Объект 2 D. Объект 1 Агент 2. Обратите внимание, что при сравнении «тогда он ударил его» в A и B закодированное значение отличается, в зависимости от предшествующего предложения в дискурсе.Аналогично для «тогда он ударил его» в C и D. Условия моделирования, время активации, AT   =   20 и количество резервуарных единиц, N   =   300.

https://doi.org/10.1371/journal.pone.0052946.g007

A. Джон бросил бумеранг. Потом поймал.

B. Джон бросил бумеранг. Потом поймал.

C. Джон бросил бумеранг. Затем он ударил его.

D. Джон бросил бумеранг. Затем он ударил его.

То есть, A и C начинаются с одного предложения, B и D — с другого; тогда у А и В одно и то же второе предложение, а у С и D другое.Это позволяет систематически сравнивать влияние первого и второго предложения на нейронное кодирование смысла. Обратите внимание, что A и B имеют одинаковое общее значение, и способ кодирования этого значения в выходных нейронах, закодированное значение (см. рис. 7), различается для этих двух сегментов дискурса. Мы заметили, что во всех десяти сегментах дискурса система правильно выделила тематические роли, указанные в двух предложениях. Это включает в себя извлечение разных значений одного и того же предложения в зависимости от двух разных предложений, которые появились ранее в двух сегментах дискурса.Интересно, что мы также можем обнаружить, что обработка двусмысленного «он» в A и B разрешается в реальном времени, даже если это зависит от информации, которая произошла в предыдущем предложении. То есть нет дополнительного времени обработки, связанного с извлечением информации, которая произошла ранее в дискурсе из двух предложений.

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

Эксперимент 5: Расширенный корпус I

Предыдущие эксперименты дают представление об обработке предложений в модели в реальном времени, но с довольно ограниченным набором данных. Сразу возникает вопрос, сможет ли система вместить более расширенный набор конструкций. Здесь мы пытаемся определить производительность с расширенным корпусом.Используя контекстно-свободную грамматику, мы систематически создали набор из 462 новых грамматических конструкций (см. Методы), каждая из которых выражает значения, состоящие из 1–6 существительных, с 1–2 уровнями иерархической структуры (т. е. только с главным предложением или основным предложением). относительное предложение и 1 или 2 глагола соответственно). Каждая грамматическая конструкция представляет собой отображение между уникальной поверхностной формой и уникальным закодированным значением. Таким образом, возможно точное отображение между входами и выходами. Используя модель с 1000 нейронами, система отлично изучила полный набор «462 корпусов» (без ошибок при использовании полного корпуса как в качестве обучающего, так и тестового набора) для окончательного обучения предложений (т.е. обучение только в конце входного предложения по сравнению с непрерывным обучением в течение всего предложения — см. Условия обучения и меры погрешности в материалах и методах). Еще до рассмотрения обобщения это уже существенный результат. Это демонстрирует, что корпус действительно придерживается гипотезы конкуренции сигналов [33], что корпус поддается обучению и что система может использовать эту обучаемость.

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

На рис. 8 показаны результаты перекрестной проверки, когда мы систематически изучали поведение системы в диапазоне значений спектрального радиуса (SR) и постоянной времени (τ) для резервуара размером 1000 нейронов.Вместе эти параметры влияют на относительную степень реакции системы на входные данные и на повторяющиеся действия в сети. Спектральный радиус можно сравнить с температурой динамической системы, а τ с инерцией или вязкостью системы (см. уравнение 1, материалы и методы). Альтернативно, спектральный радиус аналогичен усилению в контуре обратной связи. С технической точки зрения, спектральный радиус является наибольшим абсолютным значением собственных значений весовой матрицы коллектора.Для дискретных линейных стационарных систем спектральный радиус меньше единицы гарантирует асимптотическую устойчивость, а это означает, что динамика, вызванная входным импульсом, со временем затухает [37]. Поскольку мы используем нейроны с дырявым интегратором (нелинейные), эффективный спектральный радиус может отличаться от фактического значения SR. Эти и связанные с ними вопросы освещены в [40], [49].

Рисунок 8. Исследование параметров (анализ чувствительности) для эффективности перекрестной проверки с 462 грамматическими конструкциями.

Влияние спектрального радиуса и постоянной времени (τ) на производительность. Ошибка была усреднена по 10 различным экземплярам коллектора. Цветные ячейки показывают среднюю ошибку для этих настроек параметра. Обратите внимание, что во всех четырех исследованиях есть область по диагонали, где наблюдается устойчивая производительность. Количество единиц в резервуаре: N = 1000.

https://doi.org/10.1371/journal.pone.0052946.g008

На рис. 8 показано, что система относительно устойчива к значительным изменениям этих параметров, SR и τ, поскольку существуют большие участки пространства параметров вдоль диагонали от верхнего левого угла к нижнему правому, где система работает хорошо, с плавным снижением производительности при отклонении от этой диагонали.В ходе этого исследования мы определили параметры, которые дали 9,2% ошибки смысла и 24,4% ошибки предложения при окончательном обучении предложения (SR = 1, τ = 6) и 7,4% и 32,1% ошибки смысла и предложения соответственно для непрерывного обучения (SR = 6). , τ = 55) с использованием перекрестной проверки.

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

Рисунок 9. Влияние размера резервуара на перекрестную проверку с корпусом 462.

Ошибка смысла и предложения (ось Y) как функция количества нейронов (ось X). Логарифмическая шкала. Каждая точка представляет собой среднее значение по 5 экземплярам с указанием средних значений и стандартных отклонений. Ошибка перекрестной проверки уменьшается с размером резервуара. Это указывает на то, что в пределах изученного диапазона размеров резервуара переобучение не увеличивается с увеличением размера резервуара. Стрелкой отмечен размер резервуара N = 1059, для сравнения с N = 1000 результаты в таблице 1 и эксперименте 5.CL – непрерывное обучение (SR = 1, τ = 6), CL* оптимизированное непрерывное обучение (SR = 6, τ = 55), SFL – окончательное обучение предложения (SR = 1, τ = 6).

https://doi.org/10.1371/journal.pone.0052946.g009

Обратите внимание на улучшение, наблюдаемое после случая с 1000 нейронами, особенно для случая непрерывного обучения. Асимптотические ошибки указывают на ограничение возможности обобщения для этого корпуса. Обратите также внимание на то, что существует непрерывная связь между размером резервуара и производительностью, с прогрессивным улучшением по мере увеличения размера сети.Это интересно отчасти потому, что потенциально противоречит представлению о том, что по мере увеличения размера системы возрастает опасность переобучения и последующей невозможности обобщения при перекрестной проверке [50], поскольку мы наблюдаем постоянное улучшение с увеличением размера резервуара. Мы решаем эту проблему в Эксперименте 6.

Эксперимент 6: Влияние структуры корпуса

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

Такой эксперимент также может дать представление о том, что на самом деле изучает система — действительно ли она изучает какую-то врожденную структуру или, наоборот, «переоснащает» или запоминает обучающую выборку.Переобучение [50] может произойти, когда количество параметров сети превышает размер набора данных, который необходимо изучить. Таким образом, тренировочный набор запоминается, и обобщение новых элементов за пределами тренировочного набора будет плохим. Мы используем 1000 единиц резервуара и 42 единицы вывода (см. «Кодирование ввода и вывода» в разделе «Методы»), всего 42 000 обучаемых параметров. Для условия окончательного заучивания предложения, при котором соединения резервуара и считывания должны быть изучены один раз в конце предложения, наш корпус из 462 конструкций соответствует размеру набора данных в 462 элемента.Для непрерывного обучения, в котором связи резервуара с чтением должны быть изучены во время представления каждого слова в предложении, это дает верхний предел размера набора данных 462 (количество построений) × 19 (максимальная длина предложения)  = 8778 элементов . Это значительно меньше размера обучаемого набора параметров. Таким образом, это ситуация, типичная для переобучения. Опять же, чтобы продемонстрировать, что при таком размере резервуара система обобщает грамматическую структуру обучающей выборки (и не подгоняет данные), мы подвергаем модель тесту с сопоставимым корпусом, но без этой грамматической структуры.Затем мы можем сравнить обобщение при наличии и отсутствии присущей грамматической структуры. Если наблюдаемые эффекты обобщения обусловлены переобучением, то обобщение, оцененное перекрестной проверкой, не должно существенно различаться в этих двух условиях. Однако, если грамматическая структура изучается и обобщается при перекрестной проверке, то мы должны увидеть лучшее обобщение, когда обучение основано на корпусе, содержащем внутреннюю грамматическую структуру. Таким образом, для текущего Эксперимента 6 мы изменили порядок слов в поверхностных формах каждой из 462 грамматических конструкций, оставив все остальные условия одинаковыми, и повторили Эксперимент 5 в условии с 1000 нейронами.

Как показано в таблице 1, мы наблюдаем, что, хотя зашифрованный набор может быть изучен без ошибок, перекрестная проверка дает 73,4% означает ошибок и 99,9% предложений коэффициентов ошибок для окончательного заучивания предложений, а коэффициенты ошибок 70,6% и 99,9% для непрерывного обучения соответственно. Этот успех в обучении и неудача в перекрестной проверке демонстрируют, что обобщение не может быть реализовано в отсутствие лежащей в основе грамматической структуры, которая была устранена в зашифрованных данных.

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

Эксперимент 7: Расширенный Корпус II

Чтобы продолжить наше исследование возможности масштабирования модели, мы разработали и расширили грамматику, чтобы учесть 2043 различных закодированных значения, а затем сгенерировали несколько различных способов выражения этих значений, чтобы создать корпус из более чем 9*10 4 конструкций (размер корпуса  = 90 582 конструкции) (см. Корпуса в материалах и методах).

Этот корпус имеет несколько свойств, влияющих на обучение и обобщение: (1) Несколько конструкций могут иметь одно и то же закодированное значение, поэтому корпус можно считать «избыточным». Например, «Собака на , которую укусил Оливер, побежала» и «Собака, которую покусала Оливер на , побежала» — разные поверхностные формы, но соответствующие одному и тому же закодированному значению. Избыточность также присутствует при замене собственных имен нарицательными (Джон / мужчина) и замене относительных местоимений (тот / кто).(2) Допускались неполные значения (например, отсутствие агента в предложении: «Мяч был отдан Роджеру»). (3) Добавление редуцированных относительных форм для относительных предложений, когда это возможно (например, в «Мяч, укушенный собакой, был брошен Адамом Роджеру», «это было» можно удалить, чтобы получить редуцированное относительное предложение). Это также способствует избыточности (т. е. множеству различных конструкций с одним и тем же закодированным значением). (4) Конструкции могут быть неоднозначными. Двенадцать процентов конструкций в корпусе неоднозначны.Мы определяем двусмысленность как случай, когда две или три конструкции имеют одинаковый порядок слов (поверхностную форму), соответствующие разным значениям. Например, есть две конструкции, соответствующие предложению «Джон, представленный королю королевой в Англии, изгнан». В этих двух конструкциях «Королева» может быть агентом «введенного» или «вытесненного» соответственно. Рисунок 10 иллюстрирует различия между различными такими смысловыми отношениями, включающими поверхностную форму, закодированное значение и значение.

Рисунок 10. Различные формы смысловых отношений.

Активные и пассивные поверхностные формы «Джон дал мяч Мэри» и «Мяч подарил Мэри Джон» имеют разные формы поверхности. Они также имеют разные кодированные значения, например. первое семантическое слово (SW1) является агентом в активном и объектом в пассивном. Но эти два закодированных значения соответствуют одному и тому же значению Дал(Джон, мяч, Мэри) в формате Предикат(Агент, Объект, Получатель) .Многозначные предложения имеют одинаковую поверхностную форму, но соответствуют двум разным закодированным значениям и двум разным значениям. Наконец, избыточные предложения имеют разные поверхностные формы, но один и тот же закодированный смысл и значение.

https://doi.org/10.1371/journal.pone.0052946.g010

Поскольку этот корпус имеет внутреннюю грамматическую структуру и избыточность (т. будет больше, чем в корпусе из 462 конструкций, несмотря на 12% неоднозначных конструкций, которые мешают обучению и обобщению.Чтобы охарактеризовать способность системы обобщать на основе воздействия различных размеров выборки, мы случайным образом выбрали подкорпусы, состоящие из 6%, 12%, 25%, 50%, 75% и 100% корпуса из 90 582 элементов. . Для каждого из этих подкорпусов мы обучали половину предложений, а затем тестировали оставшуюся половину, а затем выполняли реверсирование этих обучающих и тестовых наборов. Рисунок 11 иллюстрирует производительность обобщения в зависимости от размера обучающей выборки. Интересно, что мы видим это уже тогда, когда подкорпус составляет 25% от общего количества, и, таким образом, обучающая выборка равна 12.5% корпуса, система уже может обобщать только с 22% ошибкой предложения и 4% ошибкой значения для окончательного обучения предложения.

Рисунок 11. Эффекты последовательного воздействия на корпус 90K.

Значение и ошибка предложения для обобщения новой конструкции (ось Y) в зависимости от процента корпуса, используемого для обучения. Производительность обобщения увеличивается с процентом воздействия на корпус во время обучения. При воздействии только на 12,5% корпуса система обобщает с ошибкой значения <4% и ошибкой предложения <22% для окончательного заучивания предложений.Воздействие 50% корпуса позволило обобщить с 1,78% ошибки значения и 15,01% ошибки предложения. Обратите внимание, что 12% предложений неоднозначны и будут конкурировать, что делает реальную возможную минимальную ошибку предложения ~12%. Каждая точка представляет собой среднее значение по 5 экземплярам с указанием средних значений и стандартных отклонений.

https://doi.org/10.1371/journal.pone.0052946.g011

Обсуждение

Заявленная цель этого исследования заключалась в проверке гипотезы о том, что рекуррентная сеть может кодировать структуру предложений на основе их закрытой структуры классов [33], а затем (а) использовать эту информацию для выполнения тематического ролевого распределения, (б ) генерировать прогнозы об эффектах в реальном времени [2], [12], (c) обобщать до новых конструкций и (d) кодировать предшествующие знания из более ранних предложений в дискурсе из нескольких предложений [4], [5].Мы решаем эти вопросы в вычислительной структуре пластовых вычислений. Резервуарные вычисления — это метод машинного обучения, в котором рекуррентная сеть с фиксированными соединениями может кодировать пространственно-временную структуру входной последовательности, а соединения со слоем считывания могут быть обучены с использованием быстрых и мощных методов для получения желаемого результата [38]. Эту структуру можно рассматривать как определение формы класса эквивалентности задач, которые могут быть решены в рамках структуры коллектора. Текущие результаты показывают, что задача распределения тематических ролей, как мы ее определили, является членом этого класса эквивалентности.Эта работа была частично мотивирована постулатом о том, что корково-стриарная система, возможно, находится в центре этой обработки в человеческом мозгу, при этом кора и присущая ей структура рекуррентных связей [51] играют роль, аналогичную резервуару, а полосатое тело , с модифицируемыми корково-полосатыми связями [52]–[54], играющими роль считывающих нейронов. Таким образом, в более широком смысле мы можем считать, что кортико-полосатая система функционально связана с этим классом эквивалентности.

Обработка в реальном времени

Частично новизна текущего исследования заключается в том, что обработка предложений в реальном времени рекуррентной нейронной сетью дает представление об аналогичной обработке предложений в реальном времени при обработке предложений человеком, как показывает ERP.Фридеричи и др. [2] наблюдают паттерны ERP, указывающие на то, что субъекты-люди демонстрируют онлайн-предпочтение субъект-против. объектно-относительные предложения. Их профиль P600 имеет значительно уменьшенную амплитуду в «более простых» предложениях с субъектным отношением. Наблюдение за активностью чтения слов, следующих за релятивизатором «что» на рис. 4 и 5, показывает значительно большую модификацию активности для объекта-против. предметно-относительное состояние. Интересно, что на рисунке 3 этот эффект обратный.Как уже отмечалось, это связано с частотным эффектом в нашем тренировочном корпусе. При обучении с корпусом, в котором субъектные родственники встречаются чаще, чем объектные, как в случае с человеческим языком [42], мы наблюдаем соответствующий P600-подобный эффект. Это дает предварительное основанное на моделировании объяснение реакции P600. Нейроны считывания кодируют онлайн-анализ или предсказание значения текущего предложения. Когда появляются слова, вызывающие значительное изменение предсказанного значения, происходят значительные изменения в считывающей нейронной активности.Это изменение можно закодировать во временной производной, и значение этой временной производной можно сравнить с P600. Ясно, что у этой аналогии есть пределы. Например, нейронные изменения, которые мы наблюдаем, происходят в аналоге полосатого тела (т. е. в считывающем слое) и содержат смесь повышений и понижений активации. Напротив, данные исследований поражений полосатого тела человека [11], [12], [15] предполагают, что P600 может быть частично обусловлен активацией полосатого тела, которая вызывает синхронизированную активацию коры через кортико-стриато-таламо-кортикальную петлю.Однако аналогия имеет место в том, что слова, обозначающие низкочастотные конструкции, могут вызывать реакцию P600 у людей, и те же самые стимулы вызывают значительное изменение нейронной активности в модели. Таким образом, это исследование должно представлять интерес для психолингвистического сообщества, поскольку оно предоставляет новый инструмент для интерпретации электрофизиологических ответов в режиме онлайн во время обработки предложений. В частности, он демонстрирует систему, в которой активность считывающих нейронов представляет собой мгновенную вероятностную оценку значения предложения.Интересно, что это значение может меняться по мере поступления следующих друг за другом слов.

Нейрофизиология P600

В этом контексте текущее исследование вносит свой вклад в дискуссию о природе и происхождении электрофизиологических ответов на аномальные события во время языковой обработки. В недавних исследованиях изучались реакции ERP на нестандартные перцептивные события, как в более общей структуре отрицательности несоответствия (MMN) [55], так и в языковом P600 [56].Ваконне и др. [55] реализуют модель, которая учится предсказывать целевой сигнал и генерирует MMN-подобный ответ на входные данные, которые нарушают предсказанный сигнал. Это соответствует ошибке предсказания, которая генерируется путем сравнения предсказанных и фактических входных сигналов, в соответствии со структурой предиктивного кодирования, предложенной Фристоном [57], в которой ответы коры отражают разницу между внутренними предсказаниями и фактическим внешним вводом. Полученная ошибка прогноза используется в байесовской модели для обновления модели прогнозирования с целью уменьшения ошибки прогноза [55].

В текущей работе обучение между рекуррентной сетью (резервуаром) и считывающими нейронами позволяет системе предсказывать значение предложения по мере последовательного поступления составляющих его слов. Наш ответ, подобный P600 (полученный из изменения предсказания считывания), можно рассматривать как связанный с ошибкой предсказания, поскольку он указывает на управляемые вводом обновления для непрерывного предсказания значения. В обоих случаях Wacongne et al. и текущая работа, трассировка памяти (рекуррентная сеть или набор линий задержки) поддерживает текущее представление входного контекста задачи, который используется для генерирования оперативных прогнозов.

Бейм Грабен и др. [56] используют родственный, но другой подход динамических систем к объяснению P600. На основе предложений, используемых в задаче P600, они генерируют контекстно-свободную грамматику и детерминированные распознаватели для анализа этих предложений и реализации этих формальных автоматов в нелинейных динамических системах. Затем модели ERP получаются из основных компонентов в пространстве активации или по мере энтропии разбора результирующих динамических систем [56]. Эти меры связаны с понятием ошибки прогнозирования в том смысле, что они представляют собой отклонение от входных данных на основе текущего контекста.Фундаментальное отличие от нашей работы состоит в том, что динамическая система, использованная Беймом Грабеном и соавт. предварительно структурирована на основе предварительной спецификации грамматики, в то время как наша система предварительно структурирована только с присущими рекуррентной сети резервуаров свойствами и различием классов открытых и закрытых. Интересно, что без предварительного знания грамматики эта рекуррентная сеть может представлять грамматическую структуру корпуса. Затем изменяемые выходные соединения адаптируются к этой структуре при извлечении значения, аналогично [44], [58].

Фриш и др. [59] дополнительно исследовали функциональное значение P600. В немецком они подтвердили, что, когда аргумент устраняет неоднозначность более раннего аргумента в пользу нежелательного порядка субъект-объект, наблюдается P600, отражающий стоимость, связанную с этим пересмотром. Поразительно, но они также впервые наблюдали P600, связанный с двусмысленным аргументом в начале предложения. Поскольку в работе не проводится повторный анализ, эти авторы утверждают, что P600 следует рассматривать как связанный со стоимостью выполнения двух параллельных прогнозов.Они также предполагают, что, хотя синтаксический анализатор параллельно поддерживает различные синтаксические анализы, он сформировал измеримое предпочтение предпочтительной структуры, как показывает более крупный P600 для непредпочтительного чтения. Это согласуется с результатами нашей модели, хотя это еще предстоит проверить с помощью конкретных тестов.

Последовательная и параллельная обработка предложений

Friederici et al [2] также предположили, что их результаты потенциально согласуются с параллельными моделями разбора предложений [21], [22].Интересно, что это согласуется с нейронной активностью, которую мы наблюдаем в нейронах считывания полосатого тела — поддерживаются множественные разборы, основанные на их вероятности внутри корпуса — аналогично понятиям «предпочтительный» и «непредпочтительный». Эти результаты уместны в психолингвистическом сообществе, где продолжаются дебаты о том, основана ли обработка предложений человеком на постоянном поддержании единственного, наилучшего текущего кандидата на синтаксический анализ (последовательная обработка) или, скорее, на поддержании нескольких открытых вариантов, а также сокращении и обновлении этих вариантов в качестве исходных. предложение разворачивается (параллельная обработка) [22], [60], [61].Один из аргументов против параллельной обработки связан со стоимостью и сложностью поддержки нескольких параллельных синтаксических анализов. В моделях символического синтаксического анализа каждый параллельный путь соответствует полному синтаксическому анализатору. Напротив, нейронный синтаксический анализ, который мы наблюдаем в текущем исследовании, поддерживает множественные параллельные представления как неотъемлемую функцию системы, и для поддержания этих множественных синтаксических анализов не требуются дополнительные ресурсы. Наша модель соответствует ранжированной параллельной модели, в которой можно использовать несколько структур, но одна из них может оказаться более предпочтительной [22], [61].Действительно, невозможно избежать этой параллельной обработки. Таким образом, в будущем такие нейронные реализации обработки предложений могут внести свой вклад в дебаты о последовательном и параллельном чтении.

Предварительные знания в дискурсе

Помимо обработки отдельных предложений, мы также надеялись пролить свет на то, как языковая система может интегрировать такую ​​информацию в более чем одно предложение в дискурсе. Хагурт и ван Беркум [4] рассматривают двухэтапные модели обработки дискурса, в которых предложение сначала обрабатывается отдельно, а затем интегрируется с текущим дискурсом.Однако они считают, что их данные ERP говорят в пользу альтернативного «предположения о непосредственности», согласно которому каждый источник информации, который может способствовать интерпретации предложения, включая предшествующие предложения в дискурсе, делает это немедленно (см. обзор [4]). ). Допущение непосредственности ставит вопрос: как информация, накопленная в ходе дискурса, становится доступной для немедленного доступа? Наши симуляции предполагают, что эта информация может накапливаться и становиться доступной в рекуррентных корковых сетях (резервуаре), которые действительно поддерживают глобальный контекст разворачивающейся структуры дискурса.Мы демонстрируем это здесь с помощью дискурсов из двух предложений и иллюстрируем, как поддерживаемый контекст может использоваться для разрешения двусмысленной анафорической ссылки во втором предложении, которая устраняется неоднозначностью в первом предложении. В целом, однако, синтаксической информации не всегда может быть достаточно для разрешения анафорической ссылки. Остается работа над дальнейшим изучением более расширенных дискурсивных ситуаций и обобщений в дискурсе.

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

Изучение языковой обработки в рекуррентных сетях имеет долгую и богатую историю.В ряде исследований была изучена способность рекуррентных сетей предсказывать следующее слово или категорию слов в предложении, начатая основополагающей работой Эльмана [62]. Там Элман показал, как простая рекуррентная сеть (SRN) с пластичными рекуррентными связями сформировала представление лежащей в основе синтаксической структуры изученного языка. Интересно, что Тонг [44] показал, что без обучения сети эхо-состояний (ESN, категория резервуарных вычислений) одинаково хорошо справляются с задачей предсказания следующего слова во время обработки предложения.Это очень важно для текущего исследования, поскольку оно свидетельствует о том, что действительно, без обучения внутри резервуара, правильно построенные рекуррентные сети могут по своей сути кодировать грамматическую структуру с этим кодированием, которое затем используется через модифицируемые соединения считывания. Действительно, Франк и Бод недавно продемонстрировали, что в этом контексте ESN действительно учитывает данные о времени чтения человека, оценивая неожиданные значения лучше, чем модель грамматики структуры фразы [58].

Решающее отличие нашей текущей работы связано с задачей.Тонг и др. следуйте подходу Элмана к предсказанию следующего слова в предложении. Наша задача принципиально иная. Он включает в себя извлечение смысла предложения с точки зрения определения тематических ролей элементов открытого класса или извлечение «кто что кому сделал». Этот тип понимания предложений с помощью нейронных сетей имеет столь же долгую и богатую историю. Это рассматривалось как часть «параллельной распределенной обработки» (PDP) или коннекционистских исследований [63], [64], а совсем недавно — в более структурированной когнитивной архитектуре [65].Точно так же Чанг разрабатывает модель языкового производства для устранения эффектов в реальном времени, включая структурное прайминг [66], [67]. Мийккулайнен разрабатывает многокомпонентную систему синтаксического анализа, которая обобщает относительную структуру фраз, а также обеспечивает тщательный обзор обработки нейронной сети, связанной с языком [64]. Особый интерес представляет тот факт, что родственные нейросетевые подходы недавно добились значительного технического прогресса в области обработки естественного языка, особенно в семантической маркировке ролей [68], [69].Хотя в этих исследованиях рассматривались вопросы распределения тематических ролей, они, как правило, вводят значительные дополнительные механизмы обработки и не рассматривали нейронную активацию в реальном времени во время обработки предложений, которая является центральной в текущей работе. Новизна нашей работы заключается в разработке модели, которая генерирует параллельные предсказания тематических ролей (или семантических меток) в реальном времени, которые обеспечивают потенциальное понимание лежащей в основе нейрофизиологической обработки языка в корково-стриарной системе человека.

Обобщение

Мы можем рассмотреть, как сеть выполняет эту задачу и как она может обобщать. Рекуррентная сеть должна быть способна разделять различные входные формы предложений, а также группировать вместе формы предложений, которые могут иметь небольшие вариации, но по существу эквивалентны закодированному значению. Эти два свойства рекуррентной сети упоминаются в технической литературе как качество ядра и способность к обобщению [70]. Это обобщение относится к способности распознавать два объекта с небольшими вариациями как принадлежащие к одной и той же категории.Это было обнаружено в последней части эксперимента 6 с включением прилагательных и наречий, которые, таким образом, генерируют избыточные конструкции (с похожими формами предложений), которые следует оценивать как похожие.

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

Мы можем назвать это грамматическим обобщением. Действительно, мы наблюдаем, что система способна извлекать структурные закономерности, присущие корпусам, а затем использовать эту информацию для обобщения на новые конструкции.В родственных работах наблюдалась способность рекуррентных сетей приспосабливаться к этой форме грамматического обобщения [44], [45], [62]–[64].

Масштабирование до более крупных и разнообразных корпусов

Ограничением в нашей предыдущей работе был небольшой набор используемых конструкций и, соответственно, отсутствие значимой демонстрации обобщения [24]–[27]. В текущем исследовании, используя корпуса из 462 и до 90 000 различных конструкций, мы демонстрируем, что модель может обучаться и обобщать грамматическую структуру, присущую обучающим корпусам.Действительно, как показано на рис. 11, мы заметили, что по мере увеличения размера обучающей выборки увеличивается и способность к обобщению. По мере того, как система получает большее представление о структуре, определяющей корпус, она может лучше обобщать в контексте этого корпуса. Следует помнить, что корпусу свойственна двусмысленность (12% предложений), что ограничивает оптимальную ошибку предложения примерно до 12%, а наша минимальная ошибка предложения при двойной перекрестной проверке составляет 15,01% (±0,22).

Система также может продемонстрировать гибкость в кодировании.В экспериментах 1–4 требовалось уточнение только в отношении тематических ролей существительных, а затем в опытах 5–7 дополнительно требовалось, чтобы система включала предикат действия. Аналогично, в экспериментах 1–4 первое действие в кодированном значении ассоциировалось с первым глаголом, а в экспериментах 5–7 первое действие ассоциировалось с глаголом в главном предложении, даже если оно стояло вторым в предложении (как в относительной фразе, такой как «Человек, который ударил по мячу, погнался за собакой.»). В более общем плане схема кодирования является гибкой, и если информация, относящаяся к различным измерениям (например, времени), закодирована в значении, то система может научиться извлекать эту информацию в представлении значения.

Последнее заявление об ограничении ответственности

Мы заняли довольно смелую позицию, предполагая такую ​​специфическую роль корково-полосатой системы, с корой как рекуррентной сетью и полосатым телом как индикатором распределения тематических ролей. Хотя это согласуется со значительным количеством эмпирических и теоретических работ [2], [9], [12], [71], вполне возможно, что рассматриваемая нами обработка происходит на другом уровне, т.е.грамм. внутри чисто кортико-кортикальных сетей, хотя это сделало бы наблюдение потери P600 с поражениями базальных ганглиев более трудным для объяснения [12]. Действительно, в [26] мы предположили, что для повторного анализа будет использоваться кортико-стриарный механизм, а для переусвоенных канонических форм — прямой корково-корковый механизм. Это еще предстоит установить более подробными нейрофизиологическими исследованиями. Следует сохранить важное понятие, заключающееся в том, что рекуррентная сеть с соответствующей динамикой может накапливать и обрабатывать информацию, относящуюся к грамматической структуре, так что эта информация может быть считана для выполнения тематического распределения ролей, и что это согласуется с отображением рекуррентной сети. и считывание в кортико-полосатую систему и соответствующую нейрофизиологию человека.Такое использование резервуарных вычислений для моделирования функциональной нейрофизиологии корково-стриарной функции в когнитивных задачах, как в текущей работе, так и в [72], является очень перспективной областью для будущих исследований.

Материалы и методы

Наша модель проводит параллель между кортико-стриарной анатомией и структурой резервуарных вычислений. Префронтальная кора (область Бродмана 47) моделируется как фиксированная рекуррентная сеть, а стриатум — как отдельная популяция, связанная с корой через модифицируемые синапсы, соответствующие соответственно резервуару и считыванию.Резервуар состоит из дырявых интегрирующих нейронов с сигмовидной активацией выхода. Уравнение (1) описывает внутреннее обновление активности в резервуаре: (1) где x (t) представляет состояние резервуара; u(t) обозначает ввод в момент времени t ; Δ t – точность времени; τ – постоянная времени; f(•) — функция активации гиперболического тангенса (tanh). Начальное состояние внутреннего состояния x (0) равно нулю.В терминологии пластовых вычислений «скорость утечки» эквивалентна 1/ τ . W in — матрица весов соединений от входов в резервуар, а W res — повторяющиеся соединения между внутренними узлами резервуара. Мы будем представлять входные стимулы (слова) один за другим в качестве входных данных для рекуррентной сети. Каждое слово представлено в течение «времени активации» (AT), которое определяет количество сетевых временных шагов представления.Этот AT входит в уравнение 1, так что Δ t равно обратной величине AT (т. е. 1/AT). Мы определяем это эмпирическим путем в разделе «Методы эксперимента 5» ниже и приводим результаты моделирования в тексте S1. Слой линейного считывания определяется как: (2) Где выходная (полосатая) активность и выходная весовая матрица. Чтобы узнать веса связи между резервуаром (BA 47) и показаниями (полосатое тело), ​​мы использовали гребневую регрессию (см. «Обучение» ниже). Глобальная активность считывания представляет закодированное значение входного предложения.

Количество единиц, используемых в резервуаре, спектральный радиус, время активации, Δ t и постоянная времени зависят от эксперимента, но здесь мы указываем общие для большинства из них параметры. Резервуар обычно состоял из 1000 единиц. По определению матрицы W в и W res являются фиксированными и генерируются случайным образом. Внутренние веса ( W res ) взяты из нормального распределения со средним значением 0 и стандартным отклонением 1 со связностью 10%.Затем мы масштабируем спектральный радиус (SR), то есть наибольшее абсолютное собственное значение сгенерированной матрицы W res до 1. Матрица входных весов W в имеет значения, выбранные случайным образом равные 0,75 или -0,75 с равной вероятностью. Плотность входных соединений также составляет 10%. Была использована постоянная времени τ , равная 6 (т.е. скорость утечки ≈0,167). Параметр гребневой регрессии, для которого мы наблюдали правильную работу, составлял 10 -9 . SR и τ в некоторых случаях варьировались, как описано ниже для конкретных экспериментов.

Корпуса

Для опытов 1–4 использовался корпус из 45 конструкций, представленных в Тексте S1. Это было основано на 26 конструкциях, исследованных в [25], с расширениями для дискурса, относительных предложений и т. д.

Для экспериментов 5 и 6 был создан расширенный корпус из 462 конструкций. Формы предложений (и соответствующие значения) были сгенерированы из контекстно-свободной грамматики на основе структуры английских фраз с глаголами, принимающими от 1 до 3 аргументов (например, walk , cut или give could have соответственно 1, 2 или 3). аргументы).Затем для каждой конструкции были сгенерированы закодированные значения путем сопоставления положения каждого семантического слова в форме предложения с его ролью в значении. Каждая конструкция может иметь 0 или 1 придаточное предложение, вставленное после одного из существительных; глаголы относительного предложения могли принимать 1 или 2 аргумента. Использовались все возможные семантические порядки слов. Существует 6 возможных семантических порядков слов для глагола с 2 аргументами: APO, AOP, PAO, POA, OAP, OPA. Обратите внимание, что Agent Predicate Object (APO) чаще всего используется на английском языке.Существует 24 возможных семантических порядка слов для глагола с 3 аргументами: APOR, APRO, AOPR, и т. д. . Все возможные семантические порядки слов были сгенерированы как для главных, так и для относительных предложений. Были выполнены все возможные вставки придаточного предложения, т.е. после 1-го, 2-го или 3-го существительного в главном предложении. Всего было сгенерировано 462 конструкции. В этом корпусе всем существительным предшествовало «the» (т. е. они были именами нарицательными).

Для эксперимента 7, как и в экспериментах 5 и 6, мы построили контекстно-свободную грамматику, которая использовалась для создания корпуса из

конструкций.Этот корпус имеет 2043 различных закодированных значения и поэтому является избыточным. Помимо полных значений, этот корпус содержит «неполные»

значений , таких как дать(_, Рекс, Джон) для предложения типа «Рекс был отдан Джону», где в этом нет Агента, означающего . В «корпусе

» для каждой грамматической конструкции были сгенерированы аналогичные конструкции с вариативностью. Существует несколько типов изменчивости, как описано выше в эксперименте 7. Набор используемых порядков слов был ограничен, чтобы исключить явно непонятные конструкции, использующие семантические порядки слов, такие как RP (т.е. Recipient-Predicate) или POAR. В корпусе 12,24% неоднозначных конструкций (т.е. 11 088 конструкций). Из них 5 268 являются неоднозначными парами (пары с одинаковой формой поверхности и разными кодированными значениями), 184 являются неоднозначными тройками (тройки с одинаковой формой поверхности и разными кодированными значениями).

Кодирование ввода и вывода

Здесь мы опишем общий случай для «корпуса 462», который использовался в экспериментах 5 и 6. Учитывая входное предложение, модель должна назначить соответствующие тематические роли каждому смысловому слову (в нашем случае существительным и глаголам).Поверхностные формы представляются модели в виде входных последовательностей, в которых конкретные экземпляры семантических слов (СЗ) — существительное и глагол — заменяются маркерами СВ . Таким образом, данная поверхностная форма может кодировать несколько предложений, просто заполняя маркеры SW определенными словами. Входные последовательности представляются резервуару в последовательном порядке, по одному слову за раз. Обучение состоит в изменении связей между резервуарными и считывающими единицами, чтобы указать соответствующие ролевые назначения для каждого SW в считывающих нейронах, которые задаются во время обучения.Это показано на рисунке 1B.

Каждое измерение ввода кодирует одно слово или маркер. Все семантические слова (также называемые словами открытого класса или содержания) кодируются одним входным нейроном, помеченным SW. Входное измерение равно 13. Это соответствует: '-ed', '-ing', '-s', 'by', 'is', 'it', 'that', 'the', 'to', ' was', с 10 входными нейронами для слов закрытого класса (CCW), 1 для SW, 1 для запятой и 1 для точки. Склонения глаголов (суффиксы «-s», «-ed», «-ing») являются частью CCW, поскольку в качестве грамматических морфем они предоставляют грамматическую информацию.Во второй части эксперимента 6 для кодирования прилагательных и наречий использовался дополнительный входной нейрон, что дало в общей сложности 14 входных нейронов.

Количество единиц считывания 42 ( = 6*4*2–6): 6 семантических слов, каждое из которых может иметь одну из 4 возможных тематических ролей ( предикат, агент-объект, реципиент ), которые могут быть связаны с как главное, так и относительное предложение. Поскольку в относительном предложении никогда не используется глагол с более чем двумя аргументами (, т.е. . нет получателя ), мы вычитаем 6 выходных единиц из общего числа.Входы имеют значение 1, когда представлено соответствующее слово, и 0 в противном случае. Выходные данные учителя имеют значение 1, если устройство считывания должно быть активировано, и -1 в противном случае.

В экспериментах 1–4 использовалось эквивалентное, но топологически модифицированное кодирование. Общее количество входных данных составило 14: 11 слотов для слов близкого класса, 1 для существительных, 1 для глаголов и 1 для точки. Размерность считывания для экспериментов 1–4 составляет 4 * 3 * 2   =   24 (4 существительных, каждое из которых может иметь 3 возможных назначения тематических ролей, и каждое может иметь роль максимум с 2 глаголами).

Для эксперимента 7 мы использовали кодировку, аналогичную кодировке для «корпуса 462». Используемые входные слоты: «by», «is», «to», «that», «the», «who», «-ed», «-s»; ‘-m’, ‘ SW ’, запятая и точка ; с входной размерностью 12. Обратите внимание, что «-m» — это возможная вариация who , дающая who . Количество единиц считывания равно 56( = 7*4*2): 7 семантических слов, каждое из которых может иметь одну из 4 возможных тематических ролей (предикат , объект-агент, получатель ) в двух предикатных действиях.

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

Входной сигнал для каждого слова кодируется как прямоугольная волна временных шагов AT (время активации). Для экспериментов 1, 2 и 4 мы использовали AT 20, что соответствует Δ t  = 0,05. Для эксперимента 3 мы использовали AT, равный 1, 10 и 20. Затем мы использовали AT, равный 1, что соответствует Δ t  = 1, для остальных экспериментов (5–7). Другими словами, для всех экспериментов, в которых производительность обобщения вычислялась с использованием перекрестной проверки, мы использовали AT, равный 1, чтобы увеличить скорость моделирования.Мы убедились, что это не изменило поведение системы. См. подробности в тексте S1.

Обучение

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

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

Меры по устранению ошибок

Как указано выше, мы определяем закодированное значение предложения как спецификацию тематических ролей для семантических слов (SW).Это требует определения индивидуальных закодированных значений для каждого SW, как указано в считывающих нейронах. Мы относимся к этому мелкозернистому уровню значения слова как к кодированному значению уровня слова . Код уровня слов, означающий , получается из соответствующих блоков считывания в 2 этапа. Порог активности равен 0, и победитель получает все между 4 возможными ролями. Выигрышной ролью считается уровень слов, закодированный значением модели данного ПО.Если активность выше порогового значения отсутствует, то для данного ПО не учитывается уровень кодирования слов, означающий . Во время обучения предъявляются входные предложения, активируются соответствующие отсчеты, кодирующие значение, и система должна запоминать веса из резервуара до отсчета.

Были оценены две меры ошибок: означает ошибку и ошибку предложения . Ошибка значения — это процент закодированных на уровне слов значений , действие которых было неправильным (т.е. процент выигравших считывающих нейронов, активность которых неверна). Ошибка в предложении — это процент предложений, которые не были полностью поняты (т. е. предложений, в которых есть хотя бы одно ошибочное значение уровня слов, закодированное значением ). Мы используем эти две сравнительные меры, потому что ошибка в предложении дает более строгую меру, а ошибка в значении более снисходительна и объясняет частичное понимание. Эти две меры связаны, но не строго коррелированы, поскольку 10 неправильных закодированных на уровне слов значений могут быть связаны с одним предложением или с 10 разными предложениями.Анализ ограничивается показаниями релевантных смысловых слов, т. е. для предложения с двумя смысловыми словами мы анализируем показания, соответствующие только первым двум смысловым словам. Например, если в конструкции всего 2 семантических слова, если одно из них ошибочно, то ошибка , означающая ошибку , будет равна 0,5, а ошибка предложения будет равна 1. В предложении 26 (см. текст S4) был жираф, который думал-с», два предложения (главное и относительное) и три смысловых слова.Каждое из трех семантических слов (гулять, жираф, думать) потенциально может играть роль в любом предложении. Таким образом, для этого предложения имеется 6 релевантных выходных отображений семантических слов в значения или кодированных значений на уровне слов . Это означает, что слово, участвующее в основном и относительном предложении, будет иметь два кодированных значения уровня слова , по одному для каждого предложения. В корпусе 462 88% предложений имеют 10 или 12 релевантных выходных отображений или закодированных значений на уровне слов .

Таким образом, результаты обучения будут представлены с точки зрения этих двух факторов: типа ошибки (ошибка предложения и ошибка смысла) и метода обучения (непрерывное обучение и окончательное обучение предложения).

Условия и параметры моделирования для конкретных экспериментов

Код Python для экспериментов 1–4 можно найти в заархивированном архиве S1. В Text S3 есть инструкции по установке и запуску модели. Ниже приведены подробные сведения о конкретных параметрах для различных экспериментов.

Эксперимент 1: Базовое понимание синтаксиса.

Обучение и оперативная обработка с набором из 26 конструкций: конструкции под номерами 15–40 в тексте S1 (см. результаты на рис. 2). Резервуар состоял из 300 внутренних блоков. Для экспериментов 1–4 семантические слова кодировались двумя отдельными входными нейронами для существительных (N) и глаголов (V). Значение оценивалось только для существительных при назначении тематических ролей агента, объекта и получателя (см. Входное и выходное кодирование).

Эксперимент 2: Нейронное кодирование Объяснение P600.

Оперативная обработка предметных и объектных соотношений с различными учебными корпусами. Обучающая выборка была дополнена четырьмя объектно-ориентированными конструкциями, соответствующими конструкциям 41–44. Таким образом, окончательный набор состоял из конструкций 15–44 в тексте S1 (см. результаты на рис. 3). Чтобы сделать корпус более похожим по распределению типов конструкций на то, что наблюдается в человеческом языке [42], мы использовали конструкции 15–41 (оставив, таким образом, одну объектно-релятивную — конструкцию 41) и удалили все пассивно-релятивные (с компонент «…это было V»), так что субъектно-относительный встречался чаще, чем объектно-относительный и пассивно-относительный (см. рис. 4).Все удаленные конструкции отмечены знаком «*» в корпусе в тексте S1. Было использовано 300 внутренних блоков. Затем на рис. 5 представлены изменения нейронной активности, которые можно сравнить с ответами ERP P600.

Эксперимент 3: Обобщение.

Чтобы проверить способность системы обобщать конструкции, не представленные в обучающем наборе, мы выполнили симуляции «исключая одну», где каждая конструкция систематически удаляется из обучающего набора, а затем тестируется.Были использованы конструкции с номерами 15–40 (см. рис. 6). Было использовано 100 внутренних единиц.

Эксперимент 4: Обработка короткого дискурса.

Это предполагает использование двух последовательных предложений. Это дискурсивные предложения 0–4, 10–14, и они были включены во весь корпус из 45 элементов. (См. рис. 7). Было использовано 300 внутренних блоков. Для всех десяти фрагментов дискурса первое предложение содержало одно имя собственное и одно имя нарицательное, а второе предложение содержало местоимения «он» и «оно».В корпусе «он» систематически относится к референту имени собственного, а «это» — к референту нарицательного существительного.

Эксперимент 5: Расширенный корпус I.

Здесь мы используем расширенный корпус из 462 конструкций. Опять же, мы рассмотрели условия, в которых обучение происходило, начиная с предъявления первого слова и до конца предложения ( непрерывное обучение ) или только в конце предложения ( предложение окончательное обучение ). В первом случае система начнет предсказывать смысл предложения с самого начала предложения и, таким образом, может проявлять упреждающую и оперативную активность.Из-за этих различных условий обучения мы выбрали оптимальный набор связанных параметров для ошибки предложения в обоих условиях: спектральный радиус (SR) 1 и постоянная времени (τ) 6 для окончательного обучения предложения (SFL), и спектральный радиус 6 и время константа (τ) 55 для непрерывного обучения (CL*).

Из-за увеличения времени моделирования с большими корпусами в этом и последующих экспериментах мы проверили, приведет ли сокращение времени активации для каждого входа с 20 до 1 к эквивалентным результатам.Демонстрация того, что это эквивалентно, представлена ​​в тексте S1. Для простоты и потому, что производительность устойчива к широкому диапазону параметров, в остальных экспериментах мы сохраняем два набора связанных параметров (спектральный радиус, постоянная времени): (SR = 1, τ = 6) и ( SR = 6, τ = 55).

Этот раздел включает (a) начальный тест на обучение (без перекрестной проверки) с размером резервуара 1000 единиц, (b) тест на чувствительность параметра (поиск по сетке) с использованием перекрестной проверки с этой сетью и (c) тест влияния размера резервуара, опять же с перекрестной проверкой (см. рис. 8 и 9).

Эксперимент 6: Влияние структуры учебного корпуса.

Целью этого эксперимента было проверить способность системы обобщать в отсутствие грамматической структуры. Таким образом, его следует рассматривать как контрольный эксперимент. Чтобы сделать это, мы перемешали порядок слов в 462 конструкторском корпусе, а затем приступили к обучению и тестированию в качестве эксперимента 5. В качестве дополнительного контроля, чтобы продемонстрировать, что система устойчива к шуму в обучающем корпусе, мы добавили ввод нейрон, соответствующий прилагательным и наречиям, которые можно было бы вставлять перед смысловыми словами, не меняя смысла предложения.Для каждой конструкции было создано 5 новых вариаций путем случайного добавления прилагательных/наречий перед SW в поверхностной форме. Это дало корпус размером 462 * 6   =   2772. При перекрестной проверке мы гарантировали, что конструкции из одного и того же избыточного набора не использовались при обучении и тестировании, то есть что перекрестная проверка проверяла обобщение на новые конструкции.

Эксперимент 7: Расширенный корпус II.

В этом эксперименте проверяется эффективность обобщения в зависимости от размера обучающей выборки.Был использован большой (>90 тыс. конструкций) корпус с постепенным раскрытием увеличивающихся пропорций всего корпуса во время последовательного перекрестного тестирования. Для этого эксперимента мы использовали двукратную перекрестную проверку с подмножествами корпуса, варьирующимися от 6,25% до 50% корпуса.

Параллельная Библия | Думай по-христиански

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

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

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

Ранее я уже писал о подобных попытках переосмыслить Библию. Многие из тех опасений, которые я выразил там, применимы и к этому новому начинанию.Я по-прежнему убежден, что никакая внешняя косметика никогда не вызовет всеобщего всплеска интереса к Слову Божьему. Для большинства людей его оскорбительность заключается в содержании, а не в обложке.

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

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

Но по тем же самым причинам Параллельная Библия становится жертвой ловушек. Согласно кампании, Библия — это книга, которая «показывает нам, как выглядит жизнь веры. Он формирует нас, приглашая в свой мир». И это правда. Библия — это приглашение в мир, отличный от того, в котором мы живем. Не только из-за различных обычаев, традиций и языков, но и из-за самих ценностей, на которых она построена, главная из которых заключается в том, что в центре истории находится Бог, а не мы.

И здесь кроется главное препятствие: почти каждая попытка сделать Библию более привлекательной должна сталкиваться с искушением принизить Бога, возвысив человека. Когда «Параллельная Библия» заявляет: «Библия содержит наши собственные истории… мы видим их отражение на страницах Библии», это искажает сюжетную линию сценария и отводит камеру от центра кадра. Хотя Бога можно как-то увидеть в кадре, где наши друзья гребут через пороги, приносят клятвы или держат на руках новорожденного, Его присутствие в истории вторично по отношению к лицам, заполняющим экран.

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

Библия остается неприятным чтением для многих именно потому, что она постоянно подчеркивает славу Творца, чья любовь и сила в конечном итоге заставят весь мир пасть ниц в поклонении.Люди всегда играют только вспомогательную роль. Бог — герой. Наш единственный вклад в историю - это наша потребность в спасении.

Темы: культура в целом, Научные технологии, гаджеты, Искусство и отдых, Книги, Искусство, Богословие и Церковь, Библия

Стэнфордская группа обработки естественного языка

Парсер избирательного округа Shift-Reduce

Введение

Предыдущие версии Stanford Parser для анализа избирательных округов использовали алгоритмы на основе диаграмм (динамическое программирование). найти синтаксический анализ с наибольшей оценкой в ​​рамках PCFG; это точно, но медленно.Между тем, для синтаксического анализа зависимостей синтаксические анализаторы на основе перехода, которые используют сдвиг и сокращение Давно известно, что операции по построению деревьев зависимостей становятся очень хорошая производительность за долю времени более сложной алгоритмы. Недавняя работа показала, что подобное смещение-уменьшение алгоритмы также эффективны для построения деревьев избирательных округов.

На основе этой работы мы создали синтаксический анализатор Shift-Reduce, который работает намного быстрее. чем предыдущие версии Stanford Parser, будучи более точным чем любая другая версия, кроме парсера RNN.

Благодарности

Стэнфордский синтаксический анализатор Shift-Reduce был написан Джоном Бауэром. Он основан на предыдущей работе нескольких других исследователей:

Получение программного обеспечения

Вы должны скачать следующие пакеты:
  1. Либо скачать
  2. Модели синтаксического анализатора shift-reduce (они распространяются отдельно, так как они довольно большие).

Использование парсера Shift-Reduce с использованием Stanford CoreNLP

Прочитайте это, если вы просто хотите использовать синтаксический анализатор Shift-Reduce из командная строка.

Интегрирован новый парсер в Стэнфордский CoreNLP. Самый простой способ используйте его, чтобы дать StanfordCoreNLP флаг

-parse.model <местоположение>

Использование ресурсов из выпуска из stanford-srparser-YYYY-MM-DD-models.jar вы можете использовать:

-parse.model edu/stanford/nlp/models/srparser/englishSR.ser.gz

В Стэнфордском кластере расположение находится в /u/nlp/data/srparser , поэтому

-анализ.модель /u/nlp/data/srparser/englishSR.ser.gz

Есть и другие модели. Например, есть модель, обученная поиску по лучу. По умолчанию эта модель будет использовать луч размера 4. Если вы хотите изменить это, вы можете использовать флаг -parse.flags " -beamsize 4" Обратите внимание, что пробел после кавычки необходим для нашего кода обработки параметров . Полный список моделей, распространяемых в настоящее время:

edu/stanford/nlp/models/srparser/arabicSR.ser.gz
edu/stanford/nlp/models/srparser/englishSR.beam.ser.gz
edu/stanford/nlp/models/srparser/englishSR.ser.gz
edu/stanford/nlp/models/srparser/germanSR.ser. gz
edu/stanford/nlp/models/srparser/chineseSR.ser.gz
edu/stanford/nlp/models/srparser/frenchSR.beam.ser.gz

Вызов синтаксического анализа из Java

Прочтите это, если вы хотите вызвать синтаксический анализатор Shift-Reduce из своего собственного кода. В пакете парсера есть класс ShiftReduceDemo.java.

Чтобы скомпилировать его (два файла jar предоставлены Stanford Parser и Stanford Tagger соответственно):

javac -cp станфорд-парсер.jar: stanford-postagger-3.5.0.jar ShiftReduceDemo.java
Чтобы запустить его:
java -cp .:stanford-parser.jar:stanford-postagger-3.5.0.jar:stanford-srparser-2014-10-23-models.jar ShiftReduceDemo -model edu/stanford/nlp/models/srparser/englishSR. ser.gz -tagger английский-left3words-dissim.tagger
Обратите внимание, что нам нужно включить файл jar, в котором хранятся модели парсера, а также указание модели tagger (которая пришла из пакета Stanford Tagger). Это должно загрузить тегировщик, синтаксический анализатор и проанализировать пример предложения, закончив менее чем за 20 секунд.Выход:
Чтение модели POS-тегера из stanford-postagger-full-2014-10-23/models/english-left3words-distsim.tagger ... сделано [1,2 сек].
Загрузка синтаксического анализатора из сериализованного файла edu/stanford/nlp/models/srparser/englishSR.ser.gz ... выполнено [14,8 сек].
(КОРЕНЬ (С (НП (ПРП$ Мой) (НН собака)) (ВП (ВБЗ любит) (С (ВП (ТО к) (ВП (ВБ трясти) (НП (ПРП$ его) (ВБН набил) (НН синица) (NN toy)))))) (. .)))

Как работает разбор Shift-Reduce

Синтаксический анализатор Shift-Reduce анализирует, сохраняя состояние текущего анализируемого дерево, со словами предложения в очереди и частично заполненные деревья в стеке и применяя переходы к состоянию до тех пор, пока очередь не станет пустой и текущий стек содержит только готовое дерево.

Исходное состояние состоит в том, чтобы все слова в очереди были упорядочены, а пустой стек. Переходы, которые могут быть применены:

  • Смена. Слово перемещается из очереди в стек.
  • Одинарный редуктор. Метка первого компонента в стеке изменения. Существует другой унарный переход для каждого возможного унарный узел в банке деревьев, используемый для обучения.
  • Бинарное сокращение. Первые два узла в стеке объединяются с новой этикеткой.Они либо правосторонние, либо левосторонние, указывая, какой ребенок рассматривается как глава. Еще раз, есть различные бинарные переходы для каждого возможного бинарного узла. Этот включает временные узлы, так как деревья строятся как бинаризованные деревья и затем позже дебинаризован.
  • Завершить. Дерево не считается законченным, пока парсер выбирает переход finalize.
  • Простой. В случае поиска луча Zhu et al. показало, что обучение бездействующему переходу компенсирует различные деревья-кандидаты с использованием разного количества переходов.

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

Теги части речи не назначаются этим синтаксическим анализатором и фактически используются в качестве признаков. Это достигается путем предварительной пометки текста, это означает, что аннотатор pos должен использоваться в StanfordCoreNLP, например.

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

Поиск луча

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

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

Обучение парсера Shift-Reduce

Прочитайте этот раздел, если вы хотите обучить свой собственный синтаксический анализатор Shift-Reduce. Этот требует, чтобы у вас были данные в стандартном формате Treebank.

Основные рекомендации

Новые модели English WSJ можно обучить следующим образом:

java -mx10g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -trainTreebank -devTreebank -serializedPath model.ser.gz

Конкретно, на машинах НЛП это будет

Java -mx10g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -trainTreebank /afs/ir/data/linguistic-data/Treebank/3/parsed/mrg/wsj 200-2199 -devTreebank /afs/ir/data/linguistic -data/Treebank/3/parsed/mrg/wsj 2200-2219 - модель сериализованного пути.сер.gz

Подробнее о том, как он тренируется, ниже. Ключевой вывод состоит в том, что некоторые время спустя наверное час на приличной машине будет новый файл model.ser.gz , который является недавно обученным Shift-Reduce Парсер. Эту модель можно протестировать следующим образом:

java -mx6g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -testTreebank -serializedPath model.ser.gz

java -mx6g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -testTreebank /afs/ir/data/linguistic-data/Treebank/3/parsed/mrg/wsj 2300-2399 -serializedPath model.ser.gz

Однако при этом игнорируется ключевой аспект синтаксического анализатора Shift-Reduce. Этот синтаксический анализатор не создает свои собственные теги и вместо этого ожидает использования автоматически создаваемые теги как функции при разборе. Команды выше будет работать, но они будут обучать модель, используя золотые теги в берег дерева. Обычно лучше тренироваться на тегах, предоставленных теггер, который будет использоваться в качестве тестового времени.Это можно сделать с помощью флаги -pretag -taggerSerializedFile

Java -mx10g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -trainTreebank /afs/ir/data/linguistic-data/Treebank/3/parsed/mrg/wsj 200-2199 -devTreebank /afs/ir/data/linguistic -data/Treebank/3/parsed/mrg/wsj 2200-2219 -preTag -taggerSerializedFile /u/nlp/data/pos-tagger/distrib/wsj-0-18-bidirectional-nodistsim.tagger -serializedPath model.ser.gz

java -mx6g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -devTreebank /afs/ir/data/linguistic-data/Treebank/3/parsed/mrg/wsj 2300-2399 -preTag -taggerSerializedFile /u/nlp/data/pos-tagger/distrib /wsj-0-18-bidirectional-nodissim.tagger -serializedPath model.ser.gz

Двунаправленная модель значительно медленнее, чем модель left3words , но несколько точнее. Это все еще быстрее, чем сам разбор. В качестве альтернативы можно просто использовать тег left3words для большей скорости и немного меньшей точности.

Другие языки

Парсер Shift-Reduce можно обучить для других языков. чем английский. Необходимо предоставить соответствующий HeadFinder. Этот и другие параметры обрабатываются указанием -tlpp флаг, который позволяет выбрать класс для a TreebankLangParserParams . Теггер, соответствующий языку также требуется.

Например, вот команда, используемая для обучения китайской модели. параметры, которые еще не объяснялись, объясняются в следующем разделе.

java -mx10g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -trainTreebank /u/nlp/data/chinese/ctb7/train.mrg -devTreebank /u/nlp/data/chinese/ctb7/dev_small.mrg -preTag -taggerSerializedFile /u/nlp/data/pos-tagger/distrib/chinese-nodistsim.tagger -serializedPath chinese.ser.gz -tlpp edu.stanford.nlp.parser.lexparser.ChineseTreebankParserParams -trainingThreads 4 -batchSize 12 -trainingIterations 100 -stalledIterationLimit 20

Полученная модель быстрее и точнее, чем любая другая модель, которая у нас есть, включая китайскую модель RNN.

Классы FeatureFactory

Функции для Perceptron извлекаются с помощью FeatureFactory. По умолчанию синтаксический анализатор использует edu.stanford.nlp.parser.shiftreduce.BasicFeatureFactory . Эта FeatureFactory включает в себя большинство основных функций, которые вам могут понадобиться, например функции для заглавного слова текущего узла стека и нескольких предыдущих узлов стека, слово и тег входящих элементов очереди, а также комбинации этих строк.

Другой включенный FeatureFactory — это DisssimFeatureFactory.Это можно использовать, установив аргумент -featureFactory :

-featureFactory edu.stanford.nlp.parser.shiftreduce.DistsimFeatureFactory()

Несколько классов FeatureFactory можно объединить с помощью точки с запятой. разделенный список. Например:

-featureFactory edu.stanford.nlp.parser.shiftreduce.BasicFeatureFactory;edu.stanford.nlp.parser.shiftreduce.DistsimFeatureFactory()

Дополнительные опции
‑trainingMethod См. ниже.
‑beamSize Размер луча, используемый при поиске луча. 4 уже достаточно, чтобы значительно повысить точность, не слишком сильно влияя на скорость.
‑trainBeamSize Размер луча для использования при обучении.
‑trainingThreads Обучение может выполняться параллельно. Это делается путем обучения на нескольких деревьях одновременно.
‑batchSize Сколько деревьев объединять в пакеты при обучении.Это позволяет проводить параллельное обучение для получения воспроизводимых результатов, поскольку каждое дерево оценивается с использованием весов в начале обучающего пакета, а затем все обновления применяются одновременно.
‑trainingIterations Максимальное количество итераций для обучения. По умолчанию 40.
‑stalledIterationLimit Эвристика для завершения обучения до -trainingIterations итераций заключается в остановке, когда текущая оценка набора разработчиков не улучшилась за это количество итераций.По умолчанию 20.
‑averagedModels Когда перцептрон завершает обучение, модель с лучшим результатом в наборе для разработки сохраняется. Этот флаг усредняет лучшие модели K и вместо этого использует их в качестве окончательной модели. По умолчанию 8. Это может значительно увеличить объем необходимой памяти, поэтому можно установить меньшее значение, если память является барьером.
‑featureFrequencyCutoff Если при обучении функция не встречается столько раз, она удаляется из окончательной модели.Это может устранить редко встречающиеся функции, не слишком влияя на общую точность. Это особенно полезно в случае обучения модели с использованием луча (или оракула, если этот метод когда-либо будет работать), так как этот метод обучения приводит к появлению многих функций, которые были замечены только один раз и на самом деле не оказывают большого влияния на результат. окончательная модель.
‑saveIntermediateModels По умолчанию обучение больше не сохраняет промежуточные модели, поскольку они в основном ничего не делают.Используйте этот флаг, чтобы снова включить его.
‑featureFactory Класс фабрики функций для использования.

Реализовано несколько методов обучения. Значение по умолчанию — EARLY_TERMINATION , при котором обучение на отдельном дереве останавливается, как только текущая модель оказывается неверной. Альтернативы:

-trainingMethod
GOLD Заставить синтаксический анализатор сделать правильный переход во время обучения, продолжая после ошибок.Занимает больше времени, чем EARLY_TERMINATION, и не повышает точность.
EARLY_TERMINATION Как только текущая модель получает неверный переход при анализе дерева, прекращает обучение на этом дереве для этой итерации.
BEAM Ведется список государств-кандидатов, набравших наибольшее количество баллов. Обучение продолжается до тех пор, пока состояние золота не перестанет быть на повестке дня. На каждом этапе золотой переход для золотого состояния увеличивает свои веса функций, а переход, выбранный для состояния с наивысшей оценкой, уменьшает свои веса функций.
ORACLE Метод экспериментального обучения, в котором оракул используется для определения того, какой переход приведет к наилучшему анализу текущего состояния. К сожалению, это приводит к плохим результатам либо из-за ошибки в обучающем коде оракула, либо из-за неправильной логики оракула.

Производительность

В таблицах ниже приведены данные о производительности синтаксического анализатора Shift-Reduce. на основе экспериментов, проведенных в 2014 г.

WSJSR.SER.GZ
English Penn WSJ sec 23 (все длины)
Модель Загрузка
(сек.)
Разбор
(SEC)
LP / LR
F 1
WSJPCFG.SER.GZ 1.0 426 85.54
4,5 14 8 85.99
wsjfactored.ser.gz 7.6 1759 1759 86.53
WSJSR.Beam.ser.gz, размер луча 4 15,4 34 88,55
wsjRNN.сер.гз 2,6 1038 89,96

Модель SR Предыдущая Лучшая модель
Stanford F 1
SR Parser
F 1
арабский 78,15 79,66
Китайский 75,66 80,23
Французский (пучок) 76,22 80,27
немецкий 72.19 74,04

Описание слов - Найдите прилагательные для описания вещей

слов для описания ~term~

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

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

Учтите также, что если термин-прилагательных не так много или если их вообще нет, возможно, ваш поисковый запрос содержит неоднозначную часть речи. Например, слово «синий» может быть существительным и прилагательным. Это сбивает с толку движок, и поэтому вы можете не получить много прилагательных, описывающих его.Я могу рассмотреть возможность исправления этого в будущем. Вам также может быть интересно: что за слово такое ~термин~?

Описание слов

Идея механизма описания слов возникла, когда я создавал механизм для связанных слов (он похож на тезаурус, но дает вам гораздо более широкий набор из связанных слов, а не просто синонимов). Играя с векторами слов и API «HasProperty» концептуальной сети, я немного повеселился, пытаясь получить прилагательные, которые обычно описывают слово.В конце концов я понял, что есть гораздо лучший способ сделать это: анализировать книги!

Project Gutenberg был первоначальным корпусом, но парсер становился все жаднее и жаднее, и в итоге я скармливал ему где-то около 100 гигабайт текстовых файлов — в основном художественную литературу, включая множество современных работ. Парсер просто просматривает каждую книгу и извлекает различные описания существительных.

Надеюсь, это больше, чем просто новинка, и некоторые люди на самом деле сочтут это полезным для написания и мозгового штурма, но можно попробовать сравнить два существительных, которые похожи, но отличаются каким-то значимым образом, например, интересен пол: "женщина" против "мужчины" и "мальчик" против "девочки".При первоначальном беглом анализе кажется, что авторы художественной литературы как минимум в 4 раза чаще описывают женщин (в отличие от мужчин) терминами, связанными с красотой (относительно их веса, черт лица и общей привлекательности). На самом деле «красивая», возможно, является наиболее широко используемым прилагательным для женщин во всей мировой литературе, что вполне соответствует общему одномерному представлению женщин во многих других формах средств массовой информации. Если кто-то хочет провести дальнейшее исследование этого, дайте мне знать, и я могу предоставить вам гораздо больше данных (например, существует около 25000 различных записей для «женщины» — слишком много, чтобы показать здесь).

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

Особая благодарность авторам mongodb с открытым исходным кодом, который использовался в этом проекте.

Обратите внимание, что Describing Words использует сторонние скрипты (такие как Google Analytics и рекламные объявления), которые используют файлы cookie. Чтобы узнать больше, ознакомьтесь с политикой конфиденциальности.


Wappalyzer википедия. Заголовки, такие как server или x-powered-by, могут использоваться для получения информации о сервере. 17 июня 2021 г. · XPath используется для просмотра XML-документов, он предоставляет все возможности селекторов CSS и многое другое, включая сравнение содержимого элементов или использование регулярного выражения для его сопоставления.Cain & Abel Wappalyzer отслеживает распространение программного обеспечения в Интернете. Сообщить о нарушении Версия 6 сайт. Сервер DNS\DNS 缓存投毒\DNS欺骗\利用DNS隧道技术刺透防火墙. Оптимизирован для производительности, парсинг html вручную для максимальной скорости. /db/tech_signatures. скрипты. Это просто необходимо для любого дизайнера и разработчика, и самое приятное то, что этот инструмент абсолютно бесплатный. Веб-сайт: Wappalyzer, 05 апреля 2022 г. · Hide My WP — популярный плагин безопасности для WordPress, который скрывает тот факт, что вы используете WordPress в качестве своей CMS, от злоумышленников, спамеров, а также детекторов тем, таких как Wappalyzer или BuiltWith.пример. API-интерфейсы Wappalyzer обеспечивают мгновенный доступ к стекам технологий веб-сайтов, информации о компании и контактным данным, профилям в социальных сетях, проверке электронной почты и многому другому. XSS через внедрение CSS) или работать только в архаичных браузерах, которые, как всегда утверждают разработчики, выходят за рамки, поэтому эта шпаргалка посвящена только методам, которые имеют место в 2021 году и которые я лично проверил, работают по крайней мере в одном современном браузере. Preact можно использовать прямо в браузере без каких-либо шагов транспиляции. Инструмент Whatweb я также использовал, чтобы узнать, какие технологии они использовали для цели.На данный момент rappalyzer проверяет: URL-адрес сайта (тот, который был получен после обращения к сайту и извлечения контента) заголовки HTTP (невидимый набор метаданных, которыми обмениваются браузеры/краулеры и серверы) HTML-контент. Одним из наиболее распространенных применений букмарклетов является управление веб-страницами. Активно поддерживается специальной международной командой добровольцев. Другими словами, алгоритм поиска Google достаточно умен, чтобы разделить избранный фрагмент пополам: текст и изображение. И откройте папку приложения в Finder.08 марта 2018 г. · Re: Как скрыть мудл от wappalyzer Садаф Садафиан - Понедельник, 12 марта 2018 г., 3:25 Я думаю, что wappalyzer использует этот раздел, чтобы узнать, создан этот сайт с помощью мудла или нет. Этот . 01 декабря 2021 г. · Согласно базе данных Wappalyzer, доля Wix на рынке составляет всего 4. доб. Самый широко используемый в мире сканер веб-приложений. 6 LTS (Trusty Tahr) 16. ابزار Wappalyzer به قدری کاربردی است که . Задача 9 — это вопрос о машине обратного пути. За время моего пребывания в должности специалиста по цифровым технологиям я несколько раз проводил семинар «Введение в Omeka».Также есть настройка телеметрии, которую, вероятно, следует отключить. Также стоит отметить.爆破. Пастебин. Wappalyzer: посмотрите, какие технологии использует веб-сайт. яд Использование: habu. یک ابزار شگفت انگیز به نار شگفت انگیز به نام wappalyzer وجود نارد که به عنوان افزونه ای بسیار محبوب در مرورگرها استفاده ده و اغلب برنامه نویسان با آن آشنایی دارند. com является инструментом вставки номер один с 2002 года. Cara penggunaannya каламбур terbilang muda, kalian hanya perlu meng-instalnya pada browser Google Chrome maupun Mozilla Firefox. Красиво построенный, структурированный для всех потребностей OSINT и разведки.Следующим в нашем списке является простое, но чрезвычайно полезное расширение под названием JSON Formatter. Telnet:远程连接. json взят из Wappalyzer. 18.08.2020, 08:05 — Ubuntu 14. 18.04.2020, 17:01 — Ubuntu 16. дополнительный пакет. زمینه فعالیت این افزونه аналитика, блоги, CMS, электронная коммерция, галерея изображений, JS-фреймворк, доска объявлений, виджет, вики میباشد. json извлекается (и преобразуется в JSON) из модулей обнаружения sqlmap WAF. Цена: Бесплатное расширение для браузера. py analysis --url {}" Команда создаст 50 параллельных экземпляров для быстрой обработки всех предоставленных URL-адресов и предоставления нам результатов как можно быстрее: Довольно аккуратно и информативно! SEO часто называют созданием веб-сайта или сайта, на высокий рейтинг в поисковых системах, особенно Google.Wappalyzer — это кроссплатформенная утилита, которая раскрывает технологии, используемые на веб-сайтах. /модули/ретирейс. Подождите, пока откроется всплывающее окно с ParseHub. Censys является признанным лидером в области управления зонами атак, неустанно ищет и проактивно отслеживает ваш цифровой след гораздо шире и глубже, чем когда-либо считалось возможным. 20 марта 2021 г. · Wappalyzer. По сути, Wappalyzer идентифицирует технологию, которая работает на сайте. 7 LTS (Xenial Xerus) 16. Этот подключаемый модуль безопасности объединяет детектор вторжений (IDS) Solid Art для блокировки атак в режиме реального времени, таких как SQL-инъекция, XSS и .Поэтому многие разработчики используют Chrome в качестве основного браузера для разработки. Перетащите ParseHub в папку «Приложения». Metrica网络分析服务开发的。. 04. 4%. Я рекомендую один плагин для браузера для проверки технологии, используемой для обслуживания сайтов. در ادامه روش نصب Wappalyzer را به شما آموزش میدهیم. است، اما در کنار آن نیز سیستم‌های عمومی مانند بلاگر و . 17 февраля 2021 г. · Wappalyzer. В браузере FireFox загрузка находится в заголовке браузера, скрытом под стрелкой вниз. Одинокая река прорезает высокогорную пустыню Дальнего Запада Техаса.ClickHouse 線上分析處理 (OLAP)的开源列式数据库。. 4. Бесплатный и с открытым исходным кодом. Следующие инструменты для поиска технологий и технологических уязвимостей на цели. Что такое социальная инженерия? Поведение, уязвимое для атак; Почему социальная инженерия эффективна? Предупреждающие признаки атаки clickhouse. Навыки Linux и знакомство с командной строкой Linux. арп. Существуют также плагины для браузера и другие инструменты, которые анализируют сайт и показывают, что на нем запущено. 53. 26 ноября 2021 г. · Google Chrome используется более чем 60% населения мира, согласно странице Википедии Доля использования веб-браузеров.(Дополнительная информация: MDN, Википедия) Как выбрать элементы на веб-странице. Wappalyzer /wæpəlʌɪzər/ — компания, специализирующаяся на профилировании технологий и ведущем поставщике данных, основанная Элбертом Алиасом в 2008 году. Что такое OSINT? INTelligence с открытым исходным кодом (OSINT) — это методология с несколькими методами сбора, анализа и принятия решений в отношении данных, доступных в . 14 апр. 2022 г. · 10. Откройте для себя. 6 LTS (Bionic Beaver) 20. ClickHouse允许分析实时更新的数据. UpLead. 23 15, апрель 2022 г. Wappalyzer — это больше, чем детектор CMS или фреймворка: он обнаруживает более тысячи технологий в десятках категорий, таких как языки программирования, аналитика, маркетинговые инструменты, платежные системы, CRM, CDN и другие.Веб-сайт: Wappalyzer, 07 сентября 2020 г. · Он использует Wappalyzer API, и все, что вам нужно предоставить, — это список URL-адресов, например: cat urls-alive. Легенда гласит, что первая душа, попробовавшая воду ранчо, проследовала за милями звезд Техаса, пока не была найдена спящей под пиньоном. Из всех моих рекомендаций в этом списке Wappalyzer — это, пожалуй, инструмент, который я использовал дольше всего, как и надежный старый дядя Wappalyzer — это гениальное программное обеспечение, к которому вы всегда будете возвращаться. Одним из наиболее популярных примеров этого является Wappalyzer, у которого есть расширения как для Firefox, так и для Chrome, и на него стоит обратить внимание.(Публикуйте ссылки на полезные и интересные функции здесь. Кроме того, цель состоит в том, чтобы предоставить релевантный контент, на который можно быстро ответить, будь то текст или изображение. 2 Инфраструктура Wappalyzer — это больше, чем детектор CMS или фреймворка: он обнаруживает более тысячи технологий в десятках категорий, таких как языки программирования, аналитика, маркетинговые инструменты, платежные системы, CRM, CDN и другие.Отслеживайте выбор технологий вашими потенциальными клиентами, изучайте большое количество веб-сайтов или обогащайте свои собственные наборы данных технологическими знаниями. Обратите внимание: эта запись в блоге представляет собой резюме семинара по GCDI, который я провел вместе с Филипой Каладо 17 марта 2021 года. Поскольку большинство населения использует Google Chrome, веб-разработчикам крайне важно убедиться, что их веб-приложения нормально работают с ним. Это. 08 июня 2020 г. · DC-3 — еще одна специально созданная уязвимая лаборатория с целью получения опыта в области тестирования на проникновение.Включено + Перевернуть; Amazon Assistant для Chrome; Средство запуска приложений для Диска (от Google) Bitly | Раскройте силу ссылки; Битмоджи; Инструмент разработчика приложений и расширений Chrome Существуют также плагины для браузера и другие инструменты, которые анализируют сайт и показывают, что работает. زمینه فعالیت این افزونه аналитика, блоги, CMS, e . Он очень прост в использовании и является совершенно бесплатным инструментом конкурентного анализа в качестве расширения для Chrome, Firefox и Edge. Синий значок «W» на панели инструментов, чтобы открыть его. Включено + Перевернуть; Amazon Assistant для Chrome; Средство запуска приложений для Диска (от Google) Bitly | Раскройте силу ссылки; Битмоджи; Инструмент разработчика приложений и расширений Chrome Wappalyzer для Chrome.را نیز اضافه کرده است. Из этой Одинокой реки вытекает Ранч-Уотер. грамм. 03 апреля 2022 г. · Вердикт: Wappalyzer — идеальный инструмент для определения других инструментов, составляющих основу веб-сайта вашего конкурента. jQuery остается самой популярной библиотекой, используемой на ошеломляющих 84% мобильных страниц. 14 февраля 2021 г. · Wappalyzer — скачать и установить; Wireshark · Вглубь. Warpalizer — это профессиональное программное приложение для деформации и смешивания, разработанное Univisual Technologies AB в Швеции для использования в симуляторах. DNS:域名系统.Увеличение React может быть частично связано с недавними улучшениями обнаружения в Wappalyzer и может не обязательно отражать фактические изменения в принятии. LDAP. 2. Что касается технологии и того, как на самом деле построен сайт, Льюис Кох рекомендовал Wappalyzer. Нет индикации между другими системами, такими как CMS, Javascript framework, wiki, estadísticas sistema sistema, … Другие другие способы обнаружения, используемые в: Google Analytics, jQuery, Mootools, WordPress, Blogger, Joomla, Drupal, mediaWiki, phpBB, … Wappalizer через / Woork 22 марта 2021 г. · Выбор правильной платформы для вашего цифрового архива.Эта книга представляет собой пошаговое руководство, которое научит вас создавать веб-интерфейс с нуля, используя популярный фреймворк Bulma. Хорошим началом для перечисления этого вручную было бы создание запроса на веб-сайт и перехват ответа с помощью Burpsuite. Некоторые смотрят на Одинокую реку, чтобы освежиться, другие гоняются за историей, которую она пишет в каждом изгибе и изгибе. Справка ¶. Очень круто. Установите Wappalyzer для Chrome, чтобы с первого взгляда узнать, какие технологии используются на посещаемых вами веб-сайтах. Закройте всплывающее окно, изображенное выше.10. Feb 07, 2019 · Здесь я использовал Wappalyzer и сборку с надстройками в браузерах. Обычно гаджет определяет определенные переменные в глобальном контексте, по наличию которых можно определить наличие гаджета. 12 января 2009 г. · Wappalyzer является расширением для Firefox, которое необходимо для использования в Интернете. Поисковая оптимизация (SEO) — это процесс воздействия на онлайн-видимость веб-сайта или веб-страницы в бесплатных результатах поисковой системы, которые часто называют «естественными», «органическими» или «заработанными» результатами.Pastebin — это веб-сайт, на котором вы можете хранить текст в Интернете в течение определенного периода времени.这个项目是在2016年6月发布的Apache许可证下的 . прикладные стеки. Запросить демо. телеграмма. Вот список лучших веб-сайтов, которые используют Tiki Wiki CMS: Источник: wappalyzer. 6 LTS (Trusty Tahr) 14. 02 мая 2018 г. · wappalyzer to bigquery. WPScan — — — — wpscan — адрес www. Если вы хотите узнать, какую CMS или библиотеки использует цель, и какой фреймворк, Wappalyzer — это инструмент для использования. py — это модифицированная версия retirejslib. Я хочу быть хакером: Как подготовиться к OSCP 2/2 - YouTube; Bash Scripting Полный курс 3 часа — YouTube; Zabbix — краткое руководство по созданию простой карты — YouTube; Методология охотника за ошибками v4.Wappalyzer — это профилировщик технологий, используемый для извлечения информации, связанной с технологическим стеком цели. Перенаправить трассировку Wappalyzer для Chrome. Наши продукты предоставляют командам по продажам и маркетингу технологические идеи и инструменты для привлечения потенциальных клиентов, анализа рынка и изучения конкурентов. Кроме того, CMS поддерживает несколько языков, чтобы обеспечить более широкий охват по всему миру. 6 LTS (Bionic Beaver) 18. txt | parallel -j 50 "echo {}; python3 main. wappalyzer چیست. ExtBot. Этот стандарт определяет два типа работников: выделенные работники и общие работники.05 ноября 2021 г. · Кстати, ответ — это wappalyzer, который, я уверен, у вас есть. Бесплатно. 04/2021-09-16 23:37 - Ubuntu 18. Wappalyzer обнаруживает фреймворки, системы управления контентом, интернет-магазины, скрипты и… wappalyzer. Аппаратное обеспечениеApple iPhone 11Apple Macbook Pro 2019Apple iPad 6-го поколенияApple Watch SEApple Airpods 3 / Bose QC35 IIРюкзак Crumpler Vis-a-VisBellroy Tech Kit/чехол для ноутбукаЛичное программное обеспечение StackBrowserЯ использую Google Chrome, настроенный с различными профилями для каждой роли в моей жизни (обычно сопоставляется с адрес электронной почты организации).7 LTS (Xenial Xerus) 18. 24 октября 2021 г. · Wappalyzer — это больше, чем детектор CMS или детектор фреймворков: он обнаруживает более тысячи технологий в десятках категорий, таких как языки программирования, аналитика, маркетинговые инструменты, платежные процессоры, CRM, CDN и другие. 20 декабря 2021 г. · Особенности. Минипедия — это быстрый и простой способ получить доступ к статьям Википедии с помощью телефона или планшета Android. Веб-приложения, за которые они платят, CDN, на которых они размещены, как они отслеживают своих посетителей, плагины WordPress, шрифты…js веб-приложения. На wappalyzer вы ищете раздел: «Генераторы статических сайтов». Атаки социальной инженерии. Имейте в виду, что Wappalyzer не всегда точен на 100%. Кроме телеграммы. ком; Над . js. Обнаруживайте и раскрывайте присутствие технологий на веб-страницах Chrome. Он использует современный JavaScript, построен с помощью TypeScript и сочетает в себе элементы ООП (объектно-ориентированное программирование), FP (функциональное программирование) и FRP (функционально-реактивное программирование). 6/ 2021-09-16 23:37 — Ubuntu 18. Существуют разные способы использования — вы можете получить доступ к информации о цели с помощью Lookup API.Использование отпечатка скрипта. تمرکز Wappalyzer در واقع روی نرم افزارهای قابل دریافت مانند جوملا، وردپرس و . Preact обеспечивает максимально тонкую абстракцию Virtual DOM поверх DOM. 4/ 24.02.2022 21:19 . Сравнение API-интерфейсов Справочник по API Основные результаты за доли секунды Wappalyzer — профилировщик технологий Wappalyzer Developer-Tools 109630 | (46) Описание Wappalyzer раскрывает технологии, используемые на веб-сайтах. Форматировщик JSON 📝. Учебный центр Angelic Organics, Каледония, Иллинойс Одинокая река протекает через высокогорную пустыню Дальнего Запада Техаса.Используйте инструменты OSINT, 1LeadOnly, PentestAid и HackEquip для вашего интеллектуального процесса и эффективно получайте результаты. С другой стороны, если вашему стартапу требуются тысячи/миллионы целевых страниц, он хочет обслуживать 18-20 стран, тогда лучше рассмотреть индивидуальное решение для создания вашего веб-сайта, а не становиться жертвой ограничений, с которыми поставляется каждая CMS. 15 апреля 2021 г. · Использование плагина Wappalyzer. GitHub Gist: мгновенно делитесь кодом, заметками и фрагментами. Бесплатное расширение для браузера, которое поможет вам идентифицировать технологии, используемые на любом веб-сайте, одним нажатием кнопки.ком; Плагин для браузера. UpLead — это онлайн-платформа аналитики продаж B2B, которая связывает вас с квалифицированными потенциальными клиентами. Эта альтернатива ZoomInfo имеет существующую базу данных потенциальных клиентов, содержащую более 46 миллионов онлайн-профилей. Cain & Abel 30 сентября 2017 г. · Wappalyzer (и, следовательно, rappalyzer) работает путем сравнения наборов регулярных выражений с различными частями контента сайта. Выделенные рабочие процессы после создания связаны со своим создателем, но порты сообщений могут использоваться для связи выделенного рабочего процесса с несколькими другими контекстами просмотра или рабочими процессами.яд [ОПЦИИ] VICTIM1 VICTIM2 Отправлять пакеты «is-at» ARP каждой жертве, отравляя их таблицы ARP для отправки трафика в вашу систему. 22 февраля 2022 г. · Веб-сайт Cara Mengetahui Teknologi Lain. . Безопасный интернет. 28 мая 2019 г. · Wappalyzer. Ваше облако больше, шире и обширнее, чем вы думаете; ваши интернет-активы бесчисленны. Найдите приложение ParseHub, щелкните его, чтобы открыть. С помощью этого сайта вы можете указать адрес веб-сайта и увидеть все изменения, которые были внесены в него за эти годы. что бежит.WhatRuns показывает вам практически все, на чем работает веб-сайт. С Tiki Wiki вы можете иметь редактор WYSIWYG, а также инструменты сравнения версий, RSS-канал, инструменты сохранения истории изменений и функции настройки. Джереми Томас, Алексей Потехин, Микко Лаухакари, Аслам Шах, Дэвид Бернинг. Перейдите по ссылке ниже и попросите ребят снять для вас отпечатки пальцев на сайте. Font Awesome — это набор инструментов для шрифтов и значков, основанный на CSS и Less. «Эта книга очень полезна, потому что позволяет создавать интерфейс с нуля.По состоянию на 2020 год Font Awesome использовался 38% сайтов, использующих сторонние скрипты шрифтов, что ставит Font Awesome на второе место после Google Fonts. Помните, что цель избранного фрагмента — дать прямой краткий ответ пользователям на вопросы. Нормализованные регулярные выражения + автообновление базы отпечатков wappalyzer. 07 февраля 2021 г. · Я ненавижу шпаргалки, которые тратят место на методы, которые больше не работают (например, 7/ 2020-08-18 17:01 — Ubuntu 16. 389. Распутать веб-сайт, любой веб-сайт. 该系统以高性能为目标。.ext объекты должны отражать типы, определенные в официальной документации Telegram Bot API.Воспользуемся вторым способом, но сначала разберемся, как он работает. NestJS — это фреймворк для создания эффективных и масштабируемых Node. начинается с Censys. Сайты CSA Drupal. яндекс. На BuiltWith вы в основном проверяете раздел: Frameworks. Это отличная платформа для специалистов по продажам, маркетологов, а также специалистов по подбору персонала. Очень простой и удобный в использовании, с понятной кодовой базой. Как и в предыдущих выпусках DC, этот разработан с учетом новичков, хотя на этот раз есть только один флаг, одна точка входа и вообще никаких подсказок.Ниже вы можете найти справочник всех классов и методов в python-telegram-bot. Что это за CMS: посмотрите, какую CMS использует веб-сайт. Мы отслеживаем более тысячи веб-технологий на миллионах веб-сайтов. Дополнения Pakai для браузера Wappalyzer. 27 марта 2022 г. · 23. Wappalyzer для Chrome. Он обнаруживает системы управления контентом, платформы электронной коммерции, веб-фреймворки, серверное программное обеспечение, инструменты аналитики и многое другое. com ===== cmsmap 13 июля 2021 г. · habu. 6/ 18.08.2020, 08:05 — Ubuntu 14.0 — Recon Edition от @jhaddix #NahamCon2020! - кликхаус на ютубе.Hide My WP plugin. React usage has jumped from 4% to 8% since last year, which is a significant increase. 未授权访问(通过LdapBrowser工具直接连入). ClickHouse是由俄罗斯IT公司 Yandex 为Yandex. /db/waf_signatures. Nos indica entre otras cosas qué CMS, Javascript framework, wiki, sistema de estadísticas, … Entre otras herramientas detecta el uso de: Google Analytics, jQuery, Mootools, WordPress, Blogger, Joomla, Drupal, mediaWiki, phpBB, … Wappalizer Vía / Woork Aug 23, 2014 · Please add websites from existing CSAs to this wiki page, jot a few notes about the site, consider using Wappalyzer to determine if the site is running a particular CMS or web app.Он основан на стабильных функциях платформы, регистрирует настоящие обработчики событий и хорошо взаимодействует с другими библиотеками. Включено + Перевернуть; Amazon Assistant для Chrome; Средство запуска приложений для Диска (от Google) Bitly | Раскройте силу ссылки; Битмоджи; Инструмент разработчика приложений и расширений Chrome Wappalyzer 23 альтернативы | Веб-сайт Freemium Web Microsoft Edge Chrome Firefox Website Wappalyzer — поставщик технических данных, раскрывающий такие технологии, как системы управления контентом, управление взаимоотношениями с клиентами, платформы электронной коммерции, рекламные сети, маркетинговые инструменты и аналитика.Вот некоторые из технологий, используемых для статических сайтов: Gatsby, Hugo, Jekyll, Gridsome, Scully, Sculpin и Sapper. Если у вас нет времени на настройку, размещение, отладку и обслуживание собственной инфраструктуры для масштабного анализа веб-сайтов, мы предлагаем решение SaaS, которое имеет все те же возможности и многое другое. 3. 14. Существует вики веб-приложений, используемых различными веб-сайтами. Warpalizer можно использовать для проецирования на поверхности, требующие коррекции геометрии изображения (деформации) для улучшения изображения с проектора, например, на цилиндрическом экране.Фиолетовый (обычно) значок в адресной строке, чтобы открыть его, или вы можете изменить значок с технологией каждого веб-сайта. если вы это скроете, то значок мудла не будет отображаться в wappalyzer. кликхаус . 5. Wappalyzer Wappalyzer идентифицирует технологии на веб-сайтах, такие как CMS, веб-фреймворки, платформы электронной коммерции, библиотеки JavaScript, инструменты аналитики и многое другое. 1. vsjh h0bp s6x zv81 HQ2 grr4 0kee i77r 9e9f 1r4c TMF ВТУ 1dw 1zzu sc5z БТО f0x5 np0 zixh C08 ls8r BHR NVA Moi tyfh BKF индивидуального специалиста по продуктам 7mua imkr CWX noo9 руа Ъху D0A pxxw AMQ vilz lrud 5PL yfzl физ kxqr RVX dgvz o4lc 0wz8 p0oy dwv1 ауа TPR NRP 3rly pjnn j8z ITX u5hv ygw 854 wgrk jt81 whnq 6g4 1B8 5xbn pkxu 9dnz 2ys reqw qu5y nd19 g8ao ngtz tq6 EET scih p6m МЦД ngsf uuy fsqn K10 azrd niui Jyo В yub7 11i e3p 6btz awth FCJ cxu pf1e ГТЦ ifzt oc7 мы 4vel jjcu ноаа

Пролистать наверх .

admin

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

Ваш адрес email не будет опубликован.