Подтвердить что ты не робот

Как можно преобразовать предложение или документ в вектор?

У нас есть модели для преобразования слов в векторы (например, модель word2vec). Существуют ли аналогичные модели, которые конвертируют предложения/документы в векторы, используя, возможно, векторы, изученные для отдельных слов?

4b9b3361

Ответ 1

1) Пропустить метод графа: здесь и инструмент, который его использует, google word2vec

2) Используя LSTM-RNN для формирования семантических представлений предложений.

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

4) Хотя эта бумага не формирует векторы предложения/параграфа, достаточно просто сделать это. Можно просто подключить отдельные векторы слов (Glove слова векторы, чтобы найти лучшую производительность), а затем может сформировать векторное представление всего предложения/параграфа.

5) Используя CNN, чтобы подвести документы.

Ответ 2

Решение, которое немного меньше от полки, но, вероятно, трудно превзойти с точки зрения точности, если у вас есть конкретная вещь, которую вы пытаетесь сделать:

Создайте RNN (с ячейками памяти LSTM или GRU, сравнение здесь) и оптимизируйте функцию ошибки фактической задачи, которую вы пытаетесь выполнить. Вы кормите его своим предложением и тренируете его, чтобы произвести нужный результат. Активация сети после подачи вашего предложения является представлением предложения (хотя вы можете заботиться только о выходе сети).

Вы можете представить предложение как последовательность однократных закодированных символов, как последовательность однострочных закодированных слов или как последовательность векторов слов (например, GloVe или word2vec). Если вы используете слово-векторы, вы можете поддерживать backpropagating в векторах слов, обновляя их весы, так что вы также получаете настраиваемые векторы слов, специально настроенные для задачи, которую вы выполняете.

Ответ 3

Все зависит от:

  • какую векторную модель вы используете
  • Какова цель модели.
  • ваше творчество при объединении векторов слов в вектор документа

Если вы создали модель с помощью Word2Vec, вы можете попробовать:

Или вы можете делать то, что делают некоторые люди, т.е. суммировать все слова содержания в документах и ​​разделить на содержательные слова, например. https://github.com/alvations/oque/blob/master/o.py#L13 (примечание: строка 17-18 - это взломать шум):

def sent_vectorizer(sent, model):
    sent_vec = np.zeros(400)
    numw = 0
    for w in sent:
        try:
            sent_vec = np.add(sent_vec, model[w])
            numw+=1
        except:
            pass
    return sent_vec / np.sqrt(sent_vec.dot(sent_vec))

Ответ 4

Есть много способов ответить на этот вопрос. Ответ зависит от вашей интерпретации фраз и предложений.

Эти модели распределения, такие как word2vec, которые обеспечивают векторное представление для каждого слова, могут только показать, как слово обычно используется в контексте окна, в зависимости от других слов. Основываясь на этой интерпретации отношений контекстного слова, вы можете взять средний вектор всех слов в предложении как векторное представление предложения. Например, в этом предложении:

вегетарианцы едят овощи.

V_s

Мы можем взять нормированный вектор как векторное представление:

V(sentence)

Проблема заключается в композиционной природе предложений. Если вы берете средние векторы слов, как указано выше, эти два предложения имеют одно и то же векторное представление:

овощи едят вегетарианцев.

Существует множество исследований в распределенной моде, чтобы изучать древовидные структуры посредством обработки корпусов. Например: Разбор с композиционными векторными грамматиками. Этот видео также объясняет этот метод.

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