Size: a a a

Natural Language Processing

2020 October 06

YB

Yuri Baburov in Natural Language Processing
Вадим Гилемзянов
Ребят, классные альтернативы для NER english - кто может подсказать?
много вариантов. spacy , stanford nlp, stanza (которая новая версия для stanford nlp).
источник

YB

Yuri Baburov in Natural Language Processing
Вадим Гилемзянов
лучше чем Spacy?
они все примерно одинаковы, +- 1-2% может.
причём на твоей задаче % ошибок может отличаться от того, что померено в каком-то датасете.
источник

SP

Sebastian Pereira in Natural Language Processing
Вадим Гилемзянов
Ребят, классные альтернативы для NER english - кто может подсказать?
Использовать где, в работе или для исследования? Надо смотреть в большей степени скорость реализации + потребляемые мощности.
источник

RD

Roman Demyanchuk in Natural Language Processing
Привет всем, кто может подсказать как решить следующую проблему?
Дано такую строку "ул. Строителей 12-А" и нужно получить корректный номер дома "12-А"

сейчас парсится просто цифрой 12, это не подходит

вполне возможно что 12-А не разбивается на токены, а только на 1 токен
подскажите пожалуйста что тут можно сделать?
источник

RD

Roman Demyanchuk in Natural Language Processing
использую правила Yargy и Natasha
источник

YB

Yuri Baburov in Natural Language Processing
Roman Demyanchuk
использую правила Yargy и Natasha
Правила ярги для адресов -- очень кривые ... Ты используешь их или свои?
источник

RD

Roman Demyanchuk in Natural Language Processing
брал за основу правила наташи, дополняя своими
источник

RD

Roman Demyanchuk in Natural Language Processing
я проверял на других символах типа:
12=A
12/A

так работает
источник

RD

Roman Demyanchuk in Natural Language Processing
через dash
-
не работает
источник

YB

Yuri Baburov in Natural Language Processing
Токенайзер смотрите, он склеивает слова по дефису. Пример исправления здесь где-то выше кидали.
источник

RD

Roman Demyanchuk in Natural Language Processing
Точно, спасибо, буду пробовать
источник

AO

Alex Orgish in Natural Language Processing
Sebastian Pereira
Коллеги - у меня странный вопрос, вы не встречали как называется описание архитектуры НС, которая работает по рекурсивному принципу: обучается на датасете, потом обученная модель обрабатывает его, добавляются данные, обучается заново и так далее? Я где-то встречал именно термин.
Может вот это поможет https://www.snorkel.org/use-cases/crowdsourcing-tutorial
источник

AP

Arsen Plus in Natural Language Processing
Sebastian Pereira
Коллеги - у меня странный вопрос, вы не встречали как называется описание архитектуры НС, которая работает по рекурсивному принципу: обучается на датасете, потом обученная модель обрабатывает его, добавляются данные, обучается заново и так далее? Я где-то встречал именно термин.
Self-training называется
источник
2020 October 08

SZ

Sasha Zhu in Natural Language Processing
всем привет!

пытаюсь обучить lstm сеть, получаю вот такое:

Traceback (most recent call last):
 File "/content/train.py", line 76, in <module>
   train(model_type='lstm')
 File "/content/train.py", line 42, in train
   for i_batch, sampled_batch in tqdm(enumerate(train_data_loader)):
 File "/usr/local/lib/python3.6/dist-packages/tqdm/std.py", line 1104, in __iter__
   for obj in iterable:
 File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 363, in __next__
   data = self._next_data()
 File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 403, in _next_data
   data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
 File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/fetch.py", line 47, in fetch
   return self.collate_fn(data)
 File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/collate.py", line 74, in default_collate
   return {key: default_collate([d[key] for d in batch]) for key in elem}
 File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/collate.py", line 74, in <dictcomp>
   return {key: default_collate([d[key] for d in batch]) for key in elem}
 File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/collate.py", line 55, in default_collate
   return torch.stack(batch, 0, out=out)
RuntimeError: stack expects each tensor to be equal size, but got [48, 1] at entry 0 and [36, 1] at entry 1


может, сталкивался кто?
источник

SZ

Sasha Zhu in Natural Language Processing
в гугле, разумеется, уже все посмотрела, ничего не подходит
источник

YB

Yuri Baburov in Natural Language Processing
Sasha Zhu
в гугле, разумеется, уже все посмотрела, ничего не подходит
см .pad_sequence, pack_padded_sequence и подобные, там в доке про pytorch LSTM должно про них упоминаться
источник

SZ

Sasha Zhu in Natural Language Processing
Yuri Baburov
см .pad_sequence, pack_padded_sequence и подобные, там в доке про pytorch LSTM должно про них упоминаться
ага, спасибо
источник

AK

Anton Kolonin in Natural Language Processing
Переслано от Anton Kolonin
Через 10 часов:
https://aigents.timepad.ru/event/1412596/
Виктор Носко — Разговорный ИИ с сознанием — состоится 8 октября, 18:00-20:00 (время Московское)
источник

AL

Alexey Lemeshevski in Natural Language Processing
Михаил Притугин
Коллеги, долго не могу решить задачу, был бы рад свежему взгляду.
Дано: Коллекция текстов (много)
Коллекция представляет собой посты групп из социальной сети различных тематик, комментарии (поэтому много спама, но также есть важные темы, например, новости)
Задача: найти важные тексты (новости, события)
Тематическое моделирование на таких данных работать не должно (да и не работает, потому что много бесполезных текстов) + нет заранее информации о кол-во тем/событий
Буду рад вашим гипотезам! Спасибо!
Именно в ИИ/ML и современных практиках NLP я новичек, но подобные задачи решаю так:
1) сначала посмотреть глазами и сформулировать гипотезы - как человек отличает нужный пост ("новость") от ненужного ("просто пост")
2) описать хотя бы небольшой набор признаков и подумать, как их можно алгоритмизировать
3) взять небольшой набор данных, разметить руками (или той же Толокой; только там в постановке задачи уже придется давать четкое описание человеку, полученное здесь в пункте 1)
4) набросать прототип скриптов, переводя в код идеи из пункта 2. Возможно, на этом этапе уже станет ясно, что задачу можно решить без ИИ. Может и не станет :)
5) если с ИИ и нейросетями, то, помимо выделения именованных сущностей, которые, наверное, помогут в разметке текстов, надо подумать, какие разметки/связи и т.п. могут помочь нейросети (помимо, собственно, слов/фраз и статистики их сочетаний) в работе (на основе, опять же, пункта 1 выше)


Возвращаясь к пункту 1 и постановке задачи - а как вы объясните человеку, как отличить "новость" от "не новости"? ) Вот, например, если я напишу, что "Сегодня, 8 октября, у моей кошки родились котята" - это новость или нет? :) Наверное, из этого получатся какие-то "правила", вроде "массовость события" (моя кошка никому не интересна; а вот если кошка знаменитости; или кошка это сделала в известном месте; или ... ... ) и т.п.

У меня мало практики в ML. Наверное, круто, когда нейросеть сама находит такие правила, как я выше написал. Но, ИМХО, в реальной задаче, лучше сначала посмотреть внутрь себя (в свою голову), вытащить оттуда свой опыт/правила, запрограммировать его... а уже потом использовать нейросети т.п.)

Или я не прав? ) буду рад за комментарий )
источник

МП

Михаил Притугин... in Natural Language Processing
Я так и пытался думать
Пытался понять как моя "нейросеть" в голове определяет важно/не важно.
NER конечно помогает
Выделяю личностей, например, считаю кол-во их упоминаний
Если личность часто упоминалась в текстах - то значит она связанна с какой-то важной новостью
Также пытался сделать с организациями (из коробки работает в natasha)
Но:
1) Полнота маленькая (не во всех новостях фигурируют личности)
2) Качество NER на сырых текстах, парсинг которых иногда барахлит, не самое лучшее
источник