Size: a a a

Natural Language Processing

2020 August 07

AS

Alexander Serechenko in Natural Language Processing
Всем привет!
Подскажите, каким инструментом работать со следующей задачей:
1) Есть большая база марок и моделей транспорта (не только авто, но и водный, грузовой, аэро)
2) Есть множество очень плохо оформленных текстовых строк (natural language), где этот транспорт перечислен, при этом может быть много мусора, может быть транслит вместо английского названия, и другие ошибки, опечатки, года выпуска, …
3) Нужно в каждой строке находить эти модели, причем даже если их несколько

Сейчас работаем с nltk, но приходится все опечатки/транслит и прочие мерзости отрабатывать чуть ли не вручную, плюс получается огромный словарь, который со временем стал весить непозволительно много.

Может быть я упустил какой-то инструмент для поиска такого типа entity в тексте?
Есть какой-то готовый инструмент, который можно было бы обучить искать подобные записи с вариативностью написания?
Подскажите так же хороший туториал по построению метрики результативности в таких задачах.
источник

N

Nire in Natural Language Processing
Alexander Serechenko
Всем привет!
Подскажите, каким инструментом работать со следующей задачей:
1) Есть большая база марок и моделей транспорта (не только авто, но и водный, грузовой, аэро)
2) Есть множество очень плохо оформленных текстовых строк (natural language), где этот транспорт перечислен, при этом может быть много мусора, может быть транслит вместо английского названия, и другие ошибки, опечатки, года выпуска, …
3) Нужно в каждой строке находить эти модели, причем даже если их несколько

Сейчас работаем с nltk, но приходится все опечатки/транслит и прочие мерзости отрабатывать чуть ли не вручную, плюс получается огромный словарь, который со временем стал весить непозволительно много.

Может быть я упустил какой-то инструмент для поиска такого типа entity в тексте?
Есть какой-то готовый инструмент, который можно было бы обучить искать подобные записи с вариативностью написания?
Подскажите так же хороший туториал по построению метрики результативности в таких задачах.
Много данных?
источник

N

Nire in Natural Language Processing
Если не много, забей и найми студентов)
источник

AS

Alexander Serechenko in Natural Language Processing
много
несколько миллионов
источник

AS

Alexander Serechenko in Natural Language Processing
Nire
Если не много, забей и найми студентов)
это уже проходили)
нужна автоматика
источник

YB

Yuri Baburov in Natural Language Processing
Alexander Serechenko
Всем привет!
Подскажите, каким инструментом работать со следующей задачей:
1) Есть большая база марок и моделей транспорта (не только авто, но и водный, грузовой, аэро)
2) Есть множество очень плохо оформленных текстовых строк (natural language), где этот транспорт перечислен, при этом может быть много мусора, может быть транслит вместо английского названия, и другие ошибки, опечатки, года выпуска, …
3) Нужно в каждой строке находить эти модели, причем даже если их несколько

Сейчас работаем с nltk, но приходится все опечатки/транслит и прочие мерзости отрабатывать чуть ли не вручную, плюс получается огромный словарь, который со временем стал весить непозволительно много.

Может быть я упустил какой-то инструмент для поиска такого типа entity в тексте?
Есть какой-то готовый инструмент, который можно было бы обучить искать подобные записи с вариативностью написания?
Подскажите так же хороший туториал по построению метрики результативности в таких задачах.
это задача NER, подходов много. нейросети работают лучше всего, но им надо много размеченных данных.
источник

SP

Sebastian Pereira in Natural Language Processing
Alexander Serechenko
это уже проходили)
нужна автоматика
Найми чтобы разметить датасет.  Альтернатива - Толока от Яндекс
источник

SP

Sebastian Pereira in Natural Language Processing
Толока дороже
источник

AS

Alexander Serechenko in Natural Language Processing
Sebastian Pereira
Найми чтобы разметить датасет.  Альтернатива - Толока от Яндекс
Это да, понятно
источник

AS

Alexander Serechenko in Natural Language Processing
Yuri Baburov
это задача NER, подходов много. нейросети работают лучше всего, но им надо много размеченных данных.
Спасибо
источник

AS

Alexander Serechenko in Natural Language Processing
Но для обучения NER для каждой модели/строки нужен пример использования?
источник

AS

Alexander Serechenko in Natural Language Processing
А тут есть огромный список и часть моделей не будет использована никогда (примеры руками/скриптом создавать?)
источник

E

Elena in Natural Language Processing
а мне кажется, нужна программа для нормализации текста, которая бы исправляла мелкие опечатки и транслит, а потом регулярные выражения
источник

YB

Yuri Baburov in Natural Language Processing
Alexander Serechenko
Но для обучения NER для каждой модели/строки нужен пример использования?
нет, не обязательно.
напарсить данных с форумов — получить вектора.
модель NER поверх векторов будет работать с неизвестными моделями.
но дополнительные примеры для сложных случаев будут улучшать модель.
источник

E

Elena in Natural Language Processing
тренировать NER как стрелять из пушки по воробьям тут
источник

KS

Konstantin Smith in Natural Language Processing
Alexander Serechenko
Всем привет!
Подскажите, каким инструментом работать со следующей задачей:
1) Есть большая база марок и моделей транспорта (не только авто, но и водный, грузовой, аэро)
2) Есть множество очень плохо оформленных текстовых строк (natural language), где этот транспорт перечислен, при этом может быть много мусора, может быть транслит вместо английского названия, и другие ошибки, опечатки, года выпуска, …
3) Нужно в каждой строке находить эти модели, причем даже если их несколько

Сейчас работаем с nltk, но приходится все опечатки/транслит и прочие мерзости отрабатывать чуть ли не вручную, плюс получается огромный словарь, который со временем стал весить непозволительно много.

Может быть я упустил какой-то инструмент для поиска такого типа entity в тексте?
Есть какой-то готовый инструмент, который можно было бы обучить искать подобные записи с вариативностью написания?
Подскажите так же хороший туториал по построению метрики результативности в таких задачах.
Когда то давно я решал подобную задачу. В Pullenti есть специальный тип сущности - товарная позиция (GoodReferent), которая для краткого описания товара разбивает его на  атрибуты (GoodAttributeReferent) - тип товара, собственное имя (если есть) с вариантами написания на кириллице-латинице, номера, модели и пр. Потом эти элементы ищутся в текстах и можно привязывать. Причём никакого обучения не надо, как и ручного задания - всё на основе морфологии и базовых правил. Там и транслитеральная замена выправляется и пр.
источник

AS

Alexander Serechenko in Natural Language Processing
Elena
а мне кажется, нужна программа для нормализации текста, которая бы исправляла мелкие опечатки и транслит, а потом регулярные выражения
nltk поэтому и используется
источник

AS

Alexander Serechenko in Natural Language Processing
проблема в том, что нужна нормализация всевозможных видов записи моделей (слитно буквы+цифры, через дефис, тире, через пробел) и учет модификаций полного написания моделей (перестановка любых составный частей местами, слитность)
источник

KS

Konstantin Smith in Natural Language Processing
Alexander Serechenko
проблема в том, что нужна нормализация всевозможных видов записи моделей (слитно буквы+цифры, через дефис, тире, через пробел) и учет модификаций полного написания моделей (перестановка любых составный частей местами, слитность)
Я это делал в Pullenti. Была задача - для интернет-магазина привязывать описания товаров в чатах к их аналогам в базе. Разумеется, написания могли сильно отличаться от канонических.
источник

AS

Alexander Serechenko in Natural Language Processing
Konstantin Smith
Я это делал в Pullenti. Была задача - для интернет-магазина привязывать описания товаров в чатах к их аналогам в базе. Разумеется, написания могли сильно отличаться от канонических.
супер!
спасибо за этот совет
источник