Лемматизация текста в Excel
Приветствую! Коротко: лемма - это начальная, словарная форма слова. Леммы нужны [среди прочего] для того, чтобы "нормализовать" строки данных и найти точные совпадения там где до преобразования их не было. Например: "вася дал маше яблоки" может быть преобразовано в "вася дать маша яблоко" и строка "василий давал машеньке яблочко" также может быть преобразовано в эту конструкцию из лемм отдельных слов. Таким образом, мы получим точное совпадение там, где раньше его не было. Данный справочник является [например] одним из инструментов нечёткого поиска. Справочником является переработанный словарь от OpenCorpora и состоит из 2ух версий (обе в формате txt, который можно открыть в Excel): OpenCorpora
Переработанный xml по ссылке со структурой: лемма - варианты (кросс-таблица).
Файл
List
Так как у разных лемм могут быть общие варианты, создан плоский список "вариант-лемма" (не влезет на лист т.к. более 3 млн строк), в котором варианты не повторяются (взят первый). Именно этот список я использую для замены слов на их леммы
Скрин
Файл
|
Всего комментариев 9
Комментарии
-
Сложного, вроде ничего нет. Т.е. анализ фразы и если, например, встречается "100-й" то рандомно заменить на любое значение из столбца А соответствующее "100-й"?
Запись от MrQwert размещена 06.03.2023 в 20:48 -
Цитата:
Замена не рандомная - в списке List список слов уникален и для каждого есть замена - лемма. "100-й" будет заменён на "100-й" и "100-ая" также будет заменена на "100-й".Запись от Jack Famous размещена 07.03.2023 в 10:23
Обновил(-а) Jack Famous 10.03.2023 в 09:58 -
Нюансов гораздо больше, чем кажется.
Какая норма получится от слова "дроби" - "дробь" или "дробить"?
Бе́лки грызут орехи. — Белки́ взбейте с сахаром.
Это "белка" или "белок" ?
Рекомендую словарь омонимов, увлекательное чтиво.
Рекомендую, также, выкинуть числительные вида 12345-ого и заменить их на регулярные выражения.
Еще хочу заметить, что в корпоре отсутствует заметное количество топонимов, а также имен-фамилий-отчеств.Запись от vantfiles размещена 08.03.2023 в 11:18 -
Запись от vantfiles размещена 08.03.2023 в 11:25 -
Если вы спрашиваете, "какая лемма получится" — вы просто не поняли, для чего используются леммы в контексте нечёткого поиска. Я писал, что это неважно и берётся первая.
И как вы предлагаете заменить числительные на регулярки? Можно пример? Подозреваю, что вы снова не поняли смысл нормализации.
Насчёт "там многого нет" — никто не мешает пополнять словарь новыми парами для замены.
У вас есть альтернативы? Все пользовательские варианты, которые я видел, мне не понравились.Запись от Jack Famous размещена 09.03.2023 в 10:15
Обновил(-а) Jack Famous 09.03.2023 в 10:18 -
>это неважно и берётся первая.
так ваша система будет искать слово белка или слово белок ?
>Можно пример?
Да. [\d]+\-[ого|его|ому|ему|ым|им|ем|ом|ым]
>У вас есть альтернативы?
Да. Морфологический разбор. Определение нормы слова по контексту. Ну то есть - по ближайшим словам. Очень помогают предлоги.
>никто не мешает пополнять словарь новыми парами для замены.
Вы "сюрикен", "нунчаки" и "цвайхендер" уже добавили?
Разница корпоры и ленты.ру составляет 1188519 слов. Нормы для них ручками будете вбивать?Запись от vantfiles размещена 10.03.2023 в 09:30 -
так ваша система будет искать слово белка или слово белок ?
Какое будет в строке, то и будет искать в справочнике лемм
Да. [\d]+\-[ого|его|ому|ему|ым|им|ем|ом|ым]
Этим шаблоном можно выцепить число с этими окончаниями. Ок. И что дальше?
Да. Морфологический разбор. Определение нормы слова по контексту. Ну то есть - по ближайшим словам. Очень помогают предлоги.
Есть ли у вас пример кода для подобного разбора?
Вы "сюрикен", "нунчаки" и "цвайхендер" уже добавили?
Нет. Они мне не нужны.
Разница корпоры и ленты.ру составляет 1188519 слов. Нормы для них ручками будете вбивать?
Что за лента.ру? Это словарь? Можно его посмотреть?Запись от Jack Famous размещена 10.03.2023 в 09:52 -
Запись от vantfiles размещена 14.03.2023 в 10:07 -
Тогда какова цель построения этих таблиц?
Из шапки темы: «Леммы нужны [среди прочего] для того, чтобы "нормализовать" строки данных и найти точные совпадения там где до преобразования их не было.»
Это новостной канал, полное собрание новостных статей которого есть в открытом доступе.
И каким боком тогда он относится к данной теме?Запись от Jack Famous размещена 14.03.2023 в 10:17