Size: a a a

Natural Language Processing

2020 April 29

D

Dmitry in Natural Language Processing
Андрей Ключаревский
Так они и дали размеченный датасет(на 500 текстах).
Надо будет переучивать - думаю использовать fasttext или лучше сразу что-то в облаке брать от гугла или амазона?
За облако вы будете постоянно платить
источник

D

Dmitry in Natural Language Processing
Андрей Ключаревский
Так они и дали размеченный датасет(на 500 текстах).
Надо будет переучивать - думаю использовать fasttext или лучше сразу что-то в облаке брать от гугла или амазона?
FastText пойдет для начала. Можете взять несколько разных моделек и сравнить. Так же препроцессинг данных имеет большое значение и может изменить (в лучшую или худшую сторону) качество классификации
источник

АК

Андрей Ключаревский in Natural Language Processing
Dmitry
FastText пойдет для начала. Можете взять несколько разных моделек и сравнить. Так же препроцессинг данных имеет большое значение и может изменить (в лучшую или худшую сторону) качество классификации
Rss же. Хотя да, могут быть дубли и реклама. Предыдущая модель на векторных машинах четко работала >90% нужных текстов находила и обучена была на не размеченном датасете в 500 текстов. Решили на впс закинуть с программистом:)
источник

A

Alexander in Natural Language Processing
Вот бы какую табличку собрать или FAQ по русскому NLP. Чтобы там и морфологические анализаторы были представлены с ссылками и предобученные модули и т.д. по стандартным вопросам. А может уже есть у кого?
источник

VM

Valentin Malykh in Natural Language Processing
посмотрите на nlpub.ru, кажется, там как минимум частично есть то, что вам нужно
источник

VM

Valentin Malykh in Natural Language Processing
если нет, можно создать свою страницу и собрать там
источник

ИГ

Иван Гладуш in Natural Language Processing
Здравствуйте, есть вот такой вопрос, буду благодарен за любой ответ.
Я работаю с библиотекой Наташа и мне не дает покоя одна вещь, которую я не могу понять очень долго. Что за модели лежат в файлах
name.crf.json
street.crf.json
Как они получаются и как их использовать?
статься видео, книга в которой будет это будет описываться будет тоже очень кстати %)
источник

MD

Mikhail Dyachkov in Natural Language Processing
Всем привет!

Хочу быстро научиться исправлять опечатки в поисковых запросах в сервисе карт. Думаю использовать hunspell + собрать свой словарь, поскольку допустимых ответов намного меньше, чем в стоковом словаре.

В правильную сторону ли я смотрю? какие другие коробочные решения можно посмотреть для mvp решения?
Собирал ли кто-то свои словари для hunspell?

Спасибо!
источник

V

Vic in Natural Language Processing
Ребят, вопрос такой: у меня модель pytorch на инференс работает, но периодически падает с ошибкой -bash: fork: Cannot allocate memory. Потом я перезапускаю supervisor и все опять работает.
Модель работает на Flask, http сервер - gunicorn.
Есть мысль, что просто через несколько запросов в API на сервере заканчивается оперативная память. Это значит ее надо как-то освобождать? Нигде не видел, чтоб это надо было делать вручную. В общем не знаю, относится вопрос к серверу gunicorn или же к косяку в моем коде, где каждый новый запрос подгружает 2гб модель в память и забивает ее.
что думаете?
источник

RB

Radion Bikmukhamedov in Natural Language Processing
gunicorn форкает процессы по умолчанию . скорее всего не хватает ОЗУ. можно попробовать число воркеров уменьшить. ну а саму переменную модели можно сделать глобальной для модуля (или lru_cache), чтобы не подгружалось каждый раз
источник

V

Vic in Natural Language Processing
Radion Bikmukhamedov
gunicorn форкает процессы по умолчанию . скорее всего не хватает ОЗУ. можно попробовать число воркеров уменьшить. ну а саму переменную модели можно сделать глобальной для модуля (или lru_cache), чтобы не подгружалось каждый раз
спасибо. Воркеров 3, попробую
источник

A

Alexander in Natural Language Processing
Valentin Malykh
посмотрите на nlpub.ru, кажется, там как минимум частично есть то, что вам нужно
Thanks!
источник

V

Vanya in Natural Language Processing
Radion Bikmukhamedov
gunicorn форкает процессы по умолчанию . скорее всего не хватает ОЗУ. можно попробовать число воркеров уменьшить. ну а саму переменную модели можно сделать глобальной для модуля (или lru_cache), чтобы не подгружалось каждый раз
Делать что либо глобальным в контексте обработки запроса в большинстве случаев -- плохая идея. Тем более это не привет к уменьшению потребления памяти, так как каждый процесс (воркер в терминах гуникорна) имеет свое адресное пространство
источник

V

Vanya in Natural Language Processing
Но уменьшение воркеров должно помочь, да
источник

RB

Radion Bikmukhamedov in Natural Language Processing
Vanya
Делать что либо глобальным в контексте обработки запроса в большинстве случаев -- плохая идея. Тем более это не привет к уменьшению потребления памяти, так как каждый процесс (воркер в терминах гуникорна) имеет свое адресное пространство
речь была о том, что нужно уменьшить число воркеров, где в каждом подгружается по инстансу модели.

а какие способы известны кроме как глобальной переменной и схожего lru_cache чтобы избежать подгрузки модели при каждом запросе?
источник

AS

Artem Semenov in Natural Language Processing
источник

V

Vanya in Natural Language Processing
Radion Bikmukhamedov
речь была о том, что нужно уменьшить число воркеров, где в каждом подгружается по инстансу модели.

а какие способы известны кроме как глобальной переменной и схожего lru_cache чтобы избежать подгрузки модели при каждом запросе?
Нет ничего плохо в том, чтобы подгружать готовую модель при каждом запросе. Если она слишком тяжёлая, то нужно либо использовать один поток, либо синхронизировать их. Можно использовать Local из Werkzeug, но проблему с памятью это не решит
источник

RB

Radion Bikmukhamedov in Natural Language Processing
мне вот самому стало интересно как еще можно сделать подгрузку моделей в своем сервисе, глянул как это реализовано в MLflow — практически та же глобальная переменная, но спец. типа (через importlib), которая потом передается во Flask app:
https://github.com/mlflow/mlflow/blob/c006ed9672fd379c150d8444279f4c9e2bf20034/mlflow/pyfunc/__init__.py#L268

https://github.com/mlflow/mlflow/blob/c006ed9672fd379c150d8444279f4c9e2bf20034/mlflow/models/container/scoring_server/wsgi.py#L3
источник

DK

Denis Kirjanov in Natural Language Processing
@before_first_request на фласке вроде должен помочь
источник

V

Vanya in Natural Language Processing
Denis Kirjanov
@before_first_request на фласке вроде должен помочь
Чем?
источник