Слова-далекие родственники: открытия лингвистического скрипта | 07 апреля 2025 года, 16:32

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

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

Например, grammar – glamour. Слово glamour происходит от шотландского произношения слова grammar (в смысле «знание», особенно магическое). Ранняя ассоциация грамматики с тайным знанием трансформировалась в «гламур» как «волшебное очарование».

Оказалось, что Jack – это уменьшительная форма от John, эволюционировавшая через Jankin.

Оказалось, что espresso и sprain имеют общий корень —латинский exprimere — «выжимать, извлекать».

debut и butt. Имеют общий корень: старофранцузское but — «цель». Debut: от французского débuter — «начинать игру», буквально «делать первый удар по цели». Butt: в значении «мишень» (e.g. the butt of a joke), тоже от but — «цель, мишень».

Технические подробности: Что делает скрипт?

1. Сначала скачивает огромный массив данных английского Викисловаря (Kaikki) и большую языковую модель FastText, которая знает «смысл» слов в виде векторов.

2. Затем он анализирует этимологию (происхождение) слов, находя их общих «предков» – древние слова (этимоны), от которых произошли современные.

3. Затем он отбирает только те слова, которые являются полноценными словарными статьями в Викисловаре и достаточно часто встречаются в современном английском языке (отсеивая очень редкие или архаичные слова).

4. Затем измеряет «расстояние» между значениями, используя векторы слов (word embeddings) из FastText. Сравнивая эти векторы, скрипт вычисляет, насколько сильно разошлись значения у слов с общим корнем. Низкое сходство векторов означает большую разницу в значении.

5. Затем находит «дальних родственников»: В итоге скрипт ищет и выводит пары общеупотребительных слов, которые когда-то были «родственниками», но сегодня их значения максимально далеки друг от друга.

Скрипт пока все еще генерит довольно много «шума», но который понятно как очищать.

Читайте больше такого добра кликая сюда —> #RaufLikesEtymology

Оставьте комментарий