Size: a a a

Natural Language Processing

2021 March 10

VR

Vladimir R in Natural Language Processing
Vladimir R
Приветствую всех, интересует лучшее готовое (или ближайшее к таковому) открытое решение (hard baseline), которое можно быстро кастомизировать или собрать "from scratch" или из понятных готовых компонентов (USE + annoy/faiss) под набор довольно тривиальных в настоящее время задач:

1. Семантический поиск (поиск фразы/словосочетаний по смыслу внутри некого текста или набора текстов) - интересует момент не кодирования предложения целиком, а именно поиск "подсмысла" (как поиск подстроки в тексте)
2. Тематического моделирования (для задач FAQ - если он, скажем, содержит больше 10000 страниц) - т.е. что-то вроде древовидной структуры или диаграммы зависимостей
3. Выделения терминов и условий (суть задачи №2 из этого списка) и отображение терминов в предметной области (визуализация, что-то еще)
4. Построение модели предметной области (т.е. парсинг запросов к предметной области как условий поискового запроса, выделение таких условий)
5. Моделирование диалогов (понимать, как развивается дерево общения в данной ситуации относительно предметной области, скажем перемещение внимания с одной части корпуса текстов на другое, определение темы в настоящий момент и определение переключения темы)
6. Какие-то более продвинутые методики и люди, которые этим умеют заниматься (в личку)
Тут писал
источник

DD

David Dale in Natural Language Processing
Vladimir R
Приветствую всех, интересует лучшее готовое (или ближайшее к таковому) открытое решение (hard baseline), которое можно быстро кастомизировать или собрать "from scratch" или из понятных готовых компонентов (USE + annoy/faiss) под набор довольно тривиальных в настоящее время задач:

1. Семантический поиск (поиск фразы/словосочетаний по смыслу внутри некого текста или набора текстов) - интересует момент не кодирования предложения целиком, а именно поиск "подсмысла" (как поиск подстроки в тексте)
2. Тематического моделирования (для задач FAQ - если он, скажем, содержит больше 10000 страниц) - т.е. что-то вроде древовидной структуры или диаграммы зависимостей
3. Выделения терминов и условий (суть задачи №2 из этого списка) и отображение терминов в предметной области (визуализация, что-то еще)
4. Построение модели предметной области (т.е. парсинг запросов к предметной области как условий поискового запроса, выделение таких условий)
5. Моделирование диалогов (понимать, как развивается дерево общения в данной ситуации относительно предметной области, скажем перемещение внимания с одной части корпуса текстов на другое, определение темы в настоящий момент и определение переключения темы)
6. Какие-то более продвинутые методики и люди, которые этим умеют заниматься (в личку)
У тебя не один вопрос, а пять, и поставлены некоторые из них довольно размыто, так что на них даже начинать отвечать стрёмно)
источник

A

Andrei in Natural Language Processing
Vladimir R
Приветствую всех, интересует лучшее готовое (или ближайшее к таковому) открытое решение (hard baseline), которое можно быстро кастомизировать или собрать "from scratch" или из понятных готовых компонентов (USE + annoy/faiss) под набор довольно тривиальных в настоящее время задач:

1. Семантический поиск (поиск фразы/словосочетаний по смыслу внутри некого текста или набора текстов) - интересует момент не кодирования предложения целиком, а именно поиск "подсмысла" (как поиск подстроки в тексте)
2. Тематического моделирования (для задач FAQ - если он, скажем, содержит больше 10000 страниц) - т.е. что-то вроде древовидной структуры или диаграммы зависимостей
3. Выделения терминов и условий (суть задачи №2 из этого списка) и отображение терминов в предметной области (визуализация, что-то еще)
4. Построение модели предметной области (т.е. парсинг запросов к предметной области как условий поискового запроса, выделение таких условий)
5. Моделирование диалогов (понимать, как развивается дерево общения в данной ситуации относительно предметной области, скажем перемещение внимания с одной части корпуса текстов на другое, определение темы в настоящий момент и определение переключения темы)
6. Какие-то более продвинутые методики и люди, которые этим умеют заниматься (в личку)
первый вопрос тоже интересует, про "поиск фразы по смыслу внутри текста"
источник

VR

Vladimir R in Natural Language Processing
Да, т.е. найти кусок текста который содержит смысл, выраженный поисковой фразой
источник

НК

Николай Карпенко... in Natural Language Processing
Vladimir R
Да, т.е. найти кусок текста который содержит смысл, выраженный поисковой фразой
Пример в студию
источник

VR

Vladimir R in Natural Language Processing
если рассматривать поисковую фразу как объект например, найти все тексты, где упоминается "президент России", т.е. это инфинитив, глагол или существительное
источник

VR

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

VR

Vladimir R in Natural Language Processing
далее проходим по этому дереву и собираем "островки существительных" и загоняем их через USE в базу на faiss
источник

VR

Vladimir R in Natural Language Processing
типа такого решения хочется
источник

DD

David Dale in Natural Language Processing
Andrei
первый вопрос тоже интересует, про "поиск фразы по смыслу внутри текста"
Я это делаю так. Беру текст, разрезаю на предложения. Потом каждое предложение разбираю парсером зависимостей, полученное дерево разрезаю на кустики (правила разрезания придумал эвристически). Далее каждый кустик (который просто подстрока) прогоняю через fasttext и усредняю по словам. Полученный вектор заталкиваю в искалку соседей. Работает.
источник

DD

David Dale in Natural Language Processing
Vladimir R
типа такого решения хочется
Мы с тобой описали одинаковое почти)
Я это кодил сам на коленке.
источник

VR

Vladimir R in Natural Language Processing
Ну да, я делаю так же и придумать ничего лучше не смог, и подумал может есть решение которое можно сразу поставить, а не делать его из мелких компонентов....
источник

DD

David Dale in Natural Language Processing
Vladimir R
Ну да, я делаю так же и придумать ничего лучше не смог, и подумал может есть решение которое можно сразу поставить, а не делать его из мелких компонентов....
Давай наши с тобой объединим и заопенсорсим)
источник

VR

Vladimir R in Natural Language Processing
О, было бы круто, я бы заплатил за это даже =)
источник

A

Andrei in Natural Language Processing
David Dale
Я это делаю так. Беру текст, разрезаю на предложения. Потом каждое предложение разбираю парсером зависимостей, полученное дерево разрезаю на кустики (правила разрезания придумал эвристически). Далее каждый кустик (который просто подстрока) прогоняю через fasttext и усредняю по словам. Полученный вектор заталкиваю в искалку соседей. Работает.
звучит топово
источник

DD

David Dale in Natural Language Processing
Andrei
звучит топово
Ну такой вот примерно рецепт усредненный, потому что вариаций масса.
источник

A

Andrei in Natural Language Processing
David Dale
Ну такой вот примерно рецепт усредненный, потому что вариаций масса.
ну да, и звучит как много к чему может подойти, как такое общее решение

про разрезание на основе парсера зависимостей неожиданно было
источник

Е

Егорка in Natural Language Processing
Егорка
Добрый вечер. Не могли бы вы, пожалуйста, подсказать в следующей задаче:
Есть несколько моделей для поиска именованных сущностей (например, только организаций). Есть одни модели с наилучшей прецизиозностью, а другие с наилучшей полнотой.
Отсюда вопрос: можно ли получить лучший результат (F-мера), если каким-то способом ансамблировать две модели (например с наилучшими precision и recall) ? Быть может просто пересечь их результаты.
Есть какие-то исследования, статьи или просто практический опыт по проверке такой методики ?
Прошу прощения: я ещё раз спрошу о том же.
Может быть, кто делал подобное, сейчас увидит мой вопрос :)
источник

BS

Bogdan Salyp in Natural Language Processing
Ребят, кто-нибудь может пояснить, почему ещё нет t5 на русском? Для суммаризации хотя бы
Датасет С4 на русском есть, код для обучения прям по шагам описан
В чём подвох?
источник

DD

David Dale in Natural Language Processing
Bogdan Salyp
Ребят, кто-нибудь может пояснить, почему ещё нет t5 на русском? Для суммаризации хотя бы
Датасет С4 на русском есть, код для обучения прям по шагам описан
В чём подвох?
Есть mt5, в котором русский поддержан, работает нормально.
источник