Страницы: 1
RSS
Макрос распознавания текста и его стандартизация, Разбитие фразы на слова и поиск каждого слова в базах данных
 
Здравствуйте!
Нужен обучаемый макрос, который сможет в группе excel файлов в заданных столбцах искать текст, разбирать его на части и собирать его заново, но в определенном порядке. Обучать макрос, т.е. вносить дополнительные корректировочные слова и синонимы буду я в процессе работы с файлами.
В приложении 2 файла прайса от разных поставщиков. В левом столбце название товара. Как видите у разных поставщиков название товара отличается. Кто-то использует точки, пробелы, сокращения и т.д. Нужно чтобы макрос анализировал заданные строки с названием товара и приводил их к  стандартному виду(как в файле ready). Пользоваться макрос должен базой данных  идентификаторов, которые я буду пополнять и корректировать в процессе  работы.
Рассмотрим пример. В файле 1 рассмотрим строку 6, в файле 2 строку 8. Это один и тот же товар у разных поставщиков. Из названия товара нужно вытащить:
  1. Название бренда
  2. Название продукта
  3. Размер/объем/вес продукта
  4. Вкус продукта
  5. Цену поставщика
На каждый из (1-4) параметров будет своя база данных. Как я вижу алгоритм работы(возможно вы предложите более быстрое решение). Название товара разбивается на слова (разделитель пробел). Каждое из слов прогоняется по БД 1-4. Т.е. в базе данных "Бренд", будет указано слово "BSN". Макрос анализирует все лова из названия, и если находит "BSN", то опознаёт бренд. Далее макрос работает с оставшимися словами из названия и оставшимися БД (2-4). Находит "Amino-X" и опознаёт в этом слове название продукта и т.д. После полного разбора названия на необходимые для идентификации параметры нужно в готовом файле указать стоимость товара из каждого прайса.
В нашем примере всего два прайса, а в реальной работе их может быть 5-10. Каждый прайс индивидуален, т.е. столбец с названием и искомой ценой у каждого свой. В макросе я должен буду это указывать самостоятельно.
Изменено: kostun - 14.02.2017 14:39:35
 
На мой взгляд - слишком много неизвестных.
Например:
Разобьем на слова вот это:
BSN Amino-X 70 serv - Blue Raz
или вот это
BSN Amino-X 70 serv - Blue Raz мятая

Что будем искать? "Blue", "Raz", "мятая" или "Blue Raz", "мятая" или "Blue Raz мятая"?

и т.д. ...
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Искать всё, в том числе и сочетания. В базе данных будет сочетание "Blue Raz", но не будет отдельно "Blue" и "Raz". Наверное имеет смысл применить условие
Если в названии осталось слова более 3 букв и для товара не найден один из 4-х необходимых параметров, то оставшиеся слова нужно сочетать между собой по порядку: первое со вторым. если нет, то второе с третьим и т.д.
 
Обучаемый макрос будет стоить раз в 10-20 больше, чем обычный (необучаемый)
Я бы не стал на вашем месте городить такое для 5-10 прайсов, - проще сделать вручную один раз таблицу соответствия,
и по ней приводить все наименования / бренды к единому виду
 
Цитата
Игорь написал:
проще сделать вручную один раз таблицу соответствия,
и по ней приводить все наименования / бренды к единому виду
я примерно так и хочу. В одной таблице будут названия возможных брендов, в другой названия продуктов, в третьей вкусы и т.д. Мне нужна помощь в объединении всех операций в один клик. Я сам вручную могу:
  1. Разделить фразу на слова
  2. Каждое из слов прогнать функцией ВПР по каждой из таблиц
  3. В случае успешного поиска внести в ячейку название найденного значения
  4. Все незадействованные слова из фразы соединить попарно и снова прогнать через ВПР
Можно ведь это прописать в макросе? Я называю его обучаемым, поскольку таблицы соответствия я буду в процессе работы дополнять или редактировать.
 
Есть похожая самообучаемая программа, отписал в личку
------------------------------------------------------------------------------------------
ТС запросил skype и больше на связь не выходил.  
Изменено: Joiner - 16.02.2017 19:45:40
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
Страницы: 1
Наверх