поиск схожих по значению слов
У меня есть множество таблиц exel с товарами, и мне надо получить некоторые данные о товаре(номер, название, тип, кол-во, цена). Проблема заключается в том, что каждая таблица имеет разную структуру и названия столбцов, что мешает корректно идентифицировать столбец.
Вот код, с помощью которого я считываю таблицу: https://github.com/Sergey-kyzmich/load_exel.
Вот несколько структур таблиц, которые необходимо обрабатывать.

Что я пробовал:
Я попробовал сделать словарь слов, исходя из которого определял бы тип столбца. Этот способ можно подточить и он вероятно будет работать некоторое время, но с таким подходом велик шанс встретить таблицу, для которой он не подойдет и придется постоянно корректировать список. Поэтому этот вариант отпадает.
ИИ модели (я использовал llama3.1:8b(локальная версия), gigachat(web), deepseek(web)) тоже не могут одноточно ответить на мой вопрос. Вот один из промтов, который я использовал: You are a table structure analyst and you can only write numbers and commas, cell in table on russian language. Below you will see 3 arrays of data, which represent the heading of the product table. Your task is to write the number of columns that mention the product ID, its name, product type and price.[ ['№ пп', 'Наименование работ ', '', '', '', '', '', '', 'Ед. изм.', 'Норма расхода на ед. ', 'Объём работ', 'Цена за ед. изм., руб', '', '', 'Стоимость,руб.', '', '', 'Примечание'], ['', '', '', '', '', '', '', '', '', '', '', 'Всего', 'в том числе', '', 'Всего', 'в том числе', '', ''], ['', '', '', '', '', '', '', '', '', '', '', '', 'Работа', 'Материалы', '', 'Работа', 'Материалы', '']
Алгоритмы Левинштейна и Жаккарда так-же отпадают, т.к. при сравнении двух слов на результат этих алгоритмов опираться очень сложно, ведь они больше подходят для сравнения предложений.


