Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
слова встречаются в предложении и в каком порядке
1
. Однако для длинного текста
размер такого вектора окажется неприемлемо большим. Например, в английском
языке предложение в среднем содержит 18 слов. Если словарь состоит из 10 000 слов,
представление одногоединственного предложения потребует 180 000 чисел — на
много большего объема памяти, чем занимает само предложение. И это не говоря
о том, что в некоторых задачах обработки текста приходится иметь дело с абзацами
или целыми статьями, состоящими из намного большего числа слов, в результате
чего размер представления и объем вычислений вырастет до совершенно непри
личных размеров.
Один из способов решения этой проблемы — включить все слова в один вектор,
элементы которого отражают наличие/отсутствие соответствующего слова в тексте
(см. блок В на рис. 9.6). В этом представлении значение 1 может быть у нескольких
элементов вектора. Именно поэтому иногда его называют
федеративным кодирова-
нием
(multihot encoding). Федеративное кодирование отличается фиксированной
длиной, равной размеру словаря, вне зависимости от длины текста, а значит, решает
проблему роста размера, правда, за счет потери информации о порядке слов: по фе
деративному вектору невозможно определить, какие слова шли за какими в тексте.
Для некоторых задач это неважно, но для некоторых других такой вариант непри
емлем. Существуют более изощренные представления, которые решают проблему
роста размера, сохраняя информацию о порядке. Мы обсудим их далее в этой главе.
Но сначала взглянем на конкретную задачу машинного обучения, связанную с обра
боткой текста, которую можно решить с удовлетворительной точностью с помощью
федеративного подхода.
9.2.2. Первая попытка анализа тональностей
В первом примере применения машинного обучения к тексту воспользуемся на
бором данных интернетбазы кинофильмов (IMDb). Он представляет собой набор
из примерно 25 000 текстовых обзоров фильмов с сайта
imdb.com
, маркированных
как позитивные или негативные. Задача машинного обучения состоит в бинарной
классификации, то есть в определении того, является конкретный обзор фильма по
зитивным или негативным. Набор данных симметричен (50 % позитивных обзоров
и 50 % негативных). Как и следует ожидать от онлайнобзоров, длины примеров
данных сильно различаются. Некоторые из них состоят всего из десяти слов, а дру
гие могут достигать 2000 слов. Вот пример типичного обзора, маркированного как
негативный. Пунктуация в этом наборе данных опущена:
the mother in this movie is reckless with her children to the point of neglect i wish i wasn't
so angry about her and her actions because i would have otherwise enjoyed the flick what
a number she was take my advise and fast forward through everything you see her do until
the end also is anyone else getting sick of watching movies that are filmed so dark anymore
one can hardly see what is being filmed as an audience we are impossibly involved with the
actions on the screen so then why the hell can't we have night vision
1
В предположении, что в нем нет OOVслов.
Do'stlaringiz bilan baham: |