Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

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:
  • Prev by Date: Re: Cannot NSolve a system of equations
  • Next by Date: enter key on new Mac MBP
  • Previous by thread: Computing n-grams
  • Next by thread: Re: Computing n-grams