Подсчет баллов (не признание) - PullRequest
5 голосов
/ 26 февраля 2020

Я пытаюсь понять часть машинного обучения, стоящую за Google Smart Linkify . В статье говорится следующее относительно их generate candidate entities модели.

Заданный входной текст сначала разбивается на слова (на основе разделения пробелов), а затем все возможные подпоследовательности слов определенной максимальной длины (15 слов в в нашем случае), и для каждого кандидата нейроны оценки net присваивают значение (от 0 до 1) в зависимости от того, представляет ли оно действительную сущность:

enter image description here

Затем сгенерированные сущности, которые перекрываются, удаляются, отдавая предпочтение тем, у которых более высокий балл, по сравнению с конфликтующими с более низким баллом.

Если я правильно понимаю модель пробует каждое слово в предложении и комбинацию этого слова, всего до 15 слов?

Как вы можете обучить такую ​​модель? Я предполагаю, что это контролируемое обучение, но не понимаю, как такие данные могут быть помечены. Это похоже на NER, где сущность указана позицией символа? И в данных entity и non-entity.

есть только 2 объекта. И для вывода модели, так называемой "оценки кандидата", как нейронная сеть может возвращать одно числовое значение? (счет). Или выходной слой является просто одним узлом?

Более подробное объяснение:

  • Possible word subsequences of certain maximum length означает, что он рассматривает каждое слово с 7 словами до и 7 после слова?
  • Как нейронный net может получить оценку, когда его двоичная классификация entity и non-entity? Или они имеют в виду показатель вероятности для сущности?
  • Как обучить двоичному NER? Как и любой другой NER, за исключением замены всех сущностей на тип «сущность» и последующего генерирования отрицательных выборок для non-entity?
  • Как эта модель может быть быстрой, как они утверждают, когда она обрабатывает каждое слово в тексте плюс 7 слов до и после сказанного слова?

- это то, что я ищу, чтобы понять.

1 Ответ

3 голосов
/ 01 марта 2020

Возможные подпоследовательности слов определенной максимальной длины означают, что он рассматривает каждое слово с 7 словами до и 7 после слова?

Как я понимаю из документации, ваше описание не соответствует Совершенно верно. Поскольку оценивается каждая возможная последовательность длиной до 15 слов, это будет включать слово с 7 словами до и после него, а также это слово с 5 словами до и 3 после него и т. Д. c. (т. е. каждый возможный N-грамм между len (1) и len (15). Выводятся начальные вероятности, сравниваются перекрывающиеся строки и любые перекрытия с более низкими вероятностями отбрасываются, так что окончательные кандидаты не перекрываются.

Как нейронная net может генерировать оценку, когда она является двоичной классификационной сущностью и не-сущностью? Или они означают оценку вероятности для сущности?

Согласно Блог AI AI , «для каждого кандидата нейроны оценки net присваивают значение (от 0 до 1) в зависимости от того, представляет ли оно действительную сущность». Так что это будет вероятностью.

Как обучить двоичный NER? Как и любой другой NER, кроме замены всех сущностей на тип «сущность» и последующего генерирования отрицательных выборок для не-сущности?

Да, но, поскольку это модель персептрона многие двоичные классификаторы будут обучены, и каждый будет функционировать как нейрон в модели. Важно отметить, что классификатор только классифицирует сущность / не сущность, а не тип сущности. В посте также обсуждается автоматическое создание отрицательных выборок путем взятия положительной выборки (отмеченной начальным токеном и конечным токеном в строке) и намеренно включающей токен до или после этой сущности. Этот метод значительно увеличил бы размер обучающих данных.

Как эта модель может быть быстрой, как они утверждают, когда она обрабатывает каждое слово в тексте плюс 7 слов до и после указанного слова?

Вычислительная стоимость взятия относительно небольшой струны (длина 15) и подгонки ее к модели невелика. Вычислительная стоимость деления более длинной строки на подстроки этой длины также довольно мала. Даже если длина текста составляет 5000 слов (что было бы огромным для запроса такого рода), это всего лишь около 600 000 н-грамм, и большинство из них будут иметь очень низкие показатели. Насколько я понимаю, наиболее значительная вычислительная стоимость этих подходов заключается в обучении модели. Именно здесь используется метод «встраивания хеш-символов», рассмотренный в посте.

...