什么是n Gram?

use*_*614 24 sentiment-analysis

我在SO上发现了上一个问题:N-gram:解释+ 2个应用程序.OP给出了这个例子并询问它是否正确:

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, ...]
Run Code Online (Sandbox Code Playgroud)

答案部分有人证实这是正确的,但不幸的是我有点失落,因为我没有完全理解所说的其他一切!我正在使用LingPipe并按照教程说明我应该选择7到12之间的值 - 但不说明原因.

什么是良好的nGram值,在使用像LingPipe这样的工具时应该如何考虑它?

编辑:这是教程:http://cavajohn.blogspot.co.uk/2013/05/how-to-sentiment-analysis-of-tweets.html

zou*_*oul 41

N-gram只是您可以在源文本中找到的相邻单词或长度为n的字母的所有组合.例如,根据这个词fox,所有2克(或"双胞胎")都是foox.您也可以统计单词边界-这将扩大2克的清单#f,fo,ox,和x#,其中#表示单词边界.

您可以在单词级别上执行相同操作.作为一个例子,该hello, world!文本包含下列字级二元语法:# hello,hello world,world #.

n-gram的基本观点是它们从统计的角度捕捉语言结构,就像字母或单词可能遵循给定的一样.时间越长,正克(越高ñ),你必须与之合作的更多内容.最佳长度实际上取决于应用 - 如果你的n-gram太短,你可能无法捕捉到重要的差异.另一方面,如果它们太长,你可能无法捕捉到"一般知识",只能坚持特定情况.

  • 因此,要对推文进行情感分析,我应该如何选择一个数字?只是运气好吗? (2认同)

Kam*_*ran 38

通常一张图片胜过千言万语. 在此输入图像描述

资料来源:http://recognize-speech.com/language-model/n-gram-model/comparison

  • 链接已锁定。 (2认同)