Comments 18
Так а как помог список русских слов в определении тематики сообщений? Если есть классификатор (не важно, статистический, или написанный руками), то вектор Х это количество слов в соответствующей форме невзирая на их значение?
Работало на удивление неплохо
А с учётом интеграции Python c PBI этот вопрос для многих разработчиков может быть вообще снят с повестки дня.
Разве задача не ближе к базе данных, чем к табличному редактору?
Но скорее всего причина была в наличии в Excel движка PowerPivot и потенциальной возможности публикации на ферме SharePoint. Т.е. вполне себе прдакшн-решение.
ВПР() на отсортированных объемах работает мгновенно.
Единственно с чем пришлось повозиться — более 2х миллионов строк.
Разбил слова в словаре на столбцы по буквам и делаю ВПР по каждому из столбцов, где во втором столбце — ссылка на основную словоформу (может также содержать параметры текущей словоформы).
Потом формулой-монстром ищу результат без ошибки.
Работает мгновенно. Пришлось только индекс этот многоколоночный построить. Тоже быстрый встроенный сорт спасает.
Минус один — файл под 500мб, поэтому не представляю, как его в качестве подключаемой библиотеки использовать.
Классный кейс, снимаю шляпу.
Вот только проблема использованного корпуса в том, что он неотсортирован. И без предварительной подготовки файла базы использовать его с ВПР не получиться.
То, что у меня в результате получилось и место кушает умеренно и вполне себе продакшн имхо.
Кстати "мгновенно" в вашем случае — это сколько? Меньше одной секунды? На каком железе?
Делал больше года назад. Сейчас прогнал тесты.
На i7-4770 c 8 гб ОЗУ при случайном слове 1000 слов отрабатывает примерно за 140 сек.
Да, построение первичного листа — индекса необходимо.
Я решал в лоб на указанном железе — получилось примерно 15 минут требуется на первичную загрузку + сортировка и удаление дубликатов примерно 4 минуты.
Кстати, размер файла — 88 мегабайт.
Если интересно, скриптами загрузки могу поделиться.
Мне вот интереснее вопрос о неоднозначности поиска словоформы. Первая попавшаяся обычно очень кривая. Этот анализ проводился?
Мне вот интереснее вопрос о неоднозначности поиска словоформы. Первая попавшаяся обычно очень кривая. Этот анализ проводился?
Безусловно никакого дополнительного смыслового анализа не проводилось. Это задача более сложных систем ИИ. А вот морфологический анализ — это без проблем, все данные корпуса были сохранены и доступны для анализа. И скорость обработки, при этом, практически никах не пострадала т.к. все данные уже in-memory.
Можете убедиться на предложенном PBIX.
В Power BI два встроенных языка, как описано в статье: M и DAX.
R c Python — это дополнительные "расширения", причём последнее пока в стадии беты. Про ошибки Python-визуализаций и способы их обхода я писал в другой своей статье:
https://habr.com/post/421659/
Лингвистический Epic fail, или Как запихнуть весь словарь русского языка в Power BI