Size: a a a

Natural Language Processing

2019 December 24

ck

cnstntn kndrtv in Natural Language Processing
George
возможно ли в tf-idf учитывать контекст?
А зачем?
источник

G

George in Natural Language Processing
cnstntn kndrtv
А зачем?
может дело не в контексте, но есть такая проблема: модель хорошо предсказывает для каких-то односложных конструкций типа-
test_x =  решить интеграл ; pred_y = высшая математика ; test_y = высшая математика.
А когда входная строка сложнее и может пониматься по-разному, то возникает проблема, пример:
test_x = Изменения познавательной деятельности у больных с различными соматическими заболеваниями; pred_y = медицина; test_y = психология
источник

ck

cnstntn kndrtv in Natural Language Processing
George
может дело не в контексте, но есть такая проблема: модель хорошо предсказывает для каких-то односложных конструкций типа-
test_x =  решить интеграл ; pred_y = высшая математика ; test_y = высшая математика.
А когда входная строка сложнее и может пониматься по-разному, то возникает проблема, пример:
test_x = Изменения познавательной деятельности у больных с различными соматическими заболеваниями; pred_y = медицина; test_y = психология
Тогда да, если TfIdf выучит словосочетания. Интересная идея.
А если слов много и в тесте (или в проде) будут слова, которых нет в трейне?
источник

DB

Dmitry Bohdanov in Natural Language Processing
===============================
Нужен совет по модели кластеризации. Есть список клиентов -> у клиентов есть список товаров -> Каждый товар содержит несколько слов.
Хочу кластеризировать клиентов в несколько групп по виду деятельности - то есть по общим топикам.

Как бы вы представили такую модель для кластеризации в вектора например для kmeans?
источник

D(

David (ddale) Dale in Natural Language Processing
cnstntn kndrtv
Тогда да, если TfIdf выучит словосочетания. Интересная идея.
А если слов много и в тесте (или в проде) будут слова, которых нет в трейне?
а вот тут могут вытянуть как раз символьные n-граммы
(или словарь, основанный на bpe или sentencepiece, но я не видел применения такого не с нейронками, и сам тоже не пробовал)
источник

ck

cnstntn kndrtv in Natural Language Processing
Dmitry Bohdanov
===============================
Нужен совет по модели кластеризации. Есть список клиентов -> у клиентов есть список товаров -> Каждый товар содержит несколько слов.
Хочу кластеризировать клиентов в несколько групп по виду деятельности - то есть по общим топикам.

Как бы вы представили такую модель для кластеризации в вектора например для kmeans?
Делал такое - просто tfidf так как просто и быстро.
Но лучше добавить товарные категории - например "чай в пакетиках, 25 шт. Эконом". Или, если это производство (кулинария например) - состав - так можно людей по предпочтениям в еде собирать (интуитивно ЗОЖ не ест майонез).
источник

DB

Dmitry Bohdanov in Natural Language Processing
cnstntn kndrtv
Делал такое - просто tfidf так как просто и быстро.
Но лучше добавить товарные категории - например "чай в пакетиках, 25 шт. Эконом". Или, если это производство (кулинария например) - состав - так можно людей по предпочтениям в еде собирать (интуитивно ЗОЖ не ест майонез).
Но tf-idf не делает же слово вектором? В KMeans сложно будет результат передать.

У меня  такая гипотеза - каждое слово превратить в вектор по fasttext, выделить топ 100 слов на каждого клиента  например с помощью TF-IDF и разложить на 100 слов * 100 (размер вектора fasttext) и так получится 10000 колонок. Может что-то экономнее?
источник

DB

Dmitry Bohdanov in Natural Language Processing
Или взять все слова по fasttext и из них посчитать LDA
источник

ck

cnstntn kndrtv in Natural Language Processing
Dmitry Bohdanov
Но tf-idf не делает же слово вектором? В KMeans сложно будет результат передать.

У меня  такая гипотеза - каждое слово превратить в вектор по fasttext, выделить топ 100 слов на каждого клиента  например с помощью TF-IDF и разложить на 100 слов * 100 (размер вектора fasttext) и так получится 10000 колонок. Может что-то экономнее?
А много товаров? Может их просто в onehot? Экономнее - наверное сначала разбить товары на кластеры, а потом клиентов по типам товаров (кластеры товаров - это товарные категории)
источник

DB

Dmitry Bohdanov in Natural Language Processing
cnstntn kndrtv
А много товаров? Может их просто в onehot? Экономнее - наверное сначала разбить товары на кластеры, а потом клиентов по типам товаров (кластеры товаров - это товарные категории)
От 10 до 5000 у каждого клиента. Кстати да, сейчас посчитаю. Может onehot будет достаточно
источник

SZ

Sergey Zakharov in Natural Language Processing
А как при помощи spaCy из результатов одной модели NER вычесть результаты другой NER модели?
Например, у меня есть model_A (модель spaCy), которая разметила сущности entity_1 в каком-то тексте и всё это теперь лежит в объекте spaCy типа Doc.
Но также у меня есть модель model_B которая умеет размечать сущности entity_1.2 и entity_1.3.
И вот в объекте doc мне нужно оставить только те сущности, которые НЕ являются entity_1.2 либо entity_1.3 (эти две сущности вместе на самом деле являются подмножествами сущности entity_1).
Как к такому подступиться, используя spaCy?
источник

YB

Yuri Baburov in Natural Language Processing
Sergey Zakharov
А как при помощи spaCy из результатов одной модели NER вычесть результаты другой NER модели?
Например, у меня есть model_A (модель spaCy), которая разметила сущности entity_1 в каком-то тексте и всё это теперь лежит в объекте spaCy типа Doc.
Но также у меня есть модель model_B которая умеет размечать сущности entity_1.2 и entity_1.3.
И вот в объекте doc мне нужно оставить только те сущности, которые НЕ являются entity_1.2 либо entity_1.3 (эти две сущности вместе на самом деле являются подмножествами сущности entity_1).
Как к такому подступиться, используя spaCy?
Они же разных типов? Просто по типу фильтруй
источник

YB

Yuri Baburov in Natural Language Processing
Или имеешь в виду, что одно находит гео, а второе -- конкретно скажем города и страны? Ну, по пересечениям тогда надо убирать. Можешь с одной стороны материализовать спаны во второй модели (где подтипы), т.е. проверять token.ent_type , и смотреть, есть ли у спанов из первой модели ненулевой тип по соответствующим токенам второй модели
источник

SZ

Sergey Zakharov in Natural Language Processing
"Или имеешь в виду, что одно находит гео, а второе -- конкретно скажем города и страны?"
Да, такое.
Проблема в том, что спаны могут не точно попадать друг в друга, а ещё и пересекаться. И если есть пересечение, то такой спан точно надо обнулять.
источник

YB

Yuri Baburov in Natural Language Processing
if all( [tok.ent_type_=='O' for tok in tokens2[span1.start: span1.end] ): //good span
источник

D

Den in Natural Language Processing
hi there, товарищи
источник

D

Den in Natural Language Processing
кто-нибудь пользовал huggingface transformers (XLM)?
источник

NS

Nikolay Shmyrev in Natural Language Processing
Лучше сразу вопрос задавать.
источник

D

Den in Natural Language Processing
вопрос такой, как с помощью huggingface transformers отфайнтюнить XLM модель (многоязычную) чтобы она могла принимать ввод на русском и английском и генерить ответ на соответствующем языке?
источник

D

Den in Natural Language Processing
суть: ai dungeon 2 на минималках
источник