170 похожих чатов

Всем привет! Подскажите, пожалуйста, как лучше действовать. У меня

есть модели NER, которые вытягивают три типа гипотетических сущностей (в реальности у меня другие сущности): авто, самокаты и велосипеды. Я прошелся этими моделями по текстам и назначил каждому тексту класс в зависимости от того, какой тип сущности наиболее упоминаем, e.g. есть тексты, где больше всего говорят о специфичных моделях велосипедов, значит этот текст имеет класс велосипед и т.п.

Теперь же я хочу научиться выделять значимые кластеры внутри классов, e.g. в классе авто найти, например, кластер текстов, где упоминаются спорткары или в классе велосипедов найти кластер про шоссейники. Для этого я хочу сделать как это делалось тут или тут, используя Сиамские сети. Основной вопрос это как сформировать датасет, чтобы вектора текстов из encoder Сиамской сети после тренировки формировали кластеры лучше всего?

Сейчас пока что я думаю частично формировать датасет типа anchor-positive-negative как-то так: внутри каждого класса мэтчить пары текстов anchor-positive по наибольшему совпадению именнованных сущностей, которые я выделил на стадии NER разметки, то есть два текста с такими сущностями {порш, бугатти, мазерати, лада, седан} и {порш, ламборджини, мазерати} станут парой anchor-positive. А что стоит брать в negative? Текст из другого класса или текст из того-же класса но где нет оверлэпов? Также если я использовал тексты в anchor-positive их можно задействовать для создания других пар с другими текстами?

1 ответов

7 просмотров

про NER+metric learning это довольно интересная идея, которая мне тоже как-то приходила в голову и которую я потом видел уже реализованной в этой статье у Микрософта https://openreview.net/forum?id=9EAQVEINuum , но все нет времени проверить. в целом чем более разнообразные negative будут тем лучше, поэтому ответы на вопросы - и из другого класса, и с оверлэпами. и можно использовать пары anchor-positive для создания других пар, там имхо в целом логика следующая , задача чтобы семантически сущности positive попали в кластер к anchors, таким образом в жадном случае надо показать combinations(anchor+positives, 2) пар, что конечно нереально, поэтому нужно выбирать такие edge кейсы,после изучения которых сетке, много других пар показывать не надо. поэтому в целом задача по каким-то признакам сгруппировать(как в блокинге в entity resolutions, это если вы знакомы с ER) , и в этих группках найти такие кейсы, которые заведомо не матчи. поскольку тут NER, то я бы сначала запустил обычную модель, сделал бы error analysis , классифицировал типы ошибок и исходя из них, делал бы такие кейсы. например подозреваю что overlap будет в меньшей степени иметь значение, скорее всего стоит подумать про контекст (т.е. есть подозрение что сиамская сетка обученная на понимание схожести description и entity аля entity-linking , будет лучше работать - но надо проверять, эксперементировать)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта