Что такое n грамм?
Я нашел этот предыдущий вопрос по SO: N-граммы: объяснение + 2 приложения. ОП привел этот пример и спросил, был ли он правильным:
Sentence: "I live in NY."
word level bigrams (2 for n): "# I', "I live", "live in", "in NY", 'NY #'
character level bigrams (2 for n): "#I", "I#", "#l", "li", "iv", "ve", "e#", "#i", "in", "n#", "#N", "NY", "Y#"
When you have this array of n-gram-parts, you drop the duplicate ones and add a counter for each part giving the frequency:
word level bigrams: [1, 1, 1, 1, 1]
character level bigrams: [2, 1, 1, ...]
Кто-то в разделе ответов подтвердил, что это правильно, но, к сожалению, я немного растерялся, потому что не до конца понял все, что было сказано! Я использую LingPipe и следую учебному пособию, в котором говорилось, что я должен выбрать значение от 7 до 12, но без указания причины.
Что такое хорошее значение nGram и как его следует учитывать при использовании такого инструмента, как LingPipe?
Изменение: это был учебник: http://cavajohn.blogspot.co.uk/2013/05/how-to-sentiment-analysis-of-tweets.html
Ответы
Ответ 1
N-граммы - это просто все комбинации смежных слов или букв длины n, которые вы можете найти в своем исходном тексте. Например, учитывая слово fox
, все 2 грамма (или "биграммы" ) являются fo
и ox
. Вы можете также подсчитать границу слова - это расширит список из 2-граммов до #f
, fo
, ox
и x#
, где #
обозначает границу слова.
Вы можете сделать то же самое на уровне слов. В качестве примера текст hello, world!
содержит следующие бирамы на уровне слов: # hello
, hello world
, world #
.
Основная точка n-граммов состоит в том, что они фиксируют структуру языка со статистической точки зрения, например, какую букву или слово, вероятно, следует за данным. Чем дольше n-грамм (чем выше n), тем больше контекста вы должны работать. Оптимальная длина действительно зависит от приложения - если ваши n-граммы слишком короткие, вы можете не заметить важные отличия. С другой стороны, если они слишком длинны, вы можете не улавливать "общие знания" и придерживаться конкретных случаев.
Ответ 2
Обычно изображение стоит тысячи слов. ![введите описание изображения здесь]()
Источник: http://recognize-speech.com/language-model/n-gram-model/comparison
Ответ 3
n-gram - это n-tuple или группа из n слов или символов (граммов, для фрагментов грамматики), которые следуют друг за другом, Таким образом, n из 3 слов из вашего предложения будет выглядеть как "Я живу", "Я живу", "Живу в Нью-Йорке", "в Нью-Йорке". Это используется для создания индекса того, как часто слова следуют друг за другом. Вы можете использовать это в Markov Chain, чтобы создать нечто, что будет похоже на язык. Когда вы заполняете отображение распределений групп слов или групп символов, вы можете рекомбинировать их с вероятностью, что выход будет близок к естественному, чем длиннее n-грамм.
Слишком высокое число, и ваш вывод будет словом для копии слова оригинала, слишком низким для числа, и выход будет слишком грязным.
Ответ 4
Присутствует ли N-грамм больше, чем значение n = 3 (триграммы)?
Если да, то кто-нибудь Пожалуйста, дайте мне N граммов для n = 4, n = 5, n = 6 и n = 7 для предложения " собака, которая лает не кусается " и до какого значения N мы можем найти th N граммов. Вот и я giving-
Unigrams (n = 1): собака, которая лает, не кусается
Биграммы (n = 2): собака, которая лает, лает, не кусается
Триграммы (n = 3): собака, которая лает, что лает, лает нет, не кусается
Скажи мне, если это правильно.