Size: a a a

Natural Language Processing

2021 June 04

A

Andrew in Natural Language Processing
может и получится, хз, только что значит anonymize()? Несовсем понятно,  поясните пожалуйста если не трудно.
Я юзал вот этот скрипт https://github.com/pituganov/pyanonymizer (чуть ли не единственное решение по анонимизации для русского языка с открытым кодом, что я смог нагуглить. А так, только предложения от всяких Сберов и Ростелекомов купить их нейронку, которая обучалась n лет на суперкомпьютерах и якобы умеет всё... ну и стоит всего 10 лямов🙈). Там автор использует deppavlov и наташу именно для поиска NER'ов. Если подскажете как этот код подкрутить можно, чтобы туда можно было добавить в качестве исключений этот list_of_officials - буду вам очень благодарен 😃
источник

IS

I Sh in Natural Language Processing
anonymize() - это будет ваша функция, которая данный токен будет на что-то заменять.
источник

IS

I Sh in Natural Language Processing
Ну, вот так, например, можно:

list_of_officials = ('имя', 'ещё имя',)

anonymized_text = ''

for token in doc.tokens:
   if token.lemma not in list_of_officials:
       anonymized_text += ' ' + '<PIVATE DATA>'
   else:
       anonymized_text += ' ' + token.text
источник

IS

I Sh in Natural Language Processing
Ну, тут я забыл добавить ещё одну проверку - что это не просто токен, а NER-сущность. Добавить её, а то он запрайвитит вам весь текст)))
источник

A

Andrew in Natural Language Processing
я так понимаю, ваш алгоритм нужно вставить где-то в этом месте кода
https://github.com/pituganov/pyanonymizer/blob/main/pyanonymizer/preprocessing.py
источник

IS

I Sh in Natural Language Processing
Не знаю, зачем его туда вставлять)))) Вы берите эти строчки, доработайте их под свои нужны и просто используйте у себя))
источник

A

Andrew in Natural Language Processing
Ладно спасибо за рекомендации и помощь! Надо будет поковыряться с этой наташей. Вот как раз про ещё одну проверку на NER-сущности. Он там использует класс NamesExtractor. А вы предлагаете использовать размеченный на токены текст для начала. Вот этот doc.tokens получается при помощи nltk модуля word_tokenize или в наташе тоже есть своя разметка на токены для дальнейшей обработки? Там же ещё важен контекст, насколько я понимаю.
Ещё заметил что NER-ы кривенько распознаются, многие реальные фамили пропускаются, зато например сущность "площадь Ленина" распознаётся как имя собственное и анонимизруется 🙈. Т.е. получается в этот список исключений нужно ещё добавить все улицы, проспекты, проезды и т.п., содержащие Фамилии в честь кого они названы?
источник

IS

I Sh in Natural Language Processing
Вы не ищите лёгких путей)))

У Наташи свой токенизатор.

Не бывает идеальных открытых NER-моделей, работающих идеально со всеми текстами. Чтобы добиться высокого качества распознавания, вам нужно будет обучать свою модель, заточенную под домен ваших текстов.
источник

A

Andrew in Natural Language Processing
Не столько ищу лёгких путей, сколько быстрых). Ибо пути у руководства неисповедимы, а задачи падают со скоростю снегопада 🙈. Думал уже есть какие-то более менее готовые к употреблению решения по анонимизации... но тут походу без дата-сатанизма не обойтись).
Спасибо за вашу помощь!
источник

AW

Alex Wortega in Natural Language Processing
Ребят, а почему гпт так странно жрет цпу?
источник

ni

n i in Natural Language Processing
это инференс, загрузка, или обучение?
источник

AW

Alex Wortega in Natural Language Processing
Инференс
источник

ni

n i in Natural Language Processing
ну а было указано использовать gpu?
источник

AW

Alex Wortega in Natural Language Processing
Нет
источник

Е

Егорка in Natural Language Processing
Тогда я просто не понял ваш вопрос. Мне казалось, вы хотите не находить какой-то определенный тип сущностей, чтобы, например, повысить скорость работы.
Сейчас мне кажется, что ваша задача проще: анонимизировать личностей, не входящих в определенный заранее список. Тогда это вообще не задача NER, просто будете проверять каждую сущность на вхождение в ваш список.
источник

AZ

Azamat Ziyatdinov in Natural Language Processing
Всем привет!
У кого-нибудь есть ноутбук, в котором имплементирован BERT на русском датасете для задачи классификации? Был бы очень благодарен, если поделитесь 🙃
источник

A

Anton in Natural Language Processing
Что классифицируешь? Предложение? Какие классы?
источник

SM

Sasha Marova in Natural Language Processing
Привет всем. Помогите,пожалуйста,прохожу курс на степике. Сорриномногабукав.Там сделали трансформер сами. Чтобы закодировать позиции слов в инпуте использовали синус и косинус. В принципе,идею я понимаю, правда отдаленно, вот картинка,как выглядит, помогите,пожалуйста,понять код построчно,что происходит,там в задании нужно попробовать по- другому закодировать позиции, я хочу просто квадратной матрицей, типа того (рис.). Но как ее потом добавить в эмбеддинг, я понимаю ни-че-го. Особенно,пожалуйста,помогите разобрать код построчно. Спасибки.эхххх
источник

SM

Sasha Marova in Natural Language Processing
источник

SM

Sasha Marova in Natural Language Processing
источник