# Sequence models word2vec

I am working on data-set with more than 100,000 records. This is how the data looks like:

email_id    cust_id campaign_name
123         4567     World of Zoro
123         4567     Boho XYz
123         4567     Guess ABC
234         5678     Anniversary X
234         5678     World of Zoro
234         5678     Fathers day
234         5678     Mothers day
345         7890     Clearance event
345         7890     Fathers day
345         7890     Mothers day
345         7890     Boho XYZ
345         7890     Guess ABC
345         7890     Sale


I am trying to understand the campaign sequence and looking for the next possible campaign for the customers.

Assume I have processed my data and stored it in 'camp'.

With Word2Vec-

from gensim.models import Word2Vec

model = Word2Vec(sentences=camp, size=100, window=4, min_count=5, workers=4, sg=0)


The problem with this model is that it accepts tokens and spits out text-tokens with probabilities in return when looking for similarities.

Word2Vec accepts this form of input-

['World','of','Zoro','Boho','XYZ','Guess','ABC','Anniversary','X'...]


And gives this form of output -

model.wv.most_similar('Zoro')
[Guess,0.98],[XYZ,0.97]


Since I want to predict campaign sequence which occurs more frequently in combination with target word, I was wondering if there is anyway I can give below input to the model and get the campaign name in the output

My input to be as -

[['World of Zoro','Boho XYZ','Guess ABC'],['Anniversary X','World of
Zoro','Fathers day','Mothers day'],['Clearance event','Fathers day','Mothers
day','Boho XYZ','Guess ABC','Sale']]


Output -

model.wv.most_similar('World of Zoro')
[Sale,0.98],[Mothers day,0.97]


I am also not sure if there is any functionality within the Word2Vec or any similar algorithms which can help finding the next possible campaign for individual users.