Size: a a a

Natural Language Processing

2020 March 09

YB

Yuri Baburov in Natural Language Processing
cnstntn kndrtv
Не планируете?
планируем. выложим 2.2 обычный, потом скорость и качество с трансформером тоже надо померить. я что-то не знал, что трансформер аж +2% даёт.
источник

YB

Yuri Baburov in Natural Language Processing
тренировочный скрипт там будет практически один и тот же (компоненты меняются: нужно только вектора и BPE токены трансформеровские загрузить). в текущем spacy используются не все вектора, а только последнего токена, составляющего каждое слово, поэтому небольшая просадка может быть, надо будет это исследовать.
источник

ck

cnstntn kndrtv in Natural Language Processing
Yuri Baburov
планируем. выложим 2.2 обычный, потом скорость и качество с трансформером тоже надо померить. я что-то не знал, что трансформер аж +2% даёт.
Планируете поддержку semgrexp? Удобная нотация
источник

YB

Yuri Baburov in Natural Language Processing
cnstntn kndrtv
Планируете поддержку semgrexp? Удобная нотация
если надо — сделай, в spacy есть свой https://spacy.io/usage/rule-based-matching/
источник

VR

Vladimir R in Natural Language Processing
Ребята, если:

1. Вы уже работаете на Spacy и есть идея, чего там не хватает, и вы хотите этим заняться
2. Собственный проект (например на Pytorch), который возможно перенести на Spacy

То у меня есть отличная система грантов, мы сработаемся =) единственное требование - все надо будет выложить как опенсорс

Я присоединился к проекту Юрия (для адаптации и развития SpaCy под русский язык) некоторое время назад и уже есть хороший результат.

Мне это нужно по простой причине, я представляю крупную юридическую компанию, и 80% нашей работы, это обработка естественного языка (юридических консультаций), по этому у нас уникальная ситуация:
1. Мы готовы вкладывать деньги
2. Мы готовы развивать опенсорс
3. Мы не Яндекс и не хотим монополии на рынке машинного обучения
источник

ck

cnstntn kndrtv in Natural Language Processing
Вроде это там есть, документации нет. https://github.com/explosion/spaCy/blob/master/spacy/matcher/dependencymatcher.pyx
источник

ck

cnstntn kndrtv in Natural Language Processing
@yuri_baburov расскажите, как зависит проект ru_spacy от оригинального spacy? Это дополнение/расширение, отдельная ветка? Обновления в Spacy как быстро появляются в вашей либе?
источник

YB

Yuri Baburov in Natural Language Processing
cnstntn kndrtv
@yuri_baburov расскажите, как зависит проект ru_spacy от оригинального spacy? Это дополнение/расширение, отдельная ветка? Обновления в Spacy как быстро появляются в вашей либе?
spacy — это набор моделей и определённых пайплайнов на нейросетевом фреймворке thinc .
spacy-ru — это модели и пайплайны для русского языка.
конечных цели две:
1) сделать совместимые с основным spacy модели для русского языка, а на сейчас в spacy входят следующие модели:
токенизация, POS tagging, лемматизация, dependency parsing, NER.
2) иметь пайплайны для практических задач русского NLP.
в первую очередь, это классификация (для неё в spacy есть аж три разных модели)
пока что модели не встроены в основной spacy, и они от него слабо зависят.
а не входят они потому, что используемые для английского языка фичи для многих из этих моделей дают не очень высокое качество на русском языке.
русские модели поэтому строят свои фичи.
если (когда) фичи законтрибутятся в основной spacy, можно будет напрямую положить туда и модели, а сейчас можно использовать или модели без этих фич (такие есть в ветке 2.1 и их можно использовать из ветки 2.2), или делать что-то типа monkey-patching чтобы подменить фичи на русские (это в процессе, будет в составе офиц релиза под 2.2).
а вот фичи под трансформер можно уже вставлять в основной spacy, там такой зависимости нет.
источник

VR

Vladimir R in Natural Language Processing
В общем - SpaCy настолько крутой, что мы его уже используем для разных задач, вроде расстановки знаков препинания, что определенно облегчит понимание текста выше =)
источник

VR

Vladimir R in Natural Language Processing
SpaCy имеет что-то вроде "интуиции" для русского языка, т.е. он вытягивает даже те задачи, в которых плохо обучен, и с большим зашумлением исходного текста, а не только текста из русской прозы.
источник

VR

Vladimir R in Natural Language Processing
Идея использовать spacy родилась при многих попытках обработать распознанный голос в текст (speech to text), который далек от идеального.
источник

VR

Vladimir R in Natural Language Processing
Пример, есть классная штука UDpipe, которая показывает хороший результат в DEP и POS, но совершенно не решает задачу NER. И все. Хоть что с ним делай.
источник

VR

Vladimir R in Natural Language Processing
для меня SpaCy - это универсальный адаптер для разных технологий, если завтра появится некая технология, которая позволяет решать определенную задачу лучше, она появится в SpaCy
источник

SS

Sergey Shulga in Natural Language Processing
Vladimir R
В общем - SpaCy настолько крутой, что мы его уже используем для разных задач, вроде расстановки знаков препинания, что определенно облегчит понимание текста выше =)
А как вы используете для этого именно spacy?
источник

YB

Yuri Baburov in Natural Language Processing
Sergey Shulga
А как вы используете для этого именно spacy?
Это немного подправленная задача POS.
источник

SS

Sergey Shulga in Natural Language Processing
Yuri Baburov
Это немного подправленная задача POS.
А в коробку не хотите такую штуку
источник

YB

Yuri Baburov in Natural Language Processing
Sergey Shulga
А в коробку не хотите такую штуку
Будет опенсорсный, там не сложно же, точнее, сложно сейчас лишь Спейси для этого подправить. Но плюс именно от Спейси -- ещё и высокая скорость. Правда, такая высокая скорость и не нужна именно для этой задачи.
источник

SS

Sergey Shulga in Natural Language Processing
Yuri Baburov
Будет опенсорсный, там не сложно же, точнее, сложно сейчас лишь Спейси для этого подправить. Но плюс именно от Спейси -- ещё и высокая скорость. Правда, такая высокая скорость и не нужна именно для этой задачи.
Ну как сказать, потому того и хочется в Спейси, так как скорость высокая. И иногда она нужна.
источник
2020 March 10

И

Илюша in Natural Language Processing
Всем привет, есть типовая задача NER: необходимо вычленять атрибуты заказов (фио, адреса, телефон, дата и.т.д.) из сообщений электронной почты. (обработку, хранение, вычленение подписи реализовал)

Примерно так представляю NER реализацию:
- написание парсеров для выделение атрибутов заказа из тела письма/таблиц (yargy/natasha, Pullenti...)
- Разметка тегами атрибуты в тексте для тренировочных данных
- тренировка модели (keras, pytorch)

Подскажите, пожалуйста, может быть есть путь оптимальнее? Например, сразу пробовать с spacy? ранее с spacy не работал.
источник

VR

Vladimir R in Natural Language Processing
"Подскажите, пожалуйста, может быть есть путь оптимальнее? Например, сразу пробовать с spacy? ранее с spacy не работал."

для SpaCy нужно меньше примеров, если брать обученную модель, вроде бы хороший результат даже если будет около сотни, дальше можно идти active learning

при этом никакой предварительной обработки не требуется

разметку можно делать через doccano, скоро к нему допишем модуль для автоматизации разметки
источник