Size: a a a

Natural Language Processing

2020 August 13

F

Frukt in Natural Language Processing
а я правильно понимаю, что здесь только с большими буквами работает? если с маленькой буквы имя, уже не находит
источник

DD

David Dale in Natural Language Processing
Ruslan Sabirov
Привет!
Подскажите, пожалуйста, ресурсы/статьи по генерации альтернативных ответов к вопросам.
Предположим, нам дан отрывок текста, вопрос и правильный ответ на него (например, вопрос "Что построили в Париже в 1889 году?", ответ "Эйфелева башня"). Задача сгенерировать заведомо неправильные варианты ответов (например, Лувр, Версаль и т.п.)
Кажется, для этого как раз идеально подходят нейронные языковые модели типа Порьфирьича (русский gpt-2). Генерируешь с большой температурой кучу вариантов, потом отсеиваешь - сначала автоматически (скажем, по наличию именованных сущностей), потом вручную.
источник

FF

Futorio Franklin in Natural Language Processing
Либо на основе данных с википедии
источник

AK

Alexander Kukushkin in Natural Language Processing
Frukt
а я правильно понимаю, что здесь только с большими буквами работает? если с маленькой буквы имя, уже не находит
Да. Модель для новостей, там имена с большой
источник

F

Frukt in Natural Language Processing
Alexander Kukushkin
Да. Модель для новостей, там имена с большой
понял, благодарю
источник

RS

Ruslan Sabirov in Natural Language Processing
Futorio Franklin
Либо на основе данных с википедии
А это как?
источник

FF

Futorio Franklin in Natural Language Processing
Ruslan Sabirov
А это как?
Ну в теории у википедии есть сущность Эйфелева башня, которая имеет тип, данный тип имеют и другие сущности, их можно взять за неправильные ответы
источник

RS

Ruslan Sabirov in Natural Language Processing
А, понял, спасибо!
источник

FF

Futorio Franklin in Natural Language Processing
Да не за что
источник
2020 August 14

OM

Orzhan Mikhail in Natural Language Processing
Ruslan Sabirov
Привет!
Подскажите, пожалуйста, ресурсы/статьи по генерации альтернативных ответов к вопросам.
Предположим, нам дан отрывок текста, вопрос и правильный ответ на него (например, вопрос "Что построили в Париже в 1889 году?", ответ "Эйфелева башня"). Задача сгенерировать заведомо неправильные варианты ответов (например, Лувр, Версаль и т.п.)
Решение похожей задачи тут: https://link.medium.com/Xmp0sDzvV8
С помощью gpt-2 и bert генерирует ложные варианты ответов
источник

sk

s k in Natural Language Processing
всем привет. подскажите код на питоне, как фильтровать опечатки в двух pandas series.
те: я выолняю merge двухстолбцов - комбинации фио+др. у оператора могут быть ошибки в 1-3 символа и мне нужно получить столбец - "проверить руками, возможно опечатка" эту связку.
приходит на ум считать расстояние Левенштейна через nltk (эту библиотеку надо использовать по тз) и выводить отдельным столбцом долю совпадения/ошибки.
никогда так не делал, будет круто если можно проще) любой совет - кайф.
источник

A

Alex in Natural Language Processing
s k
всем привет. подскажите код на питоне, как фильтровать опечатки в двух pandas series.
те: я выолняю merge двухстолбцов - комбинации фио+др. у оператора могут быть ошибки в 1-3 символа и мне нужно получить столбец - "проверить руками, возможно опечатка" эту связку.
приходит на ум считать расстояние Левенштейна через nltk (эту библиотеку надо использовать по тз) и выводить отдельным столбцом долю совпадения/ошибки.
никогда так не делал, будет круто если можно проще) любой совет - кайф.
Расстояние Левенштейна звучит норм, мне как-то ещё помогало нормализовать его на длину текста (чем длиннее строка - тем больше опечаток можно предположить)
источник

sk

s k in Natural Language Processing
как раз поэтому хочу получать столбец "доля отличия" = кол-во опечаток/длину слова.
источник

sk

s k in Natural Language Processing
получается примерно такая конструкция, нл цикл для млн строк это очень долго:

A = ['red','blue','green','white']
W = ['red','white','green']

if len(W) != len(A):
x = "#"
for i in range(len(A)):
    W.append(x)

match = 0
for _ in range(len(A)):
print(A[_], W[_])
if A[_] == W[_]:
 match += 1
 
print(match/len(A))
источник

A

Alex in Natural Language Processing
Если допустить что я уже погуглил и не нашел адекватных решений, то я бы попробовал сделать что-то вроде проиндексированного bag-of-letters для каждой строки из одного списка (например "ага" -> {"а": 2, "б": 0, "в": 0, "г": 1, ...}), а потом для каждой строки другого списка формировал бы вектор по такому же принципу и отбирал бы слова из первого списка с расстоянием между векторами меньше N, а для выбранного небольшого списка уже по-честному считал бы Левенштейна
источник

sk

s k in Natural Language Processing
пока не понимаю, попробую
источник

СВ

Сергей Волков... in Natural Language Processing
Ребят всем привет. Решил опробовать модель bert на примере вопрос/ответ. немного не пойму модель уже есть натренированная. Я ее скачиваю, дальше кладу свой датасет в формате по которому предполагается искать ответы на вопросы. Вопрос следующий.... сама модель bert-squad_1.1 на каких данных натренированна?
источник

DA

Dastan Akimzhanov in Natural Language Processing
Ребята, добрый день, недавно начал изучать Наташу, пытаюсь структурировать информацию, может кто проверить верно ли составил схему? или я запутался?)
Хорошо было бы если поправили

https://docs.google.com/spreadsheets/d/1GUa6Y2-0iuda2pcB5y1wDOuc1XFrit0Hiaeea8COJx8/edit#gid=0
источник

AK

Alexander Kukushkin in Natural Language Processing
Выглядит корректно
источник

DA

Dastan Akimzhanov in Natural Language Processing
Alexander Kukushkin
Выглядит корректно
👌
источник