Относительно использования биграммы (N-грамма) для построения векторного элемента для текстового документа

10

Традиционный подход к построению объектов для интеллектуального анализа текста - это подход «мешок слов», и его можно усовершенствовать с помощью tf-idf для настройки вектора объектов, характеризующего данный текстовый документ. В настоящее время я пытаюсь использовать модель языка биграмм или (N-грамм) для построения векторного элемента, но не совсем знаю, как это сделать? Можем ли мы просто следовать подходу «мешок слов», то есть вычислить счетчик частот в терминах биграмм вместо слов и улучшить его с помощью весовой схемы tf-idf?

user3125
источник

Ответы:

4

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

ogrisel
источник
Спасибо. Вы имеете в виду, что моя общая идея вычисления каждого значения функции в терминах биграммы (N-грамм) верна? Другими словами, нет большой разницы в вычислении значений признаков между пакетом слов и моделью N-граммы. Благодарю за разъяснение.
user3125
Да, вы можете использовать оба биграмма + униграммы (слова) в большом наборе функций (при условии, что вы обрезаете наименее частые с некоторым уровнем обрезки).
Огрисель
3

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

Мы сделали это для генерации мешка представления биграмм на треке INEX XML Mining, http://www.inex.otago.ac.nz/tracks/wiki-mine/wiki-mine.asp .

Мы не пытались использовать взаимную информацию между терминами при взвешивании биграмм. См. Https://en.wikipedia.org/wiki/Pointwise_mutual_information , https://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/philip-pmi.pdf и http: //www.nltk. org / howto / collocations.html для лучшего объяснения точечной взаимной информации для биграмм.

См. Https://stackoverflow.com/questions/20018730/computing-pointwise-mutual-information-of-a-text-document-using-python и /programming/22118350/python-sentiment-analysis использование точечной взаимной информации для других вопросов, связанных с этим.

Крис де Врис
источник
битая ссылка :-( ...
Renaud
1
@Renaud Ссылки были обновлены :-)
Крис де Врис
0

Использование случайных проекций для уменьшения размерности данных может оказаться полезным для уменьшения пространства, необходимого для хранения объектов, https://en.wikipedia.org/wiki/Random_projection . Он очень хорошо масштабируется, и каждый пример может быть спроецирован на более низкое размерное пространство независимо и без каких-либо прямых методов оптимизации, таких как PCA, SVD, Sammon Maps, NMF и т. Д.

Крис де Врис
источник