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: [mg88965] Re: [mg88913] Computing n-grams
  • From: "W_Craig Carter" <ccarter at mit.edu>
  • Date: Thu, 22 May 2008 02:38:38 -0400 (EDT)
  • References: <200805211849.OAA10371@smc.vnet.net>

Hello Mark,
I believe this may work for your purposes:

t = {a, b, c, d, e, f, g}

Transpose[NestList[RotateLeft[#] &, t, 1]]

Transpose[NestList[RotateLeft[#] &, t, 2]]

Kind Regards, WCC

On Wed, May 21, 2008 at 2:49 PM, Coleman, Mark
<Mark.Coleman at libertymutual.com> 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.
>
> Thanks,
>
> Mark
>
>
>



-- 
W. Craig Carter


  • References:
  • Prev by Date: Re: Computing n-grams
  • Next by Date: Re: Redundant manipulate
  • Previous by thread: Re: Computing n-grams
  • Next by thread: Re: Computing n-grams