├── 2014_Laptop_test.csv ├── 2014_Laptop_train.csv ├── 2014_Restaurants_test.csv ├── 2014_Restaurants_train.csv ├── ABSA-emb-gpu-final-newarch3.py ├── LICENSE └── README.md /2014_Laptop_test.csv: -------------------------------------------------------------------------------- 1 | "Boot time is super fast, around anywhere from 35 seconds to 1 minute.","1","['Boot time']","['positive']" 2 | "tech support would not fix the problem unless I bought your plan for $150 plus.","1","['tech support']","['negative']" 3 | "Set up was easy.","1","['Set up']","['positive']" 4 | "Did not enjoy the new Windows 8 and touchscreen functions.","2","['Windows 8', 'touchscreen functions']","['negative', 'negative']" 5 | "Other than not being a fan of click pads (industry standard these days) and the lousy internal speakers, it's hard for me to find things about this notebook I don't like, especially considering the $350 price tag.","3","['click pads', 'internal speakers', 'price tag']","['negative', 'negative', 'positive']" 6 | "No installation disk (DVD) is included.","1","['installation disk (DVD)']","['neutral']" 7 | "It's fast, light, and simple to use.","1","['use']","['positive']" 8 | "Works well, and I am extremely happy to be back to an apple OS.","2","['Works', 'apple OS']","['positive', 'positive']" 9 | "Sure it's not light and slim but the features make up for it 100%.","1","['features']","['positive']" 10 | "I am pleased with the fast log on, speedy WiFi connection and the long battery life (>6 hrs).","3","['log on', 'WiFi connection', 'battery life']","['positive', 'positive', 'positive']" 11 | "The Apple engineers have not yet discovered the delete key.","1","['delete key']","['negative']" 12 | "Made interneting (part of my business) very difficult to maintain.","1","['interneting']","['negative']" 13 | "Luckily, for all of us contemplating the decision, the Mac Mini is priced just right.","1","['priced']","['positive']" 14 | "Super light, super sexy and everything just works.","1","['works']","['positive']" 15 | "Only problem that I had was that the track pad was not very good for me, I only had a problem once or twice with it, But probably my computer was a bit defective.","1","['track pad']","['negative']" 16 | "It is super fast and has outstanding graphics.","1","['graphics']","['positive']" 17 | "But the mountain lion is just too slow.","1","['mountain lion']","['negative']" 18 | "Strong build though which really adds to its durability.","2","['build', 'durability']","['positive', 'positive']" 19 | "The battery life is excellent- 6-7 hours without charging.","1","['battery life']","['positive']" 20 | "I've had my computer for 2 weeks already and it works perfectly.","1","['works']","['positive']" 21 | "And I may be the only one but I am really liking Windows 8.","1","['Windows 8']","['positive']" 22 | "The baterry is very longer.","1","['baterry']","['positive']" 23 | "Its size is ideal and the weight is acceptable.","2","['size', 'weight']","['positive', 'positive']" 24 | "I can say that I am fully satisfied with the performance that the computer has supplied.","1","['performance']","['positive']" 25 | "This laptop has only 2 USB ports, and they are both on the same side.","1","['USB ports']","['negative']" 26 | "It has so much more speed and the screen is very sharp.","2","['speed', 'screen']","['positive', 'positive']" 27 | "Everything I wanted and everything I needed and the price was great!","1","['price']","['positive']" 28 | "It's not inexpensive but the Hardware performance is impressive for a computer this small.","1","['Hardware performance']","['positive']" 29 | "This thing is awesome, everything always works, everything is always easy to set up, everything is compatible, its literally everything I could ask for.","2","['works', 'set up']","['positive', 'positive']" 30 | "Keyboard responds well to presses.","1","['Keyboard']","['positive']" 31 | "Lastly, Windows 8 is annoying.","1","['Windows 8']","['negative']" 32 | "Everything is so easy and intuitive to setup or configure.","2","['setup', 'configure']","['positive', 'positive']" 33 | "Biggest complaint is Windows 8 .","1","['Windows 8']","['negative']" 34 | "Only 2 usb ports...seems kind of...limited.","1","['usb ports']","['negative']" 35 | "It has all the expected features and more +plus a wide screen and more than roomy keyboard.","3","['features', 'screen', 'keyboard']","['positive', 'positive', 'positive']" 36 | "Amazing Performance for anything I throw at it.","1","['Performance']","['positive']" 37 | "The receiver was full of superlatives for the quality and performance.","2","['quality', 'performance']","['positive', 'positive']" 38 | "I was extremely happy with the OS itself.","1","['OS']","['positive']" 39 | "The new MBP offers great portability and gives us confidence that we are not going to need to purchase a new laptop in 18 months.","1","['portability']","['positive']" 40 | "The criticism has waned, and now I'd be the first to recommend an Air for truly portable computing.","1","['portable computing']","['positive']" 41 | "I would have given it 5 starts was it not for the fact that it had Windows 8","1","['Windows 8']","['negative']" 42 | "MS Office 2011 for Mac is wonderful, well worth it.","1","['MS Office 2011 for Mac']","['positive']" 43 | "But the performance of Mac Mini is a huge disappointment.","1","['performance']","['negative']" 44 | "They don't just look good; they deliver excellent performance.","2","['look', 'performance']","['positive', 'positive']" 45 | "I have had it over a year now with out a Glitch of any kind..I love the lit up keys and screen display...this thing is Fast and clear as can be.","2","['lit up keys', 'screen display']","['positive', 'positive']" 46 | "The Mountain Lion OS is not hard to figure out if you are familiar with Microsoft Windows.","2","['Mountain Lion OS', 'Microsoft Windows']","['positive', 'neutral']" 47 | "However, I can refute that OSX is ""FAST"".","1","['OSX']","['negative']" 48 | "Enjoy using Microsoft Office!","1","['Microsoft Office']","['positive']" 49 | "Incredible graphics and brilliant colors.","2","['graphics', 'colors']","['positive', 'positive']" 50 | "Built-in apps are purely amazing.","1","['Built-in apps']","['positive']" 51 | "Cons: Screen resolution.","1","['Screen resolution']","['negative']" 52 | "From the speed to the multi touch gestures this operating system beats Windows easily.","4","['speed', 'multi touch gestures', 'operating system', 'Windows']","['positive', 'positive', 'positive', 'negative']" 53 | "I really like the size and I'm a fan of the ACERS.","1","['size']","['positive']" 54 | "I opted for the SquareTrade 3-Year Computer Accidental Protection Warranty ($1500-2000) which also support ""accidents"" like drops and spills that are NOT covered by AppleCare.","2","['SquareTrade 3-Year Computer Accidental Protection Warranty', 'AppleCare']","['positive', 'negative']" 55 | "It's light and easy to transport.","1","['transport']","['positive']" 56 | "Once you get past learning how to use the poorly designed Windows 8 Set-Up you may feel frustrated.","1","['Windows 8 Set-Up']","['negative']" 57 | "It's been time for a new laptop, and the only debate was which size of the Mac laptops, and whether to spring for the retina display.","2","['size', 'retina display']","['neutral', 'neutral']" 58 | "The reason why I choose apple MacBook because of their design and the aluminum casing.","2","['design', 'aluminum casing']","['positive', 'positive']" 59 | "The aluminum body sure makes it stand out.","1","['aluminum body']","['positive']" 60 | "It is very easy to integrate bluetooth devices, and USB devices are recognized almost instantly.","2","['integrate bluetooth devices', 'USB devices']","['positive', 'positive']" 61 | "And the fact that Apple is driving the 13"" RMBP with the Intel4000 graphic chip seems underpowered (to me.","1","['Intel4000 graphic chip']","['negative']" 62 | "Apple removed the DVD drive Firewire port (will work with adapter) and put the SDXC slot in a silly position on the back.","3","['DVD drive Firewire port', 'adapter', 'SDXC slot']","['neutral', 'neutral', 'negative']" 63 | "The durability of the laptop will make it worth the money.","1","['durability']","['positive']" 64 | "Well designed and fast.","1","['designed']","['positive']" 65 | "But I was completely wrong, this computer is UNBELIEVABLE amazing and easy to use.","1","['use']","['positive']" 66 | "Exactly as posted plus a great value.","1","['value']","['positive']" 67 | "The specs are pretty good too.","1","['specs']","['positive']" 68 | "Apple is unmatched in product quality,aesthetics,craftmanship, and customer service.","4","['product quality', 'aesthetics', 'craftmanship', 'customer service']","['positive', 'positive', 'positive', 'positive']" 69 | "It is a great size and amazing windows 8 included!","2","['size', 'windows 8']","['positive', 'positive']" 70 | "I do not like too much Windows 8.","1","['Windows 8']","['negative']" 71 | "Startup times are incredibly long: over two minutes.","1","['Startup times']","['negative']" 72 | "Also stunning colors and speedy","1","['colors']","['positive']" 73 | "great price free shipping what else can i ask for!!","2","['price', 'shipping']","['positive', 'positive']" 74 | "This mouse is terrific.","1","['mouse']","['positive']" 75 | "It is really thick around the battery.","1","['battery']","['neutral']" 76 | "And windows 7 works like a charm.","1","['windows 7']","['positive']" 77 | ":) Great product, great price, great delivery, and great service.","3","['price', 'delivery', 'service']","['positive', 'positive', 'positive']" 78 | ":] It arrived so fast and customer service was great.","1","['customer service']","['positive']" 79 | "tried windows 8 and hated it !!!","1","['windows 8']","['negative']" 80 | "Set up was a breeze.","1","['Set up']","['positive']" 81 | "But I do NOT like Win8.","1","['Win8']","['negative']" 82 | "I am still in the process of learning about its features.","1","['features']","['neutral']" 83 | "I had the same reasons as most PC users: the price, the overbearing restrictions of OSX and lack of support for games.","3","['price', 'OSX', 'support for games']","['negative', 'negative', 'negative']" 84 | "I wanted it for it's mobility and man, this little bad boy is very nice.","1","['mobility']","['positive']" 85 | "I found the mini to be:Exceptionally easy to set up","1","['set up']","['positive']" 86 | "Having USB3 is why I bought this Mini.","1","['USB3']","['positive']" 87 | "The sound is nice and loud; I don't have any problems with hearing anything.","1","['sound']","['positive']" 88 | "It is very slim, the track pad is very much impressed with me.","1","['track pad']","['positive']" 89 | "The settings are not user-friendly either.","1","['settings']","['negative']" 90 | "Thank goodness for OpenOffice!","1","['OpenOffice']","['positive']" 91 | "Awesome form factor, great battery life, wonderful UX.","3","['form factor', 'battery life', 'UX']","['positive', 'positive', 'positive']" 92 | "i love the keyboard and the screen.","2","['keyboard', 'screen']","['positive', 'positive']" 93 | "However, there are MAJOR issues with the touchpad which render the device nearly useless.","1","['touchpad']","['negative']" 94 | "I've already upgraded o Mavericks and I am impressed with everything about this computer.","1","['Mavericks']","['positive']" 95 | "Not as fast as I would have expect for an i5.","1","['i5']","['negative']" 96 | "thanks for great service and shipping!","2","['service', 'shipping']","['positive', 'positive']" 97 | "The performance seems quite good, and built-in applications like iPhoto work great with my phone and camera.","3","['performance', 'built-in applications', 'iPhoto']","['positive', 'positive', 'positive']" 98 | "I did swap out the hard drive for a Samsung 830 SSD which I highly recommend.","2","['hard drive', 'Samsung 830 SSD']","['neutral', 'positive']" 99 | "Starts up in a hurry and everything is ready to go.","1","['Starts up']","['positive']" 100 | "Yes, that's a good thing, but it's made from aluminum that scratches easily.","1","['aluminum']","['negative']" 101 | "Quick and has built in virus control.","1","['built in virus control']","['positive']" 102 | "Took a long time trying to decide between one with retina display and one without.","1","['retina display']","['neutral']" 103 | "I was also informed that the components of the Mac Book were dirty.","1","['components']","['negative']" 104 | "the hardware problems have been so bad, i can't wait till it completely dies in 3 years, TOPS!","1","['hardware']","['negative']" 105 | "It's so nice that the battery last so long and that this machine has the snow lion!","2","['battery', 'snow lion']","['positive', 'positive']" 106 | "HOWEVER I chose two day shipping and it took over a week to arrive.","1","['shipping']","['negative']" 107 | "it's exactly what i wanted, and it has all the new features and whatnot.","1","['features']","['positive']" 108 | "Can you buy any laptop that matches the quality of a MacBook?","1","['quality']","['positive']" 109 | "It feels cheap, the keyboard is not very sensitive.","1","['keyboard']","['negative']" 110 | "Though please note that sometimes it crashes, and the sound quality isnt superb.","1","['sound quality']","['negative']" 111 | "It is very easy to navigate even for a novice.","1","['navigate']","['positive']" 112 | "Does everything I need it to, has a wonderful battery life and I couldn't be happier.","1","['battery life']","['positive']" 113 | "Great Performance and Quality.","2","['Performance', 'Quality']","['positive', 'positive']" 114 | "I used windows XP, windows Vista, and Windows 7 extensively.","3","['windows XP', 'windows Vista', 'Windows 7']","['neutral', 'neutral', 'neutral']" 115 | "I did add a SSD drive and memory","2","['SSD drive', 'memory']","['neutral', 'neutral']" 116 | "On start up it asks endless questions just so itune can sell you more of their products.","2","['start up', 'itune']","['negative', 'negative']" 117 | "I Have been a Pc user for a very long time now but I will get used to this new OS.","1","['OS']","['neutral']" 118 | "One more thing, this mac does NOT come with restore disks and I am not sure if you can make them direct from the mac like you can with newer PC's, also the charging cables are made of the same cheap material as the iPhone/iPod touch cables.","3","['restore disks', 'charging cables', 'material']","['negative', 'negative', 'negative']" 119 | "I bought it to my son who uses it for graphic design.","1","['graphic design']","['neutral']" 120 | "I never tried any external mics with that iMac.","1","['external mics']","['neutral']" 121 | "The new os is great on my macbook pro!","1","['os']","['positive']" 122 | "I have experienced no problems, works as anticipated.","1","['works']","['positive']" 123 | "System is running great.","1","['System']","['positive']" 124 | "Easy to customize setting and even create your own bookmarks.","2","['customize setting', 'create your own bookmarks']","['positive', 'positive']" 125 | "The MAC Mini, wireless keyboard / mouse and a HDMI cable is all I need to get some real work done.","2","['wireless keyboard / mouse', 'HDMI cable']","['neutral', 'neutral']" 126 | "it has all the features that we expected and the price was good, working well so far.","3","['features', 'price', 'working']","['positive', 'positive', 'positive']" 127 | "I work as a designer and coder and I needed a new buddy to work with, not gaming.","1","['gaming']","['neutral']" 128 | "The new operating system makes this computer into a super iPad.","1","['operating system']","['positive']" 129 | "Easy to set up and go!","1","['set up']","['positive']" 130 | "I can't believe how quiet the hard drive is and how quick this thing boots up.","2","['hard drive', 'boots up']","['positive', 'positive']" 131 | "The only issue came when I tried scanning to the mac.","1","['scanning']","['negative']" 132 | "I think this is about as good as it gets at anything close to this price point.","1","['price point']","['neutral']" 133 | "It's just what we were looking for and it works great.","1","['works']","['positive']" 134 | "It's so quick and responsive that it makes working/surfing on a computer so much more pleasurable!","2","['working', 'surfing']","['positive', 'positive']" 135 | "It works fine, and all the software seems to run pretty well.","2","['works', 'software']","['positive', 'positive']" 136 | "I'm using this computer for word processing, web browsing, some gaming, and I'm learning programming.","4","['word processing', 'web browsing', 'gaming', 'programming']","['neutral', 'neutral', 'neutral', 'neutral']" 137 | "My wife was so excited to open the box, but quickly came to see that it did not function as it should.","1","['function']","['negative']" 138 | "I wanted a computer that was quite, fast, and that had overall great performance.","1","['performance']","['neutral']" 139 | "Apple ""Help"" is a mixed bag.","1","['Apple ""Help""']","['negative']" 140 | "It suddenly can not work.","1","['work']","['negative']" 141 | "Harddrive was in poor condition, had to replace it.","1","['Harddrive']","['negative']" 142 | "The on/off switch is a bit obscure in the rear corner.","1","['on/off switch']","['negative']" 143 | "My only complaint is the total lack of instructions that come with the mac mini.","1","['instructions']","['negative']" 144 | "The only task that this computer would not be good enough for would be gaming, otherwise the integrated Intel 4000 graphics work well for other tasks.","1","['gaming']","['negative']" 145 | "I use it mostly for content creation (Audio, video, photo editing) and its reliable.","4","['content creation', 'Audio', 'video', 'photo editing']","['positive', 'positive', 'positive', 'positive']" 146 | "Screen is bright and gorgeous.","1","['Screen']","['positive']" 147 | "The only solution is to turn the brightness down, etc.","1","['brightness']","['neutral']" 148 | "If you want more information on macs I suggest going to apple.com and heading towards the macbook page for more information on the applications.","1","['applications']","['neutral']" 149 | "It is robust, with a friendly use as all Apple products.","1","['use']","['positive']" 150 | "It is fast and easy to use.","1","['use']","['positive']" 151 | "And the fact that it comes with an i5 processor definitely speeds things up","1","['i5 processor']","['positive']" 152 | "I have been PC for years but this computer is intuitive and its built in features are a great help","1","['built in features']","['positive']" 153 | "Nice screen, keyboard works great!","2","['screen', 'keyboard']","['positive', 'positive']" 154 | "I was amazed at how fast the delivery was.","1","['delivery']","['positive']" 155 | "I've installed to it additional SSD and 16Gb RAM.","2","['SSD', '16Gb RAM']","['neutral', 'neutral']" 156 | "The memory was gone and it was not able to be used.","1","['memory']","['negative']" 157 | "It works great and I am so happy I bought it.","1","['works']","['positive']" 158 | "I like the design and ease of use with the keyboard, plenty of ports.","3","['design', 'keyboard', 'ports']","['positive', 'positive', 'positive']" 159 | "it definitely beats my old mac and the service was great.","1","['service']","['positive']" 160 | "Web browsing is very quick with Safari browser.","2","['Web browsing', 'Safari browser']","['positive', 'positive']" 161 | "I like the lighted screen at night.","1","['lighted screen']","['positive']" 162 | "It is really easy to use and it is quick to start up.","2","['use', 'start up']","['positive', 'positive']" 163 | "I've lived with the crashes and slow operation and restarts.","1","['operation']","['negative']" 164 | "USB3 Peripherals are noticably less expensive than the ThunderBolt ones.","2","['USB3 Peripherals', 'ThunderBolt']","['positive', 'negative']" 165 | "And mine had broke but I sent it in under warranty-no problems.","1","['warranty']","['positive']" 166 | "It's fast, light, and is perfect for media editing, which is mostly why I bought it in the first place.","1","['media editing']","['positive']" 167 | "The battery lasts as advertised (give or take 15-20 minutes), and the entire user experience is very elegant.","2","['battery', 'user experience']","['positive', 'positive']" 168 | "Thanks for the fast shipment and great price.","2","['shipment', 'price']","['positive', 'positive']" 169 | "!Excelent performance, usability, presentation and time response.","4","['performance', 'usability', 'presentation', 'time response']","['positive', 'positive', 'positive', 'positive']" 170 | "The smaller size was a bonus because of space restrictions.","1","['size']","['positive']" 171 | "I blame the Mac OS.","1","['Mac OS']","['negative']" 172 | "In fact I still use manyLegacy programs (Appleworks, FileMaker Pro, Quicken, Photoshop etc)!","5","['Legacy programs', 'Appleworks', 'FileMaker Pro', 'Quicken', 'Photoshop']","['neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 173 | "I like the operating system.","1","['operating system']","['positive']" 174 | "I love the form factor.","1","['form factor']","['positive']" 175 | "It's fast at loading the internet.","1","['loading the internet']","['positive']" 176 | "So much faster and sleeker looking.","1","['looking']","['positive']" 177 | "Unfortunately, it runs XP and Microsoft is dropping support next April.","2","['XP', 'support']","['neutral', 'negative']" 178 | "First off, I really do like my MBP... once used to the OS it is pretty easy to get around, and the overall build is great... eg the keyboard is one of the best to type on.","3","['OS', 'overall build', 'keyboard']","['positive', 'positive', 'positive']" 179 | "It is made of such solid construction and since I have never had a Mac using my iPhone helped me get used to the system a bit.","2","['construction', 'system']","['positive', 'neutral']" 180 | "Very nice unibody construction.","1","['unibody construction']","['positive']" 181 | "This Macbook Pro is fast, powerful, and runs super quiet and cool.","1","['runs']","['positive']" 182 | "It's ok but doesn't have a disk drive which I didn't know until after I bought it.","1","['disk drive']","['neutral']" 183 | "There is no HDMI receptacle, nor is there an SD card slot located anywhere on the device.","2","['HDMI receptacle', 'SD card slot']","['neutral', 'neutral']" 184 | "It came in brand new and works perfectly.","1","['works']","['positive']" 185 | "It shouldn't happen like that, I don't have any design app open or anything.","1","['design app']","['neutral']" 186 | "MY TRACKPAD IS NOT WORKING.","1","['TRACKPAD']","['negative']" 187 | "It looks and feels solid, with a flawless finish.","3","['looks', 'feels', 'finish']","['positive', 'positive', 'positive']" 188 | "Price was higher when purchased on MAC when compared to price showing on PC when I bought this product.","2","['Price', 'price']","['negative', 'positive']" 189 | "Then the system would many times not power down without a forced power-off.","2","['system', 'power down']","['negative', 'negative']" 190 | "The configuration is perfect for my needs.","1","['configuration']","['positive']" 191 | "and the speakers is the worst ever.","1","['speakers']","['negative']" 192 | "Its the best, its got the looks, super easy to use and love all you can do with the trackpad!..","3","['looks', 'use', 'trackpad']","['positive', 'positive', 'positive']" 193 | "Web surfuring is smooth and seamless.","1","['Web surfuring']","['positive']" 194 | "I'm overall pleased with the interface and the portability of this product.","2","['interface', 'portability']","['positive', 'positive']" 195 | "This item is a beautiful piece, it works well, it is easy to carry and handle.","3","['works', 'carry', 'handle']","['positive', 'positive', 'positive']" 196 | "It was also suffering from hardware (keyboard) issues, relatively slow performance and shortening battery lifetime.","3","['hardware (keyboard)', 'performance', 'battery lifetime']","['negative', 'negative', 'negative']" 197 | "Runs good and does the job, can't complain about that!","1","['Runs']","['positive']" 198 | "It's silent and has a very small footprint on my desk.","1","['footprint']","['positive']" 199 | "The exterior is absolutely gorgeous.","1","['exterior']","['positive']" 200 | "It has a very high performance, just for what I needed for.","1","['performance']","['positive']" 201 | "Apple is aware of this issue and this is either old stock or a defective design involving the intel 4000 graphics chipset.","2","['design', 'intel 4000 graphics chipset']","['neutral', 'neutral']" 202 | "OSX Mountain Lion soon to upgrade to Mavericks.","2","['OSX Mountain Lion', 'Mavericks']","['neutral', 'neutral']" 203 | "I just bought the new MacBook Pro, the 13"" model, and I can't believe Apple keeps making the same mistake with regard to USB ports.","1","['USB ports']","['negative']" 204 | "It wakes in less than a second when I open the lid.","2","['wakes', 'lid']","['positive', 'neutral']" 205 | "It is the perfect size and speed for me.","2","['size', 'speed']","['positive', 'positive']" 206 | "THE CUSTOMER SERVICE IS TERRIFIC!!","1","['CUSTOMER SERVICE']","['positive']" 207 | "My last laptop was a 17"" ASUS gaming machine, which performed admirably, but having since built my own desktop and really settling into the college life, I found myself wanting something smaller and less cumbersome, not to mention that the ASUS had been slowly developing problems ever since I bought it about 4 years ago.","1","['performed']","['positive']" 208 | "However, it did not have any scratches, ZERO battery cycle count (pretty surprised), and all the hardware seemed to be working perfectly.","2","['battery cycle count', 'hardware']","['positive', 'positive']" 209 | "After fumbling around with the OS I started searching the internet for a fix and found a number of forums on fixing the issue.","1","['OS']","['negative']" 210 | "And as for all the fancy finger swipes -- I just gave up and attached a mouse.","2","['finger swipes', 'mouse']","['negative', 'neutral']" 211 | "I needed a laptop with big storage, a nice screen and fast so I can photoshop without any problem.","3","['storage', 'screen', 'photoshop']","['neutral', 'neutral', 'neutral']" 212 | "I like coming back to Mac OS but this laptop is lacking in speaker quality compared to my $400 old HP laptop.","2","['Mac OS', 'speaker quality']","['positive', 'negative']" 213 | "Shipped very quickly and safely.","1","['Shipped']","['positive']" 214 | "The thunderbolt port is awesome!","1","['thunderbolt port']","['positive']" 215 | "The performance is definitely superior to any computer I've ever put my hands on.","1","['performance']","['positive']" 216 | "It's great for streaming video and other entertainment uses.","2","['streaming video', 'entertainment uses']","['positive', 'positive']" 217 | "I like the design and its features but there are somethings I think needs to be improved.","2","['design', 'features']","['positive', 'positive']" 218 | "There were small problems with Mac office.","1","['Mac office']","['negative']" 219 | "I understand I should call Apple Tech Support about any variables(which is my purpose of writing this con) as variables could be a bigger future problem.","1","['Apple Tech Support']","['neutral']" 220 | "I ordered my 2012 mac mini after being disappointed with spec of the new 27"" Imacs.","1","['spec']","['negative']" 221 | "It still works and it's extremely user friendly, so I would recommend it for new computer user and also for those who are just looking for a more efficient way to do things","1","['works']","['positive']" 222 | "Its fast, easy to use and it looks great.","2","['use', 'looks']","['positive', 'positive']" 223 | "(but Office can be purchased) IF I ever need a laptop again I am for sure purchasing another Toshiba!!","1","['Office']","['neutral']" 224 | "I haven't tried the one with retina display... Maybe in the future.","1","['retina display']","['neutral']" 225 | "Performance is much much better on the Pro, especially if you install an SSD on it.","2","['Performance', 'SSD']","['positive', 'positive']" 226 | "Note, however, that any existing MagSafe accessories you have will not work with the MagSafe 2 connection.","2","['MagSafe accessories', 'MagSafe 2 connection']","['neutral', 'negative']" 227 | "The only thing I dislike is the touchpad, alot of the times its unresponsive and does things I dont want it too, I would recommend using a mouse with it.","2","['touchpad', 'mouse']","['negative', 'neutral']" 228 | "The Mac mini is about 8x smaller than my old computer which is a huge bonus and runs very quiet, actually the fans aren't audible unlike my old pc","2","['runs', 'fans']","['positive', 'positive']" 229 | "MAYBE The Mac OS improvement were not The product they Want to offer.","1","['Mac OS']","['negative']" 230 | "I thought the transition would be difficult at best and would take some time to fully familiarize myself with the new Mac ecosystem.","1","['Mac ecosystem']","['neutral']" 231 | "It's absolutely wonderful and worth the price!","1","['price']","['positive']" 232 | "I am please with the products ease of use; out of the box ready; appearance and functionality.","3","['use', 'appearance', 'functionality']","['positive', 'positive', 'positive']" 233 | "Perfect for all my graphic design classes I'm taking this year in college :-)","1","['graphic design']","['positive']" 234 | "I will not be using that slot again.","1","['slot']","['negative']" 235 | "The OS is fast and fluid, everything is organized and it's just beautiful.","1","['OS']","['positive']" 236 | "They are simpler to use.","1","['use']","['positive']" 237 | "!so nice .. stable .. fast .. now i got my SSD !","1","['SSD']","['positive']" 238 | "Also, in using the built-in camera, my voice recording for my vlog sounds like the interplanetary transmissions in the ""Star Wars"" saga.","2","['built-in camera', 'voice recording']","['neutral', 'negative']" 239 | "I love the quick start up.","1","['start up']","['positive']" 240 | "You just cannot beat the functionality of an Apple device.","1","['functionality']","['positive']" 241 | "Yet my mac continues to function properly.","1","['function']","['positive']" 242 | "Graphics are much improved.","1","['Graphics']","['positive']" 243 | "Here are the things that made me confident with my purchase:Build Quality - Seriously, you can't beat a unibody construction.","2","['Build Quality', 'unibody construction']","['positive', 'positive']" 244 | "It provides much more flexibility for connectivity.","1","['flexibility for connectivity']","['positive']" 245 | "I want the portability of a tablet, without the limitations of a tablet and that's where this laptop comes into play.","1","['portability']","['positive']" 246 | "Mac tutorials do help.","1","['Mac tutorials']","['positive']" 247 | "The technical support was not helpful as well.","1","['technical support']","['negative']" 248 | "I got the new adapter and there was no change.","1","['adapter']","['neutral']" 249 | "so i called technical support.","1","['technical support']","['neutral']" 250 | "Came with iPhoto and garage band already loaded.","2","['iPhoto', 'garage band']","['neutral', 'neutral']" 251 | "Logic board utterly fried, cried, and laid down and died.","1","['Logic board']","['positive']" 252 | "The sound was crappy even when you turn up the volume still the same results.","2","['sound', 'volume']","['negative', 'negative']" 253 | "OSX Lion is a great performer..extremely fast and reliable.","1","['OSX Lion']","['positive']" 254 | "Having heard from friends and family about how reliable a Mac product is, I never expected to have an application crash within the first month, but I did.","1","['application']","['negative']" 255 | "The Macbook pro's physical form is wonderful.","1","['physical form']","['positive']" 256 | "The Mini's body hasn't changed since late 2010- and for a good reason.","1","['body']","['positive']" 257 | "The unibody construction really does feel lot more solid than Apple's previous laptops.","1","['unibody construction']","['positive']" 258 | "3D rendering slows it down considerably.","1","['3D rendering']","['negative']" 259 | "Got this Mac Mini with OS X Mountain Lion for my wife.","1","['OS X Mountain Lion']","['neutral']" 260 | "fast, great screen, beautiful apps for a laptop;priced at 1100 on the apple website;amazon had it for 1098+ tax - plus i had a 10% off coupon from amazon-cost me 998 plus tax- 1070- OTD!","4","['screen', 'apps', 'priced', 'cost']","['positive', 'positive', 'neutral', 'neutral']" 261 | "12.44 seconds to boot.","1","['boot']","['neutral']" 262 | "All the ports are much needed since this is my main computer.","1","['ports']","['neutral']" 263 | "The Like New condition of the iMac MC309LL/A on Amazon is at $900+ level only, and it is a Quad-Core 2.5 GHz CPU (similar to the $799 Mini), with Radeon HD 6750M 512MB graphic card (this mini is integrated Intel 4000 card), and it even comes with wireless Apple Keyboard and Mouse, all put together in neat and nice package.","5","['Quad-Core 2.5 GHz CPU', 'Radeon HD 6750M 512MB graphic card', 'integrated Intel 4000 card', 'wireless Apple Keyboard and Mouse', 'package']","['neutral', 'neutral', 'neutral', 'neutral', 'positive']" 264 | "Put a cover on it and is a little better but that is my only complaint.","1","['cover']","['neutral']" 265 | "Within a few hours I was using the gestures unconsciously.","1","['gestures']","['positive']" 266 | "This mac does come with an extender cable and I'm using mine right now hoping the cable will stay nice for the many years I plan on using this mac.","2","['extender cable', 'cable']","['neutral', 'positive']" 267 | "The 2.9ghz dual-core i7 chip really out does itself.","1","['2.9ghz dual-core i7 chip']","['positive']" 268 | "It is pretty snappy and starts up in about 30 seconds which is good enough for me.","1","['starts up']","['positive']" 269 | "Not sure on Windows 8.","1","['Windows 8']","['neutral']" 270 | "My one complaint is that there was no internal CD drive.","1","['internal CD drive']","['negative']" 271 | "This newer netbook has no hard drive or network lights.","2","['hard drive', 'network lights']","['neutral', 'neutral']" 272 | "I was having a though time deciding between the 13"" MacBook Air or the MacBook Pro 13"" (Both baseline models, priced at 1,200 $ retail)","1","['priced']","['neutral']" 273 | "Not too expense and has enough storage for most users and many ports.","2","['storage', 'ports']","['positive', 'positive']" 274 | "The audio volume is quite low and virtually unusable in a room with any background activity.","1","['audio volume']","['negative']" 275 | "It is lightweight and the perfect size to carry to class.","1","['size']","['positive']" 276 | "I was given a demonstration of Windows 8.","1","['Windows 8']","['neutral']" 277 | "The MBP is beautiful has many wonderful capabilities.","1","['capabilities']","['positive']" 278 | "I thought that it will be fine, if i do some settings.","1","['settings']","['neutral']" 279 | "Runs very smoothly.","1","['Runs']","['positive']" 280 | "Boot-up slowed significantly after all Windows updates were installed.","2","['Boot-up', 'Windows updates']","['negative', 'negative']" 281 | "More likely it will require replacing the logic board once they admit they have a problem and come up with a solution.","1","['logic board']","['negative']" 282 | "It was important that it was powerful enough to do all of the tasks he needed on the internet, word processing, graphic design and gaming.","4","['internet', 'word processing', 'graphic design', 'gaming']","['positive', 'positive', 'positive', 'positive']" 283 | "I like the Mini Mac it was easy to setup and install, but I am learning as I go and could use a tutorial to learn how to use some of the features I was use to on the PC especially the right mouse click menu.","5","['setup', 'install', 'tutorial', 'features', 'right mouse click menu']","['positive', 'positive', 'neutral', 'neutral', 'neutral']" 284 | "Runs real quick.","1","['Runs']","['positive']" 285 | "Buy the separate RAM memory and you will have a rocket!","1","['RAM memory']","['positive']" 286 | "Since the machine's slim profile is critical to me, that was a problem.","1","['profile']","['negative']" 287 | "WiFi capability, disk drive and multiple USB ports to connect scale and printers was all that was required.","3","['WiFi capability', 'disk drive', 'USB ports']","['positive', 'positive', 'positive']" 288 | "The SD card reader is slightly recessed and upside down (the nail slot on the card cannot be accessed), if this was a self ejecting slot this would not be an issue, but its not.","3","['SD card reader', 'nail slot on the card', 'slot']","['negative', 'negative', 'negative']" 289 | "Soft touch, anodized aluminum with laser cut precision and no flaws.","2","['touch', 'anodized aluminum']","['positive', 'positive']" 290 | "Simple details, crafted aluminium and real glass make this laptop blow away the other plastic ridden, bulky sticker filled laptops.","2","['aluminium', 'glass']","['positive', 'positive']" 291 | "First of all yes this is a mac and it has that nice brushed aluminum .","1","['aluminum']","['positive']" 292 | "After all was said and done, I essentially used that $450 savings to buy 16GB of RAM, TWO Seagate Momentus XT hybrid drives and an OWC upgrade kit to install the second hard drive.","4","['16GB of RAM', 'Seagate Momentus XT hybrid drives', 'OWC upgrade kit', 'hard drive']","['neutral', 'neutral', 'neutral', 'neutral']" 293 | "The Dell Inspiron is fast and has a number pad on the keyboard, which I miss on my Apple laptops.","1","['number pad on the keyboard']","['positive']" 294 | "I was concerned that the downgrade to the regular hard drive would make it unacceptably slow but I need not have worried - this machine is the fastest I have ever owned...","1","['regular hard drive']","['positive']" 295 | "This one still has the CD slot.","1","['CD slot']","['neutral']" 296 | "No HDMI port.","1","['HDMI port']","['neutral']" 297 | "I had to install Mountain Lion and it took a good two hours.","1","['install Mountain Lion']","['negative']" 298 | "Customization on mac is impossible.","1","['Customization']","['negative']" 299 | "I am replacing the HD with a Micron SSD soon.","2","['HD', 'Micron SSD']","['neutral', 'neutral']" 300 | "Plus two finger clicking as a replacement for the right click button is surprisingly intuitive.","2","['two finger clicking', 'right click button']","['positive', 'neutral']" 301 | "The SuperDrive is quiet.","1","['SuperDrive']","['positive']" 302 | "The power plug has to be connected to the power adaptor to charge the battery but won't stay connected.","3","['power plug', 'power adaptor', 'battery']","['negative', 'neutral', 'neutral']" 303 | "The battery was completely dead, in fact it had grown about a quarter inch thick lump on the underside.","1","['battery']","['negative']" 304 | "if yo like practicality this is the laptop for you.","1","['practicality']","['positive']" 305 | "The OS is great.","1","['OS']","['positive']" 306 | "I tried several monitors and several HDMI cables and this was the case each time.","2","['monitors', 'HDMI cables']","['neutral', 'neutral']" 307 | "CONS: Price is a bit ridiculous, kinda heavy.","1","['Price']","['negative']" 308 | "The troubleshooting said it was the AC adaptor so we ordered a new one.","1","['AC adaptor']","['neutral']" 309 | "Fan only comes on when you are playing a game.","2","['Fan', 'playing a game']","['neutral', 'neutral']" 310 | "Which it did not have, only 3 USB 2 ports.","1","['USB 2 ports']","['neutral']" 311 | "No startup disk was not included but that may be my fault.","1","['startup disk']","['neutral']" 312 | "There is no ""tools"" menu.","1","['""tools"" menu']","['neutral']" 313 | "It is very fast and has everything that I need except for a word program.","1","['word program']","['negative']" 314 | "Needs a CD/DVD drive and a bigger power switch.","2","['CD/DVD drive', 'power switch']","['neutral', 'negative']" 315 | "My laptop with Windows 7 crashed and I did not want Windows 8.","2","['Windows 7', 'Windows 8']","['negative', 'negative']" 316 | "Easy to install also small to leave anywhere at your bedroom also very easy to configure for ADSl cable or wifi.","2","['install', 'configure for ADSl cable or wifi']","['positive', 'positive']" 317 | "Nice packing.","1","['packing']","['positive']" 318 | "I switched to this because I wanted something different, even though I miss windows.","1","['windows']","['positive']" 319 | "Apple no longer includes iDVD with the computer and furthermore, Apple doesn't even offer it anymore!","1","['iDVD']","['negative']" 320 | "I also wanted Windows 7, which this one has.","1","['Windows 7']","['positive']" 321 | "At first, I feel a little bit uncomfortable in using the Mac system.","1","['Mac system']","['negative']" 322 | "I am used to computers with windows so I am having a little difficulty finding my way around.","1","['windows']","['neutral']" 323 | "It just works out of the box and you have a lot of cool software included with the OS.","3","['works', 'software', 'OS']","['positive', 'positive', 'neutral']" 324 | "its as advertised on here..... it works great and is not a waste of money!","1","['works']","['positive']" 325 | "Runs like a champ.....","1","['Runs']","['positive']" 326 | "Premium price for the OS more than anything else.","2","['price', 'OS']","['positive', 'neutral']" 327 | "I was a little concerned about the touch pad based on reviews, but I've found it fine to work with.","1","['touch pad']","['positive']" 328 | "The sound as mentioned earlier isn't the best, but it can be solved with headphones.","1","['headphones']","['neutral']" 329 | "However, the experience was great since the OS does not become unstable and the application will simply shutdown and reopen.","2","['OS', 'application']","['positive', 'positive']" 330 | "If you ask me, for this price it should be included.","1","['price']","['negative']" 331 | "The battery is not as shown in the product photos.","1","['battery']","['negative']" 332 | "Shipping was quick and product described was the product sent and so much more...","1","['Shipping']","['positive']" 333 | "the retina display display make pictures i took years ago jaw dropping.","1","['retina display display']","['positive']" 334 | "The Mac Mini is probably the simplest example of compact computing out there.","1","['compact computing']","['positive']" 335 | "Instead, I'll focus more on the actual performance and feature set of the hardware itself so you can make an educated decision on which Mac to buy.","1","['performance and feature set of the hardware']","['neutral']" 336 | "Other ports include FireWire 800, Gigabit Ethernet, MagSafe port, Microphone jack.","5","['ports', 'FireWire 800', 'Gigabit Ethernet', 'MagSafe port', 'Microphone jack']","['neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 337 | "Additionally, there is barely a ventilation system in the computer, and even the simple activity of watching videos let alone playing steam games causes the laptop to get very very hot, and in fact impossible to keep on lap.","3","['ventilation system', 'watching videos', 'playing steam games']","['negative', 'neutral', 'neutral']" 338 | "Chatting with Acer support, I was advised the problem was corrupted operating system files.","2","['Acer support', 'operating system files']","['neutral', 'neutral']" 339 | "It's been a couple weeks since the purchase and I'm struggle with finding the correct keys (but that was expected).","1","['keys']","['neutral']" 340 | "Many people complain about the new OS, and it's urgent for Apple to fix it asap!","1","['OS']","['negative']" 341 | "Now that I have upgraded to Lion I am much happier about MAC OS and have just bought an iMac for office.","2","['Lion', 'MAC OS']","['positive', 'positive']" 342 | "User upgradeable RAM and HDD.","2","['RAM', 'HDD']","['positive', 'positive']" 343 | "But I wanted the Pro for the CD/DVD player.","1","['CD/DVD player']","['positive']" 344 | "I was a little worry at first because I don't have a lot of experience with os.x and windows has always been second nature to me after many years of using windows.","3","['os.x', 'windows', 'windows']","['neutral', 'positive', 'neutral']" 345 | "With the softwares supporting the use of other OS makes it much better.","2","['softwares', 'OS']","['neutral', 'neutral']" 346 | "I then upgraded to Mac OS X 10.8 ""Mountain Lion"".","1","['Mac OS X 10.8 ""Mountain Lion""']","['neutral']" 347 | "I was considering buying the Air, but in reality, this one has a more powerful performance and seems much more convenient, even though it's about .20 inch thicker and 2 lbs heavier.","1","['performance']","['positive']" 348 | "At home and the office it gets plugged into an external 24"" LCD screen, so built in screen size is not terribly important.","2","['external 24"" LCD screen', 'built in screen size']","['neutral', 'neutral']" 349 | "Just beware no DVD slot so when I went to install software I had on CD I couldn't.","2","['DVD slot', 'install software']","['neutral', 'negative']" 350 | "I bought it to be able to dedicate a small, portable laptop to my writing and was surprised to learn that I needed to buy a word processing program to do so.","1","['word processing program']","['neutral']" 351 | "This version of MacBook Pro runs on a third-generation CPU (""Ivy Bridge""), not the latest fourth-generation Haswell CPU the 2013 version has.","2","['third-generation CPU (""Ivy Bridge"")', 'fourth-generation Haswell CPU']","['neutral', 'neutral']" 352 | "No Cd Rom in the new version there's no way I'm spending that kind of money on something has less features than the older version.","2","['Cd Rom', 'features']","['neutral', 'negative']" 353 | "the volume is really low to low for a laptopwas not expectin t volume to be so lowan i hate that about this computer","2","['volume', 'volume']","['negative', 'negative']" 354 | "and its not hard to accidentally bang it against something so i recommend getting a case to protect it.","1","['case']","['neutral']" 355 | "I got this at an amazing price from Amazon and it arrived just in time.","1","['price']","['positive']" 356 | "Every time I log into the system after a few hours, there is this endlessly frustrating process that I have to go through.","1","['log into the system']","['negative']" 357 | "Put a SSD and use a 21"" LED screen, this set up is silky smooth!","3","['SSD', '21"" LED screen', 'set up']","['neutral', 'neutral', 'positive']" 358 | "The case is now slightly larger than the previous generation, but the lack of an external power supply justifies the small increase in size.","2","['case', 'external power supply']","['negative', 'neutral']" 359 | "I had to buy a wireless mouse to go with it, as I am old school and hate the pad, but knew that before I bought it, now it works great, need to get adjusted to the key board, as I am used to a bigger one and pounding.","4","['wireless mouse', 'pad', 'works', 'key board']","['neutral', 'negative', 'positive', 'neutral']" 360 | "When considering a Mac, look at the total cost of ownership and not just the initial price tag.","2","['cost of ownership', 'price tag']","['neutral', 'neutral']" 361 | "Has all the other features I wanted including a VGA port, HDMI, ethernet and 3 USB ports.","5","['features', 'VGA port', 'HDMI', 'ethernet', 'USB ports']","['positive', 'neutral', 'neutral', 'neutral', 'neutral']" 362 | "The only thing I dislike about this laptop are the rubber pads found on the bottom of the computer for grip.","1","['rubber pads']","['negative']" 363 | "It's a decent computer for the price and hopefully it will last a long time.","1","['price']","['neutral']" 364 | "The nicest part is the low heat output and ultra quiet operation.","2","['heat output', 'operation']","['positive', 'positive']" 365 | "I will upgrade the ram myself (because with this model you can you can do it) later on.","1","['upgrade the ram']","['positive']" 366 | "The price is 200 dollars down.","1","['price']","['positive']" 367 | "this Mac Mini does not have a built-in mic, and it would seem that its Mac OS 10.9 does not handle external microphones properly.","3","['built-in mic', 'Mac OS 10.9', 'external microphones']","['neutral', 'negative', 'neutral']" 368 | "A lot of features and shortcuts on the MBP that I was never exposed to on a normal PC.","2","['features', 'shortcuts']","['neutral', 'neutral']" 369 | "Wasn't sure if I was going to like it much less love it so I went to a local best buy and played around with the IOS system on a Mac Pro and it was totally unique and different.","1","['IOS system']","['positive']" 370 | "air has higher resolution but the fonts are small.","2","['resolution', 'fonts']","['positive', 'negative']" 371 | "working with Mac is so much easier, so many cool features.","2","['working', 'features']","['positive', 'positive']" 372 | "I like the brightness and adjustments.","2","['brightness', 'adjustments']","['positive', 'positive']" 373 | "I only wish this mac had a CD/DVD player built in.","1","['CD/DVD player']","['neutral']" 374 | "The only thing I miss is that my old Alienware laptop had backlit keys.","1","['backlit keys']","['negative']" 375 | "The only thing I miss are the ""Home/End"" type keys and other things that I grew accustomed to after so long.","1","['""Home/End"" type keys']","['neutral']" 376 | "So happy with this purchase, I just wish it came with Microsoft Word.","1","['Microsoft Word']","['neutral']" 377 | "It has enough memory and speed to run my business with all the flexibility that comes with a laptop.","3","['memory', 'speed', 'flexibility']","['positive', 'positive', 'positive']" 378 | "The speed, the simplicity, the design.. it is lightyears ahead of any PC I have ever owned.","3","['speed', 'simplicity', 'design']","['positive', 'positive', 'positive']" 379 | "The battery life is excellent, the display is excellent, and downloading apps is a breeze.","3","['battery life', 'display', 'downloading apps']","['positive', 'positive', 'positive']" 380 | "The screen, the software and the smoothness of the operating system.","3","['screen', 'software', 'operating system']","['positive', 'positive', 'positive']" 381 | "i have dropped mine a couple times with only a slim plastic case covering it.","1","['slim plastic case']","['neutral']" 382 | "I also made a recovery USB stick.","1","['recovery USB stick']","['neutral']" 383 | "But with this laptop, the bass is very weak and the sound comes out sounding tinny.","2","['bass', 'sound']","['negative', 'negative']" 384 | "The built quality is really good, I was so Happy and excited about this Product.","1","['built quality']","['positive']" 385 | "I am loving the fast performance also.","1","['performance']","['positive']" 386 | "Further, this Mac Mini has a sloppy Bluetooth interface (courtesy of the Mac OS) and the range is poor.","3","['Bluetooth interface', 'Mac OS', 'range']","['negative', 'negative', 'negative']" 387 | "If you start on the far right side and scroll to your left the start menu will automatically come up.","1","['start menu']","['neutral']" 388 | "My only gripe would be the need to add more RAM.","1","['RAM']","['negative']" 389 | "Fine if you have a touch screen.","1","['touch screen']","['neutral']" 390 | "As far as user type - I dabble in everything from games (WoW) to Photoshop, but nothing professionally.","2","['games', 'Photoshop']","['neutral', 'neutral']" 391 | "I re-seated the ""WLAN"" card inside and re-installed the LAN device drivers.","2","['""WLAN"" card', 'LAN device drivers']","['neutral', 'neutral']" 392 | "This by far beats any computer out on the market today built well, battery life AMAZING.","2","['built', 'battery life']","['positive', 'positive']" 393 | "The OS is easy, and offers all kinds of surprises.","1","['OS']","['positive']" 394 | "I had to get Apple Customer Support to correct the problem.","1","['Apple Customer Support']","['neutral']" 395 | "A veryimportant feature is Firewire 800 which in my experience works better then USB3 (in PC enabled with USB3)I was not originally sold on the MAC OS I felt it was inferior in many ways To Windows 7.","5","['Firewire 800', 'USB3', 'USB3', 'MAC OS', 'Windows 7']","['positive', 'negative', 'neutral', 'negative', 'positive']" 396 | "I like iTunes, the apparent security, the Mini form factor, all the nice graphics stuff.","4","['iTunes', 'security', 'Mini form factor', 'graphics stuff']","['positive', 'positive', 'positive', 'positive']" 397 | "The first time I used the card reader it took half an hour and a pair of tweezers to remove the card.","2","['card reader', 'remove the card']","['negative', 'negative']" 398 | "After replacing the spinning hard disk with an ssd drive, my mac is just flying.","2","['spinning hard disk', 'ssd drive']","['neutral', 'positive']" 399 | "I know some people complained about HDMI issues but they released a firmware patch to address that issue.","2","['HDMI', 'firmware patch']","['neutral', 'neutral']" 400 | "With the needs of a professional photographer I generally need to keep up with the best specs.","1","['specs']","['neutral']" 401 | "packing and everything was perfect","1","['packing']","['positive']" 402 | "I called Toshiba where I gave them the serial number and they informed me that they were having issues with the mother boards.","1","['mother boards']","['neutral']" 403 | "I seem to be having repeat problems as the Mother Board in this one is diagnosed as faulty, related to the graphics card.","2","['Mother Board', 'graphics card']","['negative', 'negative']" 404 | "It also comes with 4G of RAM but if you're like me you want to max that out so I immediately put 8G of RAM in her and I've never used a computer that performs better.","3","['4G of RAM', '8G of RAM', 'performs']","['neutral', 'neutral', 'positive']" 405 | "This computer is also awesome for my sons virtual home schooling.","1","['virtual home schooling']","['positive']" 406 | "Cost is more as compared to other brands.","1","['Cost']","['negative']" 407 | "also...- excellent operating system- size and weight for optimal mobility- excellent durability of the battery- the functions provided by the trackpad is unmatched by any other brand-","6","['operating system', 'size', 'weight', 'mobility', 'durability of the battery', 'functions provided by the trackpad']","['positive', 'positive', 'positive', 'positive', 'positive', 'positive']" 408 | "This hardware seems to be better than the iMac in that it isn't $1400 and smaller.","1","['hardware']","['positive']" 409 | "I've had it for about 2 months now and found no issues with software or updates.","2","['software', 'updates']","['neutral', 'neutral']" 410 | "the latest version does not have a disc drive.","1","['disc drive']","['neutral']" 411 | "Screen - although some people might complain about low res which I think is ridiculous.","2","['Screen', 'res']","['positive', 'positive']" 412 | -------------------------------------------------------------------------------- /2014_Restaurants_test.csv: -------------------------------------------------------------------------------- 1 | "The bread is top notch as well.","1","['bread']","['positive']" 2 | "I have to say they have one of the fastest delivery times in the city.","1","['delivery times']","['positive']" 3 | "Food is always fresh and hot- ready to eat!","1","['Food']","['positive']" 4 | "Did I mention that the coffee is OUTSTANDING?","1","['coffee']","['positive']" 5 | "Certainly not the best sushi in New York, however, it is always fresh, and the place is very clean, sterile.","1","['place']","['positive']" 6 | "I trust the people at Go Sushi, it never disappoints.","1","['people']","['positive']" 7 | "Straight-forward, no surprises, very decent Japanese food.","1","['Japanese food']","['positive']" 8 | "BEST spicy tuna roll, great asian salad.","2","['spicy tuna roll', 'asian salad']","['positive', 'positive']" 9 | "Try the rose roll (not on menu).","2","['rose roll', 'menu']","['positive', 'neutral']" 10 | "I love the drinks, esp lychee martini, and the food is also VERY good.","3","['drinks', 'lychee martini', 'food']","['positive', 'positive', 'positive']" 11 | "In fact, this was not a Nicoise salad and was barely eatable.","1","['Nicoise salad']","['negative']" 12 | "While there's a decent menu, it shouldn't take ten minutes to get your drinks and 45 for a dessert pizza.","3","['menu', 'drinks', 'dessert pizza']","['positive', 'neutral', 'neutral']" 13 | "Once we sailed, the top-notch food and live entertainment sold us on a unforgettable evening.","2","['food', 'live entertainment']","['positive', 'positive']" 14 | "Our waiter was horrible; so rude and disinterested.","1","['waiter']","['negative']" 15 | "The sangria's - watered down.","1","['sangria']","['negative']" 16 | "menu - uneventful, small.","1","['menu']","['negative']" 17 | "Anytime and everytime I find myself in the neighborhood I will go to Sushi Rose for fresh sushi and great portions all at a reasonable price.","3","['sushi', 'portions', 'price']","['positive', 'positive', 'positive']" 18 | "Great food but the service was dreadful!","2","['food', 'service']","['positive', 'negative']" 19 | "The portions of the food that came out were mediocre.","1","['portions of the food']","['neutral']" 20 | "the two waitress looked like they had been sucking on lemons.","1","["waitress"]","['negative']" 21 | "From the beginning, we were met by friendly staff memebers, and the convienent parking at Chelsea Piers made it easy for us to get to the boat.","2","['staff memebers', 'parking']","['positive', 'positive']" 22 | "We enjoyed ourselves thoroughly and will be going back for the desserts ....","1","['desserts']","['positive']" 23 | "Desserts are almost incredible: my personal favorite is their Tart of the Day.","2","['Desserts', 'Tart of the Day']","['positive', 'positive']" 24 | "The food was extremely tasty, creatively presented and the wine excellent.","2","['food', 'wine']","['positive', 'positive']" 25 | "THE LASAGNA WAS PROBABLY THE BEST I HAVE TASTED.","1","['LASAGNA']","['positive']" 26 | "Harumi Sushi has the freshest and most delicious array of sushi in NYC.","1","['array of sushi']","['positive']" 27 | "I highly recommend it for not just its superb cuisine, but also for its friendly owners and staff.","3","['cuisine', 'owners', 'staff']","['positive', 'positive', 'positive']" 28 | "If you're craving some serious indian food and desire a cozy ambiance, this is quite and exquisite choice.","2","['indian food', 'ambiance']","['positive', 'positive']" 29 | "I definitely enjoyed the food as well.","1","['food']","['positive']" 30 | "It was pleasantly uncrowded, the service was delightful, the garden adorable, the food (from appetizers to entrees) was delectable.","5","['service', 'garden', 'food', 'appetizers', 'entrees']","['positive', 'positive', 'positive', 'positive', 'positive']" 31 | "The food is surprisingly good, and the decor is nice.","2","['food', 'decor']","['positive', 'positive']" 32 | "How pretentious and inappropriate for MJ Grill to claim that it provides power lunch and dinners!","2","['lunch', 'dinners']","['negative', 'negative']" 33 | "Two wasted steaks -- what a crime!","1","['steaks']","['negative']" 34 | "The staff should be a bit more friendly.","1","['staff']","['negative']" 35 | "I think the meatball parm is good.","1","['meatball parm']","['positive']" 36 | "If you want good tasting, well seasoned latin food eat at Cabana and you can't go wrong.","1","['latin food']","['positive']" 37 | "Definitely try the taglierini with truffles - it was incredible.","1","['taglierini with truffles']","['positive']" 38 | "Also, the staff is very attentive and really personable.","1","['staff']","['positive']" 39 | "The gnocchi literally melts in your mouth!","1","['gnocchi']","['positive']" 40 | "Had a great experience at Trio ... staff was pleasant; food was tasty and large in portion size - I would highly recommend the portobello/gorgonzola/sausage appetizer and the lobster risotto.","5","['staff', 'food', 'portion size', 'portobello/gorgonzola/sausage appetizer', 'lobster risotto']","['positive', 'positive', 'positive', 'positive', 'positive']" 41 | "Entrees include classics like lasagna, fettuccine Alfredo and chicken parmigiana.","4","['Entrees', 'lasagna', 'fettuccine Alfredo', 'chicken parmigiana']","['neutral', 'neutral', 'neutral', 'neutral']" 42 | "The food is good, the teriyaki I recommend.","2","['food', 'teriyaki']","['positive', 'positive']" 43 | "Meal was very expensive for what you get.","1","['Meal']","['negative']" 44 | "Try the Peanut Butter Sorbet and the pizza with soy cheese!","2","['Peanut Butter Sorbet', 'pizza with soy cheese']","['positive', 'positive']" 45 | "Good food at the right price, what more can you ask for.","2","['food', 'price']","['positive', 'positive']" 46 | "The food is top notch, the service is attentive, and the atmosphere is great.","3","['food', 'service', 'atmosphere']","['positive', 'positive', 'positive']" 47 | "Great food, great waitstaff, great atmosphere, and best of all GREAT beer!","4","['food', 'waitstaff', 'atmosphere', 'beer']","['positive', 'positive', 'positive', 'positive']" 48 | "this is still one of my most favorite restaurants in the area the food is inexpensive but very good (kimono shrimp special was excellent) and has a great atmosphere.","3","['food', 'kimono shrimp special', 'atmosphere']","['positive', 'positive', 'positive']" 49 | "The menu is interesting and quite reasonably priced.","2","['menu', 'priced']","['positive', 'positive']" 50 | "The food was delicious and clearly fresh ingredients were used.","2","['food', 'ingredients']","['positive', 'positive']" 51 | "This made it obvious that the food wasn't cooked fresh; it was obviously made before hand and then reheated.","1","['food']","['negative']" 52 | "Appetizer are excellent here; you can make a great (and inexpensive) meal out of them.","2","['Appetizer', 'meal']","['positive', 'positive']" 53 | "The spicy mussels are a highlight.","1","['spicy mussels']","['positive']" 54 | "Also get the Onion Rings -- best we've ever had.","1","['Onion Rings']","['positive']" 55 | "However, being foodies, we were utterly disappointed with the food.","1","['food']","['negative']" 56 | "Huge portions, great and attentive service, and pretty good prices.","3","['portions', 'service', 'prices']","['positive', 'positive', 'positive']" 57 | "I was highly disappointed by their service and food.","2","['service', 'food']","['negative', 'negative']" 58 | "I complained to the waiter and then to the manager, but the intensity of rudeness from them just went up.","2","['waiter', 'manager']","['negative', 'negative']" 59 | "The food is great and the milkshakes are even better!","2","['food', 'milkshakes']","['positive', 'positive']" 60 | "the mushroom barley soup is amazing.","1","['mushroom barley soup']","['positive']" 61 | "I'm glad I did as the food was very good and the staff was friendly, courteous and efficient.","2","['food', 'staff']","['positive', 'positive']" 62 | "Their duck here is also absolutely delicious.","1","['duck']","['positive']" 63 | "While it was large and a bit noisy, the drinks were fantastic, and the food was superb.","2","['drinks', 'food']","['positive', 'positive']" 64 | "One caveat: Some of the curried casseroles can be a trifle harsh.","1","['curried casseroles']","['negative']" 65 | "The food was almost always EXCELLENT.","1","['food']","['positive']" 66 | "I was pleasently surprised at the taste.","1","['taste']","['positive']" 67 | "A nice space, as long as it doesn't get too crowded and a singleminded devotion to its chosen cuisine make Mare a great choice for seafood lovers.","2","['cuisine', 'seafood']","['positive', 'positive']" 68 | "I never had an orange donut before so I gave it a shot.","1","['orange donut']","['neutral']" 69 | "they really provide a relaxing, laid-back atmosphere.","1","['atmosphere']","['positive']" 70 | "This particular location certainly uses substandard meats.","1","['meats']","['negative']" 71 | "The Management was less than accomodating.","1","['Management']","['negative']" 72 | "The ambience is also more laid-back and relaxed.","1","['ambience']","['positive']" 73 | "the teas are great and all the sweets are homemade.","2","['teas', 'sweets']","['positive', 'positive']" 74 | "mojitos and the service are the best part in there","2","['mojitos', 'service']","['positive', 'positive']" 75 | "Sandwiches, burgers and salads, like the lemon-dressed cobb, are classic successes.","4","['Sandwiches', 'burgers', 'salads', 'lemon-dressed cobb']","['positive', 'positive', 'positive', 'positive']" 76 | "The design is very intimate and romantic.","1","['design']","['positive']" 77 | "The food was wonderful and imaginative.","1","['food']","['positive']" 78 | "The staff is very sharp and they look good too.","1","['staff']","['positive']" 79 | "The worst though was the taste.","1","['taste']","['negative']" 80 | "The fajita we tried was tasteless and burned and the mole sauce was way too sweet.","2","['fajita', 'mole sauce']","['negative', 'negative']" 81 | "Stay with the roasted chickens and you'll be fine.","1","['roasted chickens']","['positive']" 82 | "The atmosphere is warm, comfortable, artsy and sexy.","1","['atmosphere']","['positive']" 83 | "The food is great (big selection, reasonable prices) and the drinks are really good.","4","['food', 'selection', 'prices', 'drinks']","['positive', 'positive', 'positive', 'positive']" 84 | "The steak melted in my mouth.","1","['steak']","['positive']" 85 | "The food did take a few extra minutes to come, but the cute waiters' jokes and friendliness made up for it.","2","['food', 'waiters']","['neutral', 'positive']" 86 | "Most importantly, it is reasonably priced.","1","['priced']","['positive']" 87 | "The selection of food is excellent (I'm not used to having much choice at restaurants), and the atmosphere is great.","2","['selection of food', 'atmosphere']","['positive', 'positive']" 88 | "Only suggestion is that you skip the dessert, it was overpriced and fell short on taste.","2","['dessert', 'taste']","['negative', 'negative']" 89 | "Food was decent, but not great.","1","['Food']","['positive']" 90 | "i dont know what some people who rave about this hot dog are talking about.","1","['hot dog']","['negative']" 91 | "it is a hidden delight complete with a quaint bar and good food.","2","['bar', 'food']","['positive', 'positive']" 92 | "The waiters ALWAYS look angry and even ignore their high-tipping regulars.","1","['waiters']","['negative']" 93 | "the atmosphere is very nice, and a welcome escape from the rest of the SI mall.","1","['atmosphere']","['positive']" 94 | "Yes, they're a bit more expensive then typical, but then again, so is their food.","1","['food']","['positive']" 95 | "I can say that the wraps, burgers and salads were all fresh, tasty and the mango margareta at $9 was WELL WORTH the money.","4","['wraps', 'burgers', 'salads', 'mango margareta']","['positive', 'positive', 'positive', 'positive']" 96 | "Anywhere else, the prices would be 3x as high!","1","['prices']","['positive']" 97 | "The service we experienced was friendly and good.","1","['service']","['positive']" 98 | "Our waiter was friendly and it is a shame that he didnt have a supportive staff to work with.","2","['waiter', 'staff']","['positive', 'negative']" 99 | "The folding chair I was seated at was uncomfortable.","1","['folding chair']","['negative']" 100 | "Service was among the best I have ever had in NYC.","1","['Service']","['positive']" 101 | "The fettucino alfredo was amazing.","1","['fettucino alfredo']","['positive']" 102 | "The food was very good and I was pleasantly surprised to see so many vegan options.","2","['food', 'vegan options']","['positive', 'positive']" 103 | "I know real Indian food and this wasn't it.","1","['Indian food']","['negative']" 104 | "Be sure to try the Smoked Trout...Lamb Chops, Veal Chops, Rabbit, the potato gratin, on and on and on...","5","['Smoked Trout', 'Lamb Chops', 'Veal Chops', 'Rabbit', 'potato gratin']","['positive', 'positive', 'positive', 'positive', 'positive']" 105 | "Even when the chef is not in the house, the food and service are right on target.","3","['chef', 'food', 'service']","['neutral', 'positive', 'positive']" 106 | "Everything from the eggs benedict to the mussels and even the hamburger were done well and very tasty.","3","['eggs benedict', 'mussels', 'hamburger']","['positive', 'positive', 'positive']" 107 | "The waiters were very professional, courteous and attentive.","1","['waiters']","['positive']" 108 | "The falafal was rather over cooked and dried but the chicken was fine.","2","['falafal', 'chicken']","['negative', 'positive']" 109 | "I highly reccomend the grand marnier shrimp, it's insanely good.","1","['grand marnier shrimp']","['positive']" 110 | "We been there and we really enjoy the food, was areally great food, and the service was really good.","3","['food', 'food', 'service']","['positive', 'positive', 'positive']" 111 | "Desserts include flan and sopaipillas.","3","['Desserts', 'flan', 'sopaipillas']","['neutral', 'neutral', 'neutral']" 112 | "I was starving and the small portions were driving me crazy!","1","['portions']","['negative']" 113 | "The wait staff was loud and inconsiderate.","1","['wait staff']","['negative']" 114 | "However, the food and service and dramatically lacking.","2","['food', 'service']","['negative', 'negative']" 115 | "The sushi is cut in blocks bigger than my cell phone.","1","['sushi']","['negative']" 116 | "The service is great, my soup always arrives nice and hot.","2","['service', 'soup']","['positive', 'positive']" 117 | "It had been awhile and I forgot just how delicious crepes can be.","1","['crepes']","['positive']" 118 | "Montparnasse's desserts--especially the silken creme brulee and paper-thin apple tart--are good enough on their own to make the restaurant worth the trip.","3","['desserts', 'creme brulee', 'apple tart']","['positive', 'positive', 'positive']" 119 | "i had a delicious shrimp creole.","1","['shrimp creole']","['positive']" 120 | "The chicken dinner was real good.","1","['chicken dinner']","['positive']" 121 | "Beware of the chili signed food items not unless you want to call the fire department to douse the flames in your mouth.","1","['chili signed food items']","['negative']" 122 | "The decor is designed in a contemporary Japanese style restaurant.","1","['decor']","['neutral']" 123 | "but the food was delicious.","1","['food']","['positive']" 124 | "Try the ribs, sizzling beef and couple it with coconut rice.","3","['ribs', 'beef', 'coconut rice']","['positive', 'positive', 'positive']" 125 | "The avocado salad is a personal fave.","1","['avocado salad']","['positive']" 126 | "And, the honey BBQ rib tips are yummy!","1","['honey BBQ rib tips']","['positive']" 127 | "The BEST Chinese food Uptown!","1","['Chinese food']","['positive']" 128 | "Service is known for bending over backwards to make everyone happy.","1","['Service']","['positive']" 129 | "The staff is very friendly.","1","['staff']","['positive']" 130 | "Waiters are very friendly and the pasta is out of this world.","2","['Waiters', 'pasta']","['positive', 'positive']" 131 | "Great wine list and great cocktail menu.","2","['wine list', 'cocktail menu']","['positive', 'positive']" 132 | "The crab cakes are delicious and the BBQ rib was perfect.","2","['crab cakes', 'BBQ rib']","['positive', 'positive']" 133 | "The food is wonderful, artfully done and simply delicious.","1","['food']","['positive']" 134 | "Tiny restaurant with very fast service.","1","['service']","['positive']" 135 | "My husband and I have been there at least 6 times and we've always been given the highest service and often free desserts.","2","['service', 'desserts']","['positive', 'positive']" 136 | "A beautiful atmosphere, perfect for drinks and/or appetizers.","3","['atmosphere', 'drinks', 'appetizers']","['positive', 'neutral', 'neutral']" 137 | "They make the best pizza in New Jersey.","1","['pizza']","['positive']" 138 | "What a difference, the service was very comforting and the food was better than average, but what really standed out was such a dynamic and extensive beer list.","3","['service', 'food', 'beer list']","['positive', 'positive', 'positive']" 139 | "Frankly, the chinese food here is something I can make better at home.","1","['chinese food']","['negative']" 140 | "There was only one waiter for the whole restaurant upstairs.","1","['waiter']","['neutral']" 141 | "We started with the scallops and asparagus and also had the soft shell crab as well as the cheese plate.","4","['scallops', 'asparagus', 'soft shell crab', 'cheese plate']","['neutral', 'neutral', 'neutral', 'neutral']" 142 | "Not to be overlooked, the service is excellent.","1","['service']","['positive']" 143 | "this without question is one of the worst hotdogs i have ever had.","1","['hotdogs']","['negative']" 144 | "The staff is unbelievably friendly, and I dream about their Saag gosht...so good.","2","['staff', 'Saag gosht']","['positive', 'positive']" 145 | "I also recommend the garlic knots.","1","['garlic knots']","['positive']" 146 | "Best Indian food I have ever eaten.","1","['Indian food']","['positive']" 147 | "This place has the best pizza.","1","['pizza']","['positive']" 148 | "The music which is sometimes a little too heavy for my taste.","1","['music']","['negative']" 149 | "The service is excellent and always informative without an air.","1","['service']","['positive']" 150 | "The owner and staff go to great lengths to make you feel comfortable.","2","['owner', 'staff']","['positive', 'positive']" 151 | "The sushi is always fresh and yummy and the menu is pretty varied.","2","['sushi', 'menu']","['positive', 'positive']" 152 | "The food was great - sushi was good, but the cooked food amazed us.","3","['food', 'sushi', 'cooked food']","['positive', 'positive', 'positive']" 153 | "their dinner specials are fantastic.","1","['dinner specials']","['positive']" 154 | "Great food, great drinks, nice dining atmosphere.","3","['food', 'drinks', 'dining atmosphere']","['positive', 'positive', 'positive']" 155 | "For the price you pay for the food here, you'd expect it to be at least on par with other Japanese restaurants.","2","['price', 'food']","['negative', 'negative']" 156 | "Food portion was SMALL and below average.","1","['Food portion']","['negative']" 157 | "Sit back in one of those comfortable chairs.","1","['chairs']","['positive']" 158 | "My favs here are the Tacos Pastor and the Tostada de Tinga...","2","['Tacos Pastor', 'Tostada de Tinga']","['positive', 'positive']" 159 | "The bartenders and the managers are really nice and the decor is very comfy and laid-back, all the while being trendy.","3","['bartenders', 'managers', 'decor']","['positive', 'positive', 'positive']" 160 | "For a savory take on the soup and sandwich meal, try the hot and sour soup.","2","['soup and sandwich meal', 'hot and sour soup']","['positive', 'positive']" 161 | "This bar has it all - great drinks, cool atmosphere, excellent service and delicious food.","4","['drinks', 'atmosphere', 'service', 'food']","['positive', 'positive', 'positive', 'positive']" 162 | "Also, the chick peas with shrimp (appetizer) is divine.","1","['chick peas with shrimp (appetizer)']","['positive']" 163 | "Finally, I got sick of the bad service, obnoxious smirks, and snotty back talk.","1","['service']","['negative']" 164 | "We ordered lamb which was perfectly cooked and tasted awesome.","1","['lamb']","['positive']" 165 | "i especially like their soft shell crab sandwich with fries.","1","['soft shell crab sandwich with fries']","['positive']" 166 | "if you're looking for authentic hong kong-style food, look no further.","1","['hong kong-style food']","['positive']" 167 | "good food good wine that's it.","2","['food', 'wine']","['positive', 'positive']" 168 | "The staff was extremely friendly and pleasant.","1","['staff']","['positive']" 169 | "While their kitchen food is delicious, their Sushi is out of this world.","2","['kitchen food', 'Sushi']","['positive', 'positive']" 170 | "everything is scrumptious, from the excellent service by cute waitresses, to the extremely lush atmosphere.","3","['service', 'waitresses', 'atmosphere']","['positive', 'positive', 'positive']" 171 | "It's traditional, simple italian food.","1","['italian food']","['positive']" 172 | "The food is all-around good, with the rolls usually excellent and the sushi/sashimi not quite on the same level.","3","['food', 'rolls', 'sushi/sashimi']","['positive', 'positive', 'neutral']" 173 | "(The sashimi is cut a little thinly.","1","['sashimi']","['negative']" 174 | "Could have had better for 1/3 the price in Chinatown.","1","['price']","['negative']" 175 | "In addition to great hot dogs, DOTP has wonderful breakfast sandwiches that feature, in addition to great things like tator tots and English muffins, a delicious NJ-based pork product know to us Jersey girls and boys as Taylor ham.","6","['hot dogs', 'breakfast sandwiches', 'tator tots', 'English muffins', 'pork product', 'Taylor ham']","['positive', 'positive', 'positive', 'positive', 'positive', 'positive']" 176 | "Well, it happened because of a graceless manager and a rude bartender who had us waiting 20 minutes for drinks, and then tells us to chill out.","4","['manager', 'bartender', 'waiting', 'drinks']","['negative', 'negative', 'negative', 'neutral']" 177 | "Not only is the service great, but forming conversation around a table is so easy beacuse the atmosphere can be both romantic and comfortable.","2","['service', 'atmosphere']","['positive', 'positive']" 178 | "When the dish arrived it was blazing with green chillis, definitely not edible by a human.","2","['dish', 'green chillis']","['negative', 'negative']" 179 | "The absolute worst service I've ever experienced and the food was below average (when they actually gave people the meals they ordered).","3","['service', 'food', 'meals']","['negative', 'negative', 'neutral']" 180 | "It's about $7 for lunch and they have take-out or dine-in.","3","['lunch', 'take-out', 'dine-in']","['neutral', 'neutral', 'neutral']" 181 | "Be sure to accompany your food with one of their fresh juice concoctions.","2","['food', 'fresh juice concoctions']","['neutral', 'positive']" 182 | "The food is great and the prices are reasonable.","2","['food', 'prices']","['positive', 'positive']" 183 | "The place is clean, and if you like soul food, then this is the place to be!","2","['place', 'soul food']","['positive', 'positive']" 184 | "I had roast chicken and a salad.","2","['roast chicken', 'salad']","['neutral', 'neutral']" 185 | "They have a very good chicken with avocado and good tuna as well.","2","['chicken with avocado', 'tuna']","['positive', 'positive']" 186 | "But the meals were terrible.","1","['meals']","['negative']" 187 | "My chicken was completely dried out and on the cold side and the sauce was not very flavorful.","2","['chicken', 'sauce']","['negative', 'negative']" 188 | "Malted Milk Ball Gelato - have you ever in your life heard of anything so ridiculously wonderful?","1","['Malted Milk Ball Gelato']","['positive']" 189 | "Way too much money for such a terrible meal.","1","['meal']","['negative']" 190 | "However, the service is absolutely horrible.","1","['service']","['negative']" 191 | "A con was the slow bar service.","1","['bar service']","['negative']" 192 | "Dessert was also to die for!","1","['Dessert']","['positive']" 193 | "BTW, the service is very good .","1","['service']","['positive']" 194 | "It's eaten with black vinegar and shredded ginger.","2","['black vinegar', 'shredded ginger']","['neutral', 'neutral']" 195 | "The unattractive lighting made me want to gag, the food was overpriced, there was the most awful disco pop duo performing-and my escargot looked like it might crawl off the plate.","4","['lighting', 'food', 'disco pop duo', 'escargot']","['negative', 'negative', 'negative', 'negative']" 196 | "it is a cozy place to go with a couple of friends.","1","['place']","['positive']" 197 | "The service is always great, and the owner walks around to make sure you enjoy.","2","['service', 'owner']","['positive', 'positive']" 198 | "because the waiters need SEVERE ATTITUE ADJUSTMENTS.","1","['waiters']","['negative']" 199 | "the food is delicious and highly recommended.","1","['food']","['positive']" 200 | "When it came time to take the order the waiter gave us a hard time, walked away then came back with a paper and pen for us to write down what we wanted...excuse me but isn't that his job???","1","['waiter']","['negative']" 201 | "Dieters stick to salads or indulge in vegetarian platters.","2","['salads', 'vegetarian platters']","['positive', 'positive']" 202 | "So for a filling and healthy meal give it a go.","1","['meal']","['positive']" 203 | "Since I cook for a living, I'm very fussy about the food I eat in restaurants.","1","['food']","['neutral']" 204 | "The service was outstanding.","1","['service']","['positive']" 205 | "My friends and I stop here for pizza before hitting the Kips Bay movie theater.","1","['pizza']","['neutral']" 206 | "We always enjoy the pizza.","1","['pizza']","['positive']" 207 | "The service is pretty good.","1","['service']","['positive']" 208 | "Yum, the chicken is great here.","1","['chicken']","['positive']" 209 | "The food here was great, a treat from beginning to end.","1","['food']","['positive']" 210 | "The host (owner) and servers are personable and caring.","2","['host (owner)', 'servers']","['positive', 'positive']" 211 | "It's just everything...the food, the atmosphere...the incrediby kind and gracious hostess.","3","['food', 'atmosphere', 'hostess']","['positive', 'positive', 'positive']" 212 | "The food is very good and the service is great.","2","['food', 'service']","['positive', 'positive']" 213 | "I usually get one the Vietnamese Beef Noodle Soup.","1","['Vietnamese Beef Noodle Soup']","['neutral']" 214 | "We were wondering why they were there to make our dining experience miserable?","1","['dining experience']","['negative']" 215 | "This place has the best Indian food in New York, hands down.","1","['Indian food']","['positive']" 216 | "The waiters are very friendly and helpful and if you frequent they will remember you.","1","['waiters']","['positive']" 217 | "Intimate but charming interior with extremely friendly and attentive service.","2","['interior', 'service']","['positive', 'positive']" 218 | "The food was as creative as the decor and both worked.","2","['food', 'decor']","['positive', 'positive']" 219 | "The menu is great, with a good selection, and everything that I have tried is absolutely delicious.","2","['menu', 'selection']","['positive', 'positive']" 220 | "The sauce is zesty and flavorful and the crust is nice and crispy.","2","['sauce', 'crust']","['positive', 'positive']" 221 | "This place has the best sushi in the city.","1","['sushi']","['positive']" 222 | "They have an excellent selection (the rolls with crab are really great).","2","['selection', 'rolls with crab']","['positive', 'positive']" 223 | "Everyone who works there (the host, the bartender, the servers) is so helpful.","3","['host', 'bartender', 'servers']","['positive', 'positive', 'positive']" 224 | "And the food is fantastic.","1","['food']","['positive']" 225 | "Favourites include: potato spinach gnocchi and the lamb.","2","['potato spinach gnocchi', 'lamb']","['positive', 'positive']" 226 | "Unfortunately, we chose this spot for lunch as we had done a lot of walking and ended up at the South St Seaport.","1","['lunch']","['neutral']" 227 | "But regulars know that the sandwiches are the real star here.","1","['sandwiches']","['positive']" 228 | "The skillfully chosen Portuguese cheese cart paired with quality port provides the perfect Iberian ending.","2","['Portuguese cheese cart', 'port']","['positive', 'positive']" 229 | "My friend had a burger and I had these wonderful blueberry pancakes.","2","['burger', 'blueberry pancakes']","['neutral', 'positive']" 230 | "We were so happy with our food and were even more thrilled when we saw the bill.","2","['food', 'bill']","['positive', 'positive']" 231 | "All toppings are so fresh you'd think they had their own vegetable garden and the crust is so perfect, that one actually thinks of how it was made.","2","['toppings', 'crust']","['positive', 'positive']" 232 | "We've always gotten amazing service and we love the food.","2","['service', 'food']","['positive', 'positive']" 233 | "The waitstaff is solicitous and friendly and always seems glad to see us, and the food is wonderful, if not stunningly creative.","2","['waitstaff', 'food']","['positive', 'positive']" 234 | "I'm in love with the lobster ravioli!","1","['lobster ravioli']","['positive']" 235 | "We came across this restaurant by accident while at a DUMBO art festival and thoroughly enjoyed our meal.","1","['meal']","['positive']" 236 | "Service is excellent, no wait, and you get a lot for the price.","3","['Service', 'wait', 'price']","['positive', 'positive', 'positive']" 237 | "I thought the food isn't cheap at all compared to Chinatown.","1","['food']","['negative']" 238 | "Coffee is a better deal than overpriced Cosi sandwiches.","2","['Coffee', 'Cosi sandwiches']","['positive', 'negative']" 239 | "We didn't know if we should order a drink or leave?","1","['drink']","['neutral']" 240 | ") It's not the best Japanese restaurant in the East Village, but it's a pretty solid one for its modest prices, and worth repeat visits.","1","['prices']","['positive']" 241 | "The food is so good and so popular that waiting can really be a nightmare.","2","['food', 'waiting']","['positive', 'negative']" 242 | "First walking in the place seemed to have great ambience.","2","['place', 'ambience']","['positive', 'positive']" 243 | "I went to Kitchenette this weekend for brunch.","1","['brunch']","['neutral']" 244 | "Even for two very hungry people there is plenty of food left to be taken home (it reheats really well also).","1","['food']","['positive']" 245 | "Then they somehow made a dry and burnt crust, around a raw and cold inside.","1","['crust']","['negative']" 246 | "It's just good food, nothing more and that's all we want!","1","['food']","['positive']" 247 | "Average cake thats been courted by a LOT of hype.","1","['cake']","['negative']" 248 | "My wife and I recently visited the bistro for dinner and had a wonderful experience.","1","['dinner']","['neutral']" 249 | "THE SERVICE IS PERFECT TOO NOTHING WRONG IN THIS ITALIAN/FRENCH RESTAURANT","1","['SERVICE']","['positive']" 250 | "The $72 Delmonico steak had to be sent back because it was not cooked to order.","1","['Delmonico steak']","['negative']" 251 | "Everytime I go there I can't pick anything to eat and not because the menu is filled with great things to eat.","1","['menu']","['negative']" 252 | "Half a chicken with a mountain of rice and beans for $6.25.","3","['chicken', 'rice', 'beans']","['neutral', 'neutral', 'neutral']" 253 | "The service is really fast and friendly, and the value is great.","2","['service', 'value']","['positive', 'positive']" 254 | "We were very impressed with the food and value.","2","['food', 'value']","['positive', 'positive']" 255 | "You must try the garlic soup!","1","['garlic soup']","['positive']" 256 | "Casablanca servces delicious falafel, tabouleh, humus and other Mediterranean delights, which are all very inexpensive.","4","['falafel', 'tabouleh', 'humus', 'Mediterranean delights']","['positive', 'positive', 'positive', 'positive']" 257 | "The pizza's are made fresh, crispy, and ready to serve.","1","[""pizza's""]","['positive']" 258 | "Staff is accomodating make sure you are satified.","1","['Staff']","['positive']" 259 | "Chef Waldy's always measures up.","1","['Chef']","['positive']" 260 | "Reasonably priced with very fresh sushi.","2","['priced', 'sushi']","['positive', 'positive']" 261 | "Go for the Seafood Paella for two.","1","['Seafood Paella for two']","['positive']" 262 | "All of the apetizers are good and the Sangria is very good.","2","['apetizers', 'Sangria']","['positive', 'positive']" 263 | "The one positive thing I can say is that the service was prompt, we got seated right away and the server was very friendly.","2","['service', 'server']","['positive', 'positive']" 264 | "The staff greeted me warmly at the door and I was seated promptly and the food was excellent.","2","['staff', 'food']","['positive', 'positive']" 265 | "Service is usually pretty good.","1","['Service']","['positive']" 266 | "Host and Hostess was quite rude.","2","['Host', 'Hostess']","['negative', 'negative']" 267 | "the wait staff is very friendly, if your not rude or picky.......our meal at Leon last weekend was great -.","2","['wait staff', 'meal']","['positive', 'positive']" 268 | "I recommend any of their salmon dishes......","1","['salmon dishes']","['positive']" 269 | "The foie gras was sweet and luscious.","1","['foie gras']","['positive']" 270 | "The menu, which changes seasonally, shows both regional and international influences.","1","['menu']","['neutral']" 271 | "but their mac cheese was YUMMY!","1","['mac cheese']","['positive']" 272 | "their brunch menu had something for everyone.","1","['brunch menu']","['positive']" 273 | "jazz singer had a nice voice + she made us all get up to dance to shake some cals to eat some more.","1","['jazz singer']","['positive']" 274 | "They have very quick service which is great when you don't have much time.","1","['service']","['positive']" 275 | "The food is average: breakfast food, soups, salads, sandwiches, etc.","5","['food', 'breakfast food', 'soups', 'salads', 'sandwiches']","['neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 276 | "I WAS HIGHLY DISAPPOINTED BY THE FOOD.","1","['FOOD']","['negative']" 277 | "THE BANANA PUDDING THEY SERVE HAS NEVER SEEN AN OVEN,THE CRABCAKES ARE WAY OVER SALTED AND DON'T GET ME STARTED ON THE VERY GREASY MAC AND CHEESE.","3","['BANANA PUDDING', 'CRABCAKES', 'MAC AND CHEESE']","['negative', 'negative', 'negative']" 278 | "The staff is arrogant, the prices are way high for Brooklyn.","2","['staff', 'prices']","['negative', 'negative']" 279 | "the service is prompt friendly.","1","['service']","['positive']" 280 | "This is literally a hot spot when it comes to the food.","1","['food']","['positive']" 281 | "The downstairs bar scene is very cool and chill...","1","['downstairs bar scene']","['positive']" 282 | "The food was definitely good, but when all was said and done, I just couldn't justify it for the price (including 2 drinks, $100/person)...","3","['food', 'price', 'drinks']","['positive', 'negative', 'neutral']" 283 | "I've come here for casual lunches as well as for a friend's birthday and I always enjoy myself.","1","['casual lunches']","['neutral']" 284 | "If you are a Tequila fan you will not be disappointed.","1","['Tequila']","['positive']" 285 | "Great beer selection too, something like 50 beers.","2","['beer selection', 'beers']","['positive', 'neutral']" 286 | "Not to sound too negative but be wary of the delivary.","1","['delivary']","['negative']" 287 | "I found the food to be just as good as its owner, Da Silvano, just much less expensive.","2","['food', 'owner']","['positive', 'positive']" 288 | "They have homemade pastas of all kinds -- I recommend the gnocchi -- yum!","2","['homemade pastas', 'gnocchi']","['positive', 'positive']" 289 | "My vegetable risotto was burnt, and infused totally in a burnt flavor.","2","['vegetable risotto', 'flavor']","['negative', 'negative']" 290 | "The main draw of this place is the price.","1","['price']","['positive']" 291 | "How can hope to stay in business with service like this?","1","['service']","['negative']" 292 | "But dinner here is never disappointing, even if the prices are a bit over the top.","2","['dinner', 'prices']","['positive', 'negative']" 293 | "Not only did they have amazing, sandwiches, soup, pizza etc, but their homemade sorbets are out of this world!","4","['sandwiches', 'soup', 'pizza', 'homemade sorbets']","['positive', 'positive', 'positive', 'positive']" 294 | "the homemade Guacamole, the unbelievable entree, and thee most amazing deserts.","3","['homemade Guacamole', 'entree', 'deserts']","['positive', 'positive', 'positive']" 295 | "The sushi is reasonably priced and fresh.","2","['sushi', 'priced']","['positive', 'positive']" 296 | "Save room for deserts - they're to die for.","1","['deserts']","['positive']" 297 | "Best things to order are from the grill (Churrasco and Ribs).","3","['grill', 'Churrasco', 'Ribs']","['positive', 'positive', 'positive']" 298 | "The traditional Italian items are great - cheap and served in a cozy setting.","3","['traditional Italian items', 'served', 'setting']","['positive', 'positive', 'positive']" 299 | "Whether your choose the iced blended mocha or the hot white mocha you are sure to be extremely happy.","2","['iced blended mocha', 'hot white mocha']","['positive', 'positive']" 300 | "last Tuesday for a late lunch with a friend.","1","['late lunch']","['neutral']" 301 | "Another friend had to ask 3 times for parmesan cheese.","1","['parmesan cheese']","['neutral']" 302 | "Our waitress had apparently never tried any of the food, and there was no one to recommend any wine.","3","['waitress', 'food', 'wine']","['negative', 'neutral', 'neutral']" 303 | "The service was a bit slow and the portions are a bit small so if you are hungry and in a rush, this is not the place for you.","2","['service', 'portions']","['negative', 'negative']" 304 | "The unfortunate lady next to us thought she had ordered a salad (including asking for salad dressing) and was instead given a quesedilla.","3","['salad', 'salad dressing', 'quesedilla']","['neutral', 'neutral', 'neutral']" 305 | "El Nidos one of the best restaurants in New York which I've ever been to, has a great variety of tasty, mouth watering pizza's.","1","[""pizza's""]","['positive']" 306 | "The service was pretty poor all around, the food was well below average relative to the cost, and outside there is a crazy bum who harasses every customer who leaves the place.","3","['service', 'food', 'cost']","['negative', 'negative', 'negative']" 307 | "Although I moved uptown I try to stop in as often as possible for the GREAT cheap food and to pay the friendly staff a visit.","2","['food', 'staff']","['positive', 'positive']" 308 | "I had to wait for my friend at the bar for a few minutes","1","['bar']","['neutral']" 309 | "Chef Vincenzo, always there if you need him, is a real talent and a real Roman.","1","['Chef']","['positive']" 310 | "If you're looking to taste some great Indian food and want good service, definitely visit Curry Leaf.","2","['Indian food', 'service']","['positive', 'positive']" 311 | "You must try Odessa stew or Rabbit stew; salads-all good; and kompot is soo refreshing during the hot summer day (they make it the way my mom does, reminds me of home a lot).","4","['Odessa stew', 'Rabbit stew', 'salads', 'kompot']","['positive', 'positive', 'positive', 'positive']" 312 | "My daughter and I left feeling satisfied (not stuffed) and it felt good to know we had a healthy lunch.","1","['lunch']","['positive']" 313 | "When she complained, the waitress said, Sorry.","1","['waitress']","['neutral']" 314 | "The quality of the meat was on par with your local grocery store.","1","['quality of the meat']","['negative']" 315 | "They specialize in smoothies and fresh juices.","2","['smoothies', 'fresh juices']","['positive', 'positive']" 316 | "I recommend the black roasted codfish, it was the best dish of the evening.","2","['black roasted codfish', 'dish']","['positive', 'positive']" 317 | "The manager then told us we could order from whatever menu we wanted but by that time we were so annoyed with the waiter and the resturant that we let and went some place else.","3","['manager', 'menu', 'waiter']","['neutral', 'neutral', 'negative']" 318 | "In mi burrito, here was nothing but dark chicken that had that cooked last week and just warmed up in a microwave taste.","2","['chicken', 'taste']","['negative', 'negative']" 319 | "during busy hrs, i recommend that you make a reservation.","1","['reservation']","['neutral']" 320 | "I went to Common Stock for brunch and I was so impressed.","1","['brunch']","['neutral']" 321 | "now called nikki sushi, sushi is OK.","1","['sushi']","['neutral']" 322 | "The food is also outstanding and is served quite quickly.","2","['food', 'served']","['positive', 'positive']" 323 | "From the erbazzone emiliana to the mostarda on the cheese plate, the dishes at this restaurant are all handled with delicate care.","3","['erbazzone emiliana', 'mostarda on the cheese plate', 'dishes']","['positive', 'positive', 'positive']" 324 | "The food is delicious and the bar has a great vibe.","3","['food', 'bar', 'vibe']","['positive', 'positive', 'positive']" 325 | "There's candlelight and music.","2","['candlelight', 'music']","['neutral', 'neutral']" 326 | "Simple healthy unglamorous food cheap.","1","['food']","['positive']" 327 | "It was such a fantastic dining experience, that I returned again the same week.","1","['dining experience']","['positive']" 328 | "To be fair, the food still is good and the service is quick and attentative even though its usually very busy.","2","['food', 'service']","['positive', 'positive']" 329 | "The place is absolutely adorable and the food is delicious.","2","['place', 'food']","['positive', 'positive']" 330 | "I ordered the Chicken Teriyaki and my husband got Garlic Shrimp.","2","['Chicken Teriyaki', 'Garlic Shrimp']","['neutral', 'neutral']" 331 | "I've had better Japanese food at a mall food court.","1","['Japanese food']","['negative']" 332 | "The staff members are extremely friendly and even replaced my drink once when I dropped it outside.","2","['staff members', 'drink']","['positive', 'neutral']" 333 | "Cool atmosphere but such a let down.","1","['atmosphere']","['positive']" 334 | "The Sashimi portion are big enough to appease most people, but I didn't like the fact they used artifical lobster meat.","2","['Sashimi portion', 'artifical lobster meat']","['positive', 'negative']" 335 | "They have wheat crusted pizza made with really fresh and yummy ingredients.","2","['wheat crusted pizza', 'ingredients']","['positive', 'positive']" 336 | "Had a lovely dinner in this dedicated seafood joint, food was well-prepared and -presented and the service was pleasant and prompt.","3","['dinner', 'food', 'service']","['positive', 'positive', 'positive']" 337 | "the icing MADE this cake, it was fluffy, not ultra sweet, creamy and light.","1","['cake']","['positive']" 338 | "Finally let into the store 5 at a time, to buy expensive slices from a harried staff.","2","['slices', 'staff']","['negative', 'negative']" 339 | "We ended up having to just leave because we were essentially being ignored by the wait staff--even though the rest of the restaurant was largely empty.","1","['wait staff']","['negative']" 340 | "The wine list is extensive, well priced and covers alot of regions.","2","['wine list', 'priced']","['positive', 'positive']" 341 | "Go here if you want fresh and tasty salads of any type you can imagine.","1","['salads']","['positive']" 342 | "Everything about this place is adorable - even the bathroom!","1","['bathroom']","['positive']" 343 | "Speedy delivers, great food, decent prices, and friendly service combine to ensure an enjoyable repast.","5","['delivers', 'food', 'prices', 'service', 'repast']","['positive', 'positive', 'positive', 'positive', 'positive']" 344 | "THEY HAVE WAITERS ON THE SIDEWALK TRYING TO PULL YOU IN WHICH MADE US SUSPICIOUS.","1","['WAITERS']","['neutral']" 345 | "IT WAS OUR ONLY OPPORTUNITY TO VISIT AND WANTED AN AUTHENTIC ITALIAN MEAL.","1","['ITALIAN MEAL']","['neutral']" 346 | "It took 100 years for Parisi to get around to making pizza (at least I don't think they ever made it before this year)...but it was worth the wait.","1","['pizza']","['positive']" 347 | "I asked for a simple medium rare steak.","1","['steak']","['neutral']" 348 | "Generously garnished, organic grilled burgers are the most popular dish, but the Jerusalem market-style falafel wraps and Mediterranean salads--layered with beets, goat cheese and walnuts--are equally scrumptious.","4","['organic grilled burgers', 'dish', 'Jerusalem market-style falafel wraps', 'Mediterranean salads--layered with beets, goat cheese and walnuts']","['positive', 'positive', 'positive', 'positive']" 349 | "Probably my worst dining experience in new york, and I'm a former waiter so I know what I'm talking about.","2","['dining experience', 'waiter']","['negative', 'neutral']" 350 | "Result (red velvet): Great texture, soft and velvety, nice hint of cocoa.","2","['texture', 'hint of cocoa']","['positive', 'positive']" 351 | "Ask for the round corner table next to the large window.","1","['round corner table next to the large window']","['positive']" 352 | "Their twist on pizza is heatlhy, but full of flavor.","2","['twist on pizza', 'flavor']","['positive', 'positive']" 353 | "The lack of AC and the fact that there are a million swarming bodies (although everyone is polite and no one is pushing) is a slight turn off.","1","['AC']","['negative']" 354 | "I love the Little Pie Company as much as anyone else who has written reviews, but must discourage anyone from visiting the Grand Central location due to their RUDE service from two sales people.","2","['service', 'sales people']","['negative', 'negative']" 355 | "Unfortunately, unless you live in the neighborhood, it's not in a convenient location but is more like a hidden treasure.","1","['location']","['negative']" 356 | "Didn't seem like any effort was made to the display and quality of the food.","1","['display and quality of the food']","['negative']" 357 | "The food--though mostly deep-fried--is simple and satisfying.","1","['food']","['positive']" 358 | "Glechik might be way too tiny for a restaurant by Russian standards, but it is cozy and the food is simply GREAT.","1","['food']","['positive']" 359 | "The food was excellent - authentic Italian cuisine made absolutely fresh.","2","['food', 'Italian cuisine']","['positive', 'positive']" 360 | "At night the atmoshere changes turning into this hidden jewel that is waiting to be discovered.","1","['atmoshere']","['positive']" 361 | "The other times I've gone it's romantic date heaven, you can walk in get a booth by the windows, be treated like a VIP in a not-crowded place, with great food and service.","4","['booth by the windows', 'place', 'food', 'service']","['neutral', 'positive', 'positive', 'positive']" 362 | "I would only go for the coffee which is way better than Starbucks or the like.","1","['coffee']","['positive']" 363 | "Somewhat disappointing wine list (only new vintages.","2","['wine list', 'vintages']","['negative', 'negative']" 364 | "If your looking for nasty high priced food with a dash of ghetto scenery cheap BX A$$ this is the place to be!!","3","['priced', 'food', 'scenery']","['negative', 'negative', 'negative']" 365 | "new hamburger with special sauce is ok - at least better than big mac!","2","['new hamburger with special sauce', 'big mac']","['positive', 'negative']" 366 | "Perfectly al dente pasta, not drowned in sauce -- generous portions.","3","['pasta', 'sauce', 'portions']","['positive', 'neutral', 'positive']" 367 | "I can understand the prices if it served better food, like some Chinese restaurants in midtown/uptown area.","2","['prices', 'food']","['negative', 'negative']" 368 | "Service was awful - mostly because staff were overwhelmed on a Saturday night.","2","['Service', 'staff']","['negative', 'negative']" 369 | "To the owners; good job guys, this place is a keeper!","1","['owners']","['positive']" 370 | "and the owner is simply lovely and friendly.","1","['owner']","['positive']" 371 | "This little place is wonderfully warm welcoming.","1","['place']","['positive']" 372 | "perfect for a quick meal.","1","['meal']","['positive']" 373 | "Has the warmth of a family local yet it is a great place to watch sporting events.","1","['place']","['positive']" 374 | "The service was great, and they have a whole great deal for birthdays.","1","['service']","['positive']" 375 | "The staff is 100% Italian and the food is as authentic as it gets.","2","['staff', 'food']","['positive', 'positive']" 376 | "My only complaint might be the fortune cookies - I've never had a cookie predict bad luck for me before I visited Kar.","2","['fortune cookies', 'cookie']","['negative', 'negative']" 377 | "Good for a quick sushi lunch.","1","['sushi lunch']","['positive']" 378 | "Have a mojito and sit in the back patio.","2","['mojito', 'back patio']","['positive', 'positive']" 379 | "The service was dreadfully slow (the place was only half full) and a smile would have been nice...","1","['service']","['negative']" 380 | "I went this past Saturday and had a excellent meal of consisting of a braised lamb shank with mashed potatoes.","2","['meal', 'braised lamb shank with mashed potatoes']","['positive', 'positive']" 381 | "The waitress came by to pick up the soy sauce WHILE we were eating our lunch!!!!!","3","['waitress', 'soy sauce', 'lunch']","['negative', 'neutral', 'neutral']" 382 | "So we sat at the bar, the bartender didn't seem like he wanted to be there.","2","['bar', 'bartender']","['neutral', 'negative']" 383 | "I reccomend the fried pork dumplings, the orange chicken/beef, and the fried rice.","3","['fried pork dumplings', 'orange chicken/beef', 'fried rice']","['positive', 'positive', 'positive']" 384 | "You will not be dissapointed by any of the choices in the menu.","1","['menu']","['positive']" 385 | "The french fries -- with the kalmata dip were terrific!","1","['french fries -- with the kalmata dip']","['positive']" 386 | "Would you ever believe that when you complain about over an hour wait, when they tell you it will be 20-30 minutes, the manager tells the bartender to spill the drinks you just paid for?","4","['wait', 'manager', 'bartender', 'drinks']","['negative', 'negative', 'neutral', 'neutral']" 387 | "The boutique selection of wines covers a wide variety without being imposeing.","1","['boutique selection of wines']","['neutral']" 388 | "They also have a great assortment of wraps if your not in the mood for traditional Mediterranean fare.","2","['assortment of wraps', 'traditional Mediterranean fare']","['positive', 'neutral']" 389 | "Fresh veggies, all sorts of middle eastern spreads, cheese and falafel, soup, fish, rice, root vegetables, a rice medley, some spinach thing, lamb kebabs, cheese baclava... soooo much fooood, and all of it delicious.","13","['Fresh veggies', 'middle eastern spreads', 'cheese', 'falafel', 'soup', 'fish', 'rice', 'root vegetables', 'rice medley', 'spinach thing', 'lamb kebabs', 'cheese baclava', 'fooood']","['positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive', 'positive']" 390 | "Disappointingly, their wonderful Saketini has been taken off the bar menu.","2","['Saketini', 'bar menu']","['positive', 'negative']" 391 | "In Short The Black Sheep distinguishes itself from the Midtown pub herd with a look that's a mix of sports-bar butch and ornate kitsch.","1","['look']","['negative']" 392 | "I would definitely go back -- if only for some of those exotic martinis on the blackboard.","1","['martinis']","['positive']" 393 | "then she made a fuss about not being able to add 1 or 2 chairs on either end of the table for additional people.","2","['chairs', 'table']","['neutral', 'neutral']" 394 | "The happy hour is so cheap, but that does not reflect the service or the atmosphere.","3","['happy hour', 'service', 'atmosphere']","['positive', 'positive', 'positive']" 395 | "After waiting for almost an hour, the waiter brusquely told us he'd forgotten to give the kitchen our order.","3","['waiting', 'waiter', 'kitchen']","['negative', 'negative', 'neutral']" 396 | "With all the mundane or mediocre places on 8th avenue it is nice to have one that is a step above in quaility and atmosphere.","2","['quaility', 'atmosphere']","['positive', 'positive']" 397 | "A mix of students and area residents crowd into this narrow, barely there space for its quick, tasty treats at dirt-cheap prices.","3","['space', 'treats', 'prices']","['negative', 'positive', 'positive']" 398 | "Give it a try, menu is typical French but varied.","1","['menu']","['neutral']" 399 | "It gets crowded at lunchtime but there are lots of seats in back and everyone who works there is so nice.","1","['seats']","['positive']" 400 | "but for the value, it was a great affordable spot to enjoy a fun night out with small group.","1","['value']","['positive']" 401 | "the negative reviews on city search are probably from jealous competing restaurants who realize they can't compete with Temple's entire positive attitude about the proper way to treat their customers and deliver top quality food.","2","['attitude', 'food']","['positive', 'positive']" 402 | "We ordered a glass of wine and were finished eating and paying before the wine came.","1","['glass of wine']","['neutral']" 403 | "It was good, but none of the flavors WOW.","1","['flavors']","['neutral']" 404 | "Overall, this is a nice place to take a few friends to hang out at and the service is excellent.","2","['place', 'service']","['positive', 'positive']" 405 | "Food is excellent quality for a good restaurant price.","2","['Food', 'price']","['positive', 'positive']" 406 | "for about eleven bucks you get a gigantic burrito (or tacos), margarita, and dessert.","4","['burrito', 'tacos', 'margarita', 'dessert']","['positive', 'positive', 'neutral', 'neutral']" 407 | "The space is traditional in feel.","1","['space']","['neutral']" 408 | "the restaurant was completely empty, but she gave me a dirty look and asked, no reservations?","1","['reservations']","['neutral']" 409 | "the food was mediocre to be kind - the interior is small and average - the owners are a tag-team of unpleasantries - so rude and snotty i actually let out a hearty guffaw whilst dining.","4","['food', 'interior', 'owners', 'dining']","['negative', 'negative', 'negative', 'neutral']" 410 | "Good service, great food, good value, and never have to wait in line!","4","['service', 'food', 'value', 'wait']","['positive', 'positive', 'positive', 'positive']" 411 | "Offerings like hot cakes and the Egg McMuffin sandwich are available for breakfast.","3","['hot cakes', 'Egg McMuffin sandwich', 'breakfast']","['neutral', 'neutral', 'neutral']" 412 | "I have been going to this restaurant for years, in the past the service was average and the food inconsistant.","2","['service', 'food']","['neutral', 'negative']" 413 | "The music was fascinating, but left room for conversation, and the bartender made superb drinks.","3","['music', 'bartender', 'drinks']","['positive', 'positive', 'positive']" 414 | "rice dishes and noodle dishes rarely exceed $5 and add on a refreshing ice drink for $2 and you're set for the night!","3","['rice dishes', 'noodle dishes', 'ice drink']","['positive', 'positive', 'positive']" 415 | "Cuisine is billed as asian fusion - doesn't meet the bill.","4","['Cuisine', 'billed', 'asian fusion', 'bill']","['negative', 'negative', 'neutral', 'negative']" 416 | "Creative dishes like king crab salad with passion fruit vinaigrette and fettuccine with grilled seafood in a rosemary-orange sauce are unexpected elements on an otherwise predictable bistro menu.","4","['dishes', 'king crab salad with passion fruit vinaigrette', 'fettuccine with grilled seafood in a rosemary-orange sauce', 'bistro menu']","['positive', 'positive', 'positive', 'neutral']" 417 | "Dishes denoted as ""Roy's Classics"" (marked on the menu with asterisks) are tried-and-true recipes, such as macadamia-crusted mahi mahi, or subtly sweet honey-mustard beef short ribs.","6","['Dishes', '""Roy\'s Classics""', 'menu', 'recipes', 'macadamia-crusted mahi mahi', 'sweet honey-mustard beef short ribs']","['positive', 'positive', 'neutral', 'positive', 'positive', 'positive']" 418 | "The cold sesame noodles, which are a freebie when you order $10+, are delectable.","1","['cold sesame noodles']","['positive']" 419 | "I came to fresh expecting a great meal, and all I got was marginally so-so food served in a restaurant that was just so freezing we couldn't enjoy eating.","3","['meal', 'food', 'served']","['negative', 'negative', 'neutral']" 420 | "The lone argentine chorizo appetizer at $8.95 was a heavy fennel flavored Italian sausage like the ones that sell for $2.99/lb at the store.","2","['argentine chorizo appetizer', 'fennel flavored Italian sausage']","['negative', 'negative']" 421 | "I went to Swiftys with some friends of the family and we had a very nice dinner, but nothing amazing.","1","['dinner']","['positive']" 422 | "Best Chinese on the Upper East, prompt delivery, good value.","2","['delivery', 'value']","['positive', 'positive']" 423 | "Most of the sandwiches are made with soy mayonaise which is actually pretty good.","2","['sandwiches', 'soy mayonaise']","['positive', 'positive']" 424 | "i went in one day asking for a table for a group and was greeted by a very rude hostess.","2","['table', 'hostess']","['neutral', 'negative']" 425 | "It's worthwhile to take a cab to Chelsea just for an awesome dinner at My Chelsea.","1","['dinner']","['positive']" 426 | "Not only is the food authentic, but the staff here are practically off-the-boat, they are young and hip and know what they are doing when it comes to food and wine.","4","['food', 'staff', 'food', 'wine']","['positive', 'positive', 'positive', 'positive']" 427 | "It has good music, nice tapas, an interesting selection of wines (primarily Spanish) and a lowkey hip neighborhood clientele.","4","['music', 'tapas', 'selection of wines (primarily Spanish)', 'clientele']","['positive', 'positive', 'positive', 'positive']" 428 | "The food is great, I love their dumplings, cold sesame noodles, chicken and shrimp dishs.","5","['food', 'dumplings', 'cold sesame noodles', 'chicken', 'shrimp dishs']","['positive', 'positive', 'positive', 'positive', 'positive']" 429 | "And the food, well the food will keep you coming back.","2","['food', 'food']","['positive', 'positive']" 430 | "Waiting three hours before getting our entrees was a treat as well.","2","['Waiting', 'entrees']","['negative', 'neutral']" 431 | "It's the conversations that make this a fun place to be.","1","['place']","['positive']" 432 | "My gf's duck confitte was very solid as well, although i have little base of reference.","1","['duck confitte']","['positive']" 433 | "The wine list was superb, our tapas delightful, and the quiet atmosphere perfect for good conversation.","3","['wine list', 'tapas', 'atmosphere']","['positive', 'positive', 'positive']" 434 | "You can eat gourmet food at a fast food price.","2","['food', 'price']","['positive', 'positive']" 435 | "I've eaten at all three locations and I always love, love the food, the service is always wonderful and the prices are really reasonable.","3","['food', 'service', 'prices']","['positive', 'positive', 'positive']" 436 | "Not because I was pregnant, but the food here is always delicious.","1","['food']","['positive']" 437 | "Had a great meal there this weekend before heading to the movies!","1","['meal']","['positive']" 438 | "We had a birthday party here recently and the food and service was amazing.","2","['food', 'service']","['positive', 'positive']" 439 | "the dinner menu offers a variety of great entrees, including fresh seafood and huge steaks, there's also a couple of non-meat alternatives.","5","['dinner menu', 'entrees', 'seafood', 'steaks', 'non-meat alternatives']","['positive', 'positive', 'positive', 'positive', 'neutral']" 440 | "This place has the strangest menu and the restaurants tries too hard to make fancy food.","2","['menu', 'food']","['negative', 'negative']" 441 | "The appetizers are ok, but the service is slow.","2","['appetizers', 'service']","['neutral', 'negative']" 442 | "the food - not worth the price.","2","['food', 'price']","['negative', 'negative']" 443 | "What can you say about a place where the waitress brings out the wrong entree, then verbally assaults your 80 year old grandmother and gives her lip about sending it back (which she did politely, by the way).","2","['waitress', 'entree']","['negative', 'neutral']" 444 | "The prices are not terrible.","1","['prices']","['positive']" 445 | "15% gratuity automatically added to the bill.","2","['gratuity', 'bill']","['negative', 'negative']" 446 | "The halibut cheek appetizer came with a generous portion of foie gras, but that's about the only positive thing I can say about the meal.","2","['halibut cheek appetizer', 'portion of foie gras']","['neutral', 'positive']" 447 | "Food is excellent and they also have empenadas and plaintains which are good for an afternoon snack.","4","['Food', 'empenadas', 'plaintains', 'afternoon snack']","['positive', 'positive', 'positive', 'positive']" 448 | "Both a number of the appetizer and pasta specials were amazing.","2","['appetizer', 'pasta specials']","['positive', 'positive']" 449 | "All-time favorites include the Big Mac, Chicken McNuggets, Filet-O-Fish sandwich and McDonald's famous french fries; lighter options like entree-sized salads are also available.","5","['Big Mac', 'Chicken McNuggets', 'Filet-O-Fish sandwich', ""McDonald's famous french fries"", 'entree-sized salads']","['positive', 'positive', 'positive', 'positive', 'neutral']" 450 | "It's a basic pizza joint, not much to look at, but the pizza is what I go for.","1","['pizza']","['positive']" 451 | "Tables are close, so you better be comfortable bumping elbows with other patrons.","1","['Tables']","['negative']" 452 | "Was her Monday for lunch - was working on a film in the area - and found this rare jewel.","1","['lunch']","['neutral']" 453 | "Not too much so, but enough that there's a great scene.","1","['scene']","['positive']" 454 | "Dug the blue bar area too.","1","['blue bar area']","['positive']" 455 | "I got the opportunity to dine at your establishment again a few weeks ago, I was in your upstrairs dining area.","1","['upstrairs dining area']","['neutral']" 456 | "Meat-phobes are in luck with the extraordinary veggie burger, made from a distinctive blend of chickpeas, carrots and other vegetables and spices.","5","['veggie burger', 'chickpeas', 'carrots', 'vegetables', 'spices']","['positive', 'positive', 'positive', 'positive', 'positive']" 457 | "At peak times, the restaurant is overcrowded and tables are uncomfortably close.","1","['tables']","['negative']" 458 | "The service was on point - what else you would expect from a Ritz?","1","['service']","['positive']" 459 | "Menus feature seasonal picks, like sweet corn-foie gras brulee.","2","['Menus', 'sweet corn-foie gras brulee']","['neutral', 'neutral']" 460 | "Innovations are just as assured, from the simple Carinthia cheese ravioli with wild mushrooms to the caviar-topped sturgeon, beautifully matched with a bright green spinach-vodka sauce.","3","['Carinthia cheese ravioli with wild mushrooms', 'caviar-topped sturgeon', 'green spinach-vodka sauce']","['positive', 'positive', 'positive']" 461 | "And these are not small, wimpy fast food type burgers - these are real, full sized patties.","2","['burgers', 'patties']","['positive', 'positive']" 462 | "There restaurant is very casual, but perfect for lunch, and their delivery service is always very fast.","2","['lunch', 'delivery service']","['neutral', 'positive']" 463 | "Chinatown definitely has better quality with cheaper prices.","2","['quality', 'prices']","['positive', 'positive']" 464 | "I had to flag down a third staff person for a fork... so now it's goodbye Little RUDE Pie Company.","2","['staff person', 'fork']","['neutral', 'neutral']" 465 | "Go with the specials, and stay away from the salmon. ","2","['specials', 'salmon']","['positive', 'negative']" 466 | "The pastas were pretty good.","1","['pastas']","['positive']" 467 | "Atmosphere is a bore.","1","['Atmosphere']","['negative']" 468 | "The decor is what initially got me in the door.","1","['decor']","['positive']" 469 | "The wait staff was very attentive and polite.","1","['wait staff']","['positive']" 470 | "Great restaurant, and even greater food!","1","['food']","['positive']" 471 | "The dishes are remarkably tasty and such a cozy and intimate place!","2","['dishes', 'place']","['positive', 'positive']" 472 | "Save room for the desserts! ;-)","1","['desserts']","['positive']" 473 | "I love the simplicity and respect which was given to the food, as well the staff was freindly and knowledgable.","2","['food', 'staff']","['positive', 'positive']" 474 | "Service was good and so was the atmosphere.","2","['Service', 'atmosphere']","['positive', 'positive']" 475 | "MY date and I both ordered the Branzini and both felt the fish was very average.","2","['Branzini', 'fish']","['neutral', 'negative']" 476 | "The food was good, the service prompt, and the price very reasonable. ","3","['food', 'service', 'price']","['positive', 'positive', 'positive']" 477 | "Wonderful menu, warm inviting ambiance, great service the FOOD keeps me coming back!","4","['menu', 'ambiance', 'service', 'FOOD']","['positive', 'positive', 'positive', 'positive']" 478 | "Great food, good wine and an excellent host.","3","['food', 'wine', 'host']","['positive', 'positive', 'positive']" 479 | "Pizzas were excellent in addition to appetizers and main courses.","3","['Pizzas', 'appetizers', 'main courses']","['positive', 'positive', 'positive']" 480 | "Definitely try the calamari, any pasta, or even the Sliced steak entree.","3","['calamari', 'pasta', 'Sliced steak entree']","['positive', 'positive', 'positive']" 481 | "The caeser salad was great.","1","['caeser salad']","['positive']" 482 | "The fried calamari was even better!","1","['fried calamari']","['positive']" 483 | "The food was good overall. ","1","['food']","['positive']" 484 | "The food was outstanding and the service was tops.","2","['food', 'service']","['positive', 'positive']" 485 | "The portions are very large and the service is fantastic!!","2","['portions', 'service']","['positive', 'positive']" 486 | "I recomend the chicken milanese.","1","['chicken milanese']","['positive']" 487 | "excellent tapas at great prices, romantic, small but not overly crowed, excellent","2","['tapas', 'prices']","['positive', 'positive']" 488 | "The chocolate raspberry cake is heavenly- not too sweet, but full of flavor.","2","['chocolate raspberry cake', 'flavor']","['positive', 'positive']" 489 | "Our waiter was helpful and charming, the food was perfect, and the wine was good, too.","3","['waiter', 'food', 'wine']","['positive', 'positive', 'positive']" 490 | "I HAVE NEVER HAD A BAD MEAL(OR BAD SERVICE )@ PIGALLE.","2","['MEAL', 'SERVICE']","['positive', 'positive']" 491 | "Best hot dogs in the tri-state area.","1","['hot dogs']","['positive']" 492 | "The service was very attentive and very generous.","1","['service']","['positive']" 493 | "We had tons of great food, wine, and desserts.","3","['food', 'wine', 'desserts']","['positive', 'positive', 'positive']" 494 | "Really Lovely dining experience in the midst of buzzing midtown area.","1","['dining experience']","['positive']" 495 | "The food really isn't very good and the service is terrible.","2","['food', 'service']","['negative', 'negative']" 496 | "Not only do they have the best escargot in town,they always try to accomodate our toddler.","1","['escargot']","['positive']" 497 | "Between my guest and I, we sampled at least 80% of the menu, and they were all hits.","1","['menu']","['positive']" 498 | "The Deco and ambiance was really romantic.","2","['Deco', 'ambiance']","['positive', 'positive']" 499 | "Just go in and sample the greatest french food west of Daniel.","1","['french food']","['positive']" 500 | "For someone who used to hate Indian food, Baluchi's has changed my mid.","1","['Indian food']","['positive']" 501 | "Finally a curry that I can eat, enjoy and not suffer from gastritis from 3 hours later.","1","['curry']","['positive']" 502 | "All are GREAT - poori, naan, paratha all FRESH.","3","['poori', 'naan', 'paratha']","['positive', 'positive', 'positive']" 503 | "Try the homemade breads.","1","['homemade breads']","['positive']" 504 | "This place has beautiful sushi, and it's delicious CHEAP. ","1","['sushi']","['positive']" 505 | "It also has lots of other Korean dishes that are affordable and just as yummy.","1","['Korean dishes']","['positive']" 506 | "I went for restaurant week and ordered off the prix fixe menu","1","['prix fixe menu']","['neutral']" 507 | "Not only was the waiter efficient and courteous, but also extremely helpful. ","1","['waiter']","['positive']" 508 | "This place is classy, chic, the service is warm and hospitable, and the food is outstanding.","3","['place', 'service', 'food']","['positive', 'positive', 'positive']" 509 | "Great burgers, grilled cheeses and french fries.","3","['burgers', 'grilled cheeses', 'french fries']","['positive', 'positive', 'positive']" 510 | "The Yellowfin Tuna and Calf's liver are my favorites!","2","['Yellowfin Tuna', ""Calf's liver""]","['positive', 'positive']" 511 | "Sushi so fresh that it crunches in your mouth.","1","['Sushi']","['positive']" 512 | "But make sure you have enough room on your credit card as the bill will leave a big dent in your wallet.","1","['bill']","['negative']" 513 | "They bring a sauce cart up to your table and offer you up to 7 or 8 choices of sauces for your steak (I tried them ALL).","4","['sauce cart', 'table', 'choices of sauces', 'steak']","['neutral', 'neutral', 'positive', 'neutral']" 514 | "Not only was the sushi fresh, they also served other entrees allowed each guest something to choose from and we all left happy (try the duck!","3","['sushi', 'entrees', 'duck']","['positive', 'neutral', 'positive']" 515 | "good variety but nothing surprising.","1","['variety']","['positive']" 516 | "After I paid for my purchase, I noticed they had not given me utensils so I could eat my pie.","2","['utensils', 'pie']","['neutral', 'neutral']" 517 | "Likewise if you like really thin crust or really big slices then Nick and Joe's may not be your favorite.","2","['thin crust', 'slices']","['negative', 'negative']" 518 | "No green beans, no egg, no anchovy dressing, no nicoise olives, no red onion.","5","['green beans', 'egg', 'anchovy dressing', 'nicoise olives', 'red onion']","['neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 519 | "Build a meal with side orders like Amazin' Greens salads, Buffalo Chicken Kickers and Cinna Stix.","5","['meal', 'side orders', ""Amazin' Greens salads"", 'Buffalo Chicken Kickers', 'Cinna Stix']","['neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 520 | "Thick fries, meaty chili and stuffed baked potatoes round out a menu that includes a cool, ultra-thick chocolate Frosty.","5","['fries', 'meaty chili', 'stuffed baked potatoes', 'menu', 'chocolate Frosty']","['neutral', 'neutral', 'neutral', 'neutral', 'positive']" 521 | "I always find myself asking the waiter to make something bland and different than what is on the menu.","2","['waiter', 'menu']","['neutral', 'neutral']" 522 | "Good cake BUT: it was not the best cake i've ever had, and definately not worth standing outside on the sidewalk being herded like cattle by indifferent and overworked employees.","2","['cake', 'employees']","['negative', 'negative']" 523 | "The closest that I got was the Cherry Marscapone, but they were out of it that day.","1","['Cherry Marscapone']","['neutral']" 524 | "The homage to India is most evident in the delectable roti canai appetizer, a fried pancake served with pungent curry dipping sauce, while the mango chicken offers a surprisingly sophisticated, fresh take on sweet-and-sour.","3","['roti canai appetizer', 'fried pancake served with pungent curry dipping sauce', 'mango chicken']","['positive', 'positive', 'positive']" 525 | "It doesn't look like much on the outside, but the minute you walk inside, it's a whole other atmosphere.","2","['outside', 'atmosphere']","['negative', 'positive']" 526 | "The ground chickpea soup we sampled as a starter tasted somewhat thin.","2","['ground chickpea soup', 'starter']","['negative', 'neutral']" 527 | "We requested they re-slice the sushi, and it was returned to us in small cheese-like cubes.","1","['sushi']","['negative']" 528 | "The service, however, is a peg or two below the quality of food (horrible bartenders), and the clientele, for the most part, are rowdy, loud-mouthed commuters (this could explain the bad attitudes from the staff) getting loaded for an AC/DC concert or a Knicks game.","5","['service', 'quality of food', 'bartenders', 'clientele', 'staff']","['negative', 'positive', 'negative', 'negative', 'negative']" 529 | "If you're in the neighborhood, definitely stop by for a great meal.","1","['meal']","['positive']" 530 | "Unfortunately, with our show tickets, we didn't have time to sample any desserts.","1","['desserts']","['neutral']" 531 | "Make more tables- perhaps a rooftop bar?","2","['tables', 'rooftop bar']","['negative', 'neutral']" 532 | "The decoration was feeling like we was on the Cairo, actually the street is part of that adventure.","1","['decoration']","['positive']" 533 | "Although small, it has beautiful ambience, excellent food (the catfish is delicious - if ya don't mind it a lil salty) and attentive service.","4","['ambience', 'food', 'catfish', 'service']","['positive', 'positive', 'positive', 'positive']" 534 | "I didn't go there for food so I can't comment.","1","['food']","['neutral']" 535 | "Stick to the items the place does best, brisket, ribs, wings, cajun shrimp is good, not great.","4","['brisket', 'ribs', 'wings', 'cajun shrimp']","['positive', 'positive', 'positive', 'neutral']" 536 | "Hip boutiques and bars on Ludlow add to the artsy, laid-back atmosphere at this Israeli-style takeout and eat-in burger joint.","1","['atmosphere']","['positive']" 537 | "Young neighborhood trendies graze at the counter during the day, while chic, art-house drinkers with heavy doses of the munchies pile in late at night.","1","['counter']","['neutral']" 538 | "Bring your date and a bottle of wine!","1","['bottle of wine']","['neutral']" 539 | "My Chelsea's impressive and creative menu includes modern, Westernized Japanese dishes such as Foie Gras Unagi Napolean, Jap style hamburger steak, spicy cod roe spaghetti, black cod with miso base, and rack of lamb in black truffle sauce, to name a few.","7","['menu', 'Japanese dishes', 'Foie Gras Unagi Napolean', 'Jap style hamburger steak', 'spicy cod roe spaghetti', 'black cod with miso base', 'rack of lamb in black truffle sauce']","['positive', 'neutral', 'neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 540 | "His food is excellent (and not expensive by NYC standards- no entrees over $30, most appetizers $12 to 14).","3","['food', 'entrees', 'appetizers']","['positive', 'positive', 'positive']" 541 | "The food is consistant and good but how it got name Best Diner In Manhattan is beyond me.","1","['food']","['positive']" 542 | "The pasta primavera was outstanding as well, lots of fresh veggies.","2","['pasta primavera', 'fresh veggies']","['positive', 'positive']" 543 | "don't get me wrong - sushi was good, just not fantastic.","1","['sushi']","['positive']" 544 | "Being Puerto Rican I know a thing or two about flan and this place serves one of the best (I hope Mom doesn't read this!).","1","['flan']","['positive']" 545 | "Been to the one in Brooklyn for over 25 years, now I dont have to go over the bridge for the best pizza ....Hanx","1","['pizza']","['positive']" 546 | "Had dinner here on a Friday and the food was great.","2","['dinner', 'food']","['neutral', 'positive']" 547 | "We recently spent New Year's Eve at the restaurant, and had a great experience, from the wine to the dessert menu.","2","['wine', 'dessert menu']","['positive', 'positive']" 548 | "Highly recommended... As stated, I haven't dined *in* the restaurant but stopped by there to pick up takeout and it seems a very relaxing place; also, the bar looks nice.","3","['takeout', 'place', 'bar']","['neutral', 'positive', 'positive']" 549 | "The ambiance was fine, a little loud but still nice and romantic.","1","['ambiance']","['positive']" 550 | "but, the filet mignon was not very good at all cocktail hour includes free appetizers (nice non-sushi selection).","4","['filet mignon', 'cocktail hour', 'appetizers', 'non-sushi selection']","['negative', 'positive', 'positive', 'positive']" 551 | "It took about 2 1/2 hours to be served our 2 courses.","2","['served', 'courses']","['negative', 'neutral']" 552 | "Who said go when the place is quiet during the day?","1","['place']","['neutral']" 553 | "Can be a bit busy around peak times because of the size.","1","['size']","['negative']" 554 | "I was on jury duty, rode my bike up Centre Street on my lunch break and came across this great little place with awesome chicken tacos and Hibiscus lemonade.","3","['place', 'chicken tacos', 'Hibiscus lemonade']","['positive', 'positive', 'positive']" 555 | "good place to hang out during the day after shopping or to grab a simple soup or classic french dish over a glass of wine.","4","['place', 'soup', 'french dish', 'glass of wine']","['positive', 'neutral', 'neutral', 'neutral']" 556 | "Very nice touch that very much fits the place.","1","['place']","['positive']" 557 | "However, there is just something so great about being outdoors, in great landscaping, enjoying a casual drink that makes going to this place worthwhile.","3","['outdoors', 'casual drink', 'place']","['positive', 'positive', 'positive']" 558 | "We were seated promptly in close proximity to the dance floor.","1","['dance floor']","['neutral']" 559 | "If you are here as a pre-show meal, hop in a cab and take the extra 10 minutes to go to the uptown location.","1","['pre-show meal']","['neutral']" 560 | "The comments about fried foods is correct (below) but the other dishes, including the lamb entree and many of the salads (avocado shrimp) were quite good.","4","['fried foods', 'dishes', 'lamb entree', 'salads (avocado shrimp)']","['negative', 'positive', 'positive', 'positive']" 561 | "Slow service, but when you're hanging around with groups of 10 or 20, who really notices?","1","['service']","['negative']" 562 | "The sauce is excellent (very fresh) with dabs of real mozzarella.","2","['sauce', 'dabs of real mozzarella']","['positive', 'neutral']" 563 | "Don't ever bother - the drinks were awful, but it was the people who work there that really made this the worst experience at dining.","3","['drinks', 'people', 'dining']","['negative', 'negative', 'negative']" 564 | "The room is a little plain, but it's difficult to make such a small place exciting and I would not suggest that as a reason not to go.","2","['room', 'place']","['negative', 'negative']" 565 | "Prices even outside of restaurant week were great.","1","['Prices']","['positive']" 566 | "A small, outdoor eating area makes for a private, comfortable space to study alone or meet up with friends.","2","['outdoor eating area', 'space']","['positive', 'positive']" 567 | "And all the [female] servers are cute too, which is always nice.","1","['[female] servers']","['positive']" 568 | "The best dessert, a chocolate and peanut butter tart, isn't particularly Hawaiian, but it's a small world when it comes to sweets.","3","['dessert', 'chocolate and peanut butter tart', 'sweets']","['positive', 'positive', 'neutral']" 569 | "for an appetizer, their calamari is a winner.","2","['appetizer', 'calamari']","['neutral', 'positive']" 570 | "Satay is one of those favorite haunts on Washington where the service and food is always on the money.","2","['service', 'food']","['positive', 'positive']" 571 | "After dinner I heard music playing and discovered that there is a lounge downstairs.","3","['dinner', 'music', 'lounge']","['neutral', 'neutral', 'neutral']" 572 | "The room is a gorgeous, bi-level space and the long bar perfect for a drink.","4","['room', 'bi-level space', 'long bar', 'drink']","['positive', 'positive', 'positive', 'neutral']" 573 | "Two complaints- their appetizer selection stinks, it would be nice to get some mozzarella sticks on the menu.","3","['appetizer selection', 'mozzarella sticks', 'menu']","['negative', 'neutral', 'negative']" 574 | "I was especially impressed during the bday party when the waitstaff went above and beyond in helping me decorate and bring out a bday cake as well as offering prompt and friendly service to a 15 person party.","2","['waitstaff', 'service']","['positive', 'positive']" 575 | "The chicken and falafel platters were nondescript combinations with fresh leaf salad.","2","['chicken and falafel platters', 'fresh leaf salad']","['neutral', 'neutral']" 576 | "The atmosphere takes you to that place, the place many dream of.","1","['atmosphere']","['positive']" 577 | "several times and put up with the waiters' bad manners, knowing that their job isn't easy.","1","['waiters']","['negative']" 578 | "The service is great (maybe even borderline nagging but at least you get attention), the desserts are excellent and the coffee is so very good...","2","['desserts', 'coffee']","['positive', 'positive']" 579 | "They are served on Focacchia bread and are to die for.","2","['served', 'Focacchia bread']","['neutral', 'neutral']" 580 | "While the smoothies are a little big for me, the fresh juices are the best I have ever had!","2","['smoothies', 'fresh juices']","['negative', 'positive']" 581 | "The food is just OKAY, and it's almost not worth going unless you're getting the pialla, which is the only dish that's really good.","2","['pialla', 'dish']","['positive', 'positive']" 582 | "The guac is fresh, yet lacking flavor, we like to add our fresh salsa into it.","2","['flavor', 'fresh salsa']","['negative', 'neutral']" 583 | "The new menu has a few creative items,they were smart enough to keep some of the old favorites (but they raised the prices), the staff is friendly most of the time, but I must agree with the person that wrote about their favorite words: No, can't, sorry..., boy, they won't bend the rules for anyone.","2","['new menu', 'prices']","['positive', 'negative']" 584 | "It' only open for lunch but the food is so good!","2","['lunch', 'food']","['neutral', 'positive']" 585 | "If you like seafood and/or Greek food you will love this place though it is not limited to just these things.","2","['seafood', 'Greek food']","['positive', 'positive']" 586 | """ The menu includes pub fare--burgers, steaks and shepherds pie--and even a portabella lasagna for those black sheep known as ""vegetarians.","6","['menu', 'pub fare', 'burgers', 'steaks', 'shepherds pie', 'portabella lasagna']","['neutral', 'neutral', 'neutral', 'neutral', 'neutral', 'neutral']" 587 | "How can they survive serving mediocre food at exorbitant prices?!","2","['food', 'prices']","['neutral', 'negative']" 588 | "The food was mediocre and the service was severely slow.","2","['food', 'service']","['neutral', 'negative']" 589 | "i have eaten here on a different occasion - the food is mediocre for the prices.","2","['food', 'prices']","['neutral', 'negative']" 590 | "I'm looking forward to going back soon and eventually trying most everything on the menu!","1","['menu']","['positive']" 591 | "I just had my first visit to this place and can't wait to go back and slowly work my way through the menu.","1","['menu']","['neutral']" 592 | "I asked repeatedly what the status of the meal was and was pretty much grunted at by the unbelievably rude waiter.","2","['meal', 'waiter']","['neutral', 'negative']" 593 | "I stopped by for some brunch today and had the vegan cranberry pancakes and some rice milk.","3","['brunch', 'vegan cranberry pancakes', 'rice milk']","['neutral', 'neutral', 'neutral']" 594 | "Sweet Irish bartender is always happy and able to bring a smile to my friends a my face.","1","['bartender']","['positive']" 595 | "Its good to go there for drinks if you don't want to get drunk because you'll be lucky if you can get one drink an hour the service is so bad.","3","['drinks', 'drink', 'service']","['neutral', 'neutral', 'negative']" 596 | "Anyway, the owner was fake.","1","['owner']","['negative']" 597 | "Owner is pleasant and entertaining.","1","['Owner']","['positive']" 598 | "I have never in my life sent back food before, but I simply had to, and the waiter argued with me over this.","2","['food', 'waiter']","['negative', 'negative']" 599 | "Although the restaurant itself is nice, I prefer not to go for the food.","1","['food']","['negative']" 600 | "Creamy appetizers--taramasalata, eggplant salad, and Greek yogurt (with cuccumber, dill, and garlic) taste excellent when on warm pitas.","5","['Creamy appetizers', 'taramasalata', 'eggplant salad', 'Greek yogurt (with cuccumber, dill, and garlic)', 'warm pitas']","['positive', 'positive', 'positive', 'positive', 'neutral']" 601 | -------------------------------------------------------------------------------- /ABSA-emb-gpu-final-newarch3.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cPickle 3 | import torch 4 | import torch.autograd as autograd 5 | import torch.nn as nn 6 | import torch.nn.functional as F 7 | import torch.optim as optim 8 | from keras.preprocessing.sequence import pad_sequences 9 | from keras.preprocessing.text import Tokenizer 10 | from keras.utils import to_categorical 11 | from numpy.random import shuffle 12 | import sys 13 | import os 14 | import csv 15 | import argparse 16 | import time 17 | 18 | np.random.seed(1234) 19 | 20 | # nb_words = 500000000 21 | # MAX_SEQUENCE_LENGTH=77 22 | # MAX_ASPECTS=13 23 | # MAX_LEN_ASPECT=5 24 | # EMBEDDING_DIM = 300 25 | # HIDDEN_DIM = 300 26 | # OUTPUT_DIM = 350 27 | # HOP_SIZE = 15 28 | # BATCH_SIZE = 50 29 | # NB_EPOCH = 50 30 | 31 | parser = argparse.ArgumentParser() 32 | parser.add_argument('--no-cuda', action='store_true', default=False, 33 | help='does not use GPU') 34 | parser.add_argument('--lr', type=float, default=0.001, metavar='LR', 35 | help='learning rate') 36 | parser.add_argument('--l2', type=float, default=0.0001, metavar='L2', 37 | help='L2 regularization weight') 38 | parser.add_argument('--batch-size', type=int, default=25, metavar='BS', 39 | help='batch size') 40 | parser.add_argument('--epochs', type=int, default=30, metavar='E', 41 | help='number of epochs') 42 | parser.add_argument('--hops', type=int, default=10, metavar='H', 43 | help='number of hops') 44 | parser.add_argument('--hidden-size', type=int, default=400, metavar='HS', 45 | help='hidden size') 46 | parser.add_argument('--output-size', type=int, default=400, metavar='OS', 47 | help='output size') 48 | parser.add_argument('--dropout-p', type=float, default=0.5, metavar='DO1', 49 | help='embedding dropout') 50 | parser.add_argument('--dropout-lstm', type=float, default=0.1, metavar='DO2', 51 | help='lstm dropout') 52 | parser.add_argument('--dataset', default='Restaurants', metavar='D', 53 | help='Laptop or Restaurants') 54 | args = parser.parse_args() 55 | print args 56 | HIDDEN_DIM = args.hidden_size 57 | OUTPUT_DIM = args.output_size 58 | HOP_SIZE = args.hops 59 | BATCH_SIZE = args.batch_size 60 | NB_EPOCH = args.epochs 61 | nb_words = 500000000 62 | MAX_SEQUENCE_LENGTH = 77 if args.dataset=='Laptop' else 69 63 | MAX_ASPECTS = 13 64 | MAX_LEN_ASPECT = 5 if args.dataset=='Laptop' else 19 65 | EMBEDDING_DIM = 300 66 | 67 | class PreProcessing(): 68 | 69 | def __init__(self, tr_data, te_data, tokenizer, batch_size): 70 | self.tag_to_ix = {"positive": 0, "negative": 1, "neutral": 2} 71 | self.tokenizer = tokenizer # Tokenizer(num_words=nb_words) 72 | self.sents=zip(*tr_data)[0] 73 | self.sents1=zip(*te_data)[0] 74 | self.labels=zip(*tr_data)[3] 75 | self.aspects=zip(*tr_data)[1] 76 | self.aspect=zip(*tr_data)[2] 77 | self.batch_size=batch_size 78 | 79 | def prepare_sequence(self, seq, to_ix): 80 | return [to_ix[w] for w in seq] 81 | 82 | def keras_data_prepare(self, fit=True): 83 | if fit: 84 | self.tokenizer.fit_on_texts(self.sents+self.sents1) 85 | sequences = self.tokenizer.texts_to_sequences(self.sents) 86 | data = pad_sequences(sequences, maxlen=MAX_SEQUENCE_LENGTH) 87 | return data 88 | 89 | def return_vars(self): 90 | return self.tokenizer 91 | 92 | def prepare_data(self, data, batch_id, word_embeddings): 93 | aspect_sequence=[] 94 | limit = [batch_id*self.batch_size, (batch_id+1)*self.batch_size] 95 | for item in self.aspects[limit[0]:limit[1]]: 96 | temp=self.tokenizer.texts_to_sequences(item) 97 | aspect_sequence.append(temp) 98 | aspect_ = self.tokenizer.texts_to_sequences(list(self.aspect[limit[0]:limit[1]])) 99 | train_temp=[] 100 | j=0 101 | for datam in data[limit[0]:limit[1]]: 102 | train_temp.append([datam,aspect_sequence[j],aspect_[j],self.labels[limit[0]:limit[1]][j]]) 103 | j=j+1 104 | training_data_x0=[] 105 | training_data_x1=[] 106 | training_data_y=[] 107 | attention_mat2 =[] 108 | attention_mat = [] 109 | for item1 in train_temp: 110 | sent, aspects, aspect, sentiment = item1[0], item1[1], item1[2], item1[3] 111 | att = [] 112 | for i in range(0,len(sent)): 113 | if sent[i] == 0: 114 | att.append(0) 115 | else: 116 | att.append(1) 117 | 118 | att_tensor = autograd.Variable(torch.FloatTensor(att) if not args.cuda else torch.cuda.FloatTensor(att),requires_grad=False) 119 | 120 | temp_mask_sent = att_tensor.view(att_tensor.size()[0],-1).expand(-1, 2*EMBEDDING_DIM) 121 | att_tensor = att_tensor.unsqueeze(0) 122 | tensor = torch.LongTensor(sent) if not args.cuda else torch.cuda.LongTensor(sent) 123 | sent1=autograd.Variable(tensor) 124 | 125 | aspects1=[] 126 | for item in aspects: 127 | temp = torch.LongTensor(item) if not args.cuda else torch.cuda.LongTensor(item) 128 | temp = autograd.Variable(temp) 129 | temp = word_embeddings(temp) 130 | temp = torch.mean(temp,dim=0) 131 | aspects1.append(temp) 132 | 133 | aspect = torch.LongTensor(aspect) if not args.cuda else torch.cuda.LongTensor(aspect) 134 | aspect = autograd.Variable(aspect) 135 | 136 | label=self.prepare_sequence(sentiment, self.tag_to_ix) 137 | 138 | embeds=word_embeddings(sent1) 139 | 140 | #aspect = torch.LongTensor(aspect) 141 | #aspect = autograd.Variable(aspect) 142 | aspect1= word_embeddings(aspect) 143 | aspect1= torch.mean(aspect1,dim=0) 144 | aspect1 = aspect1.expand(len(sent),-1) 145 | 146 | sepr = [] 147 | att2 = [] 148 | for i in range(0,MAX_ASPECTS-len(aspects)): 149 | sepr.append(autograd.Variable(torch.zeros((MAX_SEQUENCE_LENGTH,2*EMBEDDING_DIM)).type(ftype).unsqueeze(0))) 150 | att2.append(0) 151 | 152 | for item in aspects1: 153 | item = item.expand(len(sent),-1) 154 | sepr.append(torch.mul(torch.cat([embeds,item],dim=1),temp_mask_sent).unsqueeze(0)) 155 | att2.append(1) 156 | 157 | aspect1 = torch.mul(torch.cat([embeds,aspect1],dim=1),temp_mask_sent) 158 | 159 | att2_tensor = autograd.Variable(torch.FloatTensor(att2) if not args.cuda else torch.cuda.FloatTensor(att2),requires_grad=False).unsqueeze(0) 160 | sepr_tensor=torch.cat(sepr,dim=0) 161 | sepr_tensor = sepr_tensor.unsqueeze(0) 162 | training_data_x0.append(sepr_tensor) 163 | training_data_x1.append(aspect1.unsqueeze(0)) 164 | training_data_y.append(label) 165 | attention_mat2.append(att2_tensor) 166 | attention_mat.append(att_tensor) 167 | 168 | att2_var = torch.cat(attention_mat2,dim=0) 169 | att_var = torch.cat(attention_mat, dim =0 ) 170 | return torch.cat(training_data_x0,dim=0), torch.cat(training_data_x1,dim=0), autograd.Variable(torch.LongTensor(to_categorical(training_data_y,3)) if not args.cuda else torch.cuda.LongTensor(to_categorical(training_data_y,3))),att2_var, att_var 171 | 172 | class AttnRNN(nn.Module): 173 | def __init__(self, hop_size, batch_size, input_size, sent_size, output_size, 174 | dropout_p=args.dropout_p, dropout_lstm = args.dropout_lstm, 175 | max_length=MAX_SEQUENCE_LENGTH): 176 | super(AttnRNN, self).__init__() 177 | self.hop_size = hop_size 178 | self.batch_size = batch_size 179 | self.input_size = input_size 180 | self.output_size = output_size 181 | self.sent_size = sent_size 182 | self.dropout_p = dropout_p 183 | self.dropout_lstm = dropout_lstm 184 | self.max_length = max_length 185 | self.hidden_sentence_gru = self.init_hidden2(self.batch_size) 186 | self.hidden_aspect_gru = self.init_hidden(self.batch_size) 187 | self.hidden_aspect_write_gru=self.init_hidden(self.batch_size) 188 | #self.hidden_aspect_repr_gru = self.init_aspect_hidden(self.batch_size) 189 | self.sentence_gru = nn.GRU(self.input_size*2, self.sent_size) 190 | self.aspect_gru = nn.GRU(self.sent_size, self.output_size) 191 | self.aspect_write_gru = nn.GRU(self.output_size, self.output_size) 192 | # self.aspect_write_gru = nn.GRU(self.output_size, self.output_size/2, 193 | # bidirectional=True) 194 | #self.aspect_repr_gru = nn.GRU(self.input_size*2, self.sent_size) 195 | self.dropout = nn.Dropout(self.dropout_p) 196 | self.dropout2 = nn.Dropout(self.dropout_lstm) 197 | self.attn = nn.Linear(self.sent_size, 1) 198 | self.attn2 = nn.Linear(1, 1) 199 | self.affine = nn.Linear(self.output_size,3) 200 | self.dimproj = nn.Linear(self.sent_size, self.output_size) 201 | 202 | def forward(self, sents, aspects, attention_mat1, attention_mat2, batch_size): 203 | sents=sents.permute(1,2,0,3) # -> (aspect, seq, batch, embed*2) 204 | outputs = [] 205 | alphas=[] 206 | for sent_asp in sents: 207 | embedded = self.dropout(sent_asp) 208 | output, hidden_sentence_gru = self.sentence_gru(embedded, self.hidden_sentence_gru) 209 | #print attention_mat1.size() 210 | temp_attention_mat1 = attention_mat1.view(attention_mat1.size()[0],attention_mat1.size()[1],1).expand(-1,-1,output.size()[2]) 211 | #print temp_attention_mat1.size() 212 | #sys.exit(1) 213 | output = torch.mul(output.permute(1,0,2),temp_attention_mat1) 214 | output = self.dropout2(output) 215 | #print output.size() 216 | # sys.exit(1) 217 | attn_weights = F.softmax( 218 | self.attn(output.permute(1,0,2)), dim=0) 219 | #print attn_weights.size() 220 | #print attention_mat1.size() 221 | #sys.exit(1) 222 | masked_attn_weights = torch.mul(attn_weights.squeeze().permute(1,0),attention_mat1) 223 | #print masked_attn_weights.size() 224 | _sums = masked_attn_weights.sum(-1).unsqueeze(1).expand(-1,masked_attn_weights.size()[1]) 225 | #print _sums.size() 226 | attentions = masked_attn_weights.div(_sums).unsqueeze(1).permute(2,0,1) 227 | alphas.append(attentions.permute(1,2,0).unsqueeze(0)) 228 | 229 | #print attentions.permute(1,0,2).squeeze()[47].sum() 230 | #print attn_weights.permute(1,0,2) 231 | attn_applied = torch.bmm(attentions.permute(1,2,0), 232 | output).squeeze() 233 | output = F.relu(attn_applied) 234 | outputs.append(output.unsqueeze(0)) 235 | 236 | aspec_rep = torch.cat(outputs, dim=0) 237 | output, hidden_aspect_gru = self.aspect_gru(aspec_rep,self.hidden_aspect_gru) 238 | 239 | temp_attention_mat2 = attention_mat2.view(attention_mat2.size()[0],attention_mat2.size()[1],1).expand(-1,-1,output.size()[2]) 240 | 241 | output = torch.mul(output.permute(1,0,2),temp_attention_mat2) 242 | output = self.dropout2(output) 243 | 244 | aspects = aspects.permute(1,0,2) 245 | outputa_,hida_ = self.sentence_gru(aspects,self.hidden_sentence_gru) 246 | temp_attention_mat3 = attention_mat1.view(attention_mat1.size()[0],attention_mat1.size()[1],1).expand(-1,-1,outputa_.size()[2]) 247 | outputa_ = torch.mul(outputa_.permute(1,0,2),temp_attention_mat3) 248 | attn_weights_ = F.softmax( 249 | self.attn(outputa_.permute(1,0,2)), dim=0) 250 | masked_attn_weights_ = torch.mul(attn_weights_.squeeze().permute(1,0),attention_mat1) 251 | _sums_ = masked_attn_weights_.sum(-1).unsqueeze(1).expand(-1,masked_attn_weights_.size()[1]) 252 | attentions_ = masked_attn_weights_.div(_sums_).unsqueeze(1).permute(2,0,1) 253 | attn_applied_ = torch.bmm(attentions_.permute(1,2,0), 254 | outputa_).squeeze() 255 | if self.sent_size == self.output_size: 256 | asp_proj = attn_applied_.unsqueeze(1) 257 | else: 258 | asp_proj = self.dimproj(attn_applied_).unsqueeze(1) 259 | #print "Output size,", output.size() 260 | #print "Aspect proj size,", asp_proj.size() 261 | 262 | output=output.permute(0,2,1) 263 | 264 | betas = [] 265 | for i in range(0,self.hop_size): 266 | match = torch.bmm(asp_proj,output).permute(2,0,1) 267 | 268 | 269 | attn_weights2 = F.softmax( 270 | self.attn2(match), dim=0) 271 | #print attn_weights 272 | self.hidden_aspect_write_gru=self.init_hidden(batch_size) 273 | output_w, hidden_aspect_write_gru = \ 274 | self.aspect_write_gru(output.permute(2,0,1),self.hidden_aspect_write_gru) 275 | 276 | output_w = torch.mul(output_w.permute(1,0,2),temp_attention_mat2) 277 | output_w = self.dropout2(output_w) 278 | 279 | 280 | masked_attn_weights2 = torch.mul(attn_weights2.squeeze().permute(1,0),attention_mat2) 281 | #print masked_attn_weights.size() 282 | _sums2 = masked_attn_weights2.sum(-1).unsqueeze(1).expand(-1,masked_attn_weights2.size()[1]) 283 | #print _sums.size() 284 | attentions2 = masked_attn_weights2.div(_sums2).unsqueeze(1).permute(2,0,1) 285 | 286 | #print output_w.size() 287 | #print attn_weights.size() 288 | 289 | #print attentions2.squeeze().permute(1,0)[0].sum() 290 | 291 | attn_applied = torch.bmm(attentions2.permute(1,2,0), output_w.permute(0,1,2)).squeeze() 292 | 293 | betas.append(attentions2.permute(1,2,0)) 294 | 295 | #print "attn_applied size", attn_applied.size() 296 | 297 | query = asp_proj.view(asp_proj.size()[0],asp_proj.size()[2]) 298 | 299 | #print "query size", query.size() 300 | 301 | final_output = torch.add(attn_applied, query) 302 | 303 | #print final_output.size() 304 | 305 | final_output = F.relu(final_output) 306 | asp_proj = final_output.unsqueeze(1) 307 | #output = output_w.permute(1,2,0) 308 | output = output_w.permute(0,2,1) 309 | #print"output size final-----", output.size() 310 | asp_proj = F.log_softmax(self.affine(asp_proj.squeeze()),dim=1) 311 | #asp_proj = self.affine(asp_proj.squeeze()) 312 | return asp_proj, betas, torch.cat(alphas,0) 313 | 314 | def init_hidden(self, batch_size): 315 | 316 | return autograd.Variable(torch.zeros(1, batch_size, 317 | self.output_size).type(ftype)) 318 | 319 | def init_hidden_memnet(self, batch_size): 320 | 321 | return autograd.Variable(torch.zeros(2, batch_size, 322 | self.output_size/2).type(ftype)) 323 | 324 | # def init_aspect_hidden(self, batch_size): 325 | # return autograd.Variable(torch.zeros(1, batch_size, self.sent_size)) 326 | 327 | def init_hidden2(self, batch_size): 328 | 329 | return autograd.Variable(torch.zeros(1, batch_size, 330 | self.sent_size).type(ftype)) 331 | 332 | def Glove(GLOVE_DIR): 333 | embeddings_index = {} 334 | f = open(os.path.join(GLOVE_DIR, 'glove.840B.300d.txt')) 335 | #f = open(os.path.join(GLOVE_DIR, 'ex.txt')) 336 | for line in f: 337 | values = line.split() 338 | word = values[0] 339 | coefs = np.asarray(values[1:], dtype='float32') 340 | embeddings_index[word] = coefs 341 | f.close() 342 | return embeddings_index 343 | 344 | def index_word_embeddings(word_index, embeddings_index): 345 | embedding_matrix = np.zeros((len(word_index) + 1, EMBEDDING_DIM)) 346 | for word, i in word_index.items(): 347 | embedding_vector = embeddings_index.get(word) 348 | if embedding_vector is not None: 349 | embedding_matrix[i] = embedding_vector 350 | return embedding_matrix 351 | 352 | def get_accuracy(truth, pred): 353 | assert len(truth)==len(pred) 354 | right = 0 355 | for i in range(len(truth)): 356 | if truth[i]==pred[i]: 357 | right += 1.0 358 | return right/len(truth) 359 | 360 | 361 | def train(onea): 362 | tokenizer = Tokenizer(num_words=nb_words) 363 | prep = PreProcessing(training_data,test_data,tokenizer,BATCH_SIZE) 364 | data = prep.keras_data_prepare() 365 | 366 | we=Glove(GLOVE_DIR="/home/navonil/") 367 | ei=index_word_embeddings(tokenizer.word_index,we) 368 | word_embeddings = nn.Embedding(len(tokenizer.word_index)+1, EMBEDDING_DIM,padding_idx=0) 369 | word_embeddings.weight = nn.Parameter(torch.FloatTensor(ei) if not args.cuda else torch.cuda.FloatTensor(ei)) 370 | word_embeddings.weight.requires_grad = False 371 | print "Embeddings loaded...." 372 | 373 | model = AttnRNN(HOP_SIZE, BATCH_SIZE, EMBEDDING_DIM, HIDDEN_DIM, OUTPUT_DIM) 374 | if args.cuda: 375 | model.cuda() 376 | loss_function = nn.NLLLoss() 377 | optimizer = optim.Adam(filter(lambda p: p.requires_grad, [x for x in 378 | model.parameters()] + [word_embeddings.weight]), lr = args.lr, 379 | weight_decay = args.l2) 380 | 381 | batch_count = int(np.ceil(len(training_data)/float(BATCH_SIZE))) 382 | 383 | for i in range(NB_EPOCH): 384 | start_time = time.time() 385 | 386 | loss_tot = [] 387 | true_label=[] 388 | pred_res=[] 389 | model.train() 390 | for batch_id in range(batch_count): 391 | optimizer.zero_grad() 392 | bdata_x0, bdata_x1, bdata_y, attention_mat2, attention_mat1 = prep.prepare_data(data, batch_id, word_embeddings) 393 | model.hidden_sentence_gru = model.init_hidden2(bdata_x0.size()[0]) 394 | model.hidden_aspect_gru = model.init_hidden(bdata_x0.size()[0]) 395 | model.hidden_aspect_write_gru = model.init_hidden(bdata_x0.size()[0]) 396 | #model.hidden_aspect_repr_gru = model.init_aspect_hidden(bdata_x0.size()[0]) 397 | 398 | 399 | prediction, _, _ = model(bdata_x0,bdata_x1, attention_mat1, attention_mat2, bdata_x0.size()[0]) 400 | loss = loss_function(prediction, torch.max(bdata_y, 1)[1]) 401 | # print "Loss ", i, loss.data[0] 402 | loss_tot.append(loss.data[0]) 403 | pred_label = prediction.data.max(1)[1].cpu().numpy() 404 | pred_res += [x for x in pred_label] 405 | true_data = torch.max(bdata_y, 1)[1].cpu() 406 | true_label+= [x for x in true_data.data] 407 | loss.backward() 408 | # print word_embeddings.weight.grad 409 | optimizer.step() 410 | 411 | preds,true,test_loss = test(test_data, model, tokenizer, 412 | word_embeddings, loss_function, i,onea) 413 | 414 | # for k in range(1,39): 415 | # print '%s, %s, %d, %d' % (test_data[-k][0],test_data[-k][2],true[-k],preds[-k]) 416 | 417 | print 'Epoch %d train_loss %.4f train_acc %.2f test_loss %.4f test_acc %.2f time %.2f' % (i+1, np.mean(loss_tot), accuracy(pred_res, true_label), test_loss, accuracy(preds,true), time.time()-start_time) 418 | # import ipdb;ipdb.set_trace() 419 | mul = set(range(len(true)))-set(onea) 420 | print 'single_aspect %.2f mul_aspect %.2f' % (accuracy([preds[idx] for idx in onea],[true[idx] for idx in onea]), accuracy([preds[idx] for idx in mul],[true[idx] for idx in mul])) 421 | 422 | return model, tokenizer, word_embeddings 423 | 424 | 425 | def test(test_data, model, tokenizer, word_embeddings, loss_function, epoch, onea): 426 | prep = PreProcessing(test_data,training_data,tokenizer,BATCH_SIZE) 427 | data = prep.keras_data_prepare(False) 428 | 429 | model.eval() 430 | true_label=[] 431 | loss_tot = [] 432 | pred_res=[] 433 | 434 | batch_count = int(np.ceil(len(test_data)/float(BATCH_SIZE))) 435 | 436 | # print batch_count, len(test_data) 437 | betas = [] 438 | alphas = [] 439 | for batch_id in range(batch_count): 440 | bdata_x0, bdata_x1, bdata_y, attention_mat2, attention_mat1 = prep.prepare_data(data, batch_id, word_embeddings) 441 | model.hidden_sentence_gru = model.init_hidden2(bdata_x0.size()[0]) 442 | model.hidden_aspect_gru = model.init_hidden(bdata_x0.size()[0]) 443 | model.hidden_aspect_write_gru = model.init_hidden(bdata_x0.size()[0]) 444 | #model.hidden_aspect_repr_gru = model.init_aspect_hidden(bdata_x0.size()[0]) 445 | 446 | preds, beta , alpha = model(bdata_x0,bdata_x1, attention_mat1, attention_mat2, bdata_x0.size()[0]) 447 | betas +=[dat.data.cpu().numpy() for dat in beta] 448 | alphas.append(alpha.data.cpu().numpy()) 449 | loss = loss_function(preds, torch.max(bdata_y, 1)[1]) 450 | loss_tot.append(loss.data[0]) 451 | pred_label = preds.data.max(1)[1].cpu().numpy() 452 | pred_res += [x for x in pred_label] 453 | true_data = torch.max(bdata_y, 1)[1].cpu() 454 | true_label+= [x for x in true_data.data] 455 | # with open('betas_%d.p'%epoch,'wb') as fp: 456 | # cPickle.dump(betas,fp) 457 | # with open('alphas_%d.p'%epoch,'wb') as fp: 458 | # cPickle.dump(alphas,fp) 459 | return pred_res, true_label, np.mean(loss_tot) 460 | 461 | def csv_reader(file): 462 | data =[] 463 | with open(file, 'rb') as csvfile: 464 | aspectreader = csv.reader(csvfile, delimiter=',') 465 | for row in aspectreader: 466 | sent = row[0].lower() 467 | nb_aspects = int(row[1]) 468 | aspects = [x.replace("'","").replace('[',"").replace("\"","").replace(']',"").strip().lower() for x in row[2].split(",")] 469 | sentiments = [x.strip().replace("'","").replace('[',"").replace("\"","").replace(']',"").lower() for x in row[3].split(",")] 470 | for i in range(0,nb_aspects): 471 | datam = (sent,aspects , aspects[i], [sentiments[i]]) 472 | data.append(datam) 473 | return data 474 | 475 | def accuracy(preds, true): 476 | return sum(1 for x,y in zip(preds,true) if x == y) / float(len(preds))*100. 477 | 478 | if __name__=='__main__': 479 | 480 | # parser = argparse.ArgumentParser() 481 | # parser.add_argument('--no-cuda', action='store_true', default=False, 482 | # help='does not use GPU') 483 | # parser.add_argument('--dataset', default='Laptop', metavar='D', 484 | # help='Laptop or Restaurants') 485 | # args = parser.parse_args() 486 | 487 | args.cuda = not args.no_cuda and torch.cuda.is_available() 488 | if args.cuda: 489 | print 'Running on GPU' 490 | torch.cuda.manual_seed(1) 491 | ftype = torch.cuda.FloatTensor 492 | else: 493 | print 'Running on CPU' 494 | torch.manual_seed(1) 495 | ftype = torch.FloatTensor 496 | training_data = csv_reader('2014_'+args.dataset+'_train.csv') 497 | test_data = csv_reader('2014_'+args.dataset+'_test.csv') 498 | shuffle(training_data) 499 | # print training_data[0] 500 | # print np.max([len(x.split()) for x in zip(*training_data)[0]+zip(*test_data)[0]]) 501 | # print np.max([len(x.split()) for x in zip(*training_data)[2]+zip(*test_data)[2]]) 502 | # print np.max([len(x) for x in zip(*training_data)[1]+zip(*test_data)[1]]) 503 | # sys.exit(0) 504 | 505 | onea = [i for i,(s,a,aa,l) in enumerate(test_data) if len(a)==1] 506 | tonea = [i for i,(s,a,aa,l) in enumerate(training_data) if len(a)==1] 507 | print len(onea),len(test_data)-len(onea) 508 | print len(tonea),len(training_data)-len(tonea) 509 | model, tokenizer, word_embeddings = train(onea) 510 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 MLURG 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # IARM 2 | This repo contains the source code of the paper -- 3 | 4 | [IARM: Inter-Aspect Relation Modeling with Memory Networks in Aspect-Based Sentiment Analysis](http://aclweb.org/anthology/D18-1377). 5 | Navonil Majumder, Soujanya Poria, Alexander Gelbukh, Md. Shad Akhtar, Erik Cambria, Asif Ekbal. EMNLP 2018 6 | 7 | This method attempts to model the relationship among the different aspect-terms in a sentence using _memory networks_ to enable better sentiment classification of the aspects. 8 | 9 | ## Requirements 10 | 11 | - Python 2.7 12 | - PyTorch 0.3 13 | - Keras 1.0 14 | 15 | ## Execution 16 | 17 | Execute the file `ABSA-emb-gpu-final-newarch3.py` for training and testing on SemEval 2014 ABSA dataset. 18 | The following are the command-line arguments: 19 | - `--no-cuda`: GPU is not used 20 | - `--lr`: set learning rate 21 | - `--l2`: set L2-norm weight 22 | - `--batch-size`: set batch size 23 | - `--epochs`: set number of epochs 24 | - `--hops`: set number hops of memory network 25 | - `--hidden-size`: set hidden representation size 26 | - `--output-size`: set output representation size 27 | - `--dropout-p`: set dropout probability 28 | - `--dropout-lstm`: set recurrent dropout probability 29 | - `--dataset`: set which dataset to use - `Restaurants` or `Laptop` 30 | 31 | Example: 32 | ``` 33 | python ABSA-emb-gpu-final-newarch3.py --lr 0.001 --l2 0.0001 --dataset Laptop --hops 3 --epochs 30 --hidden-size 400 --output-size 300 --dropout-p 0.1 --dropout-lstm 0.2 34 | ``` 35 | ## Citation 36 | If you find this code useful please cite the following in your work: 37 | ``` 38 | @InProceedings{D18-1377, 39 | author = "Majumder, Navonil 40 | and Poria, Soujanya 41 | and Gelbukh, Alexander 42 | and Akhtar, Md Shad 43 | and Cambria, Erik 44 | and Ekbal, Asif", 45 | title = "IARM: Inter-Aspect Relation Modeling with Memory Networks in Aspect-Based Sentiment Analysis", 46 | booktitle = "Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing", 47 | year = "2018", 48 | publisher = "Association for Computational Linguistics", 49 | pages = "3402--3411", 50 | location = "Brussels, Belgium", 51 | url = "http://aclweb.org/anthology/D18-1377" 52 | } 53 | ``` 54 | ## Credits 55 | Codes were written by Soujanya Poria and Navonil Majumder 56 | --------------------------------------------------------------------------------