Pull to refresh

Comments 18

Так а как помог список русских слов в определении тематики сообщений? Если есть классификатор (не важно, статистический, или написанный руками), то вектор Х это количество слов в соответствующей форме невзирая на их значение?

Решалась задача нормализации словаря. Т. е. все формы слов как раз не интересовали. Это, как Вы верно поняли, была более простая задача.

Я однажды подключил PowerBi к Spark SQL с таблицам в Hive и миллиардами записей.
Работало на удивление неплохо

Правильно я понимаю, что это был режим Direct Query?

да, это не был случай in-memory
Ну да, в Direct Query скорость визуализации определяется фактически скоростью обработки неагрегированных запросов к базе. Не «летает», конечно (и не должно), но работать вполне комфортно.
На таких задачах ntlk надо работать питоном, куда гибче и правильнее
Безусловно специализированными инструментами работать удобнее. Но в них, как правило, нет ни требуемого уровня интерактивности, ни возможности создать нужный UX, как в BI-интрументах. Эта статья как раз про это.
А с учётом интеграции Python c PBI этот вопрос для многих разработчиков может быть вообще снят с повестки дня.
Ага, а Matplotlib, pandas и Datalab отменили?
Слава богу не отменили, всё, вроде регулярно обновляется. По крайней мере ничего не читал про то, что чему-то из списка пришёл конец.
И если у Вас есть релевантные ссылки по данной тематике кидайте сюда. Думаю многим будет интересно.
Почему вначале пробовали Excel, а не Access из того же офисного пакета?
Разве задача не ближе к базе данных, чем к табличному редактору?
Сейчас уже и не вспомню точно причину. То ли из-за потенциальных проблем с совместимостью, то ли из-за более широких возможностей визуализации.
Но скорее всего причина была в наличии в Excel движка PowerPivot и потенциальной возможности публикации на ферме SharePoint. Т.е. вполне себе прдакшн-решение.
В свое время решил данную задачу на чистом excel.
ВПР() на отсортированных объемах работает мгновенно.
Единственно с чем пришлось повозиться — более 2х миллионов строк.
Разбил слова в словаре на столбцы по буквам и делаю ВПР по каждому из столбцов, где во втором столбце — ссылка на основную словоформу (может также содержать параметры текущей словоформы).

Потом формулой-монстром ищу результат без ошибки.

Работает мгновенно. Пришлось только индекс этот многоколоночный построить. Тоже быстрый встроенный сорт спасает.

Минус один — файл под 500мб, поэтому не представляю, как его в качестве подключаемой библиотеки использовать.

Классный кейс, снимаю шляпу.
Вот только проблема использованного корпуса в том, что он неотсортирован. И без предварительной подготовки файла базы использовать его с ВПР не получиться.
То, что у меня в результате получилось и место кушает умеренно и вполне себе продакшн имхо.
Кстати "мгновенно" в вашем случае — это сколько? Меньше одной секунды? На каком железе?

Делал больше года назад. Сейчас прогнал тесты.
На i7-4770 c 8 гб ОЗУ при случайном слове 1000 слов отрабатывает примерно за 140 сек.
Да, построение первичного листа — индекса необходимо.
Я решал в лоб на указанном железе — получилось примерно 15 минут требуется на первичную загрузку + сортировка и удаление дубликатов примерно 4 минуты.
Кстати, размер файла — 88 мегабайт.


Если интересно, скриптами загрузки могу поделиться.


Мне вот интереснее вопрос о неоднозначности поиска словоформы. Первая попавшаяся обычно очень кривая. Этот анализ проводился?

По приведённым цифрам, честно, говоря, так и не понял, какая именно задача решалась, но это особо и не важно. Понятно, что по сравнению с несколькими часами или даже днями 140 секунд — это мгновенно :)
Мне вот интереснее вопрос о неоднозначности поиска словоформы. Первая попавшаяся обычно очень кривая. Этот анализ проводился?

Безусловно никакого дополнительного смыслового анализа не проводилось. Это задача более сложных систем ИИ. А вот морфологический анализ — это без проблем, все данные корпуса были сохранены и доступны для анализа. И скорость обработки, при этом, практически никах не пострадала т.к. все данные уже in-memory.

Можете убедиться на предложенном PBIX.

В Power BI два встроенных языка, как описано в статье: M и DAX.
R c Python — это дополнительные "расширения", причём последнее пока в стадии беты. Про ошибки Python-визуализаций и способы их обхода я писал в другой своей статье:
https://habr.com/post/421659/

Sign up to leave a comment.