![]() |
создание аттрибутов по корню слова
Я решил вернутся к прежней теме с корнями слов, но другим путем, полуручным
пример данных прикрепил Как задать в коде vba что если в слове или фразе содержится корень который я задал, то приписать ему класс т.е. if слово или фраза содержит макар, то в поле класс поставить аттрибут бакалея а если слово содержит или фраза содержит пив, то в аттрибут напитки ... и так далее как альтернатива я могу создать отдельный vba с указанием слова и класса, и уже используя такой ручной классификатор прогнать его через основной файл слова класс макар бакалея макароны вкусные бакалея пив напитки |
Корни в примере — вижу, три штуки (два из которых — дубликат). А где сами слова?
|
Вложений: 1
Цитата:
В приложенном примере приблизительные (исходя из вашего описания) таблицы оформлены как списки/умная таблица. Синяя - с исходными данными по категориям - называется "Таблица 1". Во вторую вбита формула массива (как водится - объемная) Код:
=ИНДЕКС(Таблица1[класс];МАКС(ЕСЛИ(" " & СТРОЧН( [@Наименование]) & " " <> ПОДСТАВИТЬ(" " & СТРОЧН( [@Наименование]) & " "; Таблица1[слова];"@#$"); СТРОКА(Таблица1[класс])-СТРОКА(Таблица1[[#Заголовки];[класс]]));1)) Соответственно, результат достаточно предсказуем: К мясу относится как "Шашл. в вакуумной упаковке" так и "кетчуп шашл.", потому что в них есть ключевое сочетание "шашл." Аналогично - "сыр" и "сосиски с сыром" - это "молочные продукты". Соответственно, с 10 категориями можно продумать приоритеты, а если категорий будет 200, то об ошибке вы вероятно даже не узнаете. Как вариант - включайте в слова пробелы до и после (в наименование товаров они автоматом подставляются в начало и конец), а также точки, если могут быть сокращения. Цитата:
|
a_axe, суть в том, что эти таблички не работают с множественным числом
слова класс макар бакалея макароны вкусные бакалея пив напитки окей, макароны очень вкусные. итак 1. vba смотрит что у него в словах 2. в словах видит макар 3. начинает работать с фразой макароны очень вкусные. и увидел макар в макаронах, 4. далее глянул, что макар это бакалея, значит, напротив макароны очень вкусные. ставим бакалею фраза макароны очень вкусные. лежит в отдельном файле. столбец Goods_names эта колонка может находится в разныз местах, файлов много и она может быть на первом месте, в другом файле на 4-ом. зависимости как дата инженер выгрузит |
Цитата:
Речь вероятно идет о том, что "макароны очень вкусные" должны выдавать совпадение с "макароны вкусные"? Цитата:
|
a_axe, а Вас можно попросить помочь отредактировать этот код
http://forum.oszone.net/thread-337253.html |
Время: 23:12. |
Время: 23:12.
© OSzone.net 2001-