Size: a a a

Natural Language Processing

2020 March 28

FF

Futorio Franklin in Natural Language Processing
В тг довольно удобно слушать подкасты, можно кешировать аудио, так же есть бот, который вытаскивает аудио из видео
источник

e

e in Natural Language Processing
viktoria rein
Могу прислать сюда же ссылку
Круто.
источник

vr

viktoria rein in Natural Language Processing
Кажется, готово: @neurotea. Будем рады всех видеть)
источник

D

Denis in Natural Language Processing
вот это я вовремя зашел сюда)
источник
2020 March 30

SK

Sergey Korol in Natural Language Processing
Всем привет! Недавно начал изучать spacy. Играюсь с русской моделью. Возник вопрос по NER. Как трейнить доп. entity types я нашёл. Но мне пока не совсем очевидно, какого рода данные надо скармливать. В примерах используются очень простые предложения. Это верный подход, или нужно подбирать намного более сложные примеры для разметки? Или вообще без разницы? П.С. Хочу извлекать данные о помещениях в доме (кухня, ванная, спальня, прихожая и т.п.) и разнообразных устройствах (телевизор, кондиционер, стиральная машина и т.п.).
источник

VI

Vitaly Ivanin in Natural Language Processing
Ну вне зависимости от фреймворка твои трейн предложения должны походить на те, на которых ты будешь применять модель. Иначе все обучение происходило бы моментально
источник

SK

Sergey Korol in Natural Language Processing
Понял, спасибо.
источник
2020 April 02

A

Alexander in Natural Language Processing
Привет! Есть у меня значит два предложения:
   "why isn't Alex's text tokenizing? The house on the left is the Smiths' house"

Давайте сделаем с ними tokenize и decode:
   from transformers import BertTokenizer
   tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', do_lower_case=True)
   tokenizer.decode(tokenizer.convert_tokens_to_ids(tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")))

Получим:
   "why isn't alex's text tokenizing? the house on the left is the smiths'house"

Видим что BERT не справился с задачей. Как можно решить проблему слипания слов по типу smiths'house?
Лично мне кажется что токенизация в Transformers сделана просто неправильно. Давайте посотрим на неё в данном примере:
   tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")

Получим:
   ['why', 'isn', "'", 't', 'alex', "'", 's', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "'", 'house']

Таким образом мы потеряли важную информацию об апострофах на этом шаге. Если бы токенизация была бы проведена иным образом:
   ['why', 'isn', "##'", '##t', 'alex', "##'", '##s', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "##'", 'house']

Вся информация об апострофах была бы сохранена. Вопрос почему так сделано и как исправить ситуацию?
источник

MF

M F in Natural Language Processing
Alexander
Привет! Есть у меня значит два предложения:
   "why isn't Alex's text tokenizing? The house on the left is the Smiths' house"

Давайте сделаем с ними tokenize и decode:
   from transformers import BertTokenizer
   tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', do_lower_case=True)
   tokenizer.decode(tokenizer.convert_tokens_to_ids(tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")))

Получим:
   "why isn't alex's text tokenizing? the house on the left is the smiths'house"

Видим что BERT не справился с задачей. Как можно решить проблему слипания слов по типу smiths'house?
Лично мне кажется что токенизация в Transformers сделана просто неправильно. Давайте посотрим на неё в данном примере:
   tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")

Получим:
   ['why', 'isn', "'", 't', 'alex', "'", 's', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "'", 'house']

Таким образом мы потеряли важную информацию об апострофах на этом шаге. Если бы токенизация была бы проведена иным образом:
   ['why', 'isn', "##'", '##t', 'alex', "##'", '##s', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "##'", 'house']

Вся информация об апострофах была бы сохранена. Вопрос почему так сделано и как исправить ситуацию?
А откуда берт?  В хаггинфейсе вроде можно настроить какие слова не делить
источник

MF

M F in Natural Language Processing
А все. Трансформерс) значит где то там есть
источник

YB

Yuri Baburov in Natural Language Processing
Alexander
Привет! Есть у меня значит два предложения:
   "why isn't Alex's text tokenizing? The house on the left is the Smiths' house"

Давайте сделаем с ними tokenize и decode:
   from transformers import BertTokenizer
   tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', do_lower_case=True)
   tokenizer.decode(tokenizer.convert_tokens_to_ids(tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")))

Получим:
   "why isn't alex's text tokenizing? the house on the left is the smiths'house"

Видим что BERT не справился с задачей. Как можно решить проблему слипания слов по типу smiths'house?
Лично мне кажется что токенизация в Transformers сделана просто неправильно. Давайте посотрим на неё в данном примере:
   tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")

Получим:
   ['why', 'isn', "'", 't', 'alex', "'", 's', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "'", 'house']

Таким образом мы потеряли важную информацию об апострофах на этом шаге. Если бы токенизация была бы проведена иным образом:
   ['why', 'isn', "##'", '##t', 'alex', "##'", '##s', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "##'", 'house']

Вся информация об апострофах была бы сохранена. Вопрос почему так сделано и как исправить ситуацию?
я читал на ODS твоё сообщение.. ну, похоже на баг, да.
источник

A

Alexander in Natural Language Processing
M F
А все. Трансформерс) значит где то там есть
Чего-то не могу найти. В документации есть encode и encode_plus, но не вижу как это настроить.
источник

YB

Yuri Baburov in Natural Language Processing
Alexander
Привет! Есть у меня значит два предложения:
   "why isn't Alex's text tokenizing? The house on the left is the Smiths' house"

Давайте сделаем с ними tokenize и decode:
   from transformers import BertTokenizer
   tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', do_lower_case=True)
   tokenizer.decode(tokenizer.convert_tokens_to_ids(tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")))

Получим:
   "why isn't alex's text tokenizing? the house on the left is the smiths'house"

Видим что BERT не справился с задачей. Как можно решить проблему слипания слов по типу smiths'house?
Лично мне кажется что токенизация в Transformers сделана просто неправильно. Давайте посотрим на неё в данном примере:
   tokenizer.tokenize("why isn't Alex's text tokenizing? The house on the left is the Smiths' house")

Получим:
   ['why', 'isn', "'", 't', 'alex', "'", 's', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "'", 'house']

Таким образом мы потеряли важную информацию об апострофах на этом шаге. Если бы токенизация была бы проведена иным образом:
   ['why', 'isn', "##'", '##t', 'alex', "##'", '##s', 'text', 'token', '##izing', '?', 'the', 'house', 'on', 'the', 'left', 'is', 'the', 'smith', '##s', "##'", 'house']

Вся информация об апострофах была бы сохранена. Вопрос почему так сделано и как исправить ситуацию?
а я у тебя вообще не вижу разделителей слов. скажи, каковы правила разделения слов и вставки пробелов между токенами?
источник
2020 April 03

A

Alexander in Natural Language Processing
Yuri Baburov
а я у тебя вообще не вижу разделителей слов. скажи, каковы правила разделения слов и вставки пробелов между токенами?
Что ты имеешь ввиду под правилами?
Я просто делаю tokenizer.tokenize()
источник

YB

Yuri Baburov in Natural Language Processing
Alexander
Что ты имеешь ввиду под правилами?
Я просто делаю tokenizer.tokenize()
а какая обратная процедура "детокенизации"?
источник

A

Alexander in Natural Language Processing
Yuri Baburov
а какая обратная процедура "детокенизации"?
Просто делаю tokenizer.decode()
источник

YB

Yuri Baburov in Natural Language Processing
Alexander
Просто делаю tokenizer.decode()
смотри прикол:
>>> tokenizer.decode(tokenizer.encode("why isn't Alexs' text tokenizing?The house on the left is the Smiths'house"), clean_up_tokenization_spaces=False)                                            
"[CLS] why isn ' t alexs ' text tokenizing ? the house on the left is the smiths ' house [SEP]"
источник

YB

Yuri Baburov in Natural Language Processing
т.о., это косяк функции decode с ключом удаления пробелов
источник

YB

Yuri Baburov in Natural Language Processing
а на самом деле оно *добавляет* тебе пробел перед и после апострофа
источник

A

Alexander in Natural Language Processing
Yuri Baburov
смотри прикол:
>>> tokenizer.decode(tokenizer.encode("why isn't Alexs' text tokenizing?The house on the left is the Smiths'house"), clean_up_tokenization_spaces=False)                                            
"[CLS] why isn ' t alexs ' text tokenizing ? the house on the left is the smiths ' house [SEP]"
Интересно. Но поможет ли это в решение моего вопроса?
источник