Re: Computing n-grams

*To*: mathgroup at smc.vnet.net*Subject*: [mg88943] Re: [mg88913] Computing n-grams*From*: Sseziwa Mukasa <mukasa at jeol.com>*Date*: Thu, 22 May 2008 02:34:28 -0400 (EDT)*References*: <200805211849.OAA10371@smc.vnet.net>

On May 21, 2008, at 2:49 PM, Coleman, Mark wrote: > Greetings, > > Imagine one has a list such as {a,b,c,d,e,f,g}. I'm trying to find an > efficient way in Mathematica to compute the n-grams of the list. > That is, for > n=2, the n-grams are all the lists of length 2 consisting of > consecutive > elements, e.g., > > {a,b},{b,c},{c,d},{d,e},... > > While for n=3, > > {a,b,c},{b,c,d},{c,d,e},..., and so on. > > As I understand it, the built-in Mathematica commands such as > Subsets or > Permutations compute all possible list of size n, without regard to > the > order of the list elements. I don't think you need to use Combinatorica, nGram[l_,n_]:=Table[l[[Range[i,i+n-1]]],{i,Length[l]-n+1}] will give you the desired list.

**References**:**Computing n-grams***From:*"Coleman, Mark" <Mark.Coleman@LibertyMutual.com>