2013-02-25 3 views
1

Я думаю, что мешок слов слишком прост для моей задачи. Я хочу, чтобы кто-то включал позиционную информацию слова в вектор-функцию. Например, «хороший» является вторым с конца и т. Д.Что такое хороший способ включить информацию о местоположении слова в вектор-функцию?

+0

Что мешает вам попробовать эту идею? – Junuxx

+0

Я имею в виду, должен ли я строить вектор для каждой позиции? Это кажется немного редким. – gstar2002

+2

Действительно ли имеет значение, если термин является вторым с конца или четвертого с конца? Если ответ отрицательный, я бы рекомендовал использовать n-граммы вместо униграмм, чтобы захватить немного больше контекста (http://en.wikipedia.org/wiki/N-gram) – etov

ответ

1

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

Например, для предложения the cat ate the mouse функции триграмм будет:

<b> <b> the, <b> the cat, the cat ate, cat ate the, ate the mouse, etc.

И вы можете оставить существующий ЛУК функции, а также.

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

Очевидно, цель состоит в том, чтобы всегда находить правильный баланс между информацией и разрешающей способностью ... это зависит от вашего набора данных, вам нужно поэкспериментировать!