Борьба с человеческим познанием…

Если вы читаете это, и вы не я, вы, вероятно, делаете это неправильно. Есть статьи, которые тоже почти никем не прочитаны, но рассчитаны на более широкую аудиторию.

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

Когда я читаю README, написанный прошлым я, это действительно помогает:

Вот почему я буду записывать вещи.

Итак, что на повестке дня? Очистка данных. В настоящее время каждая запись выглядит довольно беспорядочно, посмотрите на неправильно выровненный IPA, нестилизованные списки…

Исходный HTML-код выглядит еще более запутанным, с множеством уровней и множеством необъяснимых атрибутов. Сегодня я потратил, наверное, час на поиски листа бумаги формата А4, на котором я расписал красочными маркерами структуру этих записей — безрезультатно — хотя я нашел некоторые другие вещи, которые не могли быть найдены при их поиске…

Все те заметки, которые я думал, что когда-нибудь «вернусь», в Evernote, во вложениях электронной почты, на фотографиях, в сканах, в Pocket, в закладках, становятся практически невозможными для поиска, когда вы хотите что-то найти…

Говоря об организованности, у меня была целая установка, построенная по системе Дэвида Аллена, 43 папки, файлы с цветовой кодировкой и еще много чего…

Итак, первое — и это была идея раньше, но я не мог вспомнить детали — это построить визуализатор:

  • У него есть веб-сервер, который читает локальные файлы (необработанный лексический HTML).
  • Я могу быстро просматривать различные файлы, например. с помощью клавиш со стрелками
  • Страница запросит содержимое файла, а затем вставит его на страницу.
  • Есть общие стили CSS

Затем я пишу CSS в соответствии с задуманной файловой структурой и преобразовываю файлы, чтобы исключить исключения…

Лексический визуализатор

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

Добавьте сервер «Hello World» Express:

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

Цикл UI-сервера:

  • Добавьте прослушиватель клавиш на странице
  • При нажатии определенной клавиши страница выполняет вызов Ajax к конечной точке, определенной в Express.
  • Express считывает данные из файловой системы и отправляет ответ

Пример:

  • Пользователь нажимает «стрелку вправо» на интерфейсе
  • Это вызывает Ajax-вызов «/next» к хосту.
  • В Express есть обработчик /next, который возвращает полезную нагрузку.
  • Внешний интерфейс отображает полезную нагрузку (фрагмент HTML)

Добавление шрифта IPA

Добавьте шрифт Charis SIL:

@font-face {
  font-family: Charis;
  src: url('http://site/fonts/charis.ttf');
}
.ipa {
  font-family: 'Charis', serif;
}

Очистка заголовков

  • Что делать с нумерованными омонимами?
  • Гендерные и региональные варианты (внутри блока заголовка)?
  • Грамматические ярлыки (например, «разделяемый»)?
  • «Формы слов» вне блока контента
  • «Словоформы» внутри блока контента — а иногда и IPA
  • Ярлыки внутри .entry-content .lexical-group

О, какой беспорядок…

Количество DIV «.lexical-group» может быть больше одного… возможно, это относится больше к глаголам, чем к существительным:

Следующие шаги:

  • Измените класс первого блока H2 .orth на «канонический».
  • Замените восклицательный знак на «междометие»
  • Разбейте блок заголовка на ‹em class="italics"› или ‹/em›, а затем на элементы-обертки родственного уровня.

Несколько полезных заметок из 2015 года:







Сейчас так же трудно вспомнить новое слово, как вспомнить вдохновения, которые были у меня в голове много лет назад…

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

  • Что значит помнить? Соединив X с Y, ну, у X может быть дюжина форм, изломанных, разделенных, в разном контексте разного качества… Y само по себе — длинный список смысла, скользкая туманность смысла.
  • Что значит учиться? Во-первых, мне нужно хорошее представление о туманности цели (значащего объекта). Затем я могу связать его с символом (словоформой).
  • Краткая форма английского глянца действительно ничего не делает для меня.

Проверка элемента заголовка

Я добавил пробный режим в средство запуска задач преобразования.

Судя по всему, все файлы имеют ровно 1x ‘.entry h2.orth’.

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

achtundsechziger_1.html
1 Achtundsechziger
2 <div class="ipa" data-audio="de_achtundsechziger.mp3" data-orth="Achtundsechziger">axt|ʊntˈzɛçtsɪɡɐ</div>
3
4 <span class="pos">masculine noun</span>
5 <em class="italics"> or </em>
6 Achtundsechzigerin
7 <div class="ipa">-ərɪn</div>
8
9 <span class="pos">feminine noun</span>
10 <em class="italics"> or </em>
11 68er
12 <span class="pos">masculine noun</span>
13 ,
14 <span class="pos">feminine noun</span>

Возможно, первое, что нужно сделать здесь, это обернуть все текстовые узлы. Больше никаких болтающихся узлов! Это было довольно успешно:

Иерархическая неоднозначность

Есть по крайней мере два вида осложнений:

Первый — когда есть несколько вариантов. Варианты визуально разделены знаком «или»:

<em class=”italics”> or </em>

Также как псевдоним:

<em>,&nbsp;&nbsp;</em>

Тем не менее, этот разделитель, заглавное слово (раньше это были висячие текстовые узлы), их грамматические/регистровые/региональные метки – все они находятся на одном уровне!

Второй встречается гораздо реже, но с большей проблемой:

<em class=”hi”>or</em> 

Встречается в середине фразы. Во-первых, вы не знаете, какие две взаимозаменяемые стороны связаны «или». Затем текстовые узлы, которые в противном случае должны были бы быть одной строкой, теперь проходят через этот специальный разделитель… который сам по себе не является простой строкой, почему бы не добавить атрибут onclick, зачем вы это делаете?!

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

Странные восклицательные знаки!

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

Приведение в порядок этикеток

Посмотрите на это особое безумие:

Типы слов

Сегодня, путем беспорядочного движения мысли, я начал задаваться вопросом, каково хорошее соотношение для изучения разных типов слов. Допустим, я стремлюсь к 20 тысячам лемм, сколько из них должно быть существительными (там куча составных, родственных имён, имен собственных и т. д.), сколько глаголов, сколько прилагательных…

При быстром поиске в списке 4K Эрвина Чирнера есть:

  • 1782 существительных
  • 1068 глаголов
  • 660 прилагательных и 250 наречий (понятия не имею, почему…)

Это около 40% существительных, 25% глаголов и около 20% прилагательных…

Но размер этого списка 4K. По мере увеличения размера у вас могут начать заканчиваться глаголы, их так много… Существительные просто пушистые и пыхтящие с составом — никаких или минимальных усилий для изучения… Прилагательные могут быть полезны для описания вещей… они также растут за счет расширения производных — есть так много оттенков обычно произносимых различий в спектрах квалиа…

Глаголы, данные о спряжении которых я собрал (и очистил): 1853.

Похоже, 2 тысячи глаголов — это хорошее место, чтобы остановиться — подождите, у меня раньше была большая плохая книга немецких глаголов, 555 глаголов — в любом случае, даже 1,5 тысячи хватит.

Возьмите график синонимов. Умение ориентироваться в нюансах полезнее, чем знание непонятных слов.

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

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

В основе лежит куча контрастных пар. Это могут быть основные, не производные прилагательные, около 500 из них или более. Остальные вы можете составить из существительных (-haft) и глаголов (-d).

Фонотактическое обучение

Новая идея! У меня есть набор данных транскрипций IPA:

ˈapɡəʃiːdn
ˈapɡəʃlaft
ˈapʃlafn
ˈapɡəʃlaːɡn
ˈapɡəʃmakt
ˈapɡəzeːən
ˈapɡəʃtɔrbn
ˈapɡəʃtraːft
ˈapɡəʃtʊmpft

Так получилось, что они также соответствуют аудиофайлам (надеюсь, человеческим).

Вот идея:

  • Пройдите транскрипции и найдите все 2-граммовые (и 3-граммовые)
  • Для каждой n-граммы найдите наиболее часто встречающиеся слова
  • Используйте звук этих слов в качестве примеров для фонотактики.
  • Требуется особая обработка для ударения (ˈ) и количества (ː) — на самом деле лучше иметь правдоподобное начало, ядро, коду — включая дифтонги, кластеры и т. д.
  • Иногда граница и, следовательно, группировка не имеют смысла, например. в разделяемых глаголах, показанных выше

Вероятностный пол

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

  • С точки зрения значения, например, «бокал» на самом деле просто «бокал» для «вина». Но значение «ковер» не является типом «домашнего животного», связанного с «автомобилями».
  • С другой стороны, предсказание пола должно быть наиболее надежным, когда оно основано на соединениях. Во всех разумных вселенных пол «Олимпииmannschaft» должен быть детерминирован из «Mannschaft».

Я думал, технически, как детектировать соединения и анализировать соединения на составляющие — тогда мне нужно было бы запоминать только род основного существительного, а не дюжину его производных…

Я рассматривал множество способов вычисления подстрок. Тогда я подумал, а зачем останавливаться на достигнутом? Давайте просто запустим n-граммы с правой стороны:

  • Фильтр для списка существительных из списка 40K
  • Род каждого существительного известен из набора данных
  • Для каждого существительного сопоставьте набор n-грамм с правой стороны и
  • Зарегистрируйте его пол в хеше из n-грамм
  • N-граммы включают в себя до целых слов, что избавляет от проблем с отдельными методами обнаружения соединений.
  • Для каждого n-грамма получить статистику вероятности пола

Если в 99%+ случаев «-schaft» является существительным женского рода, то мы нашли окончание с высокой степенью достоверности для предсказания пола. Затем он идет вниз по склону от «стеблей» к «правилам» и к «знаниям» с вероятностями «-aft», «-ft» или просто «-t».

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

Добавьте красную/серую/зеленую цветовую кодировку; добавить пользовательский интерфейс с перелистыванием; добавить локальное хранилище для записи достижений…

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

Я также придерживаюсь расплывчатой ​​теории о том, что у говорящих есть расплывчатые, внутренние, имплицитные теории категорий (само определение грамматического рода). Некоторые языки имеют несколько родов. Скажем, в воображаемом мире существительные имеют сотни родов — затем они распадаются на горстку — затем еще на 3 или 2.

Моя расплывчатая теория состоит в том, что люди до сих пор строят расплывчатые теории об этих категориях в своем уме о том, каким может быть род существительного. Например, у меня есть несколько теорий о том, что сосуды, скорее всего, относятся к женскому роду, а «вещь» или «объект» взаимозаменяемого качества (например, товар или материал) скорее всего среднего рода… Как это работает на практике? Это будет похоже на гороскопы, нам просто нужно провести мозговой штурм над многими из этих «теоретических категорий», присвоить их существительным и посмотреть, что приживется.

Существует также теория о том, что информацию, за которой стоит всеобъемлющая расплывчатая теория, намного легче запомнить… Люди — теоретизирующий вид.

Типы слов

Я получил некоторые новые данные для предоставления примеров использования — решает проблему «отсутствия пробела в Y»… В 34K записей преобладают существительные, я могу просматривать мили и мили, не видя другого типа. Но благодаря большим числам в целом у него есть и другие типы:

  • Существительные, множественное число, имена собственные, числа: 23 174
  • Сильные глаголы: 837
  • Слабые глаголы: 3496
  • Прилагательные: 5 209 (исключая прилагательные существительные…)
  • Наречия: 568

Мягкие дефисы?!

Сегодня я открыл для себя причудливый мир мягких дефисов.

Склонения

Если к этому моменту вы все еще не считаете немецкий язык более сложным, чем английский, и поэтому труднее его выучить (помимо других причин), вы просто заблуждаетесь, вы заблуждаетесь в плане плоской Земли, динозавров на ковчеге.

Вернуться к роду существительного

Теперь у меня есть относительно чистый набор данных с большим количеством существительных (включая составные) и данные о роде. Может быть, пришло время поэкспериментировать с вероятностной n-граммой…

Нормализация многоуровневых структур

Лексические категории

Также указан как «Часть речи» (PoS)… В старом наборе данных их безумно много — на самом деле это просто беспорядочные данные:

1st and 3rd person plural
1st person singular present tense of verb
2nd person plural of present
2nd person singular of present
3rd person singular present tense of verb
abbreviation for
accusative
adjective
adverb
auxiliary verb
comparative
conjunction
contraction of
dative
definite article
demonstrative pronoun
exclamation
feminine noun
genitive
imperative
impersonal reflexive verb
impersonal verb
indefinite article
indefinite pronoun
interrogative adjective
interrogative adverb
interrogative pronoun
intransitive verb
masculine noun
modifier
neuter noun
number
past participle of verb
past tense
personal pronoun
plural
plural noun
possessive pronoun
prefix
preposition
pronoun
reflexive pronoun
reflexive verb
relative adverb
relative pronoun
singular imperative
suffix
suffix forming adjectives
superlative
transitive impersonal verb
transitive verb
unknown

Критерии выхода

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

Для обработки данных точкой выхода является получение данных, «готовых к извлечению». По сути, это означает «сведение» смыслового списка в единую структуру, где конечные узлы представляют собой обычный текст, а не аннотированный HTML.

Это означает, что больше нет встроенных специальных маркеров:

  • Решите, что должно образовывать отдельную строку или группу строк, например, фраза и ее перевод, или смысл и перевод, или контекст и перевод…
  • Извлеките маркеры как атрибуты этой строки (смысл, регистр, контекст)
  • Используйте различные методы, чтобы разбить LI на несколько строк.

Теперь небольшое отступление

Даже если вы находите это необычным, c-тест используется во всем мире для целей размещения, а также был тщательно изучен (см. «www.c-test.de)».

Ну можно и полкой диссертаций по теме поразить, все равно ни один нормальный человек так не говорит:

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

Готовы к извлечению?