Now we have a trained models, lets take a list of keywords and find the business with the most similar reviews.


In [42]:
import pandas as pd
import pickle
import numpy as np
import pandas as pd
import pickle
import numpy as np

sys.path.append('../vectorsearch/')
import nltk_helper
import gensim

# Load the bar review dataset 
review = pd.read_pickle('../output/bar_reviews_cleaned_and_tokenized.pickle')
review.head(2)

model = gensim.models.Doc2Vec.load('../output/doc2vec_bars.model')

In [34]:
%autoreload 2 




def get_mean_word_vector(words, model):
    '''
    Given a dict of words and weights, determine the mean vector.
    words : dict
        Dict containing search terms and weights
    ''' 
    mean = np.zeros(model[words.keys()[0]].shape[0])
    vec = np.sum([model[word]*weight for (word, weight) in words.items()])
    return vec/np.dot(vec,vec)
    
def get_mean_doc_vector(review_ids, model):
    '''
    Given a list of review_ids, determine the mean vector.
    
    reviews : pandas_dataframe
    
    words : dict
        Dict containing search terms and weights
    ''' 
    # Indices of documents 
    idx = np.array(model.docvecs.indexed_doctags(review_ids)[0])
    return np.sum(model.docvecs[idx], axis=0)
    
    
def dot_business(words, business_id, review):
    '''
    Find the mean cosine similarity over all reviews given a dict of words, and a business_id     
    
    words : dict
        Dict containing search terms and weights
    business_id : str
        str containing the business_id of interest.
        
    Returns
    ---------------
    similarity: float
        average cosine similarity of the word vector dotted onto the business reviews.  
    
    ''' 
    # Get the aggregate weighted word vector
    mean_words = get_mean_word_vector(words, model)
    # List the review ids associated with the given business
    review_ids = review_helper.get_review_ids(business_id, review)
    
    # Find similarity of the word vector and each review vector
    # First get the review indices in the doc2vec model 
    idx = np.array(model.docvecs.indexed_doctags(review_ids)[0])
    # Dot the business onto the mean words and average.
    # TODO: IS averaging the best?  Maybe we should take average over some threshold... 
    try:
        return np.max(np.dot(model.docvecs.doctag_syn0[idx], mean_words))
    except:
        print idx
business_ids = list(set(review.business_id.values[:10000]))
#print business_ids
cos_sim = [dot_business(words={'beer':10}, business_id=bus_id, review=review) for bus_id in business_ids]
print cos_sim
print np.argmax(cos_sim)
print review[business_ids[np.argmax(cos_sim)]==review.business_id].text.values


[0.03018349, 0.048298355, 0.047450565, 0.045716219, 0.034725033, 0.050144713, 0.048079018, 0.033967938, 0.044631425, 0.042930584, 0.042539414, 0.05046545, 0.049455069, 0.039392114, 0.031757724, 0.045100436, 0.039317604, 0.037079711, 0.037548412, 0.031666655, 0.036439285, 0.04620016, 0.044983082, 0.043383166, 0.042633962, 0.036718637, 0.038078286, 0.036916215, 0.049908012, 0.057226118, 0.036571726, 0.041692805, 0.039966062, 0.046239894, 0.051822498, 0.03698761, 0.038268931, 0.035325721, 0.049939983, 0.033832401, 0.031337637, 0.030860968, 0.03991903, 0.047244105, 0.044191163, 0.051531661, 0.040834837, 0.038522884, 0.029391523, 0.035072885, 0.030205453, 0.039120685, 0.03942303, 0.029587492, 0.045125455, 0.044605386, 0.029474536, 0.034709014, 0.040711265, 0.042947337, 0.041750092, 0.044095855, 0.037610024, 0.049462572, 0.055601545, 0.043686174, 0.043062862, 0.02967174, 0.044455636, 0.048898164, 0.048508283, 0.038926031, 0.034999616, 0.042092092, 0.039236132, 0.04528226, 0.039284952, 0.034321632, 0.041038156, 0.03408676, 0.045798074, 0.041127317, 0.042120539, 0.03675998, 0.024019884, 0.041497447, 0.041616429, 0.046409104, 0.03344316, 0.038842533, 0.032763753, 0.035766147, 0.040106587, 0.032241389, 0.053529028, 0.04712284, 0.058512781, 0.031143801, 0.03852753, 0.040645402, 0.038688634, 0.042455018, 0.035237785, 0.036527503, 0.039780993, 0.047541849, 0.035790026, 0.054610413, 0.03962189, 0.038209602, 0.034650207, 0.058751944, 0.040116385, 0.042103592, 0.039238028, 0.030541407, 0.035849247, 0.034710884, 0.036231417, 0.042723417, 0.044531789, 0.036721963, 0.045793973, 0.039212525, 0.038941737, 0.052062694, 0.036982898, 0.047418956, 0.040582947, 0.036827601, 0.044516105, 0.041692026, 0.033468429, 0.03557409, 0.047574736, 0.045114659, 0.045601152, 0.036667496, 0.028180223, 0.038907073, 0.044867657, 0.038084172, 0.039797306, 0.035610154, 0.05235669, 0.041302826, 0.039343972, 0.042690691, 0.032640021, 0.036974024, 0.045029636, 0.034330677, 0.045022108, 0.034631263, 0.042205554, 0.043117359, 0.046072539, 0.019328732, 0.044719733, 0.034074914, 0.046590094, 0.041376799, 0.046890065, 0.04502812, 0.042058423, 0.038805939, 0.056964662, 0.038091954, 0.044739764, 0.039337713, 0.038494304, 0.036568772, 0.041893199, 0.037388865, 0.033227563, 0.039052345, 0.03153336, 0.046002999, 0.025426006, 0.046426542, 0.046482027, 0.042567309, 0.042769291, 0.0470214, 0.032104649, 0.042401183, 0.04732421, 0.036772408, 0.037183378, 0.04109969, 0.042609885, 0.029487967, 0.037660025, 0.035584003, 0.044832688, 0.046839986, 0.038212761, 0.048087854, 0.039707337, 0.044412706, 0.04742856, 0.039048158, 0.036649574, 0.036879275, 0.035203684, 0.043956138, 0.030895324, 0.033189923, 0.050756264, 0.033718109, 0.039845221, 0.035245769, 0.046360519, 0.048151739, 0.040187117, 0.031344444, 0.044969521, 0.032980785, 0.041291513, 0.038638342, 0.040180489, 0.046478879, 0.039198253, 0.037954003, 0.036311571, 0.047726668, 0.040956948, 0.032781709, 0.037838425, 0.031171625, 0.030678051, 0.046655603, 0.032149933, 0.041830279, 0.038905267, 0.026628986, 0.042441629, 0.033979982, 0.048304558, 0.030589877, 0.034594916, 0.046900738, 0.032942817, 0.038465172, 0.039652858, 0.043998912, 0.043911457, 0.030919258, 0.037456829, 0.031596377, 0.036804717, 0.049231399, 0.045012869, 0.039071325, 0.036442269, 0.048534747, 0.033389032, 0.044798013, 0.043298986, 0.041677427, 0.03358217, 0.041199949, 0.036470294, 0.038696643, 0.047152892, 0.041060805, 0.049823128, 0.044339843, 0.030619765, 0.039895412, 0.048898257, 0.038700193, 0.041444555, 0.053260423, 0.039395195, 0.043266874, 0.048103753, 0.043750551, 0.041615721, 0.052330822, 0.039001301, 0.038947422, 0.044161327, 0.02954044, 0.040095914, 0.047286168, 0.039958801, 0.045969538, 0.042884629, 0.04363944, 0.031735059, 0.049455773, 0.041136455, 0.040967107, 0.046998184, 0.033610679, 0.034986105, 0.047181368, 0.043015476, 0.052408028, 0.048044637, 0.046829693, 0.040038981, 0.037356943, 0.043170769, 0.031401038, 0.032390099, 0.044600572, 0.051523004, 0.040110458, 0.042468116, 0.037835304, 0.046018202, 0.040833119, 0.041007828, 0.046760265, 0.034307215, 0.03921048, 0.04029033, 0.042430121, 0.045052942, 0.045738295, 0.04487567, 0.044698197, 0.040802497, 0.039420329, 0.038076568, 0.040993035, 0.037268188, 0.045499589, 0.036353037, 0.041209731, 0.032232162, 0.035922348, 0.040647473, 0.033583663, 0.042945515, 0.045248833, 0.04033839, 0.058050893, 0.039775558, 0.038693715, 0.04204262, 0.046981372, 0.038956348, 0.041422099, 0.041406915, 0.036299992, 0.040932041, 0.042746589, 0.047133602, 0.044562466, 0.051160727, 0.033549722, 0.032320432, 0.037813075, 0.043083645, 0.039758954, 0.044581402, 0.037539963, 0.042267434, 0.034988604, 0.031890519, 0.046059147, 0.036417171, 0.035701606, 0.049142338, 0.041199449, 0.04717977, 0.036501583, 0.027168898, 0.031949002, 0.025858207, 0.030620273, 0.043857921, 0.036861941, 0.035663754, 0.044386979, 0.037292894, 0.035054773, 0.031852134, 0.042728338, 0.0358731, 0.038892798, 0.030805921, 0.047946323, 0.046204846, 0.037070237, 0.03301727, 0.039019682, 0.038667917, 0.041006614, 0.032644816, 0.04188779, 0.024426267, 0.042722128, 0.044504941, 0.042872425, 0.031618204, 0.030763654, 0.042734899, 0.033596635, 0.036928486, 0.043155935, 0.033814318, 0.036882319, 0.043664336, 0.033514462, 0.039439242, 0.047124565, 0.04732912, 0.048763096, 0.04319834, 0.040064711, 0.03454097, 0.043192577, 0.028807407, 0.046809096, 0.038053118, 0.043711308, 0.042530537, 0.04028352, 0.041919798, 0.038560305, 0.043173201, 0.030357815, 0.046769328, 0.039006546, 0.029268779, 0.044161335, 0.041394677, 0.032453574, 0.044059061, 0.04408592, 0.041280124, 0.052804083, 0.041200977, 0.051216681, 0.039650645, 0.050107658, 0.037977934, 0.042549636, 0.033657748, 0.039537359, 0.040638961, 0.043194316, 0.04888171, 0.042024642, 0.046255108, 0.035609651, 0.043560814, 0.034302272, 0.033736348, 0.033673983, 0.031802587, 0.042634346, 0.043635391, 0.026264194, 0.043298215, 0.03688458, 0.043582566, 0.040404987, 0.046298027, 0.046674497, 0.05143043, 0.03873859, 0.051957484, 0.035487514, 0.041228168, 0.033978973, 0.036535267, 0.043616351, 0.036581263, 0.04332142, 0.046603948, 0.042220864, 0.037682518, 0.035519328, 0.04514828, 0.039153095, 0.048587598, 0.040644899, 0.036097083, 0.035221361, 0.040973485, 0.042078279, 0.041253023, 0.043114047, 0.036122832, 0.044555366, 0.055951938, 0.041172992, 0.039215863, 0.04408858, 0.033589907, 0.036748223, 0.036633428, 0.038069602, 0.045155928, 0.040044744, 0.039167892, 0.03867311, 0.039841957, 0.040406547, 0.04244737, 0.043556806, 0.038233347, 0.046195254, 0.051914569, 0.040126219, 0.05065887, 0.042610671, 0.033331804, 0.043506846, 0.033827405, 0.047151305, 0.047486201, 0.035316404, 0.048635259, 0.048594344, 0.040413875, 0.045111626, 0.047795482, 0.039053347, 0.043075133, 0.036858052, 0.043583278, 0.043192144, 0.043600738, 0.041081905, 0.040377155, 0.032412622, 0.033148225, 0.036882546, 0.040726453, 0.057022572, 0.042644236, 0.035075068, 0.04805528, 0.037330434, 0.044367243, 0.03783736, 0.039207447, 0.037394781, 0.038824599, 0.042137869, 0.042998563, 0.033233073, 0.038069479, 0.041028697, 0.039604016, 0.040544663, 0.035934579, 0.037788264, 0.034580879, 0.039458569, 0.036621962, 0.045510225, 0.049518265, 0.047794167, 0.043316357, 0.037003547, 0.039532796, 0.041380338, 0.042665027, 0.034635648, 0.046149723, 0.040520586, 0.046018686, 0.034516022, 0.047128048, 0.049298491, 0.026863877, 0.03703972, 0.030478515, 0.044826075, 0.032838736, 0.030111726, 0.050202046, 0.037335776, 0.042479135, 0.031783111, 0.036602419, 0.053483758, 0.049272861, 0.046135206, 0.038353931, 0.036820821, 0.029482108, 0.035864096, 0.047202278, 0.040544298, 0.046594072, 0.039786868, 0.036272876, 0.039824702, 0.035080139, 0.040117446, 0.046085205, 0.044700872, 0.040623859, 0.0403805, 0.030756455, 0.04905482, 0.050818473, 0.037003621, 0.038705807, 0.027875612, 0.035609022, 0.042249966, 0.041358527, 0.041822266, 0.040797621, 0.042249851, 0.041508485, 0.029595787, 0.040466726, 0.039807737, 0.035119403, 0.043790702, 0.03394343, 0.054609038, 0.045331877, 0.037466958, 0.045800127, 0.045895524, 0.030587636, 0.049799126, 0.053191282, 0.035583165, 0.033671033, 0.034939878, 0.035134021, 0.04548692, 0.036298718, 0.034370229, 0.042903345, 0.031447239, 0.045614183, 0.037646506, 0.030006161, 0.042323504, 0.043891463, 0.044196296, 0.028458966, 0.045287177, 0.039663184, 0.030175271, 0.027596911, 0.045279551, 0.043729365, 0.041890305, 0.047628369, 0.057278082, 0.046362497, 0.047425643, 0.045262847, 0.038141098, 0.055959437, 0.047778465, 0.041899916, 0.035757355, 0.045442794, 0.048075821, 0.041196384, 0.035512283, 0.045520179, 0.036691476, 0.043817557, 0.04633408, 0.039848931, 0.051119987, 0.047917217, 0.032987099, 0.029318348, 0.044435684, 0.041116841, 0.048502214, 0.037824161, 0.046426523, 0.030961154, 0.038295653, 0.037251495, 0.045363206, 0.043787148, 0.029733106, 0.037145499, 0.05191949, 0.032475501, 0.040627722, 0.040864933, 0.052307189, 0.041040909, 0.033606831, 0.038225781, 0.040229063, 0.03900208, 0.030768564, 0.045701176, 0.043850731, 0.028683513, 0.038642459, 0.05060095, 0.040862635, 0.04749877, 0.038471475, 0.041351128, 0.045257956, 0.046691425, 0.037490755, 0.032358769, 0.035070468, 0.041204806, 0.037033539, 0.040281389, 0.036628179, 0.046334475, 0.04351851, 0.048924979, 0.034818351, 0.039695788, 0.041602891, 0.043656647, 0.033969313, 0.056051943, 0.033525385, 0.034099914, 0.029067704, 0.038538437, 0.03081231, 0.030921524, 0.027037488, 0.031868801, 0.036200885, 0.044561371, 0.045607615, 0.036184534, 0.035095189, 0.031795099, 0.059983771, 0.053151242, 0.033256393, 0.046691451, 0.037235916, 0.039146569, 0.043298557, 0.039571241, 0.030779514, 0.04147787, 0.043730404, 0.028065201, 0.040206254, 0.035132058, 0.04296561, 0.036865603, 0.045066599, 0.032543603, 0.040525567, 0.045790035, 0.038455468, 0.043190166, 0.03384557, 0.025632111, 0.025899887, 0.030614967, 0.043131031, 0.064230032, 0.04245808, 0.038368721, 0.041482702, 0.03986726, 0.036898863, 0.041347329, 0.044804662, 0.039811183, 0.039178014, 0.039690811, 0.046357531, 0.045994937, 0.034784675, 0.032745019, 0.040905107, 0.030549329, 0.031082384, 0.043511011, 0.048722744, 0.056100465, 0.035867009, 0.032988448, 0.037203096, 0.04229239, 0.037738867, 0.03495355, 0.042145718, 0.043306764, 0.030601744, 0.035472665, 0.024578664, 0.024010999, 0.033226512, 0.045489818, 0.042783793, 0.037685815, 0.04330349, 0.042293418, 0.048440147, 0.035091724, 0.048834756, 0.041612312, 0.036462795, 0.037793234, 0.041012693, 0.050543293, 0.039333373, 0.045465834, 0.04669131, 0.045786895, 0.037738089, 0.049185734, 0.038839042, 0.050197378, 0.037864652, 0.041521527, 0.035310816, 0.029914739, 0.041569177, 0.033172991, 0.043283105, 0.042851735, 0.036589682, 0.043510176, 0.041179515, 0.032416102, 0.043761402, 0.02876441, 0.042482626, 0.042157799, 0.038645253, 0.048750799, 0.040622827, 0.043269366, 0.036733404, 0.043636773, 0.035324141, 0.037237186, 0.033109292, 0.040070616, 0.045720842, 0.040612187, 0.045554295, 0.050808314, 0.029784525, 0.04693329, 0.03351374, 0.041135486, 0.040589388, 0.029291091, 0.037827194, 0.041994706, 0.034961391, 0.044214603, 0.042393219, 0.041280847, 0.041611634, 0.045476187, 0.0343928, 0.03912029, 0.043664664, 0.036832023, 0.039860442, 0.032792065, 0.031744219, 0.036551639, 0.044606894, 0.042302702, 0.041826058, 0.034317851, 0.051665261, 0.045313768, 0.044286955, 0.03863835, 0.039736778, 0.050507341, 0.029443497, 0.042812675, 0.048503969, 0.03855747, 0.042265419, 0.035923205, 0.037143964, 0.036906209, 0.036205944, 0.057962064, 0.039180003, 0.037700407, 0.043336209, 0.050647661, 0.034991506, 0.039119896, 0.039579749, 0.046278793, 0.048370518, 0.037759405, 0.042597488, 0.043326095, 0.03110441, 0.031982418, 0.03458501, 0.038617153, 0.04087374, 0.038379468, 0.031348769, 0.036853191, 0.037307866, 0.031107638, 0.041308977, 0.043451879, 0.044165261, 0.038884751, 0.038099647, 0.042391133, 0.040900402, 0.033797339, 0.042746667, 0.03330756, 0.032240629, 0.042725243, 0.042761546, 0.042712063, 0.031441633, 0.038788263, 0.039323956, 0.039176762, 0.030731799, 0.042009026, 0.040394306, 0.041284934, 0.036449838, 0.045910764, 0.048902772, 0.039858721, 0.032015372, 0.038995016, 0.045872115, 0.032546345, 0.033716232, 0.041371495, 0.037879955, 0.041758694, 0.04730368, 0.038839839, 0.043213017, 0.037799072, 0.036824662, 0.040819995, 0.052893348, 0.042724546, 0.033169951, 0.039180543, 0.044823673, 0.036365826, 0.039664958, 0.039226986, 0.03127965, 0.038946543, 0.041322529, 0.041254595, 0.050491087, 0.027795406, 0.04351972, 0.040273476, 0.048400026, 0.044042997, 0.03369002, 0.036325205, 0.03269795, 0.035570744, 0.039456088, 0.027043577, 0.031228542, 0.03571276, 0.036537196, 0.032485347, 0.041153178, 0.037564445, 0.048081551, 0.053262599, 0.043744527, 0.040595829, 0.036375817, 0.047495969, 0.043642465, 0.032133918, 0.0361939, 0.029462676, 0.042847849, 0.041676469, 0.033962999, 0.032262139, 0.054502469, 0.049687468, 0.034634687, 0.035614684, 0.041859634, 0.03235653, 0.041446749, 0.041088805, 0.038485799, 0.031421345, 0.039065953, 0.03708788, 0.026126163, 0.044052552, 0.030842239, 0.033648808, 0.045423523, 0.03632383, 0.035080444, 0.038733274, 0.038689371, 0.034357592, 0.036072046, 0.02974974, 0.047157329, 0.038796175, 0.042669345, 0.026348326, 0.042162009, 0.048305631, 0.024401644, 0.046511367, 0.036461167, 0.050222408, 0.037112728, 0.046560299, 0.03855969, 0.04158463, 0.039643999, 0.035978787, 0.024753107, 0.036031611, 0.025977924, 0.042320233, 0.026429573, 0.046054017, 0.049133535, 0.039046552, 0.034364808, 0.033948652, 0.047327526, 0.041123044, 0.043262932, 0.04570007, 0.035948686, 0.05200956, 0.045620684, 0.04295345, 0.038205221, 0.041539919, 0.044320211, 0.03968918, 0.04042967, 0.033061523, 0.038838219, 0.040392071, 0.037278559, 0.03673109, 0.038616553, 0.045817208, 0.044509519, 0.046915036, 0.041424669, 0.037253223, 0.045993365, 0.042005274, 0.039508443, 0.047953419, 0.045312304, 0.045084853, 0.035120234, 0.044274382, 0.029075971, 0.056096435, 0.046011921, 0.049487375, 0.035379924, 0.047291633, 0.040772624, 0.041431952, 0.037048768, 0.038658168, 0.045878787, 0.028601971, 0.039132558, 0.041662574, 0.039040342, 0.040941913, 0.042877696, 0.042245004, 0.047818344, 0.034382839, 0.034718331, 0.024124946, 0.0419713, 0.036153652, 0.040021539, 0.038772713, 0.035776138, 0.047845393, 0.035501059, 0.038847052, 0.043348979, 0.038826279, 0.043717947, 0.025225509, 0.040965986, 0.048377611, 0.042990234, 0.039066199, 0.040370602, 0.044096675, 0.033767264, 0.043069754, 0.03962481, 0.042263579, 0.041448709, 0.036890578, 0.02964502, 0.039920211, 0.047151256, 0.045352895, 0.041977733, 0.05444587, 0.054551415, 0.047187261, 0.040887944, 0.051102724, 0.050444119, 0.03683177, 0.036915734, 0.040234838, 0.041439667, 0.046689123, 0.034905434, 0.040905595, 0.034973722, 0.034505349, 0.033731442, 0.050545618, 0.041540083, 0.040688772, 0.037458967, 0.035186123, 0.03936056, 0.040958099, 0.044375338, 0.039159205, 0.044524685, 0.03536956, 0.029105507, 0.035456832, 0.043360535, 0.03026922, 0.044590041, 0.032530468, 0.043274306, 0.037298966, 0.039810263, 0.037818998, 0.032680623, 0.046044424, 0.040477935, 0.042272028, 0.030534364, 0.046528254, 0.039280932, 0.039307922, 0.037496012, 0.041812517, 0.041365821, 0.044100892, 0.036250643, 0.044103134, 0.056726385, 0.050453924, 0.03900288, 0.037150349, 0.031363882, 0.041886054, 0.033304647, 0.044099662, 0.033082161, 0.034858506, 0.044062175, 0.045741647, 0.043830991, 0.033152007, 0.030603005, 0.046204917, 0.038556356, 0.036173508, 0.03453657, 0.042892203, 0.040209346, 0.035004582, 0.034751967, 0.037604429, 0.042642202, 0.045612328, 0.040697753, 0.039517451, 0.058978133, 0.045728445, 0.033532497, 0.056622799, 0.038310926, 0.036251746, 0.034229815, 0.04195736, 0.044427305, 0.043997675, 0.025506211, 0.047197204, 0.030126879, 0.042919464, 0.035735697, 0.042037733, 0.050595708, 0.050390325, 0.043895494, 0.038157839, 0.039659411, 0.058405012, 0.037272368, 0.054628178, 0.037577029, 0.030219903, 0.043511301, 0.035408542, 0.034737591, 0.041555986, 0.046417963, 0.03435367, 0.041897163, 0.051175714, 0.042349227, 0.044879388, 0.043727197, 0.028058326, 0.043363772, 0.031658698, 0.038374204, 0.042837877, 0.043354556, 0.033105761, 0.034239054, 0.043812476, 0.042399783, 0.034248959, 0.039503403, 0.039510619, 0.038762268, 0.043922678, 0.043730509, 0.045369443, 0.03785589, 0.034227416, 0.042765439, 0.038599782, 0.039710324, 0.040895611, 0.038777057, 0.030288978, 0.034480106, 0.042008337, 0.043325525, 0.046631087, 0.043605503, 0.040898997, 0.042243689, 0.037820805, 0.053879332, 0.035648461, 0.047845904, 0.036512382, 0.056889299, 0.035341825, 0.04021769, 0.052463934, 0.042911429, 0.040535558, 0.039947793, 0.041676309, 0.033285007, 0.04145366, 0.039270353, 0.047299482, 0.032300215, 0.034244679, 0.03105082, 0.040492348, 0.034169, 0.044228114, 0.047385946, 0.032249622, 0.048494603, 0.038880948, 0.040005073, 0.030291479, 0.048685003, 0.034425382, 0.046196584, 0.027297376, 0.039359566, 0.036485262, 0.048044153, 0.026660729, 0.053763051, 0.034898605, 0.045278423, 0.047702409, 0.032862019, 0.04463413, 0.050690394, 0.051506016, 0.040966179, 0.044923764, 0.039995391, 0.03448398, 0.057624038, 0.040775765, 0.040601891, 0.046019901, 0.042515993, 0.043079741, 0.035349566, 0.034594156, 0.041500926, 0.041025642, 0.044533525, 0.03768719, 0.039672479, 0.036964703, 0.038222764, 0.03977697, 0.041121963, 0.031339712, 0.046484541, 0.042660423, 0.036184311, 0.045872878, 0.039264847, 0.03032016, 0.041488945, 0.048458725, 0.03319649, 0.034597725, 0.048577905, 0.039719939, 0.040031098, 0.033785243, 0.034201518, 0.041091539, 0.03716075, 0.039813761, 0.0325583, 0.041834541, 0.036500681, 0.043544263, 0.045355901, 0.038525898, 0.049343228, 0.036603134, 0.039252177, 0.022916632, 0.033760011, 0.035011359, 0.03785665, 0.038799979, 0.035701249, 0.04725622, 0.052924089, 0.04057638, 0.033120472, 0.041160874, 0.033847012, 0.034946866, 0.039491691, 0.042378917, 0.044633854, 0.037009142, 0.043990582, 0.033164747, 0.042104505, 0.033928879, 0.046276979, 0.040828452, 0.040606894, 0.039348885, 0.041897781, 0.032752953, 0.038798239, 0.032422483, 0.035774067, 0.04389884, 0.033869535, 0.03083048, 0.030422719, 0.032046929, 0.04235727, 0.045593314, 0.03440972, 0.037348621, 0.041697759]
766
[ u'If i could give this 10 stars i would, or rather one million stars!!!  A group of these hot ass guys (who did not look gay) approached my group of girls on the strip as we walked to the MGM.  They asked us if we would come to the show and gave us free tickets (but you still have to buy two drinks at the show).  We got to the show and had no idea how hot these guys are....i usually am grossed out by things like chipendales and shit like that.  We had a couch in the front and were going crazy, jumping up and down.  We would reach over and grab the guy when they walked by.  Unfortunately, our waiter informed us that they do not bring hot girls up on stage, so we were no one of the ugly fat women pulled on stage to see them closer.  But we did pay $20 to get a picture with a bunch of the guys and it was well worth it!'
 u'WORST DANCERS EVER. Terrible choreography. These guys clearly were not hired for their dancing ability. Why do they get 5 stars? They are pretty darn hot. And I\'m not talking cheesy Vegas Fabio look-alike "hot." I\'m talking actual hot. If you\'re hot enough, I don\'t care if you can dance. I just want to look at your abs. Also your butt is fine. \n\nIf I could sum up the experience, I would compare it to a porno. Not because of nudity or sex. It\'s a pretty clean show. It\'s like porn because no one watches for the plot or for the skill-full writing. That stuff is just filler until you get to the good stuff. And these boys have some good stuff. \n\nDid I mention they have amazing bodies? Oh, I did?\n\nOh, just a heads up (no pun intended), this place is hotter than a sauna. So wear as little clothing as possible. And come early because there is a shortage of chairs. But trust me, you won\'t care after the first booty-shake.'
 u'I\'ve checked out most of the strip shows in town. By Far "American Storm" is my favorite!\n\nThunder from down under, Overcrowded and cramped\n\nChippendales, too big of a room.\n\nAmerican Storm, the venue is intimate and is just right!\n\nThe guys are hot!!!  I noticed some of the reviews said the dancing was crappy. In the guys defense (they\'re not dancers, even though some may wear jazz sneakers *yes, I am a dancer*). They\'re putting on a show, they\'re making the ladies scream. They\'re doing their job! Bravo Gents! \n\nThis is one of the best places to go and have a great time with the ladies. Its perfect for the Bachelorette parties, Divorce parties, or if you just want to look at some hot guys take it off...this is it!\n\nI\'ll be back to see them again! and again and again......\n\nThe MC of the show. Josh...He is gorgeous!'
 u"My girlies and I came to see American Storm as one of my requests for my bachelorette party. I had followed the show when it was on Vh1. They are HOT HOT HOT! The girlies had bought me a pink boa so this naturally made me a target. I didn't mind of course!  =) PICK ME PICK ME! I want to get pulled on stage! (which they did - my ladies got a huge laugh from that I tell ya!)\n\nThe venue is small and intimate so even if you are in the very back you could see the every detail of their wash board abs... double sigh... YUM! We were seated in the very front. \n\nI was totally stoked that all my favorites were performing and they are even more handsome in person. Sure they aren't the greatest dancers but I was perfectly content with them swiveling those hips! Thrust on!\n\nAfter the show you can pose and take a polaroid for a fee with the guys which was a must and chat it up a bit. Josh Hall who is the emcee was such a sweetheart and David Nieves is even more gorgeous in person. I naturally plopped down on his lap for the photo op. \n\nAs we were making our way out we ran into Sean Cassidy, another major hottie - he was so nice and said good night. We should have grabbed him and took a picture with him looking back but we were just so giddy and just wanted to get to the clubs and start dancing. GREAT TIME... I want to go back - like now!   =)"
 u"I love Josh. The host. I love Tony. I love em all. I've seen the show four times. They aren't the best dancers. But who cars. The show isn't suppose to showcase their dancing abilities. The show is catering to women. They randomly pick girls from the audience. So bring your sexyness when you go. I got picked by Tony and oh.. the things he can do! I also did the fake orgasism contest which i would have won but my older lady friend.. well.. it's funny seeing a grandma try to orgasm. \nThey take pictures after the show, do it! It's awesome.\nThe drinks were way to pricey. So i'd get drunk before you go in. Lol. And this is where women go nuts! So leave the good girl image behind!"
 u'In Vegas where there is no shortage of shirtless male dance revues it\'s difficult to discern WHICH revue you should be throwing down your hard-earned cash for. If you\'re not immediately sold on the name (Chippendales), in it for the foreign/accented (Thunder Down Under), or a VH1 addict (American Storm) the decision can be difficult. \n\nThe zealous reviews on Yelp and the breathless endorsement by the girl at the Half Price Ticket counter (who claimed quite eagerly that she attends regularly) sold us on the American Storm show. We snagged tickets through the aforementioned counter for under $35 and were encouraged by the same girl to arrive early to get the best seats.\n\nThe American Storm theater is located inside the shopping mall of Planet Hollywood though by the time you arrive the stores and restaurants will be mostly closed. With an 11:30pm showtime we knew we\'d do well to come prepared (read: inebriated). We showed up near 11pm and wondered if we were in the wrong place: no line, no signage, and a few mumbles from the box office staff indicating we should stand in line. Eleven-thirty came and went, along with any buzz we\'d worked up. I resorted to buying a flashing, bright blue drink from a vendor nearby. We finally piled into the theater around midnight and at that point the waitresses barely bothered to offer us drinks.\n\nThe show itself - a little over an hour\'s length - is indeed entertaining. The American Storm guys do a few cute choreographed moves, giving each other semi-embarrassed smirks along the way. The guys on stage are reassuringly attractive. Seeing a few billboards for the other shows you might get the impression that they employ professional bodybuilders or excessive tanning. Not so with American Storm; I\'d probably compare the show to a cross between an Abercrombie & Fitch catalog and an American Apparel ad.  There\'s a fair amount of audience participation - bringing girls up on stage to their delight and the further embarrassment of the guy who ends up "dancing" with her. \n\nIt might be worth the price of admission alone to see  your girlfriends respond in various ways to the guys on stage in various state of undress and equally entertaining to see who is in the audience (fact: way more married men with their wives than you\'d imagine). \n\nThroughout the show they discourage photography and encourage you to snap a photo with the guys at the end (though we couldn\'t remember/agree on whether they charged $20 for the photo or encourage tipping). \n\nWhile I would hesitate to take in another viewing of the American Storm show, and hesitate further at paying full price for a ticket, I think it\'s one of the better male revues in Vegas and a completely worthwhile outing for a girl\'s weekend.'
 u"Okay, I'm not a male revue kinda person and I'm certainly uncomfortable with people flaunting their sexuality in front of me, however, this show totally changed my mind.  This was the BEST male revue ever!!  The guys were hot, hot, hot.  The group dancing was as corny as it gets but the solos - OMG!  I was out of my chair screaming my head off and I was stone sober (had a hangover).  Amazing, I would totally recommend it and hope to go back next time I'm in Vegas.\n\n$35 well spent :)"
 u"Ok I told myself I wasn't going to a male revue when I got to vegas. But when I found out that Tony and Terry from that strip search show on vh1 was here I had to come. Now I have to admit the dancing was terrible, but who cares all the guys are Sexy! and they have amazing bodies. I had a good time. And it was not overcrowded with horny aging women.So I Will definitely be back."
 u"So Vegas has a few male revues to choose from... you've got your boys from down under and the classic chippendales, then you've got the blue blooded american men.  If you choose one THIS is the one to choose.  The venue is much smaller and more intimate so you can see EVERY NOOK AND CRANNY on the guys beautifully sculpted abs.  My bachelorette party and I were inches away.  The show itself is pretty fun and I had a hard time keeping calm to say the least.  The bride was brought on stage by the guy I found hottest where he proceeded to hump her face.  Really really classy stuff girls.  I'm sure compared to what the bachelors are doing with strippers, this is totally tame and just meant to be fun.  The guys hang out at the bar and pretty much are there for the enjoyment of the audience.  We ended up being taken to a club with a couple of the guys.  They were all very sweet and respectful, giving us condoms and lots of love =)  Thanks guys for an unforgettable evening!  \n\nTips:  You can get free tickets if you hang out at planet hollywood during the day.  Make sure to get upgraded to the front.  Make sure never to blink!"
 u"These guys are not the best dancers around but that's not why you see the show anyway.  They are a good-looking bunch of guys who put on an entertaining show.  It's always a good time seeing American Storm!"
 u'After seeing Chippendales a couple weeks before (why I went to 2 male revues in 2 weeks is a story for another time and place!), I can say this show was a huge disappointment. We had "Free" tickets, requiring the purchase of 2 drinks. The 2 drinks had to be either PBR (or some equally awful beer.. nope, not even Bud Light), or soda, or a well drink. The rum they used in my rum and soda was the nastiest rum I\'ve ever encountered. Seriously don\'t attempt to drink the drinks unless you have an iron stomach. nasty. \n\nAnyways, on to the men! The guys were hot, but the show was sloppy. The theater was ghetto and the set was awful. Maybe you\'re not going to this kind of show to get a good "show" and you just care about seeing hot men. I dunno, I kinda wanted some showmanship too! The Chippendales men can dance well, why can\'t these clowns?'
 u"My bachelorette had a surprise itinerary. So woo hoo we walk ph - and my sis Cathy says: We're going to see Holly Madison. WOo HOO!  But we walk past and to the V theatre. And there was no male revue advertising - so I was thinking we were going to see the poppaditch cat show or something.\nThen I was handed a ticket - an American Storm ticket. I didnt know what that was, but by seeing all the bachelorettes show up and told about some VH1 reality something I figured it out.\nGet your two drink minimum outside at the side bar - it faster and the bartender was super nice, a little slow, but I think I was drunk.\n\nMy sisters and posse of 15 girls were entertained by the guys. It was a good show - dancing was not so good, but who cares! All the guys were really good looking.\nIts not a strip club - its a show, and they pick a few people to get on stage. There are no pics allowed - dont blind the talent ! But you can pay $20 to take pics with them afterward. Its a show I could bring my mom to see - but wouldn't - clean, fun and the energy of screaming women is amazing!\n\nI was a little sad they didnt pick me to go up on stage - but walking around the next day in the mall one of the guys promoting remembered me. Oops I guess I made a bit of an impression that shall remain under wraps...   ;)"
 u"More like 3.5 STARS rounded up.....\n\nWe got complimentary tickets to the show because the guys of American Storm promote their show and roam the strip. Lucky we got about 15 girls in for free....BUT IT REALLY ISN'T FREE FREE....it's free with a pre-paid purchase of 2 drinks for around $25 bucks. I guess it's better than paying the full price $55 tickets and you make sure you get a bit tipsy before and during the show.\n\nThe guys are all pretty cute....but seriously only 2 of them can dance. It was still fun getting all into it with all the other girls in there screaming. Some of the guys were looking a bit lazy dancing and laughing while doing the 'obvious choreographed routine' which made some of us laugh and some of us go....WTF?\n\nAlmost all 5 of the guys went up to my sister who was decked out in bachelorette gear which was cool. Some guys were obviously better than other and could dance more. I like how there was alot of 'Audience Participation' but wished there was more dancing.\n\nThe only thing that WAS NOT COOL was the $20 polaroid per girl/ per picture. I don't think it worth it. So most of us didn't get it, but we still got it for the bachelorette.\n\nTo be perfectly honest I still like Chippendales better, but if you are looking for something different for an all girls outting or bachelorette, I'd give this place a shot. Still kinda cheesy....but what else do you expect from a show like this....AT LEAST ALL THE GUYS ARE PRETTY HOT!"
 u"Now for my first male revue this place was hot Hot HOT! Small theater the V-theater is, but the men were smokin'! And that's all that matters.\n\nFor the my girl's bach-party, it wasn't complete till there were men taking their clothes off and getting nasty on stage! Hell! They all came down and humped everyone, made you grab their chests, etc.\n\nThe only thing a tad sad was that they had dance choreography, but (I agree with Cathy D.) only 2 could dance. Minor detail tho. But what was even better was the contest of the lap dances the volunteer girls did to one of the male dancers... that was classic! Mad props to the woman that got down on the dude and licked his nipple piercings... all infront of her husband! \n\nI felt like I was at a rock concert I was screaming the whole time and dancing all over the place.... and that was only with one drink!! \n\nSo if you are partyin' with a bachelorette, your birthday, or even if you just got divorced... this place is fun and very entertaining!"
 u'Amazing. Seriously, went there with 14 girl friends for a bachelorette party and were expecting a cheesy dance show. Cheesy, a bit, but hot, young, awesome guys, FOR SURE. We all agreed it was one of the best things we did all weekend. Well worth the money. My only complaint are the drinks, but whatever. The show itself was awesome. With a group of girls in Vegas for a bachelorette part, GO TO THIS SHOW!'
 u"Yummy! These guys really know how to put on a show, and they should seeing as how they were winners of a reality show called strip search. These boys are all american and all hot. I seen this show when it was at Pollyesther's, but I am sure it is just as great at the V Theater, except for the uncomfortable seating. I am going to see if I can post a review on the V Theater itself. Anyway, in this show they really know how to tease you, showing off nice packages and getting naked having only a towel covering the jackpot. Go see this with a big group, it is a great time."
 u'This was the highlight of our trip! \n\nIf you want to see hot semi naked men for any reason at all, this is the show for you! The show was great and the guys were hot! The tickets were not a bad price and the show was a little more than an hour but well worth it. Loved it!'
 u'We decided to take my friend here for her birthday and we had a blasttttt.....We met Josh on Las Vegas Blvd and he told us to stop by...handed us a free admission ticket...and flashed those pearly whites! \n\nWe loved the show...quite entertaining...the dances were very choreographed but still sexy. Now I do have 1 issue....I wanted to see some MANMEAT...I see all these naked females showing everything but, I come to Vegas and I want to see it ALL!'
 u'Cheesy times 200x LOL. It is what you make of it! There were 4 of us: 2 of them were calm and quiet while my other friend and I were having the time of our lives.  We cheered, we screamed, we laughed, it was awesome.\n\n1/2 the men were HOT and I was drooling, other 1/2 were okay, but ALL had scrumptious bodies! Maybe I shouldn\'t use scrumptious but you know what I mean.\n\nEach of them had their own act in which they were the main character, each had a different theme too.  The dance routines were HILARIOUS, I couldn\'t stop laughing b/c it was soooooooo cheesy and bad, but their nakedness made up for it.  \n\nNO FRONTAL NUDITY though. I want my money back!! LOL jk. We didn\'t even pay for it actually, we got "free" tickets when we were walking down the strip, just had to buy 2 drinks which I didn\'t mind, let the good times roll!!'
 u"Thanks to all the yelp reviews on this venue. I had to plan a bachelorette party and had no idea which male revue was the best.  We decided to come here and the bride to be really enjoyed the show (as did the rest of us!)\n\nThe male performers were HOT. We had stopped by Chippendales at Rio to check out the men there and they were good looking but way too buff.  It was abnormal looking. Not pretty.\n\nThe guys at American Storm were just right. Perfect. Ripped bodies and very HOT!!! We were lucky and got half off tickets so it was only $35.99.  No drink minimum required.\n\nThe dancing was a bit cheesy but who cares!??!?! We didnt come here to see dancers! I really liked how the guys interacted with the audience, esp the crazy sex crazed women. Josh was the host and he did an awesome job. He is sooooooooo cute!!!!! \n\nMy only complaint was the wait. The show was supposed to start at 11:30pm. However, we weren't let into the venue until 11:45pm and the show didnt start until midnight.  The seating was strange to me as well. We were told that it would be table seating, but instead it was stadium seating.\n\nThe show is about an hour and 20 minutes long. After the show you can take pictures with the guys. Cost is $20 per person. I highly recommend checking out this show if you haven't already!"
 u'BEST BEST BEST BEST BEST Show in Vegas! \n\nEvery year we take a "Girls trip" w/ my aunt, cousin, sister and mother to vegas. This year we were celebrating something extra special, my Aunts Retirement.. Unsure of what we wanted to do, we walked around PH mall and came across American Storm. \n\nHere\'s a Tip: Wait until around 1 or 2 on Friday and right outside the theater the guys will be standing w/ "Free" Tickets. It ends up being around 35 bucks or something like that b/c you have to buy two drinks. The show is TOTALLY worth it. Let me describe each of our reactions to the show: \n\nSister: Have you ever been to a sports game and where they hand out pizza to the craziest fan. Yeah that was her during the show. \nMe and my Cousin: Cheered while they were dancing on stage, cheered as they ran through the audience but nothing too crazy. \nMother: Scared to death. Didn\'t want to drink and then ended up drinking ALL of my drink. She made sure to sit on her hands and put her purse on her lap so nobody came near her.. haha it didn\'t work. \nMy Auntie: Let\'s just say she must of had her eyes WIDE open b/c she was brought on stage during the finale. hahaha. \n\nOverall: BEST TIME EVER.. The guys are pretty hot, and for me just enough nakedness. I didn\'t think I would be into the whole male stripper thing but I had a blast!  I think I must have almost peed my pants like 5 times b/c I was laughing so hard. I can\'t wait to go back!'
 u'If you\'ve never seen a male revue before, then you might make the mistake of thinking this is a good show.  It was very amateurish and sloppy. First of all, the men were not all cute. Great bodies, yes. But only 2 of the guys had good looking faces.  Second, they can\'t really dance and do the same tired moves for every top 40 song. Much of the show is actually "empty" in that there\'s one dancer going through the crowd while everyone else is sitting there with no entertainment. In short, the show is lazy. There are some "OMG" moments as there will be whenever men strip. But having seen Chippendales, this show is NOT worth $20, much less the $36 we paid from the 1/2 price ticket booth.'
 u'It\'s actually for 4.5 stars for a number of reasons. I caught this show at a discount (reasonable) for a thursday night Bachelorette Party at the Stratosphere.\n\nI saw the reality show on VH1. Some of the guys in the show (created by the same people who brought us the Australian "Thunder From Down Under." weren\'t on the reality show. The ones original to the group seemed to have worked on their bodies big time and have yielded six pack abs, including the cute boy-next-door host with blue eyes (his mom was in the audience, a little weird, huh?). \n\nOk, the dancing wasn\'t in sync and some of the guys weren\'t exactly natural dancers, either. But since I look at everything, I look to the entertainment value and they did put on a good show, all things considered. Granted, not everyone is good looking, either (example- Chippendales). Also, our group seemed to enjoy the show and liked what they saw. The funniest part was when the bachelorette ended up on stage- that was hilarious. Sometimes you just need a "Ladies Night Out"- it was fun. Didn\'t like the uncomfy folding chairs, but then again, it was at The Strat.'
 u"Apparently I'm not the only fan of Josh on here  :)  \n\nWell I never would have thought to go to a show like this my first time in Vegas... but we got it as part of a package and I think it was possibly the best part of our trip!! The employees at the V theater are awesome... the ladies behind the bar are sweethearts, Angel gave us half off drink coupons, and the guy in the suit moved me and my friend to the front of the VIP line so we were front and center for the show!! The all have amazing bodies and great personalities. We stayed after and met the boys at the bar and took pictures. They're all totally down to earth and make every girl in the audience feel like a person instead of a fan. \n\nCan't wait to see them again when I go back!!!  : ]"
 u"Seen this show twice and its been great both times. I'd say its better than Thunder and Chippendales because everyone of the guys are beautiful especially Tony and Josh.\n\nI saw them while they were at The Riviera and The Stratosphere so i'm looking forward too seeing them at PH.\n\nMy advise is spend the money and go see them. Actually see them before you go see the other male revues."
 u"Everything in this review Matthew C. can never know about ;) Or my mother-in-law :D Oh, having family on Yelp! \n\nMoving on - great show, great guys, great fun! My girlfriend Kelly brought me as a mini bachelorette party. I kind of knew what to expect but I had never seen a show like this before. The girls in the audience were INSANE, it made it so much fun to see all the hot messes. These girls in the other bachelorette parties HAD to have been drinking since noon - the day before. Amazing crowd. \n\nThe guys were smokin' hot - I had a little thing for Josh and Justin. The guys aren't the greatest dancers, but did we really come to see them dance? Hell no! Their bods are phenomenal, and they have personalities to match. The guys really make it fun and run up into the audience a lot and do naughty things to the girls - I was even frisked a bit and kissed on the cheek! It was hilarious and sexy and a total blast. I was laughing and hooting and hollering the entire time along with the rest of the gals - SO MUCH FUN!\n\nI would highly recommend this show if you want a crazy night out. The guys also usually go out after the show to the bars and we got to meet up with them and hang out. Justin is a complete sweetheart, and I hope they bring back an Elvis skit because he looks exactly like a younger - albeit hotter - version of the king. *swoon* Naughty, funny, yet still gentlemenly - that's how this girl likes it!"
 u"The BEST men venue ever!! Josh is super sexy and awesome! He's the host of the whole show. Yes, dear the boys are very nice here. They are fit, but not bulky and too muscular. They do accept tips, and they will pull you up the stage if you sit closer to the stage. The dance moves are corny. but still very sexy. I go here every time I visit Vegas. That's once a year on my birthday baby! They offer pictures with the boys at the end. I believe it's $20-$30. Worth it!! A good time with your girls or just you alone!"
 u'For a fun night out w the girls American storm is it fri night 10 pm sat night 1130 pm the guys are fun upbeat,playful  they come and drink with you after the shows...... Lots of fun'
 u"A group of friends and I went to see the show for my friend's bachelorette party. I was a bit reluctant to see it at first because I figured it'd be really cheesy. But I was pleasantly surprised. The gentlemen can actually dance and are all so handsome! They know how to make the girls crazy and we didn't want to leave. We were all completely entertained and it was totally worth it. Next bachelorete party, it's on! We had our pictures taken at the end with all the guys, which you do have to pay for of course, but its a great memory! I still dream of Tony! lol."
 u'k .. want to see HOT guys dance to corny sexy music? want to see HOT guys pump the floor as they show their 7654 pack abbs? GO HERE WITH YOUR GIRLFRIENDS!! One of our girls got pulled up on stage and got to touch and see a hard on in his panties. Opps.. am i allowed to type that on yelp? ... yea... it was hot, fun and a great time with my girls. I would try this show at least once in your life time.'
 u"First time to one of these types of shows.  Went with my girls to check them out at Planet Hollywood this weekend and had a blast!  The guys are so sweet.  They do hang out after the show at the bar and are friendly and totally unpretentious.  They'll have drinks with you, give hugs, etc.  They are so much fun!  Our VIP tickets were only $36 we showed up around noon on a Friday to purchase them for that evening.  We were front and center!  Don't come expecting perfect choreography and perfectly executed dance moves, just come to have some fun with your girlfriends and to enjoy the gorgeous men."
 u'What a great show!! Not only are the guys hot but funny as well.  They were not overly gross buff, they just looked darn good.  Josh the host made everyone in the crowd feel like part of the show.   He was witty and quick.    The guys all did their own dance and some together as well.  After the show all the guys came over to the bar across the way, they chatted, took pics and were genuine about having a good time there.   I recommend this show to woman wanting a good time in vegas.'
 u'Came here with a friend for a girls night out. I love that its at Planet Hollywood. Its one of my favorite places to wander around on the strip. So anyways. The showroom was small and I thought that would be a good thing but once the show was rolling along it seemed bigger. The guys come out one at a time into the audience and have to run around like manics to all parts of the theater. There were a few times there were more than one guy but it was not enough.\nI was impressed with how loud it did get inside. The women were going ape shit crazy over the guys. It was funny.\nIt was a fun time but I prob wont go back...not until I see more male reviews to compare.'
 u'Really stupid. \nGuys were dressed pretty much the whole time.\nDrinks were $15 each.\n\nALL THEY SHOW ARE BUTTS! Who cares. I mean, the butts were nice but not worth the money (and we had 1/2 off tickets!)\n\nSorry but it is nothing like I expected and just really stupid. At least put on a speedo or something!'
 u'Highlight of the weekend!!!!!  And the boys all went to Blondies after, so we chated with the there too.  Fun :)  ....major crushes.'
 u"I've since seen the show at the V Theater inside the Miracle Mile Shops at Planet Hollywood and feel that I must update my review.  I've also seen a couple of other of male revues and have some things to compare this show to.  As much as I hate to, I have to take away a couple of stars from this show.\n\n* Most of the original guys have left American Storm :(  I became a fan after watching Strip Search on VH1, the reality show competition in which guys vied for a spot in this show.  I pretty much liked all the guys that were chosen and they were the reason I went to see the show, so now it's not quite the same without those guys there.  Thankfully a few of the guys are still in the show, twins Tony and Terry and show MC Josh.  Tommy was not one of the original guys from Strip Search but he has been in the show for quite some time now so that is another familiar face that's nice to see.  I sat on his lap for my photo and he was very nice :)  I did get to chat with one of the newer guys after the show and he was very friendly and smart too which is always a plus.  It's not always about looks!  But he was easy enough on the eyes :p\n\n* The show is no longer in a showroom or lounge but rather a theater.  The theater is on the smaller side, but in my opinion it's not ideal for the nature of this kind of show.  The set up: VIP tables/rows of seats on the floor right in front of the stage, and then general admission theater-style seating in the back.  The guys do their best to get to ladies in all parts of the theater, though.\n\n* There is no maitre'd so you are free to pick out your own seat.  However, once let inside it's like a cattle stampede to get the seats you want!  Watch out, ladies!  By the way don't expect to be let in on time or for the show to start on time.  There is a show right before theirs so expect it to take awhile to clear out, especially if that show is running over.  \n\n* They have snazzy lighting in the background to spice things up a bit but it can be dizzying and it makes it hard to see faces if you are seated in the back theater section.  I guess that's not what some ladies are there for but it is disappointing if you are a face person or just want to figure out who you're watching up there.   \n\n* In the past I didn't knock off any stars for the dancing but it seems to have gotten more out of sync and cheesier lol.  They do only perform a couple of nights a week now so less time to polish it up I suppose :p\n\n* Terry did not have a solo that night!  Booooo!!  He is probably the most entertaining out of all the guys!\n\n* You can get your picture taken with the guys after the show for I believe $20 (cash only) but they have not yet updated to digital photos.  They are still doing Polaroids, so the picture quality is pretty bad and if there are more than one of you taking pics with the guys you have to fight for the picture you want (aka the one you think you look best in which can be tough if it's the same picture).\n\nA couple of observations: they only picked hot young things in short, tight dresses in the front VIP section to go on stage.  They do draw a younger crowd in though (the guys are younger than the guys in other similar shows), and instead of bachelorette or divorce parties, it's mostly young singles just wanting to get the night started by watching half-nekkid men before hitting the clubs, or it's girls celebrating birthdays.  The crowd is drunk, loud, and rowdy, and the lap dances seem to have gotten raunchier.\n\nAnother observation: from pictures I've seen there is one guy who won't put his arm around you in the group photo if he is not into you which is not nice.  Even if I'm not in the picture it bugs me to see pictures of celebrities with fans and they can't even put an arm around the person.  Some public figures I believe to be shy/awkward around people but I don't think that's the case with him.  Whatever the reason it ruins the picture in my opinion.  \n\nAs long as Tony and Terry (the best dancers and maybe the friendliest of the guys) are in the show I would watch American Storm again, which would be more likely if the show was on a weeknight.  If I happen to be in Vegas on a weekend it is usually for a concert, allowing no time to see American Storm and which is why I hadn't seen the show in years.  Thank you for free tickets!  Scheduled a trip for a weekend because of the free tickets :)\n\nBe on the lookout because they sometimes take the show on the road and maybe to a town near you.  I would say that you can check out their website or follow them on social media to find out where they'll be but they are pretty bad about promoting their road shows :p\n\nEdit 1/21/13: Both Josh and Tony are no longer with American Storm :(  That just leaves Terry as the only remaining original member in the show.  Also, they are now at a new venue inside the Miracle Mile Shops."
 u"PROS:  The guys are in great shape and very interactive with the audience.\n\nCONS:  They can't dance their choreographed routines at all.\n\nSo when you are a female looking to just let loose, this is definitely the best in Vegas."
 u"Not sure I should be writing a review...... revealing so much about my bachelorette party activities!!\n\nI'll keep it simple:\n\nSmall, intimate theater.\nThe best dancers were the black guys (so cliche but it's true haha).\nTommy Gainer was SO SWEET and definitely had the cutest face (so glad he pulled me up on stage).\nJOSH - hot hot hot (but a little skinny), the BEST emcee, but we were sad he had to cut his dance short (YES, he dances---of course he would be the finale!)\n\nOverall, I'd be back to see these guys.  They don't reveal much other than their butts, but they're hotties!!"
 u"I've seen all the male revues in Vegas, so I'm speaking from experience when I say that this is the charmingly low-rent, down-at-heels cousin to the Chippendales and the vastly superior Thunder From Down Under. \n\nThis show is now at the Plaza Hotel, in glamorous Downtown Vegas (sarcasm alert). The showroom is dumpy and old and smells like defeat, but at least it's more intimate than the Chippendales theater. \n\nThe dumpy digs equal savings for you, though: tickets are cheaper than for the other revues, and drinks are also more affordable. Plus, despite my earlier sarcastic comment, Fremont St and downtown Vegas in general are AWESOME...in an ironic way! Let me put it to you this way: this showroom is located within spitting distance of the Greyhound Bus Depot. Enough said!\n\nMy real beef with this show was with the performers. A couple of them were hot and engaging, but for the most part the guys were kinda wussy-looking and not all that exciting to watch. You't think that a gang of up-and-comers would try EXTRA hard to impress, but this is sadly not the case. One of the dancers in particular looked like an expressionless robot, TOTALLY phoning it in the entire show.\n\nStill, it was fun to watch, mainly for the audience interaction...which is extensive. The crowd is definitely more downscale, and to me it's way more entertaining to watch beefcake dry-humping a trailer-park granny in a muu-muu than it is to watch them teabag a plastic-titted Strip bachelorette.\n\nThe other thing I enjoyed about this show is the utter cheesiness of it. This show basically revels in the fact that it's the cheapo version of Chippendales -- they do all the same kinds of numbers, but the costumes are old, threadbare and frankly kinda funny...and the production values are very limited.\n\nOverall, it's basically the Ghetto Chippendales."
 u"I had such a blast at this show and the dancers were spectacular! Even though a couple of the dancers are no longer there the other guys certainly knew how to perform and put on a great show. In my opinion this show is more interactive and the guys make more of an effort to go to all parts of the theater unlike other shows that I have been where they dance in just one section for the bachelorettes. Even if you are shy I guarantee that you will have a wild side come out that you never even knew existed. But, if you do not want to go onstage don't sit too close to the stage because one way or another they'll get you up there haha :) My suggestion is to go with an open mind to enjoy the show. If you're expecting to see perfect choreography go to see Cirque Du Soleil and not a male revue show ;)\n\nJosh was a wonderfully charming emcee who knew how to get the crowd riled up. All of the guys were amazing to watch with their smooth, but raunchy moves. They were energetic and ready to get the women fired up to have a great night. Compared to other shows I have seen I can't understand why they moved them off the strip to Fremont these guys deserve another opportunity to perform somewhere on the strip. So hopefully they will return. But, in the meantime grab your friends, have a few drinks, and trek down to the Plaza Hotel for a memorable night of gorgeous and sweet guys!\n\nPS Thank you Justin for a great stage performance, I certainly went back home with a big grin on my face. Also thanks to the cool production staff there you all are great and I'll be back to see the show again!"
 u'Horrible! I would give it no stars if I could... The choreography was terrible, none of the men were together, only two of the four men could somewhat dance, and the choice of music poor. Luckly I got the tickets to this show for free... Because is not worth a penny. It was free for a reason. And in the plaza for a reason.\n\nIf you want to see a good male revue, go to Chippendales at the Rio. That I would give at least four stars... They are better at everything!'
 u"Sisters Bachelorette party!!!\nWanted to go to a show, and thunder down under was sold out! So we ended up at THE AMERICAN STORM! \nStood in line, got seated right on time, got a nice table, not too close to the stage but close enough.... As the curtain opened 8 girls on our table pulled out their glasses, cuz we didn't want to miss anything... \nThe guys were very good looking, fantastic bodies.... Most importantly they made the show fun!\nBe prepared to scream and laugh and make sure you go with the right group of people.... \nAt the end of the show you pay $20 per person to take a picture with them ....\nThey invited us to go across the hall to a bar for free drinks... Got there, mingled with them a little, took pictures, and got to hear how they started doing what they were doing... And knowing us, we were telling them who was preforming well and who needed more training..\nOverall it was a fun night, and it didn't cost us much either..."]

In [33]:
[len(review.review_id[review.business_id==id]) for id in set(review.business_id.values[:100])]


Out[33]:
[83, 4, 15, 26, 5, 5, 12, 10]

In [117]:
for word, sim in model.most_similar(positive=['beer', 'pricy']):
    print word, sim


expensive 0.567374229431
pricey 0.560508370399
food 0.558115720749
inexpensive 0.546846270561
price 0.509109139442
steep 0.501822113991
pricier 0.484818696976
over-priced 0.483182609081
stiff 0.474921703339
average 0.468609929085

In [50]:
review.columns


Out[50]:
Index([      u'business_id',              u'date',         u'review_id',
                   u'stars',              u'text',              u'type',
                 u'user_id',        u'votes_cool',       u'votes_funny',
            u'votes_useful', u'cleaned_tokenized'],
      dtype='object')

In [75]:
businesses = pd.read_pickle('../input/yelp_academic_dataset_business.pickle')

In [76]:
bus_id = pd.read_pickle('../output/bar_ids.pickle')
businesses = businesses[businesses.business_id.isin(bus_id)]

In [87]:
def GetBusinessIds(city='Las Vegas'):
    return businesses.business_id[businesses['city']==city]
print len(GetBusinessIds())


1061

In [110]:
lv_bus_ids = GetBusinessIds()
lv_businesses = businesses[businesses.business_id.isin(lv_bus_ids)]
#print lv_businesses.name
lv_reviews = review[review.business_id.isin(lv_bus_ids)]

In [111]:
bus_id_of_interest = lv_businesses.business_id[lv_businesses.name=="Fado Irish Pub"] # Business of interest... 
rev_of_interest = lv_reviews[lv_reviews.business_id.isin(bus_id_of_interest)]
rev_ids_of_interest = rev_of_interest.review_id.values

In [112]:
mean_bus_rev_vector = get_mean_doc_vector(rev_ids_of_interest, model)

In [113]:
model.most_similar(positive=[mean_bus_rev_vector], topn=20)


Out[113]:
[('restrant', 0.44691920280456543),
 ('deeee-lish', 0.4312386214733124),
 ('ublichen', 0.4262198209762573),
 ('apparemment', 0.42361584305763245),
 ('schoner', 0.4078797698020935),
 ('bomp', 0.4055688977241516),
 ('leben', 0.40300217270851135),
 ('anti-strip', 0.4027261734008789),
 ('hothot', 0.3925788700580597),
 ('vulchers', 0.3898065984249115),
 ('servicea', 0.3815295100212097),
 ('gunstige', 0.37877973914146423),
 ('oublier', 0.3783138394355774),
 ('atmospherebut', 0.3779473304748535),
 ('jian', 0.37362876534461975),
 ('calorie-laden', 0.37287068367004395),
 ('trifft', 0.37208592891693115),
 ('definitiv', 0.371759831905365),
 ('sympatique', 0.3712855279445648),
 ('dreich', 0.37119537591934204)]

In [120]:
model.most_similar('snooker')


Out[120]:
[('onebut', 0.41738271713256836),
 ('comedian', 0.4014934301376343),
 ('cask63', 0.37158048152923584),
 ('outlawed', 0.3714016079902649),
 (u'nub', 0.3668330907821655),
 ('fucking', 0.3525310158729553),
 (u'texan', 0.3503839373588562),
 ('addams', 0.3418501913547516),
 ('gewurzt', 0.33885690569877625),
 ('innovation', 0.3341631591320038)]

In [ ]: