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>
- Computing n-grams