├── .gitattributes ├── README.md └── attention-based latm for aspect-level sentiment classification ├── .idea ├── attention-based latm for aspect-level sentiment classification.iml ├── inspectionProfiles │ └── profiles_settings.xml ├── misc.xml ├── modules.xml └── workspace.xml ├── ATAE-LSTM.py ├── ATAE_eval.py ├── __pycache__ └── utils.cpython-35.pyc ├── attention-based lstm for aspect-level sentiment classification.pdf ├── data └── restaurant │ ├── aspect_id.txt │ ├── aspect_id_new.txt │ ├── change.py │ ├── rest_2014_dmn_test_new.txt │ ├── rest_2014_dmn_train_new.txt │ ├── rest_2014_lstm_test.txt │ ├── rest_2014_lstm_test_new.txt │ ├── rest_2014_lstm_test_new1.txt │ ├── rest_2014_lstm_train.txt │ ├── rest_2014_lstm_train_new.txt │ ├── rest_2014_word_embedding.txt │ ├── rest_2014_word_embedding_300.txt │ ├── rest_2014_word_embedding_300_new.txt │ ├── word_id.txt │ └── word_id_new.txt ├── test.py └── utils.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 代码取自:https://github.com/scaufengyang/TD-LSTM 2 | 论文解读:https://zhuanlan.zhihu.com/p/42659009 3 | 4 | 注:这里实现的是aspect-term嵌入,而不是aspect嵌入。 5 | target是句子中直接存在的名词或实体,是aspect-term;aspect指的是名词或实体类别,即aspect-category。 6 | 例如:Staffs are not that fridedlly,but the taste covers all. 7 | 其中Staffs是target, 对应aspect-term,service是aspect,对应aspect-category. 8 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/.idea/attention-based latm for aspect-level sentiment classification.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 75 | 76 | 77 | 78 | load_w2v 79 | load_word_embedding 80 | load_aspect2id 81 | AE 82 | aspect_id 83 | get_batch_data 84 | sen_len 85 | target_words 86 | FLAGS.train_file_path 87 | load_inputs_twitter 88 | AT 89 | self.aspect_id 90 | range 91 | sxl 92 | 93 | 94 | 95 | 104 | 105 | 106 | 107 | 108 | true 109 | DEFINITION_ORDER 110 | 111 | 112 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 140 | 141 | 144 | 145 | 146 | 147 | 150 | 151 | 154 | 155 | 158 | 159 | 160 | 161 | 164 | 165 | 168 | 169 | 172 | 173 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 198 | 199 | 200 | 201 | 219 | 220 | 238 | 239 | 257 | 258 | 276 | 277 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 326 | 327 | 340 | 341 | 359 | 360 | 372 | 373 | project 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 408 | 409 | 425 | 426 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 459 | 460 | 461 | 462 | 1530503189480 463 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 506 | 507 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/ATAE-LSTM.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # @author: newbie 4 | # email: zhengshiliang0@gmail.com 5 | 6 | 7 | import tensorflow as tf 8 | from utils import load_w2v, batch_index, load_word_embedding, load_aspect2id, load_inputs_twitter_at 9 | import numpy as np 10 | np.set_printoptions(threshold=np.inf) 11 | 12 | 13 | FLAGS = tf.app.flags.FLAGS 14 | tf.app.flags.DEFINE_integer('embedding_dim', 300, 'dimension of word embedding') 15 | tf.app.flags.DEFINE_integer('batch_size', 25, 'number of example per batch') 16 | tf.app.flags.DEFINE_integer('n_hidden', 300, 'number of hidden unit') 17 | tf.app.flags.DEFINE_float('learning_rate', 0.01, 'learning rate') 18 | tf.app.flags.DEFINE_integer('n_class', 3, 'number of distinct class') 19 | tf.app.flags.DEFINE_integer('max_sentence_len', 80, 'max number of tokens per sentence') 20 | tf.app.flags.DEFINE_float('l2_reg', 0.001, 'l2 regularization') 21 | tf.app.flags.DEFINE_integer('display_step', 4, 'number of test display step') 22 | tf.app.flags.DEFINE_integer('n_iter', 8, 'number of train iter') 23 | tf.app.flags.DEFINE_float('keep_prob1', 1.0, 'dropout keep prob') 24 | tf.app.flags.DEFINE_float('keep_prob2', 1.0, 'dropout keep prob') 25 | 26 | 27 | tf.app.flags.DEFINE_string('train_file_path', 'data/restaurant/rest_2014_lstm_train_new.txt', 'training file') 28 | tf.app.flags.DEFINE_string('validate_file_path', 'data/restaurant/rest_2014_lstm_test_new.txt', 'validating file') 29 | tf.app.flags.DEFINE_string('test_file_path', 'data/restaurant/rest_2014_lstm_test_new.txt', 'testing file') 30 | tf.app.flags.DEFINE_string('embedding_file_path', 'data/restaurant/rest_2014_word_embedding_300_new.txt', 'embedding file') 31 | tf.app.flags.DEFINE_string('word_id_file_path', 'data/restaurant/word_id_new.txt', 'word-id mapping file') 32 | tf.app.flags.DEFINE_string('aspect_id_file_path', 'data/restaurant/aspect_id_new.txt', 'word-id mapping file') 33 | tf.app.flags.DEFINE_string('method', 'AT', 'model type: AE, AT or AEAT') 34 | tf.app.flags.DEFINE_string('t', 'last', 'model type: ') 35 | 36 | 37 | class LSTM(object): 38 | 39 | def __init__(self, embedding_dim=100, batch_size=64, n_hidden=100, learning_rate=0.01, 40 | n_class=3, max_sentence_len=50, l2_reg=0., display_step=4, n_iter=100, type_=''): 41 | self.embedding_dim = embedding_dim #300 42 | self.batch_size = batch_size #25 43 | self.n_hidden = n_hidden #300 44 | self.learning_rate = learning_rate #0.01 45 | self.n_class = n_class #3 46 | self.max_sentence_len = max_sentence_len #80 47 | self.l2_reg = l2_reg #0.001 48 | self.display_step = display_step #4 49 | self.n_iter = n_iter #20 50 | self.type_ = type_ #AT 51 | self.word_id_mapping, self.w2v = load_word_embedding(FLAGS.word_id_file_path, FLAGS.embedding_file_path, self.embedding_dim) 52 | # dict(3909) 3910 * 300 53 | # self.word_embedding = tf.constant(self.w2v, dtype=tf.float32, name='word_embedding') 54 | self.word_embedding = tf.Variable(self.w2v, dtype=tf.float32, name='word_embedding') 55 | # self.word_id_mapping = load_word_id_mapping(FLAGS.word_id_file_path) 56 | # self.word_embedding = tf.Variable( 57 | # tf.random_uniform([len(self.word_id_mapping), self.embedding_dim], -0.1, 0.1), name='word_embedding') 58 | self.aspect_id_mapping, self.aspect_embed = load_aspect2id(FLAGS.aspect_id_file_path, self.word_id_mapping, self.w2v, self.embedding_dim) 59 | # dict(1219) 1220 * 300 60 | self.aspect_embedding = tf.Variable(self.aspect_embed, dtype=tf.float32, name='aspect_embedding') 61 | 62 | self.keep_prob1 = tf.placeholder(tf.float32, name="dropout_keep_prob1") 63 | self.keep_prob2 = tf.placeholder(tf.float32, name="dropout_keep_prob2") 64 | with tf.name_scope('inputs'): 65 | self.x = tf.placeholder(tf.int32, [None, self.max_sentence_len], name='x') #25 * 80 66 | #print (self.max_sentence_len) #80 67 | #print ('sxl================') 68 | self.y = tf.placeholder(tf.int32, [None, self.n_class], name='y') #25 * 3 69 | self.sen_len = tf.placeholder(tf.int32, None, name='sen_len') #list(25) 70 | self.aspect_id = tf.placeholder(tf.int32, None, name='aspect_id') #list(25) 71 | 72 | with tf.name_scope('weights'): 73 | self.weights = { 74 | 'softmax': tf.get_variable( 75 | name='softmax_w', 76 | shape=[self.n_hidden, self.n_class], #300 * 3 77 | initializer=tf.random_uniform_initializer(-0.01, 0.01), 78 | regularizer=tf.contrib.layers.l2_regularizer(self.l2_reg) 79 | ) 80 | } 81 | 82 | with tf.name_scope('biases'): 83 | self.biases = { 84 | 'softmax': tf.get_variable( 85 | name='softmax_b', 86 | shape=[self.n_class], # 3 87 | initializer=tf.random_uniform_initializer(-0.01, 0.01), 88 | regularizer=tf.contrib.layers.l2_regularizer(self.l2_reg) 89 | ) 90 | } 91 | 92 | self.W = tf.get_variable( 93 | name='W', 94 | shape=[self.n_hidden + self.embedding_dim, self.n_hidden + self.embedding_dim], #600 * 600 95 | initializer=tf.random_uniform_initializer(-0.01, 0.01), 96 | regularizer=tf.contrib.layers.l2_regularizer(self.l2_reg) 97 | ) 98 | self.w = tf.get_variable( 99 | name='w', 100 | shape=[self.n_hidden + self.embedding_dim, 1], #600 * 1 101 | initializer=tf.random_uniform_initializer(-0.01, 0.01), 102 | regularizer=tf.contrib.layers.l2_regularizer(self.l2_reg) 103 | ) 104 | self.Wp = tf.get_variable( 105 | name='Wp', 106 | shape=[self.n_hidden, self.n_hidden], #300 * 300 107 | initializer=tf.random_uniform_initializer(-0.01, 0.01), 108 | regularizer=tf.contrib.layers.l2_regularizer(self.l2_reg) 109 | ) 110 | self.Wx = tf.get_variable( 111 | name='Wx', 112 | shape=[self.n_hidden, self.n_hidden], #300 * 300 113 | initializer=tf.random_uniform_initializer(-0.01, 0.01), 114 | regularizer=tf.contrib.layers.l2_regularizer(self.l2_reg) 115 | ) 116 | 117 | def dynamic_rnn(self, cell, inputs, length, max_len, scope_name, out_type='all'): 118 | #cell 25 * 80 * 600 [25] 80 'AT' 119 | outputs, state = tf.nn.dynamic_rnn( 120 | cell(self.n_hidden), 121 | inputs=inputs, 122 | sequence_length=length, 123 | dtype=tf.float32, 124 | scope=scope_name 125 | ) # outputs -> batch_size * max_len * n_hidden 25 * 80 * 300 126 | batch_size = tf.shape(outputs)[0] #25 127 | if out_type == 'last': #意思是取每个句子最后一个输出向量作为最后的输出 128 | index = tf.range(0, batch_size) * max_len + (length - 1) 129 | outputs = tf.gather(tf.reshape(outputs, [-1, self.n_hidden]), index) # batch_size * n_hidden ??? 130 | print (outputs.shape) 131 | print ('sxlllllllllllllllllllllllll') 132 | elif out_type == 'all_avg': 133 | outputs = LSTM.reduce_mean(outputs, length) 134 | print (outputs.shape) # 25 * 300 135 | print('sxlssssssssssssssssssssssss') 136 | #print (outputs.shape) 137 | return outputs #25 * 80 * 300 138 | 139 | def bi_dynamic_rnn(self, cell, inputs, length, max_len, scope_name, out_type='all'): 140 | outputs, state = tf.nn.bidirectional_dynamic_rnn( 141 | cell_fw=cell(self.n_hidden), 142 | cell_bw=cell(self.n_hidden), 143 | inputs=inputs, 144 | sequence_length=length, 145 | dtype=tf.float32, 146 | scope=scope_name 147 | ) 148 | if out_type == 'last': 149 | outputs_fw, outputs_bw = outputs 150 | outputs_bw = tf.reverse_sequence(outputs_bw, tf.cast(length, tf.int64), seq_dim=1) 151 | outputs = tf.concat([outputs_fw, outputs_bw], 2) 152 | else: 153 | outputs = tf.concat(outputs, 2) # batch_size * max_len * 2n_hidden 154 | batch_size = tf.shape(outputs)[0] 155 | if out_type == 'last': 156 | index = tf.range(0, batch_size) * max_len + (length - 1) 157 | outputs = tf.gather(tf.reshape(outputs, [-1, 2 * self.n_hidden]), index) # batch_size * 2n_hidden 158 | elif out_type == 'all_avg': 159 | outputs = LSTM.reduce_mean(outputs, length) # batch_size * 2n_hidden 160 | return outputs 161 | 162 | def AE(self, inputs, target, type_='last'): ##inputs 25 * 80 * 300 target 25 * 300 type = last 163 | """ 164 | :params: self.x, self.seq_len, self.weights['softmax_lstm'], self.biases['sof 165 | :return: non-norm prediction values 166 | """ 167 | print('I am AE.') 168 | batch_size = tf.shape(inputs)[0] #25 169 | target = tf.reshape(target, [-1, 1, self.embedding_dim]) #25 * 1 * 300 170 | target = tf.ones([batch_size, self.max_sentence_len, self.embedding_dim], dtype=tf.float32) * target 171 | inputs = tf.concat([inputs, target], 2) #25 * 80 * 600 172 | inputs = tf.nn.dropout(inputs, keep_prob=self.keep_prob1) 173 | 174 | cell = tf.nn.rnn_cell.LSTMCell 175 | outputs = self.dynamic_rnn(cell, inputs, self.sen_len, self.max_sentence_len, 'AE', FLAGS.t) # 25 * 300 176 | 177 | return LSTM.softmax_layer(outputs, self.weights['softmax'], self.biases['softmax'], self.keep_prob2) 178 | 179 | def AT(self, inputs, target, type_=''): #inputs 25 * 80 * 300 target 25 * 300 type = last 180 | print('I am AT.') 181 | batch_size = tf.shape(inputs)[0] #25 182 | target = tf.reshape(target, [-1, 1, self.embedding_dim]) #25 * 1 * 300 183 | target = tf.ones([batch_size, self.max_sentence_len, self.embedding_dim], dtype=tf.float32) * target 184 | #print (target.shape) #25 * 80 * 300 80个每个都是相同的,意思是一句话乘以同一个aspect向量 185 | in_t = tf.concat([inputs, target], 2) #25 * 80 * 600 186 | in_t = tf.nn.dropout(in_t, keep_prob=self.keep_prob1) 187 | cell = tf.nn.rnn_cell.LSTMCell 188 | hiddens = self.dynamic_rnn(cell, in_t, self.sen_len, self.max_sentence_len, 'AT', 'all') #25 * 80 * 300 189 | 190 | h_t = tf.reshape(tf.concat([hiddens, target], 2), [-1, self.n_hidden + self.embedding_dim]) #25 * 80 * 600->2000 * 600 ??? 191 | 192 | M = tf.matmul(tf.tanh(tf.matmul(h_t, self.W)), self.w) #W 600 * 600 w 600 * 1 193 | # print (M.shape) #2000 * 1 25 * 80 * 1 194 | 195 | alpha = LSTM.softmax(tf.reshape(M, [-1, 1, self.max_sentence_len]), self.sen_len, self.max_sentence_len, name='sss') 196 | #print (alpha) #25 * 1 * 80 197 | self.alpha = tf.reshape(alpha, [-1, self.max_sentence_len]) #25 * 80 198 | 199 | r = tf.reshape(tf.matmul(alpha, hiddens), [-1, self.n_hidden]) #25 * 300 200 | index = tf.range(0, batch_size) * self.max_sentence_len + (self.sen_len - 1) 201 | hn = tf.gather(tf.reshape(hiddens, [-1, self.n_hidden]), index) # batch_size * n_hidden #25 * 300 202 | 203 | h = tf.tanh(tf.matmul(r, self.Wp) + tf.matmul(hn, self.Wx)) #Wp 300 * 300 Wx 300 * 300 h 25 * 300 204 | 205 | return LSTM.softmax_layer(h, self.weights['softmax'], self.biases['softmax'], self.keep_prob2),alpha #25 * 3 206 | 207 | 208 | 209 | @staticmethod 210 | def softmax_layer(inputs, weights, biases, keep_prob): #25 * 300 300 * 3 3 211 | with tf.name_scope('softmax'): 212 | outputs = tf.nn.dropout(inputs, keep_prob=keep_prob) 213 | predict = tf.matmul(outputs, weights) + biases 214 | predict = tf.nn.softmax(predict) 215 | return predict 216 | 217 | @staticmethod 218 | def reduce_mean(inputs, length): #25 * 80 * 300 list[25] 219 | """ 220 | :param inputs: 3-D tensor 221 | :param length: the length of dim [1] 222 | :return: 2-D tensor 223 | """ 224 | length = tf.cast(tf.reshape(length, [-1, 1]), tf.float32) + 1e-9 225 | inputs = tf.reduce_sum(inputs, 1, keep_dims=False) / length #25 * 300 226 | return inputs 227 | 228 | @staticmethod 229 | def softmax(inputs, length, max_length,name=''): # 25 * 1 * 80 [25] 80 230 | inputs = tf.cast(inputs, tf.float32) 231 | max_axis = tf.reduce_max(inputs, 2, keep_dims=True) 232 | #print (max_axis.shape) # 25 * 1 * 1 233 | #print ('re de yi pi==========') 234 | inputs = tf.exp(inputs - max_axis) 235 | length = tf.reshape(length, [-1]) 236 | mask = tf.reshape(tf.cast(tf.sequence_mask(length, max_length), tf.float32), tf.shape(inputs)) 237 | inputs *= mask 238 | _sum = tf.reduce_sum(inputs, reduction_indices=2, keep_dims=True) + 1e-9 239 | #print (inputs / _sum) 240 | #print ('come on!=================') 241 | return inputs / _sum 242 | 243 | def run(self): 244 | inputs = tf.nn.embedding_lookup(self.word_embedding, self.x) #25 * 80 * 300 245 | aspect = tf.nn.embedding_lookup(self.aspect_embedding, self.aspect_id) #25 * 300 246 | if FLAGS.method == 'AE': 247 | prob = self.AE(inputs, aspect, FLAGS.t) #last 248 | elif FLAGS.method == 'AT': 249 | prob,sxl = self.AT(inputs, aspect, FLAGS.t) 250 | 251 | with tf.name_scope('loss'): 252 | reg_loss = tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES) 253 | # cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prob, self.y)) 254 | cost = - tf.reduce_mean(tf.cast(self.y, tf.float32) * tf.log(prob)) + sum(reg_loss) 255 | 256 | with tf.name_scope('train'): 257 | global_step = tf.Variable(0, name="tr_global_step", trainable=False) 258 | optimizer = tf.train.AdamOptimizer(learning_rate=self.learning_rate).minimize(cost, global_step=global_step) 259 | # optimizer = tf.train.AdagradOptimizer(learning_rate=self.learning_rate).minimize(cost, global_step=global_step) 260 | 261 | 262 | with tf.name_scope('predict'): 263 | pre = tf.argmax(prob, 1, name="predictions") 264 | correct_pred = tf.equal(tf.argmax(prob, 1), tf.argmax(self.y, 1)) 265 | true_y = tf.argmax(self.y, 1) 266 | pred_y = tf.argmax(prob, 1) 267 | accuracy = tf.reduce_sum(tf.cast(correct_pred, tf.int32)) 268 | _acc = tf.reduce_mean(tf.cast(correct_pred, tf.float32)) 269 | 270 | with tf.Session() as sess: 271 | title = '-d1-{}d2-{}b-{}r-{}l2-{}sen-{}dim-{}h-{}c-{}'.format( 272 | FLAGS.keep_prob1, 273 | FLAGS.keep_prob2, 274 | FLAGS.batch_size, 275 | FLAGS.learning_rate, 276 | FLAGS.l2_reg, 277 | FLAGS.max_sentence_len, 278 | FLAGS.embedding_dim, 279 | FLAGS.n_hidden, 280 | FLAGS.n_class 281 | ) 282 | summary_loss = tf.summary.scalar('loss' + title, cost) 283 | summary_acc = tf.summary.scalar('acc' + title, _acc) 284 | train_summary_op = tf.summary.merge([summary_loss, summary_acc]) 285 | validate_summary_op = tf.summary.merge([summary_loss, summary_acc]) 286 | test_summary_op = tf.summary.merge([summary_loss, summary_acc]) 287 | import time 288 | timestamp = str(int(time.time())) 289 | _dir = 'logs/' + str(timestamp) + '_' + title 290 | train_summary_writer = tf.summary.FileWriter(_dir + '/train', sess.graph) 291 | test_summary_writer = tf.summary.FileWriter(_dir + '/test', sess.graph) 292 | validate_summary_writer = tf.summary.FileWriter(_dir + '/validate', sess.graph) 293 | 294 | saver = tf.train.Saver(write_version=tf.train.SaverDef.V2) 295 | 296 | init = tf.global_variables_initializer() 297 | sess.run(init) 298 | 299 | # saver.restore(sess, 'models/logs/1481529975__r0.005_b2000_l0.05self.softmax/-1072') 300 | 301 | save_dir = 'models/' + _dir + '/' 302 | import os 303 | if not os.path.exists(save_dir): 304 | os.makedirs(save_dir) 305 | 306 | tr_x, tr_sen_len, tr_target_word, tr_y = load_inputs_twitter_at( #x, np.asarray(sen_len), np.asarray(aspect_words), np.asarray(y) 307 | FLAGS.train_file_path, 308 | self.word_id_mapping, #tr_x 3699 * 80 309 | self.aspect_id_mapping, #tr_y 3699 * 3 310 | self.max_sentence_len, #tr_sen_len [3699] 311 | self.type_ #tr_target_word [3699] 312 | ) 313 | te_x, te_sen_len, te_target_word, te_y = load_inputs_twitter_at( #1134个测试集 314 | FLAGS.test_file_path, 315 | self.word_id_mapping, 316 | self.aspect_id_mapping, 317 | self.max_sentence_len, 318 | self.type_ 319 | ) 320 | 321 | max_acc = 0. 322 | max_alpha = None 323 | max_ty, max_py = None, None 324 | for i in range(self.n_iter): #20 325 | for train, _ in self.get_batch_data(tr_x, tr_sen_len, tr_y, tr_target_word, self.batch_size, FLAGS.keep_prob1, FLAGS.keep_prob2): 326 | alp,_, step, summary = sess.run([sxl,optimizer, global_step, train_summary_op], feed_dict=train) 327 | train_summary_writer.add_summary(summary, step) 328 | 329 | 330 | 331 | #进行了一个batch的训练 332 | # print(alp.shape) 333 | # print (alp) 334 | # print('wwwwwwwwwwwwwwwwwwwwwwwwwww') 335 | acc, loss, cnt = 0., 0., 0 336 | flag = True 337 | summary, step = None, None 338 | alpha = None 339 | ty, py = None, None 340 | 341 | for test, num in self.get_batch_data(te_x, te_sen_len, te_y, te_target_word, 2000, 1.0, 1.0, False): 342 | #print (te_y) 343 | _loss, _acc, _summary, _step, alpha, ty, py = sess.run([cost, accuracy, validate_summary_op, global_step, self.alpha, true_y, pred_y], 344 | feed_dict=test) 345 | # print ('num================') 346 | # print (num) #1134 347 | 348 | 349 | 350 | acc += _acc 351 | loss += _loss * num #??? 352 | cnt += num 353 | if flag: 354 | summary = _summary 355 | step = _step 356 | flag = False 357 | alpha = alpha 358 | ty = ty 359 | py = py 360 | print(ty[:10]) 361 | print (py[:10]) 362 | print('all samples={}, correct prediction={}'.format(cnt, acc)) 363 | test_summary_writer.add_summary(summary, step) 364 | saver.save(sess, save_dir, global_step=step) 365 | print('Iter {}: mini-batch loss={:.6f}, test acc={:.6f}'.format(i, loss / cnt, acc / cnt)) 366 | if acc / cnt > max_acc: 367 | max_acc = acc / cnt 368 | max_alpha = alpha 369 | max_ty = ty 370 | max_py = py 371 | with open('alpha.txt','w') as f: 372 | f.write(str(max_alpha)) 373 | 374 | print('Optimization Finished! Max acc={}'.format(max_acc)) 375 | fp = open('weight.txt', 'w') 376 | for y1, y2, ws in zip(max_ty, max_py, max_alpha): 377 | fp.write(str(y1) + ' ' + str(y2) + ' ' + ' '.join([str(w) for w in ws]) + '\n') 378 | 379 | print('Learning_rate={}, iter_num={}, batch_size={}, hidden_num={}, l2={}'.format( 380 | self.learning_rate, 381 | self.n_iter, 382 | self.batch_size, 383 | self.n_hidden, 384 | self.l2_reg 385 | )) 386 | 387 | def get_batch_data(self, x, sen_len, y, target_words, batch_size, keep_prob1, keep_prob2, is_shuffle=True): 388 | for index in batch_index(len(y), batch_size, 1, is_shuffle): 389 | 390 | #print ('第一个batch训练集下标',index) 391 | 392 | feed_dict = { 393 | self.x: x[index], 394 | self.y: y[index], 395 | self.sen_len: sen_len[index], 396 | self.aspect_id: target_words[index], 397 | self.keep_prob1: keep_prob1, 398 | self.keep_prob2: keep_prob2, 399 | } 400 | yield feed_dict, len(index) 401 | 402 | 403 | def main(_): 404 | lstm = LSTM( 405 | embedding_dim=FLAGS.embedding_dim, 406 | batch_size=FLAGS.batch_size, 407 | n_hidden=FLAGS.n_hidden, 408 | learning_rate=FLAGS.learning_rate, 409 | n_class=FLAGS.n_class, 410 | max_sentence_len=FLAGS.max_sentence_len, 411 | l2_reg=FLAGS.l2_reg, 412 | display_step=FLAGS.display_step, 413 | n_iter=FLAGS.n_iter, 414 | type_=FLAGS.method 415 | ) 416 | lstm.run() 417 | 418 | 419 | if __name__ == '__main__': 420 | tf.app.run() -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/ATAE_eval.py: -------------------------------------------------------------------------------- 1 | import tensorflow as tf 2 | import numpy as np 3 | from utils import load_w2v, batch_index, load_word_embedding, load_aspect2id, load_inputs_twitter_at 4 | 5 | 6 | x_raw = ["$T$ is always fresh and hot - ready to eat !", "food"] 7 | y_test = [1] 8 | 9 | word_id_mapping, w2v = load_word_embedding('data/restaurant/word_id_new.txt', 'data/restaurant/rest_2014_word_embedding_300_new.txt', 300) 10 | # dict(3909) 3910 * 300 11 | aspect_id_mapping, aspect_embed = load_aspect2id('data/restaurant/aspect_id_new.txt', word_id_mapping, w2v, 300) 12 | # dict(1219) 1220 * 300 13 | # print (aspect_id_mapping['food']) 14 | # print ('sxlllllllllll') 15 | 16 | 17 | def change_y_to_onehot(y): 18 | 19 | class_set = set([1,-1,0]) 20 | n_class = 3 21 | y_onehot_mapping = {0: 0, 1: 1, -1: 2} 22 | #print (y_onehot_mapping) 23 | onehot = [] 24 | for label in y: 25 | tmp = [0] * n_class 26 | tmp[y_onehot_mapping[label]] = 1 27 | onehot.append(tmp) 28 | return np.asarray(onehot, dtype=np.int32) 29 | 30 | def load_inputs_twitter_at(input_file, word_id_file, aspect_id_file,sentence_len): 31 | word_to_id = word_id_file 32 | print ('load word-to-id done!') 33 | aspect_to_id = aspect_id_file 34 | print ('load aspect-to-id done!') 35 | 36 | x= [] 37 | 38 | aspect_words = [] 39 | lines = input_file 40 | aspect_word = ' '.join(lines[1].lower().split()) 41 | aspect_words.append(aspect_to_id.get(aspect_word, 0)) 42 | sxl = change_y_to_onehot(y_test) 43 | words = lines[0].lower().split() 44 | ids = [] 45 | for word in words: 46 | if word in word_to_id: 47 | ids.append(word_to_id[word]) 48 | # ids = list(map(lambda word: word_to_id.get(word, 0), words)) 49 | #print (len(sen_len)) 50 | x.append(ids + [0] * (sentence_len - len(ids))) 51 | x = np.asarray(x, dtype=np.int32) 52 | print (sxl) 53 | return x, np.asarray(aspect_words) 54 | 55 | a, b = load_inputs_twitter_at(x_raw, word_id_mapping, aspect_id_mapping,80) 56 | print ('input:', a) 57 | print ('aspect:', b) 58 | 59 | #================================================= 60 | checkpoint_file = tf.train.latest_checkpoint('E:/caffe/AI/deep learning/tensorflow/attention-based latm for aspect-level sentiment classification\models/logs/1531470805_-d1-1.0d2-1.0b-25r-0.01l2-0.001sen-80dim-300h-300c-3') 61 | #checkpoint_file = tf.train.latest_checkpoint('') 62 | graph = tf.Graph() 63 | with graph.as_default(): 64 | session_conf = tf.ConfigProto( 65 | allow_soft_placement=True, 66 | log_device_placement=False) 67 | sess = tf.Session(config=session_conf) 68 | with sess.as_default(): 69 | saver = tf.train.import_meta_graph("{}.meta".format(checkpoint_file)) 70 | saver.restore(sess, checkpoint_file) 71 | 72 | input_x = graph.get_operation_by_name("inputs/x").outputs[0] 73 | print (input_x) 74 | aspect = graph.get_operation_by_name("inputs/aspect_id").outputs[0] 75 | print (aspect) 76 | sen_len = graph.get_operation_by_name("inputs/sen_len").outputs[0] 77 | keep_prob1_sxl = graph.get_operation_by_name("dropout_keep_prob1").outputs[0] 78 | keep_prob2_sxl = graph.get_operation_by_name("dropout_keep_prob2").outputs[0] 79 | 80 | #alpha = graph.get_operation_by_name("alphaa").outputs[0] 81 | losss = graph.get_operation_by_name("predict/predictions").outputs[0] 82 | 83 | result = sess.run(losss ,{input_x: a, aspect: b,sen_len:[11], keep_prob1_sxl:1.0, keep_prob2_sxl : 1.0}) 84 | 85 | print (result) -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/__pycache__/utils.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sxlprince/attention-based-lstm-for-aspect-level-sentiment-classification/afd580de1a1ea98681d31cdffa0a469359c87e58/attention-based latm for aspect-level sentiment classification/__pycache__/utils.cpython-35.pyc -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/attention-based lstm for aspect-level sentiment classification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sxlprince/attention-based-lstm-for-aspect-level-sentiment-classification/afd580de1a1ea98681d31cdffa0a469359c87e58/attention-based latm for aspect-level sentiment classification/attention-based lstm for aspect-level sentiment classification.pdf -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/data/restaurant/aspect_id.txt: -------------------------------------------------------------------------------- 1 | rasamalai 1 2 | thin crusted pizza 2 3 | sicilian 3 4 | all you can eat deal 4 5 | deliveries 5 6 | staff member 6 7 | panang duck 7 8 | manager 8 9 | selection 9 10 | measures of liquers 10 11 | exotic food 11 12 | dish 12 13 | spicy fried clam rolls 13 14 | captain 14 15 | quality value 15 16 | pad thai 16 17 | roast duck 17 18 | front doors 18 19 | eggs benedict 19 20 | cannoli 20 21 | glass of leaping lizard 21 22 | technique 22 23 | turkey burger 23 24 | sesame chicken 24 25 | dumpling 25 26 | sashimi 26 27 | environment 27 28 | pickels and slaw 28 29 | garlic knots 29 30 | banana tower 30 31 | rice to fish ration 31 32 | congee 32 33 | ambience 33 34 | maitre 34 35 | dim sum combo 35 36 | waiters 36 37 | sushi chef 37 38 | dessert 38 39 | fat 39 40 | choice 40 41 | tanks 41 42 | roasted tomato soup with chevre 42 43 | cook 43 44 | patio 44 45 | chicken parm 45 46 | lava cake dessert 46 47 | special 47 48 | look 48 49 | casual dinner 49 50 | cooks 50 51 | hummus platter 51 52 | staples 52 53 | prix fixe pricing 53 54 | desserts 54 55 | icing on the cake 55 56 | hosting staff 56 57 | steak frites 57 58 | specials 58 59 | half price sushi deal 59 60 | beverage selections 60 61 | back patio 61 62 | chilaquiles 62 63 | guy 63 64 | chocolate mud cake ( warmed ) 64 65 | main courses 65 66 | after dinner drink 66 67 | pork 67 68 | neighborhood 68 69 | fried dumpling 69 70 | refleshment 70 71 | bacon 71 72 | steaks 72 73 | chef 73 74 | burger 74 75 | spider rolls 75 76 | design 76 77 | chicken tikka-masala 77 78 | fast food 78 79 | gigondas 79 80 | dulce de leche gelato 80 81 | wintermelon 81 82 | fluke sashimi 82 83 | beer selection 83 84 | drinks 84 85 | change mojito 85 86 | ceviche mix ( special ) 86 87 | in sandwiches 87 88 | peter 's favourite pizza with prosciutto and baby arugula 88 89 | soup 89 90 | dim sum 90 91 | comfort food 91 92 | meals 92 93 | cooking 93 94 | sangria 94 95 | snack foods 95 96 | tuna sandwich 96 97 | waiting 97 98 | indian 98 99 | attitudes 99 100 | dimsum 100 101 | pakistani food 101 102 | scallops 102 103 | tips 103 104 | raw vegatables 104 105 | glass front 105 106 | counters 106 107 | scenery 107 108 | mussel selection 108 109 | gulab jamun ( dessert ) 109 110 | taiwanese food 110 111 | mussels 111 112 | dining area 112 113 | water 113 114 | prix fixe meal 114 115 | pub 115 116 | stauff 116 117 | chocolate souffle with rasberry mint sorbet 117 118 | open faced cheese sandwich 118 119 | ordering a la carte 119 120 | house champagne 120 121 | mozzarella 121 122 | wait 122 123 | live entertainment 123 124 | hollondaise sauce 124 125 | personal herb garden 125 126 | back garden sitting area 126 127 | employees 127 128 | potato pancakes 128 129 | host 129 130 | dumpling menu 130 131 | msg cooking 131 132 | styles of pizza 132 133 | soup for the udon 133 134 | menu selections 134 135 | crispy duck 135 136 | puff pastry goat cheese 136 137 | chai tea 137 138 | duck breast special 138 139 | grapes 139 140 | fried chicken 140 141 | indian dining experience 141 142 | lamb vindaloo 142 143 | malai tikka wrap 143 144 | margarite pizza with cold prosciutto and baby arugula on top 144 145 | meats 145 146 | roast chicken 146 147 | shell crab 147 148 | pistachio ice cream 148 149 | lime 149 150 | chicken tikka 150 151 | kababs 151 152 | lox spread 152 153 | mediterranean salad 153 154 | sake 154 155 | lime juice concoction 155 156 | kosher dills 156 157 | seved 157 158 | lentil dish 158 159 | music 159 160 | care 160 161 | cheescake 161 162 | fried shrimp 162 163 | squid 163 164 | door 164 165 | beers on tap 165 166 | lawns 166 167 | omelletes 167 168 | italian decor 168 169 | chocolate 169 170 | fried tofu 170 171 | spicy ethnic foods 171 172 | onglet 172 173 | beers 173 174 | box wine 174 175 | tempura dis 175 176 | homemade pasta 176 177 | thai flavors 177 178 | starter 178 179 | foie gras terrine with figs 179 180 | cream cheeses 180 181 | bartender 181 182 | room 182 183 | salad 183 184 | nori-wrapped tuna 184 185 | water and wine glasses 185 186 | fish and chips 186 187 | black cod with yuzu sauce 187 188 | glasses of wine 188 189 | wine selection 189 190 | pastrami or corned beef 190 191 | servants 191 192 | shredded squid family style 192 193 | bruschettas 193 194 | dining experience 194 195 | corned beef 195 196 | chicken casserole 196 197 | sushi bar 197 198 | lamb glazed with balsamic vinegar 198 199 | potato chips 199 200 | lamb sausages 200 201 | foods 201 202 | tandoori salmon 202 203 | bar scene 203 204 | cantonese 204 205 | indian restaurant food 205 206 | interior decoration 206 207 | meat patties in steamed buns 207 208 | onions 208 209 | parmesean porcini souffle 209 210 | glasses of water 210 211 | pasta dish 211 212 | lamb 212 213 | glasses of champagne 213 214 | french indian fusion 214 215 | variety of fish 215 216 | price tag 216 217 | vibe 217 218 | spreads 218 219 | perks 219 220 | located 220 221 | sushi fix 221 222 | special menu 222 223 | gourmet food 223 224 | grilled chicken special with edamame puree 224 225 | godmother pizza ( a sort of traditional flat pizza with an olive oil-brushed crust and less tomato sauce than usual ) 225 226 | establishment 226 227 | thai noodles with shrimp and chicken and coconut juice 227 228 | pizza 228 229 | entree 229 230 | waitstaff 230 231 | nebbiolo 231 232 | assortment of fresh mushrooms and vegetables 232 233 | takeout menu 233 234 | pastas 234 235 | drumsticks over rice 235 236 | french food 236 237 | glass of prosecco 237 238 | vegetarian entree 238 239 | fresh tomatoes 239 240 | goat cheese 240 241 | man 241 242 | japanese comfort food 242 243 | buttery and tender langostine entree 243 244 | mix of greens 244 245 | gin and tonic 245 246 | curry 246 247 | tapas 247 248 | counter 248 249 | lines 249 250 | eats 250 251 | dinners 251 252 | reputation 252 253 | chopsticks 253 254 | halibut 254 255 | lay out 255 256 | godmother pizza 256 257 | breads 257 258 | oysters 258 259 | order 259 260 | scents 260 261 | wine 261 262 | snapple 262 263 | serving 263 264 | ethnic food 264 265 | secret back room 265 266 | noise level 266 267 | lobster ravioli 267 268 | frites 268 269 | filling pasta mains 269 270 | attitude 270 271 | pig feet ginger simmered in black vinegar 271 272 | crabmeat lasagna 272 273 | terrace 273 274 | frying 274 275 | spicy food 275 276 | neapolitan pizza 276 277 | bombay style chaat 277 278 | salmon dish 278 279 | fromager 279 280 | pad penang 280 281 | bagels 281 282 | appetizers 282 283 | buns 283 284 | crew 284 285 | paratha bread 285 286 | lamb chop 286 287 | tuna roll 287 288 | filets 288 289 | selection of wine 289 290 | brioche and lollies 290 291 | private room 291 292 | beans on toast 292 293 | wine flight 293 294 | food options 294 295 | indian appetizers 295 296 | sauce 296 297 | 2-person table 297 298 | grilled cheese 298 299 | tonic 299 300 | shredded cheese 300 301 | lobster bisque 301 302 | food 302 303 | flour 303 304 | lunch specials 304 305 | swordfish 305 306 | dinner menu to sit 306 307 | hand-crafted beers 307 308 | lunch 308 309 | walls 309 310 | course 310 311 | soupy dumplings 311 312 | night scene 312 313 | bread 313 314 | beef carpaachio 314 315 | meat 315 316 | kebabs 316 317 | price category 317 318 | food-quality 318 319 | bar service 319 320 | courses 320 321 | pepper powder 321 322 | panini 322 323 | lamb dishes 323 324 | dessert menu 324 325 | selection of wines 325 326 | interior deco 326 327 | bills 327 328 | japanese tapas 328 329 | meal 329 330 | food quality 330 331 | cost 331 332 | upstairs 332 333 | semi-private boths 333 334 | fish 334 335 | tom kha soup 335 336 | ambiance 336 337 | getting a table 337 338 | apppetizers 338 339 | choices per course 339 340 | sandwich 340 341 | variety 341 342 | dining hall 342 343 | dessert wine 343 344 | apetizers 344 345 | large whole shrimp 345 346 | salads 346 347 | ice cream 347 348 | new york bagel 348 349 | olive cream cheese 349 350 | pre-theater prix-fixe 350 351 | space 351 352 | green curry with vegetables 352 353 | selecion of wines 353 354 | spider roll 354 355 | tiramisu 355 356 | fried rice 356 357 | yellowtail 357 358 | mashed potatoes 358 359 | fish dishes 359 360 | round of drinks 360 361 | shows 361 362 | wine list selection 362 363 | thai ice tea 363 364 | plain cheese slice 364 365 | fresh mozz cheese 365 366 | wines 366 367 | spot 367 368 | new england chowder 368 369 | extra virgnin olive oil 369 370 | lobster sandwich 370 371 | wasabe potatoes 371 372 | filet mignon with garlic mash 372 373 | bottles of wine 373 374 | shrimp 374 375 | baked ziti with meatsauce 375 376 | mexican food 376 377 | spices 377 378 | chicken with chili and lemon grass 378 379 | fried clams 379 380 | aisle 380 381 | owners 381 382 | samosa chaats 382 383 | waiter 383 384 | corriander 384 385 | delicate butternut squash ravioli in a delicious truffle sauce 385 386 | sushimi cucumber roll 386 387 | basmati rice dish 387 388 | fish tanks 388 389 | lunch special 389 390 | sashimi plate 390 391 | entree range 391 392 | place 392 393 | singapore mai fun 393 394 | saul 394 395 | waitress 395 396 | cheese 396 397 | dine 397 398 | noodle and rices dishes 398 399 | feel 399 400 | apps 400 401 | scene 401 402 | lunch buffet 402 403 | lettuce 403 404 | variety of dishes 404 405 | owner 405 406 | smoked salmon and roe appetizer 406 407 | jewish deli food 407 408 | halibut special 408 409 | quality 409 410 | iced tea 410 411 | management 411 412 | quasi-thai 412 413 | crab cakes 413 414 | service 414 415 | privacy 415 416 | sake menu 416 417 | seasoning 417 418 | vietnamese classics 418 419 | shuizhu fish 419 420 | white bean brushetta 420 421 | crab croquette apt 421 422 | tuna tartare 422 423 | gulab jamun 423 424 | ceiling 424 425 | tramezzinis 425 426 | cigar bar 426 427 | pinot noir 427 428 | raddichio 428 429 | sweet lassi 429 430 | serve 430 431 | dinner reservations 431 432 | sesame crusted salmon 432 433 | menu prices 433 434 | front door 434 435 | crispy chicken 435 436 | thai 436 437 | seat 437 438 | pudding dessert 438 439 | crackling calamari salad 439 440 | cocktails 440 441 | take ou 441 442 | regular menu-fare 442 443 | iceberg 443 444 | egg custards 444 445 | people with carts of food 445 446 | bacos 446 447 | crowded 447 448 | seltzer with lime 448 449 | seated 449 450 | abby 's treasure 450 451 | price rang 451 452 | dinner special 452 453 | filet mignon 453 454 | apples 454 455 | popcorn topping 455 456 | dosa batter 456 457 | turnip soup with pureed basil 457 458 | parathas 458 459 | assorted sashimi 459 460 | shrimp appetizer 460 461 | deep fried skewers 461 462 | wait time 462 463 | rice dishes 463 464 | lunch specia 464 465 | pastrami sandwiches 465 466 | garlic naan 466 467 | orrechiete with sausage and chicken 467 468 | caprese salad 468 469 | spicy tuna hand rolls 469 470 | pork belly 470 471 | values for your money 471 472 | tandoori 472 473 | homemade lasagna 473 474 | dishes 474 475 | seating in the garden 475 476 | turnip cake 476 477 | pre-theatre or after-theatre drinks 477 478 | jelly fish 478 479 | noodle dishes 479 480 | bagel 480 481 | dining 481 482 | spinach ravioli in a light oil and garlic sauce 482 483 | sandwiches 483 484 | doors 484 485 | cold udon 485 486 | interior 486 487 | spinach and corn dumplings 487 488 | curry flavor 488 489 | zucchini 489 490 | obv caviar 490 491 | steak au poivre 491 492 | cheesecake 492 493 | price 493 494 | salmon 494 495 | buffet 495 496 | glass of wine 496 497 | indian food 497 498 | snacking 498 499 | actors 499 500 | corner booth table 500 501 | outdoor atmosphere 501 502 | lunch food 502 503 | fried dumplings 503 504 | soups 504 505 | seafood 505 506 | main entree 506 507 | atmoshpere 507 508 | martini 508 509 | fresh mozzarella 509 510 | bartenders 510 511 | scallion pancakes 511 512 | eggplant parmesan 512 513 | entertaining 513 514 | salt 514 515 | cole slaw 515 516 | quantity 516 517 | massamman curry 517 518 | atmosphere 518 519 | chicken dish 519 520 | crust 520 521 | porcini mushroom pasta special 521 522 | bhelpuri 522 523 | seaweed 523 524 | table service 524 525 | crab cocktail 525 526 | chicken 526 527 | calamari 527 528 | garlic shrimp 528 529 | staff 529 530 | toast 530 531 | little dishes 531 532 | green curry 532 533 | after dinner drinks 533 534 | drunken chicken 534 535 | menu 535 536 | capex 536 537 | lad nar 537 538 | cheeseburger 538 539 | fountain drinks 539 540 | texture 540 541 | sugar 541 542 | french cuisine 542 543 | eat family style 543 544 | jazz brunch 544 545 | menu description 545 546 | okra ( bindi ) 546 547 | congee ( rice porridge ) 547 548 | barbecued codfish 548 549 | wine by the glass 549 550 | rice 550 551 | takeout 551 552 | plate 552 553 | pot-stickers 553 554 | pad se-ew 554 555 | tamarind duck 555 556 | pastrami 556 557 | plain slice 557 558 | fish fillet in spicy source 558 559 | appetizer 559 560 | candle-light 560 561 | prix fix 561 562 | bagles 562 563 | delivery service 563 564 | banana tempura 564 565 | chips 565 566 | thin-crust pizza 566 567 | value ofr money 567 568 | bar 568 569 | crab dumplings 569 570 | plate of dumplings 570 571 | ` gourmet ' indian cuisine 571 572 | grilled branzino 572 573 | crabmeat 573 574 | primi 574 575 | tuna tartar appetizer 575 576 | whitefish 576 577 | stuff 577 578 | coconut rice 578 579 | architecture 579 580 | dough 580 581 | pesto pizza 581 582 | steak 582 583 | spice rub 583 584 | view 584 585 | table by the window 585 586 | guizhou chicken 586 587 | back garden 587 588 | taiwanese 588 589 | french fries 589 590 | corned beef sandwich 590 591 | chinese food 591 592 | mussels in spicy tomato sauce 592 593 | currys ( masaman , green , red ) 593 594 | noodles 594 595 | comfort 595 596 | packed 596 597 | thali 597 598 | glass of water 598 599 | pork chop 599 600 | meatballs 600 601 | sichuan food 601 602 | italian chees 602 603 | chu chu curry 603 604 | food runners 604 605 | champagne 605 606 | broth with noodles 606 607 | mezzanine 607 608 | sushi place 608 609 | spinach mushroom calzone 609 610 | hot bagel 610 611 | japanese food 611 612 | jazz bands 612 613 | bottle of wine 613 614 | beverages 614 615 | korma 615 616 | american chinese food 616 617 | lamb chops 617 618 | diners 618 619 | french fare 619 620 | canned vegetables 620 621 | main cours 621 622 | main course 622 623 | kitchen 623 624 | lasagnette appetizer 624 625 | apple tarte tatin 625 626 | chocolate bread pudding 626 627 | food 's presentation 627 628 | spaghetti with scallops and shrimp 628 629 | white sauce 629 630 | paneer roll 630 631 | half-price saturday night option 631 632 | bagel with lox spread 632 633 | herb mix 633 634 | cod 634 635 | eggplant 635 636 | pita 636 637 | dosas 637 638 | back waiters 638 639 | whitefish salad 639 640 | portion sizes 640 641 | wait-staff 641 642 | pad thai chicken 642 643 | japanese cuisin 643 644 | eggs 644 645 | red curry 645 646 | italian food 646 647 | atmorphere 647 648 | cart attendant 648 649 | chicken on rice with ginger 649 650 | nigiri 650 651 | bbq salmon 651 652 | chicken tikka masala 652 653 | coat check girls 653 654 | bathroom 654 655 | reservation sigh 655 656 | beef 656 657 | chicken with portobello mushrooms 657 658 | blond wood decor 658 659 | duck confit 659 660 | bombay beer 660 661 | proprietor 661 662 | sommelier 662 663 | pub atmosphere 663 664 | basil 664 665 | sushi rolls 665 666 | wine-by-the-glass 666 667 | ravioli 667 668 | containers 668 669 | pre-theatre 3-course dinner 669 670 | sichuan spicy soft shell crab 670 671 | shabu-shabu dinner 671 672 | personal pans 672 673 | lambchops 673 674 | fresh mozzerella slices 674 675 | live jazz 675 676 | octopus salad 676 677 | scallion pancake 677 678 | priced 678 679 | live jazz band 679 680 | prices 680 681 | brunch 681 682 | teapot 682 683 | noodle soup dishes 683 684 | bruschetta 684 685 | prix fixe lunch 685 686 | people serving 686 687 | green curry dish 687 688 | salad with a delicious dressing 688 689 | hostess 689 690 | crowds 690 691 | bill 691 692 | tastes 692 693 | value 693 694 | choices 694 695 | mayonaisse 695 696 | sea urchin 696 697 | tea room 697 698 | hot sauce 698 699 | wait staff 699 700 | stuffing 700 701 | aesthetics 701 702 | dumplings 702 703 | cakebread cabernet 703 704 | main dishes 704 705 | sushi 705 706 | pita bread 706 707 | coffee 707 708 | downstairs lounge 708 709 | sake martini 709 710 | good 710 711 | atomosphere 711 712 | seasonal beer 712 713 | ambient 713 714 | pre-theater menu 714 715 | menu choices 715 716 | pre-fixe menu 716 717 | yellowfun tuna 717 718 | anti-pasta 718 719 | cuisine 719 720 | decor 720 721 | vegetable samosa 721 722 | mushroom pizza 722 723 | sommlier 723 724 | toaster 724 725 | waitresses 725 726 | amount 726 727 | dress codes 727 728 | spicy wontons 728 729 | striped bass 729 730 | corridor 730 731 | noodles with ground beef 731 732 | plates 732 733 | vegetable juice 733 734 | plain pizza 734 735 | tomatoes 735 736 | chicken tikka marsala 736 737 | oil 737 738 | pho 738 739 | beef cubes 739 740 | fresh tomato sauce 740 741 | makhani 741 742 | drink 742 743 | kinds of beer 743 744 | dinner meeting 744 745 | rock shrimp tempura 745 746 | garlic 746 747 | characters 747 748 | group dinner 748 749 | tuna 749 750 | food suggestions 750 751 | mushroom ravioli 751 752 | lobby 752 753 | lobster cobb salad 753 754 | appetizer platter 754 755 | butter 755 756 | spicy tuna roll 756 757 | entrees 757 758 | at moshphere 758 759 | salad with perfectly marinated cucumbers and tomatoes with lots of shrimp and basil 759 760 | onion soup 760 761 | chocolate sampler 761 762 | antipasti 762 763 | wait building 763 764 | round tables 764 765 | hot dogs 765 766 | chicken vindaloo 766 767 | office lunch 767 768 | white chocolate bread pudding with gelato and hot chocolate 768 769 | pad see ew 769 770 | wines by the glass 770 771 | valentines day dinner 771 772 | money 772 773 | dosa 773 774 | sardines with biscuits 774 775 | dim sum servings 775 776 | seats 776 777 | chicken with cashew nuts 777 778 | dance floor 778 779 | flavor 779 780 | mixed drinks 780 781 | tables 781 782 | specials menus 782 783 | food art 783 784 | pumkin tortelini 784 785 | insde table 785 786 | containers for condiments 786 787 | pasta dishes 787 788 | workers 788 789 | secondi 789 790 | pam 's special fried fish 790 791 | knish 791 792 | tomato sauce 792 793 | location 793 794 | delivery time 794 795 | moules 795 796 | counter service 796 797 | thai popcorn 797 798 | customers 798 799 | shabu-shabu 799 800 | bottle minimun 800 801 | mayo 801 802 | food portions 802 803 | guacamole + shrimp appetizer 803 804 | chicken teriyaki dish 804 805 | miso soup 805 806 | roti rolls 806 807 | outdoor seating 807 808 | glass of sangria 808 809 | desserts with frog jelly 809 810 | jalapeno-lime olive oil 810 811 | quail 811 812 | lamb chettinad 812 813 | club soda , filled with ice , no lime 813 814 | margheritta 814 815 | house wine 815 816 | sichuan chef 816 817 | baby pizzas 817 818 | whole grilled fish 818 819 | kamikaze 819 820 | serves 820 821 | server 821 822 | traffic noise 822 823 | eel 823 824 | panchetta 824 825 | hosts 825 826 | sushi places 826 827 | served 827 828 | seafood tagliatelle 828 829 | creme brulee 829 830 | prix fixe 830 831 | zucchini blossoms 831 832 | vegtables 832 833 | lobby area 833 834 | seating 834 835 | dim sum atmosphere 835 836 | live music 836 837 | crowd 837 838 | people 838 839 | plastic forks 839 840 | freshness 840 841 | naan 841 842 | price range 842 843 | roti 843 844 | dining room 844 845 | escargot 845 846 | stir fry blue crab 846 847 | table 847 848 | chilean sea bass 848 849 | pickles 849 850 | classical furniture 850 851 | sauces 851 852 | asian appetizers 852 853 | slice 853 854 | atmoshere 854 855 | jalapeno 855 856 | cheese fondue 856 857 | cokes 857 858 | bistro fare 858 859 | wine list 859 860 | mussaman curry 860 861 | lunch menu 861 862 | house salad 862 863 | thai spiced curry noodles with shrimp 863 864 | lemon salad 864 865 | scallop roll 865 866 | three course meal 866 867 | sevpuri 867 868 | trout 868 869 | flavors 869 870 | pepper 870 871 | noise 871 872 | eating 872 873 | roofdeck 873 874 | chefs 874 875 | jazz nights 875 876 | gnochi 876 877 | salt pepper shrimps 877 878 | white wine 878 879 | portioins 879 880 | shrimp appetizers 880 881 | nightcap 881 882 | beef version 882 883 | black white shakes 883 884 | pasta 884 885 | quality of food 885 886 | clams oreganta 886 887 | take-out pizza 887 888 | donut like deep fried dough they call ow ley soh 888 889 | cheff 889 890 | roast pork buns 890 891 | spicy scallop roll 891 892 | fillings 892 893 | diner 893 894 | fruit of the oil 894 895 | beef noodle soup 895 896 | paninis 896 897 | pieces of sushi 897 898 | oatmeal 898 899 | side 899 900 | dinner 900 901 | blue point oysters 901 902 | toppings 902 903 | french bistro fare 903 904 | thai cuisine 904 905 | pasta entre'es 905 906 | pastries 906 907 | lunch meetings 907 908 | clubhouse 908 909 | ladies 909 910 | managers 910 911 | italian dishes 911 912 | fondue appetizer 912 913 | dining experiences 913 914 | rye bread 914 915 | vegetarian-friendly choices 915 916 | servers 916 917 | mushrooms 917 918 | hanger steak 918 919 | kielbasa 919 920 | brassiere food 920 921 | rolls 921 922 | cold appetizer dishes 922 923 | bar food 923 924 | area 924 925 | the chicken pot pie 925 926 | vegetables 926 927 | shrimp scampi 927 928 | caviar 928 929 | beer 929 930 | desert 930 931 | braised lamb shank in red wine 931 932 | chef app 932 933 | mushroom consomme 933 934 | selection of meats and seafoods 934 935 | lox 935 936 | main dining room 936 937 | house varities 937 938 | busboy 938 939 | filet 939 940 | signs 940 941 | santa fe chopped salad 941 942 | chicken pad tai 942 943 | sea bass 943 944 | delivery 944 945 | nori 945 946 | bun 946 947 | seafood dishes 947 948 | omelet 948 949 | fried mini buns with the condensed milk and the assorted fruits on beancurd 949 950 | steak tartare 950 951 | eat 951 952 | spice 952 953 | portions 953 954 | places 954 955 | fries 955 956 | indian cuisine 956 957 | portion size 957 958 | servings 958 959 | special effects 959 960 | beginning appetizers 960 961 | cheese plate 961 962 | meat dishes 962 963 | amuse bouche 963 964 | mesclun 964 965 | ac 965 966 | expresso 966 967 | tuna melt 967 968 | taste 968 969 | reservations 969 970 | root vegetables 970 971 | pie 971 972 | svc 972 973 | wild mushroom ( third generation-fornini ) pizza 973 974 | calzones 974 975 | crawfish boiled 975 976 | appetizing 976 977 | dal bukhara 977 978 | fish with hot bean source 978 979 | bistro-type vibe 979 980 | check 980 981 | menu items 981 982 | fusion of french and indian cooking 982 983 | presentaion 983 984 | lemon 984 985 | crunchy tuna 985 986 | ingredients 986 987 | hot pot with seafood 987 988 | in-house lady dj 988 989 | tip 989 990 | garden terrace 990 991 | case of snapple 991 992 | setting 992 993 | lotus leaf wrapped rice 993 994 | dinner location 994 995 | beverage manager 995 996 | cream cheese 996 997 | truffle oil 997 998 | mayonnaise 998 999 | roll 999 1000 | general tao chicken 1000 1001 | trays of dim sum 1001 1002 | cod with paella 1002 1003 | delivered 1003 1004 | prix fixe menu 1004 1005 | bruscetta 1005 1006 | herbs 1006 1007 | chow fun and chow see 1007 1008 | dals 1008 1009 | reservation 1009 1010 | pizzas 1010 1011 | sides 1011 1012 | indian fast food 1012 1013 | outdoor seatin 1013 1014 | potato 1014 1015 | sour spicy soup 1015 1016 | entertainment 1016 1017 | pastrami sandwich 1017 1018 | spicy tuna 1018 1019 | soy sauce 1019 1020 | cooked 1020 1021 | portion 1021 1022 | thai food 1022 1023 | sauce on the pizza 1023 1024 | barebecued salmon 1024 1025 | hanger steak au poivre 1025 1026 | platter 1026 1027 | open kitchen 1027 1028 | kalbi 1028 1029 | songs 1029 1030 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/data/restaurant/aspect_id_new.txt: -------------------------------------------------------------------------------- 1 | rasamalai 1 2 | thin crusted pizza 2 3 | sicilian 3 4 | surrounding 4 5 | all you can eat deal 5 6 | purple haze 6 7 | deliveries 7 8 | staff member 8 9 | panang duck 9 10 | manager 10 11 | selection 11 12 | measures of liquers 12 13 | martinis 13 14 | assortment of fish 14 15 | exotic food 15 16 | dish 16 17 | spicy fried clam rolls 17 18 | captain 18 19 | quality value 19 20 | pad thai 20 21 | roast duck 21 22 | front doors 22 23 | eggs benedict 23 24 | cannoli 24 25 | glass of leaping lizard 25 26 | technique 26 27 | turkey burger 27 28 | sesame chicken 28 29 | dumpling 29 30 | sashimi 30 31 | environment 31 32 | pickels and slaw 32 33 | vegetarian dishes 33 34 | garlic knots 34 35 | banana tower 35 36 | rice to fish ration 36 37 | congee 37 38 | ambience 38 39 | maitre 39 40 | dim sum combo 40 41 | presentation 41 42 | waiters 42 43 | sushi chef 43 44 | garden 44 45 | veal in carozza chicken saltimbocca 45 46 | deli 46 47 | dessert 47 48 | maine lobster 48 49 | fat 49 50 | choice 50 51 | go go hamburgers 51 52 | tanks 52 53 | roasted tomato soup with chevre 53 54 | cook 54 55 | patio 55 56 | chicken parm 56 57 | lava cake dessert 57 58 | special 58 59 | look 59 60 | casual dinner 60 61 | cooks 61 62 | staffs 62 63 | hummus platter 63 64 | staples 64 65 | prix fixe pricing 65 66 | desserts 66 67 | margarita 67 68 | icing on the cake 68 69 | tofu plates 69 70 | hosting staff 70 71 | steak frites 71 72 | specials 72 73 | shanghai low mein 73 74 | taxan 74 75 | bottle of sake 75 76 | half price sushi deal 76 77 | beverage selections 77 78 | back patio 78 79 | chilaquiles 79 80 | guy 80 81 | sweet basil fried tofu 81 82 | chocolate mud cake ( warmed ) 82 83 | main courses 83 84 | after dinner drink 84 85 | pork 85 86 | neighborhood 86 87 | wine menu 87 88 | fried dumpling 88 89 | shrimp fritters 89 90 | refleshment 90 91 | bacon 91 92 | steaks 92 93 | chef 93 94 | burger 94 95 | dinner menu 95 96 | spider rolls 96 97 | design 97 98 | chicken tikka-masala 98 99 | fast food 99 100 | gigondas 100 101 | dulce de leche gelato 101 102 | wintermelon 102 103 | fluke sashimi 103 104 | beer selection 104 105 | drinks 105 106 | change mojito 106 107 | ceviche mix ( special ) 107 108 | in sandwiches 108 109 | peter 's favourite pizza with prosciutto and baby arugula 109 110 | soup 110 111 | dim sum 111 112 | comfort food 112 113 | meals 113 114 | cooking 114 115 | sangria 115 116 | snack foods 116 117 | tuna sandwich 117 118 | waiting 118 119 | indian 119 120 | attitudes 120 121 | dimsum 121 122 | wasabi 122 123 | sea salt 123 124 | pakistani food 124 125 | scallops 125 126 | tips 126 127 | raw vegatables 127 128 | glass front 128 129 | counters 129 130 | scenery 130 131 | mussel selection 131 132 | gulab jamun ( dessert ) 132 133 | taiwanese food 133 134 | mussels 134 135 | half-price saturday night special 135 136 | dining area 136 137 | gnocchi 137 138 | mimosas 138 139 | water 139 140 | prix fixe meal 140 141 | pub 141 142 | decore 142 143 | stauff 143 144 | chocolate souffle with rasberry mint sorbet 144 145 | open faced cheese sandwich 145 146 | ordering a la carte 146 147 | walnuts 147 148 | house champagne 148 149 | mozzarella 149 150 | wait 150 151 | tamarind margaritas 151 152 | live entertainment 152 153 | hollondaise sauce 153 154 | discount 154 155 | personal herb garden 155 156 | back garden sitting area 156 157 | employees 157 158 | potato pancakes 158 159 | host 159 160 | dumpling menu 160 161 | msg cooking 161 162 | styles of pizza 162 163 | soup for the udon 163 164 | tuscan cuisine 164 165 | menu selections 165 166 | crispy duck 166 167 | puff pastry goat cheese 167 168 | chai tea 168 169 | duck breast special 169 170 | ingrediants 170 171 | outdoor chairs 171 172 | grapes 172 173 | fried chicken 173 174 | qualities 174 175 | indian dining experience 175 176 | lamb vindaloo 176 177 | christmas dinner 177 178 | malai tikka wrap 178 179 | margarite pizza with cold prosciutto and baby arugula on top 179 180 | meats 180 181 | roast chicken 181 182 | shell crab 182 183 | pistachio ice cream 183 184 | boton shrimp 184 185 | lime 185 186 | chicken tikka 186 187 | kababs 187 188 | lox spread 188 189 | mediterranean salad 189 190 | sake 190 191 | lime juice concoction 191 192 | kosher dills 192 193 | seved 193 194 | lentil dish 194 195 | music 195 196 | pelligrino 196 197 | care 197 198 | cheescake 198 199 | fried shrimp 199 200 | squid 200 201 | door 201 202 | beers on tap 202 203 | lawns 203 204 | oyster 204 205 | omelletes 205 206 | italian decor 206 207 | pre-theatre menu 207 208 | chocolate 208 209 | fried tofu 209 210 | spicy ethnic foods 210 211 | onglet 211 212 | beers 212 213 | box wine 213 214 | tempura dis 214 215 | bombay cosmopolitan 215 216 | homemade pasta 216 217 | drink refills 217 218 | thai flavors 218 219 | starter 219 220 | foie gras terrine with figs 220 221 | cream cheeses 221 222 | bartender 222 223 | room 223 224 | salad 224 225 | nori-wrapped tuna 225 226 | water and wine glasses 226 227 | espresso cup filled with chocolate mousse 227 228 | fish and chips 228 229 | black cod with yuzu sauce 229 230 | glasses of wine 230 231 | wine selection 231 232 | pastrami or corned beef 232 233 | servants 233 234 | shredded squid family style 234 235 | dhosas 235 236 | bruschettas 236 237 | dining experience 237 238 | corned beef 238 239 | red wine 239 240 | chicken casserole 240 241 | sushi bar 241 242 | lamb glazed with balsamic vinegar 242 243 | potato chips 243 244 | lamb sausages 244 245 | wallet 245 246 | sushi plat 246 247 | foods 247 248 | tandoori salmon 248 249 | bar scene 249 250 | cantonese 250 251 | indian restaurant food 251 252 | interior decoration 252 253 | meat patties in steamed buns 253 254 | onions 254 255 | parmesean porcini souffle 255 256 | glasses of water 256 257 | pasta dish 257 258 | lamb 258 259 | glasses of champagne 259 260 | lazy susans 260 261 | french indian fusion 261 262 | variety of fish 262 263 | surroundings 263 264 | price tag 264 265 | vibe 265 266 | spreads 266 267 | lamb meat 267 268 | perks 268 269 | hunan chicken 269 270 | located 270 271 | sushi fix 271 272 | special menu 272 273 | lobster teriyaki 273 274 | dress cod 274 275 | gourmet food 275 276 | grilled chicken special with edamame puree 276 277 | godmother pizza ( a sort of traditional flat pizza with an olive oil-brushed crust and less tomato sauce than usual ) 277 278 | establishment 278 279 | thai noodles with shrimp and chicken and coconut juice 279 280 | pizza 280 281 | entree 281 282 | waitstaff 282 283 | nebbiolo 283 284 | assortment of fresh mushrooms and vegetables 284 285 | takeout menu 285 286 | pastas 286 287 | drumsticks over rice 287 288 | french food 288 289 | glass of prosecco 289 290 | vegetarian entree 290 291 | wait service 291 292 | fresh tomatoes 292 293 | goat cheese 293 294 | man 294 295 | japanese comfort food 295 296 | buttery and tender langostine entree 296 297 | mix of greens 297 298 | gin and tonic 298 299 | lamb sandwhich 299 300 | curry 300 301 | tapas 301 302 | counter 302 303 | lines 303 304 | eats 304 305 | dinners 305 306 | reputation 306 307 | chopsticks 307 308 | halibut 308 309 | lay out 309 310 | godmother pizza 310 311 | breads 311 312 | oysters 312 313 | order 313 314 | scents 314 315 | wine 315 316 | snapple 316 317 | serving 317 318 | ethnic food 318 319 | secret back room 319 320 | noise level 320 321 | chole 321 322 | lobster ravioli 322 323 | frites 323 324 | filling pasta mains 324 325 | attitude 325 326 | pig feet ginger simmered in black vinegar 326 327 | crabmeat lasagna 327 328 | terrace 328 329 | glass of beer 329 330 | frying 330 331 | spicy food 331 332 | neapolitan pizza 332 333 | bombay style chaat 333 334 | salmon dish 334 335 | fromager 335 336 | malai kofta 336 337 | pad penang 337 338 | bagels 338 339 | appetizers 339 340 | avocado 340 341 | buns 341 342 | crew 342 343 | paratha bread 343 344 | lamb chop 344 345 | tuna roll 345 346 | filets 346 347 | selection of wine 347 348 | brioche and lollies 348 349 | private room 349 350 | beans on toast 350 351 | wine flight 351 352 | waterbugs 352 353 | food options 353 354 | indian appetizers 354 355 | sauce 355 356 | jukebox 356 357 | 2-person table 357 358 | steak dish 358 359 | grilled cheese 359 360 | tonic 360 361 | shredded cheese 361 362 | chutneys 362 363 | lobster bisque 363 364 | food 364 365 | flour 365 366 | lunch specials 366 367 | dining rooms 367 368 | swordfish 368 369 | dinner menu to sit 369 370 | hand-crafted beers 370 371 | chongqing hotpot 371 372 | lunch 372 373 | walls 373 374 | garlic mashed potatoes 374 375 | course 375 376 | vanilla gelato ( with espresso ) 376 377 | soupy dumplings 377 378 | night scene 378 379 | bread 379 380 | beef carpaachio 380 381 | fatty yellow tail 381 382 | meat 382 383 | kebabs 383 384 | price category 384 385 | food-quality 385 386 | bar service 386 387 | courses 387 388 | pepper powder 388 389 | panini 389 390 | lamb dishes 390 391 | dessert menu 391 392 | selection of wines 392 393 | interior deco 393 394 | bills 394 395 | japanese tapas 395 396 | meal 396 397 | kamasutra 397 398 | food quality 398 399 | cost 399 400 | upstairs 400 401 | semi-private boths 401 402 | unda ( egg ) rolls 402 403 | fish 403 404 | tom kha soup 404 405 | ambiance 405 406 | getting a table 406 407 | apppetizers 407 408 | sichuan cooking 408 409 | choices per course 409 410 | sandwich 410 411 | variety 411 412 | dining hall 412 413 | dessert wine 413 414 | apetizers 414 415 | large whole shrimp 415 416 | salads 416 417 | ice cream 417 418 | new york bagel 418 419 | olive cream cheese 419 420 | pre-theater prix-fixe 420 421 | space 421 422 | green curry with vegetables 422 423 | selecion of wines 423 424 | spider roll 424 425 | tiramisu 425 426 | fried rice 426 427 | yellowtail 427 428 | mashed potatoes 428 429 | fish dishes 429 430 | round of drinks 430 431 | shows 431 432 | wine list selection 432 433 | thai ice tea 433 434 | plain cheese slice 434 435 | fresh mozz cheese 435 436 | wines 436 437 | spot 437 438 | new england chowder 438 439 | mascarpone with chocolate chip 439 440 | extra virgnin olive oil 440 441 | lobster sandwich 441 442 | wasabe potatoes 442 443 | filet mignon with garlic mash 443 444 | bottles of wine 444 445 | shrimp 445 446 | baked ziti with meatsauce 446 447 | mexican food 447 448 | spices 448 449 | chicken with chili and lemon grass 449 450 | air conditioning 450 451 | take-out pies 451 452 | fried clams 452 453 | aisle 453 454 | owners 454 455 | samosa chaats 455 456 | waiter 456 457 | corriander 457 458 | delicate butternut squash ravioli in a delicious truffle sauce 458 459 | sushimi cucumber roll 459 460 | basmati rice dish 460 461 | sandwhiches 461 462 | fish tanks 462 463 | lunch special 463 464 | sashimi plate 464 465 | entree range 465 466 | place 466 467 | date spot 467 468 | singapore mai fun 468 469 | tom yum soup 469 470 | saul 470 471 | dim sum dish 471 472 | waitress 472 473 | cheese 473 474 | dine 474 475 | noodle and rices dishes 475 476 | feel 476 477 | apps 477 478 | scene 478 479 | lunch buffet 479 480 | lettuce 480 481 | variety of dishes 481 482 | jazz 482 483 | reuben sandwich 483 484 | owner 484 485 | smoked salmon and roe appetizer 485 486 | jewish deli food 486 487 | halibut special 487 488 | quality 488 489 | iced tea 489 490 | management 490 491 | quasi-thai 491 492 | crab cakes 492 493 | service 493 494 | privacy 494 495 | sake menu 495 496 | cold lobster salad 496 497 | seasoning 497 498 | vietnamese classics 498 499 | shuizhu fish 499 500 | white bean brushetta 500 501 | crab croquette apt 501 502 | tuna tartare 502 503 | gulab jamun 503 504 | ceiling 504 505 | tramezzinis 505 506 | cigar bar 506 507 | pinot noir 507 508 | raddichio 508 509 | sweet lassi 509 510 | serve 510 511 | dinner reservations 511 512 | sesame crusted salmon 512 513 | menu prices 513 514 | wine choices 514 515 | front door 515 516 | southern indian cuisine 516 517 | crispy chicken 517 518 | thai 518 519 | seat 519 520 | pudding dessert 520 521 | crackling calamari salad 521 522 | cocktails 522 523 | take ou 523 524 | regular menu-fare 524 525 | iceberg 525 526 | egg custards 526 527 | people with carts of food 527 528 | bacos 528 529 | palak paneer 529 530 | crowded 530 531 | seltzer with lime 531 532 | seated 532 533 | abby 's treasure 533 534 | price rang 534 535 | dinner special 535 536 | filet mignon 536 537 | apples 537 538 | popcorn topping 538 539 | dosa batter 539 540 | turnip soup with pureed basil 540 541 | parathas 541 542 | assorted sashimi 542 543 | shrimp appetizer 543 544 | deep fried skewers 544 545 | wait time 545 546 | portraits 546 547 | rice dishes 547 548 | lunch specia 548 549 | pastrami sandwiches 549 550 | glass noodles 550 551 | pastrami on challah sandwich 551 552 | garlic naan 552 553 | orrechiete with sausage and chicken 553 554 | caprese salad 554 555 | spicy tuna hand rolls 555 556 | pork belly 556 557 | values for your money 557 558 | tandoori 558 559 | homemade lasagna 559 560 | ginger lemonade with vodka 560 561 | egg noodles in the beef broth with shrimp dumplings and slices of bbq roast pork 561 562 | dishes 562 563 | seating in the garden 563 564 | turnip cake 564 565 | pre-theatre or after-theatre drinks 565 566 | jelly fish 566 567 | noodle dishes 567 568 | bagel 568 569 | dining 569 570 | spinach ravioli in a light oil and garlic sauce 570 571 | sandwiches 571 572 | doors 572 573 | cold udon 573 574 | interior 574 575 | spinach and corn dumplings 575 576 | curry flavor 576 577 | zucchini 577 578 | obv caviar 578 579 | topping 579 580 | pot of boiling water 580 581 | bottle 581 582 | steak au poivre 582 583 | zen feel 583 584 | cheesecake 584 585 | price 585 586 | salmon 586 587 | buffet 587 588 | glass of wine 588 589 | indian food 589 590 | snacking 590 591 | actors 591 592 | corner booth table 592 593 | outdoor atmosphere 593 594 | lunch food 594 595 | fried dumplings 595 596 | spinach 596 597 | ala carte 597 598 | soups 598 599 | seafood 599 600 | main entree 600 601 | atmoshpere 601 602 | neapolitan fare 602 603 | martini 603 604 | table grilling 604 605 | fresh mozzarella 605 606 | bartenders 606 607 | caprese salad appetizer 607 608 | scallion pancakes 608 609 | eggplant parmesan 609 610 | entertaining 610 611 | salt 611 612 | cole slaw 612 613 | quantity 613 614 | massamman curry 614 615 | lemon grass chicken 615 616 | atmosphere 616 617 | chicken dish 617 618 | cheese sticks 618 619 | crust 619 620 | indoor 620 621 | porcini mushroom pasta special 621 622 | bhelpuri 622 623 | seaweed 623 624 | table service 624 625 | crab cocktail 625 626 | chicken 626 627 | calamari 627 628 | garlic shrimp 628 629 | cheeseburgers 629 630 | staff 630 631 | toast 631 632 | little dishes 632 633 | green curry 633 634 | after dinner drinks 634 635 | beef cube on rice 635 636 | drunken chicken 636 637 | menu 637 638 | capex 638 639 | lad nar 639 640 | cheeseburger 640 641 | fountain drinks 641 642 | texture 642 643 | sugar 643 644 | french cuisine 644 645 | eat family style 645 646 | jazz brunch 646 647 | menu description 647 648 | okra ( bindi ) 648 649 | congee ( rice porridge ) 649 650 | barbecued codfish 650 651 | waiter traffic 651 652 | wine by the glass 652 653 | rice 653 654 | takeout 654 655 | hall 655 656 | plate 656 657 | pot-stickers 657 658 | pad se-ew 658 659 | tamarind duck 659 660 | pastrami 660 661 | rose special roll 661 662 | plain slice 662 663 | fish fillet in spicy source 663 664 | appetizer 664 665 | candle-light 665 666 | prix fix 666 667 | edamames 667 668 | bagles 668 669 | delivery service 669 670 | chicken with garlic sauce 670 671 | banana tempura 671 672 | candles 672 673 | chips 673 674 | thin-crust pizza 674 675 | value ofr money 675 676 | cod with pineapple tempura 676 677 | bar 677 678 | crab dumplings 678 679 | plate of dumplings 679 680 | ` gourmet ' indian cuisine 680 681 | grilled branzino 681 682 | crabmeat 682 683 | primi 683 684 | tuna tartar appetizer 684 685 | whitefish 685 686 | crab-cake eggs benedict 686 687 | stuff 687 688 | coconut rice 688 689 | architecture 689 690 | dough 690 691 | pesto pizza 691 692 | steak 692 693 | spice rub 693 694 | delivery guys 694 695 | view 695 696 | table by the window 696 697 | bars 697 698 | guizhou chicken 698 699 | back garden 699 700 | taiwanese 700 701 | french fries 701 702 | corned beef sandwich 702 703 | non-veg selections 703 704 | chinese food 704 705 | stomach 705 706 | mussels in spicy tomato sauce 706 707 | currys ( masaman , green , red ) 707 708 | noodles 708 709 | comfort 709 710 | packed 710 711 | duck noodles 711 712 | thali 712 713 | tea with tapioca pearls ( hot ) 713 714 | glass of water 714 715 | pork chop 715 716 | pictures 716 717 | meatballs 717 718 | mango chicken 718 719 | tiramisu chocolate cake 719 720 | sichuan food 720 721 | outside 721 722 | italian chees 722 723 | chu chu curry 723 724 | food runners 724 725 | champagne 725 726 | broth with noodles 726 727 | mezzanine 727 728 | sushi place 728 729 | spinach mushroom calzone 729 730 | hot bagel 730 731 | japanese food 731 732 | jazz bands 732 733 | bottle of wine 733 734 | customer service 734 735 | beverages 735 736 | korma 736 737 | dinosaur rolls 737 738 | american chinese food 738 739 | lamb chops 739 740 | diners 740 741 | french fare 741 742 | canned vegetables 742 743 | chocolate cake 743 744 | main cours 744 745 | main course 745 746 | kitchen 746 747 | lasagnette appetizer 747 748 | apple tarte tatin 748 749 | chocolate bread pudding 749 750 | food 's presentation 750 751 | spaghetti with scallops and shrimp 751 752 | white sauce 752 753 | service staff 753 754 | sake collection 754 755 | paneer roll 755 756 | half-price saturday night option 756 757 | bagel with lox spread 757 758 | herb mix 758 759 | cod 759 760 | eggplant 760 761 | pita 761 762 | nosh ( pastrami sandwich ) 762 763 | maitre d' 763 764 | dosas 764 765 | back waiters 765 766 | whitefish salad 766 767 | portion sizes 767 768 | wait-staff 768 769 | pad thai chicken 769 770 | japanese cuisin 770 771 | eggs 771 772 | thia food 772 773 | red curry 773 774 | italian food 774 775 | atmorphere 775 776 | cart attendant 776 777 | chicken on rice with ginger 777 778 | nigiri 778 779 | bbq salmon 779 780 | chicken tikka masala 780 781 | coat check girls 781 782 | bathroom 782 783 | reservation sigh 783 784 | beef 784 785 | angry lobster 785 786 | chicken with portobello mushrooms 786 787 | blond wood decor 787 788 | duck confit 788 789 | bombay beer 789 790 | proprietor 790 791 | sommelier 791 792 | pub atmosphere 792 793 | basil 793 794 | sushi rolls 794 795 | appitizers 795 796 | wine-by-the-glass 796 797 | ravioli 797 798 | containers 798 799 | pre-theatre 3-course dinner 799 800 | sichuan spicy soft shell crab 800 801 | spring rolls 801 802 | chai 802 803 | shabu-shabu dinner 803 804 | personal pans 804 805 | lambchops 805 806 | fresh mozzerella slices 806 807 | live jazz 807 808 | octopus salad 808 809 | scallion pancake 809 810 | priced 810 811 | backyard dining area 811 812 | live jazz band 812 813 | business dinner 813 814 | prices 814 815 | brunch 815 816 | toasting 816 817 | teapot 817 818 | noodle soup dishes 818 819 | bruschetta 819 820 | prix fixe lunch 820 821 | people serving 821 822 | green curry dish 822 823 | salad with a delicious dressing 823 824 | hostess 824 825 | crowds 825 826 | bill 826 827 | tastes 827 828 | value 828 829 | choices 829 830 | argentinian pizza 830 831 | mayonaisse 831 832 | rice congee soup 832 833 | sea urchin 833 834 | tea room 834 835 | hot sauce 835 836 | wait staff 836 837 | stuffing 837 838 | aesthetics 838 839 | bathrooms 839 840 | peanut sauce 840 841 | dumplings 841 842 | cakebread cabernet 842 843 | main dishes 843 844 | sushi 844 845 | pita bread 845 846 | coffee 846 847 | downstairs lounge 847 848 | sake martini 848 849 | good 849 850 | atomosphere 850 851 | seasonal beer 851 852 | ambient 852 853 | pre-theater menu 853 854 | menu choices 854 855 | pre-fixe menu 855 856 | yellowfun tuna 856 857 | anti-pasta 857 858 | cuisine 858 859 | decor 859 860 | vegetable samosa 860 861 | pork loin 861 862 | mushroom pizza 862 863 | sommlier 863 864 | toaster 864 865 | waitresses 865 866 | amount 866 867 | dress codes 867 868 | spicy wontons 868 869 | striped bass 869 870 | corridor 870 871 | noodles with ground beef 871 872 | chicken in curry sauc 872 873 | plates 873 874 | vegetable juice 874 875 | traditional french decour 875 876 | plain pizza 876 877 | tomatoes 877 878 | chicken tikka marsala 878 879 | oil 879 880 | pho 880 881 | pork buns 881 882 | beef cubes 882 883 | fresh tomato sauce 883 884 | makhani 884 885 | drink 885 886 | sea eel 886 887 | kinds of beer 887 888 | dinner meeting 888 889 | rock shrimp tempura 889 890 | garlic 890 891 | characters 891 892 | group dinner 892 893 | tuna 893 894 | food suggestions 894 895 | mushroom ravioli 895 896 | lobby 896 897 | lobster cobb salad 897 898 | appetizer platter 898 899 | butter 899 900 | spicy tuna roll 900 901 | entrees 901 902 | summer rolls 902 903 | at moshphere 903 904 | salad with perfectly marinated cucumbers and tomatoes with lots of shrimp and basil 904 905 | dinner plates 905 906 | onion soup 906 907 | chocolate sampler 907 908 | antipasti 908 909 | lobster tails 909 910 | wait building 910 911 | burgers 911 912 | round tables 912 913 | hot dogs 913 914 | chicken vindaloo 914 915 | office lunch 915 916 | white chocolate bread pudding with gelato and hot chocolate 916 917 | blue fin torro ( fatty tuna ) 917 918 | pad see ew 918 919 | wines by the glass 919 920 | valentines day dinner 920 921 | money 921 922 | dosa 922 923 | sardines with biscuits 923 924 | somosas 924 925 | dim sum servings 925 926 | exotic salad 926 927 | filet mignon dish 927 928 | seats 928 929 | chicken with cashew nuts 929 930 | dance floor 930 931 | flavor 931 932 | mixed drinks 932 933 | tables 933 934 | specials menus 934 935 | food art 935 936 | pumkin tortelini 936 937 | insde table 937 938 | containers for condiments 938 939 | pasta dishes 939 940 | waiting area 940 941 | workers 941 942 | secondi 942 943 | pam 's special fried fish 943 944 | dhal 944 945 | knish 945 946 | tomato sauce 946 947 | location 947 948 | delivery time 948 949 | moules 949 950 | counter service 950 951 | thai popcorn 951 952 | hot tea 952 953 | customers 953 954 | dim sum orders 954 955 | shabu-shabu 955 956 | bottle minimun 956 957 | mayo 957 958 | food portions 958 959 | guacamole + shrimp appetizer 959 960 | chicken teriyaki dish 960 961 | miso soup 961 962 | roti rolls 962 963 | outdoor seating 963 964 | glass of sangria 964 965 | nanbu bijin 965 966 | desserts with frog jelly 966 967 | jalapeno-lime olive oil 967 968 | quail 968 969 | lamb chettinad 969 970 | club soda , filled with ice , no lime 970 971 | mahi mahi ( on saffron risotto 971 972 | margheritta 972 973 | house wine 973 974 | japanese classic cuisine 974 975 | sichuan chef 975 976 | baby pizzas 976 977 | whole grilled fish 977 978 | kamikaze 978 979 | serves 979 980 | server 980 981 | traffic noise 981 982 | eel 982 983 | panchetta 983 984 | hosts 984 985 | sushi places 985 986 | served 986 987 | seafood tagliatelle 987 988 | creme brulee 988 989 | prix fixe 989 990 | zucchini blossoms 990 991 | vegtables 991 992 | lobby area 992 993 | seating 993 994 | dim sum atmosphere 994 995 | live music 995 996 | crowd 996 997 | people 997 998 | plastic forks 998 999 | freshness 999 1000 | naan 1000 1001 | price range 1001 1002 | roti 1002 1003 | dining room 1003 1004 | escargot 1004 1005 | stir fry blue crab 1005 1006 | table 1006 1007 | chilean sea bass 1007 1008 | green salad 1008 1009 | pickles 1009 1010 | classical furniture 1010 1011 | sauces 1011 1012 | asian appetizers 1012 1013 | slice 1013 1014 | atmoshere 1014 1015 | jalapeno 1015 1016 | cheese fondue 1016 1017 | cokes 1017 1018 | bistro fare 1018 1019 | fondue 1019 1020 | salmon caserole 1020 1021 | edamame pureed 1021 1022 | wine list 1022 1023 | mussaman curry 1023 1024 | veal parmigana 1024 1025 | lunch menu 1025 1026 | house salad 1026 1027 | thai spiced curry noodles with shrimp 1027 1028 | lemon salad 1028 1029 | scallop roll 1029 1030 | three course meal 1030 1031 | sevpuri 1031 1032 | trout 1032 1033 | flavors 1033 1034 | pepper 1034 1035 | noise 1035 1036 | eating 1036 1037 | roofdeck 1037 1038 | gentleman 1038 1039 | chefs 1039 1040 | jazz nights 1040 1041 | gnochi 1041 1042 | mixed drink special 1042 1043 | salt pepper shrimps 1043 1044 | bannan fritter 1044 1045 | white wine 1045 1046 | portioins 1046 1047 | shrimp appetizers 1047 1048 | nightcap 1048 1049 | times square cocktail 1049 1050 | beef version 1050 1051 | black white shakes 1051 1052 | pasta 1052 1053 | quality of food 1053 1054 | clams oreganta 1054 1055 | take-out pizza 1055 1056 | donut like deep fried dough they call ow ley soh 1056 1057 | cheff 1057 1058 | roast pork buns 1058 1059 | spicy scallop roll 1059 1060 | fillings 1060 1061 | diner 1061 1062 | fruit of the oil 1062 1063 | beef noodle soup 1063 1064 | paninis 1064 1065 | cafe 1065 1066 | pieces of sushi 1066 1067 | oatmeal 1067 1068 | side 1068 1069 | dinner 1069 1070 | blue point oysters 1070 1071 | toppings 1071 1072 | bbq ribs 1072 1073 | sake list 1073 1074 | french bistro fare 1074 1075 | thai cuisine 1075 1076 | pasta entre'es 1076 1077 | pastries 1077 1078 | lunch meetings 1078 1079 | clubhouse 1079 1080 | ladies 1080 1081 | managers 1081 1082 | italian dishes 1082 1083 | fondue appetizer 1083 1084 | dining experiences 1084 1085 | rye bread 1085 1086 | vegetarian-friendly choices 1086 1087 | servers 1087 1088 | mushrooms 1088 1089 | hanger steak 1089 1090 | kielbasa 1090 1091 | brassiere food 1091 1092 | hong-kong styled milk 1092 1093 | rolls 1093 1094 | cold appetizer dishes 1094 1095 | lassi 1095 1096 | bar food 1096 1097 | area 1097 1098 | the chicken pot pie 1098 1099 | vegetables 1099 1100 | shrimp scampi 1100 1101 | caviar 1101 1102 | beer 1102 1103 | desert 1103 1104 | blue cheese 1104 1105 | basic dishes 1105 1106 | pork chops 1106 1107 | braised lamb shank in red wine 1107 1108 | chef app 1108 1109 | mushroom consomme 1109 1110 | selection of meats and seafoods 1110 1111 | lox 1111 1112 | main dining room 1112 1113 | house varities 1113 1114 | busboy 1114 1115 | strawberry daiquiries 1115 1116 | filet 1116 1117 | signs 1117 1118 | santa fe chopped salad 1118 1119 | chicken pad tai 1119 1120 | sea bass 1120 1121 | delivery 1121 1122 | nori 1122 1123 | bun 1123 1124 | seafood dishes 1124 1125 | omelet 1125 1126 | fried mini buns with the condensed milk and the assorted fruits on beancurd 1126 1127 | line 1127 1128 | steak tartare 1128 1129 | eat 1129 1130 | horedevous 1130 1131 | spice 1131 1132 | rush 1132 1133 | portions 1133 1134 | places 1134 1135 | food spot 1135 1136 | dinner specials 1136 1137 | fries 1137 1138 | indian cuisine 1138 1139 | portion size 1139 1140 | servings 1140 1141 | special effects 1141 1142 | beginning appetizers 1142 1143 | cheese plate 1143 1144 | meat dishes 1144 1145 | amuse bouche 1145 1146 | mesclun 1146 1147 | ac 1147 1148 | expresso 1148 1149 | tuna melt 1149 1150 | taste 1150 1151 | reservations 1151 1152 | root vegetables 1152 1153 | pie 1153 1154 | svc 1154 1155 | wild mushroom ( third generation-fornini ) pizza 1155 1156 | calzones 1156 1157 | crawfish boiled 1157 1158 | appetizing 1158 1159 | botle of wine 1159 1160 | dal bukhara 1160 1161 | fish with hot bean source 1161 1162 | bistro-type vibe 1162 1163 | check 1163 1164 | menu items 1164 1165 | fusion of french and indian cooking 1165 1166 | presentaion 1166 1167 | lemon 1167 1168 | crunchy tuna 1168 1169 | ingredients 1169 1170 | hot pot with seafood 1170 1171 | in-house lady dj 1171 1172 | tip 1172 1173 | steak with portobello mushrooms 1173 1174 | garden terrace 1174 1175 | case of snapple 1175 1176 | setting 1176 1177 | lotus leaf wrapped rice 1177 1178 | dinner location 1178 1179 | beverage manager 1179 1180 | cream cheese 1180 1181 | truffle oil 1181 1182 | mayonnaise 1182 1183 | roll 1183 1184 | general tao chicken 1184 1185 | trays of dim sum 1185 1186 | cod with paella 1186 1187 | white tuna sashimi 1187 1188 | delivered 1188 1189 | prix fixe menu 1189 1190 | bruscetta 1190 1191 | herbs 1191 1192 | chow fun and chow see 1192 1193 | cater 1193 1194 | dals 1194 1195 | spot lights 1195 1196 | reservation 1196 1197 | knishes 1197 1198 | pizzas 1198 1199 | sides 1199 1200 | indian fast food 1200 1201 | outdoor seatin 1201 1202 | curry sauce 1202 1203 | potato 1203 1204 | sour spicy soup 1204 1205 | entertainment 1205 1206 | pastrami sandwich 1206 1207 | spicy tuna 1207 1208 | soy sauce 1208 1209 | cooked 1209 1210 | portion 1210 1211 | thai food 1211 1212 | sauce on the pizza 1212 1213 | barebecued salmon 1213 1214 | chicken with black bean sauce 1214 1215 | hanger steak au poivre 1215 1216 | platter 1216 1217 | open kitchen 1217 1218 | kalbi 1218 1219 | songs 1219 1220 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/data/restaurant/change.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # @author: newbie 4 | # email: zhengshiliang0@gmail.com 5 | 6 | 7 | import sys 8 | 9 | lines = open(sys.argv[1]).readlines() 10 | fp = open(sys.argv[2], 'w') 11 | for i in xrange(0, len(lines), 3): 12 | sentence, aspect, polarity = lines[i].strip(), lines[i + 1].strip(), lines[i + 2].strip() 13 | if polarity == '0': 14 | polarity = 'neutral' 15 | elif polarity == '1': 16 | polarity = 'positive' 17 | else: 18 | polarity = 'negative' 19 | 20 | words = sentence.split() 21 | print words 22 | ind = words.index('$T$') 23 | tmp = [] 24 | for i, word in enumerate(words[:ind], 0): 25 | tmp.append(word + '/' + str(ind - i)) 26 | for i, word in enumerate(words[ind + 1:], 1): 27 | tmp.append(word + '/' + str(i)) 28 | sentence = ' '.join(tmp) 29 | fp.write(aspect + '||' + polarity + '||' + sentence + '\n') 30 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/data/restaurant/rest_2014_lstm_test_new1.txt: -------------------------------------------------------------------------------- 1 | The $T$ is top notch as well . 2 | bread 3 | 1 4 | I have to say they have one of the fastest $T$ in the city . 5 | delivery times 6 | 1 7 | $T$ is always fresh and hot - ready to eat ! 8 | Food 9 | 1 10 | Did I mention that the $T$ is OUTSTANDING ? 11 | coffee 12 | 1 13 | Certainly not the best $T$ in New York , however , it is always fresh , and the place is very clean , sterile . 14 | sushi 15 | -1 16 | Certainly not the best sushi in New York , however , it is always fresh , and the $T$ is very clean , sterile . 17 | place 18 | 1 19 | I trust the $T$ at Go Sushi , it never disappoints . 20 | people 21 | 1 22 | Straight-forward , no surprises , very decent $T$ . 23 | Japanese food 24 | 1 25 | BEST spicy tuna roll , great $T$ . 26 | asian salad 27 | 1 28 | BEST $T$ , great asian salad . 29 | spicy tuna roll 30 | 1 31 | Try the $T$ ( not on menu ) . 32 | rose roll 33 | 1 34 | Try the rose roll ( not on $T$ ) . 35 | menu 36 | 0 37 | I love the $T$ , esp lychee martini , and the food is also VERY good . 38 | drinks 39 | 1 40 | I love the drinks , esp $T$ , and the food is also VERY good . 41 | lychee martini 42 | 1 43 | I love the drinks , esp lychee martini , and the $T$ is also VERY good . 44 | food 45 | 1 46 | In fact , this was not a $T$ and was barely eatable . 47 | Nicoise salad 48 | -1 49 | While there 's a decent $T$ , it should n't take ten minutes to get your drinks and 45 for a dessert pizza . 50 | menu 51 | 1 52 | While there 's a decent menu , it should n't take ten minutes to get your $T$ and 45 for a dessert pizza . 53 | drinks 54 | 0 55 | While there 's a decent menu , it should n't take ten minutes to get your drinks and 45 for a $T$ . 56 | dessert pizza 57 | 0 58 | Once we sailed , the top-notch $T$ and live entertainment sold us on a unforgettable evening . 59 | food 60 | 1 61 | Once we sailed , the top-notch food and $T$ sold us on a unforgettable evening . 62 | live entertainment 63 | 1 64 | Our $T$ was horrible ; so rude and disinterested . 65 | waiter 66 | -1 67 | The $T$ 's - watered down . 68 | sangria 69 | -1 70 | $T$ - uneventful , small . 71 | menu 72 | -1 73 | Anytime and everytime I find myself in the neighborhood I will go to Sushi Rose for fresh $T$ and great portions all at a reasonable price . 74 | sushi 75 | 1 76 | Anytime and everytime I find myself in the neighborhood I will go to Sushi Rose for fresh sushi and great $T$ all at a reasonable price . 77 | portions 78 | 1 79 | 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 $T$ . 80 | price 81 | 1 82 | Great $T$ but the service was dreadful ! 83 | food 84 | 1 85 | Great food but the $T$ was dreadful ! 86 | service 87 | -1 88 | The $T$ that came out were mediocre . 89 | portions of the food 90 | 0 91 | the two $T$ looked like they had been sucking on lemons . 92 | waitress 's 93 | -1 94 | From the beginning , we were met by friendly $T$ , and the convienent parking at Chelsea Piers made it easy for us to get to the boat . 95 | staff memebers 96 | 1 97 | From the beginning , we were met by friendly staff memebers , and the convienent $T$ at Chelsea Piers made it easy for us to get to the boat . 98 | parking 99 | 1 100 | We enjoyed ourselves thoroughly and will be going back for the $T$ ... 101 | desserts 102 | 1 103 | $T$ are almost incredible : my personal favorite is their Tart of the Day . 104 | Desserts 105 | 1 106 | Desserts are almost incredible : my personal favorite is their $T$ . 107 | Tart of the Day 108 | 1 109 | The $T$ was extremely tasty , creatively presented and the wine excellent . 110 | food 111 | 1 112 | The food was extremely tasty , creatively presented and the $T$ excellent . 113 | wine 114 | 1 115 | THE $T$ WAS PROBABLY THE BEST I HAVE TASTED . 116 | LASAGNA 117 | 1 118 | Harumi Sushi has the freshest and most delicious $T$ in NYC . 119 | array of sushi 120 | 1 121 | I highly recommend it for not just its superb $T$ , but also for its friendly owners and staff . 122 | cuisine 123 | 1 124 | I highly recommend it for not just its superb cuisine , but also for its friendly $T$ and staff . 125 | owners 126 | 1 127 | I highly recommend it for not just its superb cuisine , but also for its friendly owners and $T$ . 128 | staff 129 | 1 130 | If you 're craving some serious $T$ and desire a cozy ambiance , this is quite and exquisite choice . 131 | indian food 132 | 1 133 | If you 're craving some serious indian food and desire a cozy $T$ , this is quite and exquisite choice . 134 | ambiance 135 | 1 136 | I definitely enjoyed the $T$ as well . 137 | food 138 | 1 139 | It was pleasantly uncrowded , the $T$ was delightful , the garden adorable , the food ( from appetizers to entrees ) was delectable . 140 | service 141 | 1 142 | It was pleasantly uncrowded , the service was delightful , the $T$ adorable , the food ( from appetizers to entrees ) was delectable . 143 | garden 144 | 1 145 | It was pleasantly uncrowded , the service was delightful , the garden adorable , the $T$ ( from appetizers to entrees ) was delectable . 146 | food 147 | 1 148 | It was pleasantly uncrowded , the service was delightful , the garden adorable , the food ( from $T$ to entrees ) was delectable . 149 | appetizers 150 | 1 -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/data/restaurant/word_id.txt: -------------------------------------------------------------------------------- 1 | rasamalai 1 2 | limited 2 3 | legacies 3 4 | surrounding 4 5 | hats 5 6 | saves 6 7 | sleek 7 8 | four 8 9 | asian 9 10 | hanging 10 11 | famished 11 12 | gabriella 12 13 | captain 13 14 | hate 14 15 | greens 15 16 | forget 16 17 | increase 17 18 | paris 18 19 | 161 19 20 | prix-fixe 20 21 | whatsoever 21 22 | under 22 23 | fromager 23 24 | sorry 24 25 | pride 25 26 | worth 26 27 | @ 27 28 | chennai 28 29 | deli 29 30 | every 30 31 | figs 31 32 | messy 32 33 | low-key 33 34 | bringing 34 35 | sichuan 35 36 | school 36 37 | wooden 37 38 | clientele 38 39 | wednesday 39 40 | frozen 40 41 | flashy 41 42 | enhance 42 43 | ups 43 44 | 9pm 44 45 | enjoy 45 46 | expanded 46 47 | tired 47 48 | refleshment 48 49 | consistent 49 50 | bacon 50 51 | japanese 51 52 | sabbath 52 53 | chef 53 54 | raucus 54 55 | second 55 56 | street 56 57 | 49 57 58 | wintermelon 58 59 | even 59 60 | admire 60 61 | saved 61 62 | + 62 63 | cooking 63 64 | liberty 64 65 | wouldnt 65 66 | above 66 67 | new 67 68 | tips 68 69 | poorly 69 70 | ever 70 71 | disney 71 72 | counters 72 73 | deemed 73 74 | pancakes 74 75 | herb 75 76 | never 76 77 | shuizhu 77 78 | here 78 79 | hundreds 79 80 | refinement 80 81 | kicker 81 82 | 100 82 83 | previews 83 84 | mozzarella 84 85 | celebration 85 86 | dry 86 87 | kids 87 88 | items 88 89 | employees 89 90 | changed 90 91 | unfriendly 91 92 | california 92 93 | spotty 93 94 | changes 94 95 | pairings 95 96 | fantastic 96 97 | sad-looking 97 98 | slices 98 99 | godmother 99 100 | explained 100 101 | charred 101 102 | highly 102 103 | brought 103 104 | pound 104 105 | meats 105 106 | total 106 107 | would 107 108 | hungry 108 109 | quibbles 109 110 | seved 110 111 | symphony 111 112 | music 112 113 | calm 113 114 | recommend 114 115 | strike 115 116 | type 116 117 | until 117 118 | speaking 118 119 | massamman 119 120 | posting 120 121 | holy 121 122 | relax 122 123 | brings 123 124 | congee 124 125 | award 125 126 | hurt 126 127 | warn 127 128 | glass 128 129 | warm 129 130 | overcooking 130 131 | excellent 131 132 | 90 132 133 | hole 133 134 | recommand 134 135 | authentically 135 136 | must 136 137 | me 137 138 | decoration 138 139 | word 139 140 | room 140 141 | baluchi 141 142 | work 142 143 | daft 143 144 | existant 144 145 | temperatures 145 146 | stauff 146 147 | elegantly 147 148 | my 148 149 | example 149 150 | anticipating 150 151 | fresher 151 152 | give 152 153 | calories 153 154 | foods 154 155 | overheard 155 156 | not-so-fresh 156 157 | want 157 158 | cantonese 158 159 | boths 159 160 | keep 160 161 | attract 161 162 | end 162 163 | turn 163 164 | complaining 164 165 | customers 165 166 | nuts 166 167 | frites 167 168 | confit 168 169 | how 169 170 | hot 170 171 | hop 171 172 | harkens 172 173 | disappoint 173 174 | ordinary 174 175 | kebabs 175 176 | charging 176 177 | pizza 177 178 | badly 178 179 | description 179 180 | beauty 180 181 | funny 181 182 | mess 182 183 | after 183 184 | amanzing 184 185 | wrong 185 186 | mesh 186 187 | fat 187 188 | balthazar 188 189 | types 189 190 | bucks 190 191 | purchase 191 192 | chilled 192 193 | third 193 194 | occasions 194 195 | recieved 195 196 | attracts 196 197 | appreciate 197 198 | greet 198 199 | portobello 199 200 | green 200 201 | south 201 202 | suggest 202 203 | fan 203 204 | oysters 204 205 | order 205 206 | wind 206 207 | wine 207 208 | deco 208 209 | office 209 210 | enter 210 211 | over 211 212 | satisfied 212 213 | murray 213 214 | outshine 214 215 | london 215 216 | oven 216 217 | innovative 217 218 | japan 218 219 | before 219 220 | personal 220 221 | fix 221 222 | , 222 223 | crew 223 224 | better 224 225 | production 225 226 | understated 226 227 | differently 227 228 | receipies 228 229 | weeks 229 230 | pleasurable 230 231 | versus 231 232 | then 232 233 | them 233 234 | affected 234 235 | tourist 235 236 | combination 236 237 | similar 237 238 | break 238 239 | band 239 240 | bang 240 241 | effects 241 242 | they 242 243 | glazed 243 244 | one 244 245 | bank 245 246 | bread 246 247 | meat 247 248 | potatoes 248 249 | reasonably 249 250 | crunchy 250 251 | l 251 252 | toasted 252 253 | filling 253 254 | panini 254 255 | reasonable 255 256 | each 256 257 | went 257 258 | jay-z 258 259 | meal 259 260 | bone 260 261 | mean 261 262 | lifted 262 263 | hanger 263 264 | roxy 264 265 | told 265 266 | spider 266 267 | fornino 267 268 | strips 268 269 | turnip 269 270 | forgot 270 271 | apetizers 271 272 | saturday 272 273 | whip 273 274 | hand-painted 274 275 | god 275 276 | laid 276 277 | remorse 277 278 | volare 278 279 | nite 279 280 | reader 280 281 | heavenly 281 282 | surprise 282 283 | sliding 283 284 | grease 284 285 | whiff 285 286 | given 286 287 | free 287 288 | standard 288 289 | grapes 289 290 | delightfully 290 291 | fixe 291 292 | wanted 292 293 | certified 293 294 | aisle 294 295 | enormous 295 296 | ate 296 297 | dahkin 297 298 | inexpensive 298 299 | scruff 299 300 | takeout 300 301 | lousy 301 302 | licked 302 303 | speedy 303 304 | soda 304 305 | cucumber 305 306 | unappreciative 306 307 | loud 307 308 | chopped 308 309 | not-so-frequent 309 310 | nha 310 311 | features 311 312 | wash 312 313 | ofr 313 314 | delicious 314 315 | tamarind 315 316 | plastic 316 317 | service 317 318 | similarly 318 319 | top 319 320 | girls 320 321 | approximately 321 322 | plentiful 322 323 | needed 323 324 | ton 324 325 | too 325 326 | blossoms 326 327 | tom 327 328 | bitter 328 329 | ranging 329 330 | listen 330 331 | ceiling 331 332 | hangout 332 333 | canned 333 334 | touristy 334 335 | serve 335 336 | took 336 337 | atmoshpere 337 338 | repeatable 338 339 | somewhat 339 340 | shortly 340 341 | outisde 341 342 | paella 342 343 | brulee 343 344 | frankly 344 345 | bacos 345 346 | hike 346 347 | bindi 347 348 | likely 348 349 | seated 349 350 | preparation 350 351 | matter 351 352 | idle 352 353 | fabulous 353 354 | mermaid 354 355 | feeling 355 356 | mini 356 357 | vegatables 357 358 | ran 358 359 | rao 359 360 | modern 360 361 | mind 361 362 | mine 362 363 | ginger 363 364 | drip 364 365 | raw 365 366 | further 366 367 | seltzer 367 368 | seen 368 369 | seem 369 370 | picks 370 371 | leafy 371 372 | ray 372 373 | tho 373 374 | strength 374 375 | genuine 375 376 | thoroughly 376 377 | soaked 377 378 | - 378 379 | situated 379 380 | recommended 380 381 | hearty 381 382 | luxury 382 383 | doors 383 384 | laughed 384 385 | downstairs 385 386 | realtively 386 387 | blue 387 388 | though 388 389 | courtesey 389 390 | mashed 390 391 | welll 391 392 | regular 392 393 | mouth 393 394 | plenty 394 395 | imported 395 396 | inconsistency 396 397 | opted 397 398 | late-night 398 399 | soups 399 400 | m 400 401 | newcomers 401 402 | lyle 402 403 | definitely 403 404 | manydifferent 404 405 | entertaining 405 406 | yankees 406 407 | faired 407 408 | scream 408 409 | came 409 410 | reserve 410 411 | decidedly 411 412 | saying 412 413 | beaten 413 414 | overpriced 414 415 | d' 415 416 | meetings 416 417 | prix 417 418 | supplied 418 419 | cakebread 419 420 | earth 420 421 | rang 421 422 | enjoyed 422 423 | toast 423 424 | finally 424 425 | asbolute 425 426 | quaint 426 427 | menu 427 428 | weekends 428 429 | sugar 429 430 | touched 430 431 | rich 431 432 | folks 432 433 | attitudes 433 434 | adequate 434 435 | rice 435 436 | personality 436 437 | lady 437 438 | do 438 439 | dj 439 440 | colorful 440 441 | $t$tony 441 442 | df 442 443 | air 443 444 | de 444 445 | stop 445 446 | overpraised 446 447 | appetizer 447 448 | candle-light 448 449 | 12 449 450 | tiled 450 451 | despite 451 452 | frying 452 453 | basmati 453 454 | overbearing 454 455 | bar 455 456 | flour 456 457 | covering 457 458 | nicely 458 459 | sligtly 459 460 | lexington 460 461 | whitefish 461 462 | twice 462 463 | bad 463 464 | architecture 464 465 | after-theatre 465 466 | grilled 466 467 | aesthetic 467 468 | steak 468 469 | explanations 469 470 | lad 470 471 | saul 471 472 | disaster 472 473 | fair 473 474 | hand-crafted 474 475 | pinot 475 476 | decided 476 477 | reviewer 477 478 | miserable 478 479 | terrine 479 480 | noodles 480 481 | alternative 481 482 | best 482 483 | said 483 484 | 48th 484 485 | michelin 485 486 | pressured 486 487 | coats 487 488 | lots 488 489 | away 489 490 | rushing 490 491 | oil-brushed 491 492 | mud 492 493 | unable 493 494 | antique-seeming 494 495 | hopefully 495 496 | drawn 496 497 | ess-a-bagel 497 498 | skimpy 498 499 | we 499 500 | men 500 501 | triples 501 502 | wo 502 503 | smelled 503 504 | fruits 504 505 | packaged 505 506 | however 506 507 | wu 507 508 | blasted 508 509 | kitchen 509 510 | suggested 510 511 | received 511 512 | pits 512 513 | o.k. 513 514 | jelly 514 515 | against 515 516 | hummus 516 517 | cod 517 518 | hated 518 519 | pita 519 520 | uni 520 521 | requests 521 522 | freshest 522 523 | asked 523 524 | 30th 524 525 | appeared 525 526 | character 526 527 | wait-staff 527 528 | 2nd 528 529 | tons 529 530 | non 530 531 | tony 531 532 | loaded 532 533 | speak 533 534 | bathroom 534 535 | ease 535 536 | proceeded 536 537 | particulary 537 538 | beef 538 539 | frist 539 540 | fri 540 541 | remained 541 542 | three 542 543 | been 543 544 | . 544 545 | commission 545 546 | beer 546 547 | much 547 548 | sommelier 548 549 | basic 549 550 | expected 550 551 | entered 551 552 | lovely 552 553 | incompetent 553 554 | containers 554 555 | threw 555 556 | website 556 557 | life 557 558 | families 558 559 | recomend 559 560 | relaxing 560 561 | americanized 561 562 | catering 562 563 | chill 563 564 | hoist 564 565 | child 565 566 | catch 566 567 | worked 567 568 | 160 568 569 | teapot 569 570 | currys 570 571 | gracious 571 572 | exception 572 573 | save 573 574 | hole-in-the-wall 574 575 | heartland 575 576 | say 576 577 | remaining 577 578 | voluminous 578 579 | lizard 579 580 | melted 580 581 | suppose 581 582 | virgnin 582 583 | balance 583 584 | inspired 584 585 | skiline 585 586 | entre'es 586 587 | jamun 587 588 | tikka-masala 588 589 | nori-wrapped 589 590 | played 590 591 | dumplings 591 592 | is 592 593 | sushi 593 594 | it 594 595 | shame 595 596 | upscale 596 597 | cans 597 598 | in 598 599 | seattle 599 600 | ie 600 601 | if 601 602 | anti-pasta 602 603 | memorial 603 604 | bottles 604 605 | descent 605 606 | non-busy 606 607 | things 607 608 | make 608 609 | toaster 609 610 | airport 610 611 | greengrass 611 612 | drawback 612 613 | patient 613 614 | split 614 615 | bands 615 616 | vegetable 616 617 | plates 617 618 | several 618 619 | mayo 619 620 | unforgetable 620 621 | european 621 622 | fairly 622 623 | tiffin 623 624 | boiled 624 625 | hang 625 626 | evil 626 627 | greeted 627 628 | delight 628 629 | fridays 629 630 | garlic 630 631 | characters 631 632 | groundbreaking 632 633 | tuna 633 634 | butter 634 635 | sushimi 635 636 | kept 636 637 | condiments 637 638 | jekyll 638 639 | parathas 639 640 | humble 640 641 | thr 641 642 | berate 642 643 | udon 643 644 | client 644 645 | greatest 645 646 | thh 646 647 | claims 647 648 | the 648 649 | smoked 649 650 | yours 650 651 | left 651 652 | seasonal 652 653 | just 653 654 | bargain 654 655 | gods 655 656 | somethings 656 657 | lassi 657 658 | yes 658 659 | yet 659 660 | previous 660 661 | terrific 661 662 | brassiere 662 663 | legion 663 664 | burnt 664 665 | old-fashioned 665 666 | boot 666 667 | had 667 668 | emphasis 668 669 | shout 669 670 | spread 670 671 | board 671 672 | belly 672 673 | menu-fare 673 674 | east 674 675 | gave 675 676 | scatty 676 677 | tatin 677 678 | boxed 678 679 | specia 679 680 | shabu-shabu 680 681 | manhathan 681 682 | yuzu 682 683 | possible 683 684 | ballato 684 685 | creatively 685 686 | fusion 686 687 | discreet 687 688 | 3pm 688 689 | background 689 690 | consisted 690 691 | judge 691 692 | unique 692 693 | 6:00 693 694 | sliced 694 695 | flavoring 695 696 | gift 696 697 | croquette 697 698 | 50 698 699 | remind 699 700 | sparse 700 701 | night 701 702 | notorious 702 703 | revisiting 703 704 | guests 704 705 | right 705 706 | old 706 707 | deal 707 708 | people 708 709 | easy 709 710 | proudly 710 711 | somehow 711 712 | usher 712 713 | ideal 713 714 | varietys 714 715 | jeffery 715 716 | short-term 716 717 | okra 717 718 | for 718 719 | informative 719 720 | carts 720 721 | phenomenal 721 722 | ice 722 723 | creative 723 724 | everything 724 725 | icy 725 726 | asking 726 727 | maitre 727 728 | hollondaise 728 729 | lahore 729 730 | slurry 730 731 | carte 731 732 | bisque 732 733 | shakes 733 734 | tartar 734 735 | overhauled 735 736 | corn 736 737 | waitressing 737 738 | buffet 738 739 | memorable 739 740 | peep 740 741 | super 741 742 | chilean 742 743 | benches 743 744 | inedible 744 745 | dollars 745 746 | months 746 747 | barebecued 747 748 | dinner 748 749 | dined 749 750 | plus 750 751 | afternoon 751 752 | emilio 752 753 | obv 753 754 | lacked 754 755 | curry 755 756 | watering 756 757 | managers 757 758 | tastier 758 759 | wasting 759 760 | soh 760 761 | hustled 761 762 | delighted 762 763 | puke 763 764 | down 764 765 | lies 765 766 | back-to-back 766 767 | soy 767 768 | refined 768 769 | orsay 769 770 | wan 770 771 | crowd 771 772 | pre-sliced 772 773 | amazingly 773 774 | support 774 775 | constantly 775 776 | knowing 776 777 | bukhara 777 778 | gig 778 779 | absolutely 779 780 | way 780 781 | gin 781 782 | innovators 782 783 | was 783 784 | happy 784 785 | head 785 786 | offering 786 787 | offer 787 788 | magnificent 788 789 | gorgeous 789 790 | eater 790 791 | heat 791 792 | uncle 792 793 | justify 793 794 | true 794 795 | eastsider 795 796 | nov. 796 797 | portions 797 798 | happen 798 799 | pretension 799 800 | inside 800 801 | blantently 801 802 | attached 802 803 | maximum 803 804 | tell 804 805 | nicest 805 806 | lays 806 807 | sapphire 807 808 | servings 808 809 | unusually 809 810 | seafood 810 811 | mesclun 811 812 | adorn 812 813 | expresso 813 814 | classic 814 815 | frederick 815 816 | sticky 816 817 | calzones 817 818 | not-so-little 818 819 | sometime 819 820 | promised 820 821 | tea 821 822 | yuck 822 823 | mediocre 823 824 | annoying 824 825 | check 825 826 | marinated 826 827 | nj 827 828 | tradional 828 829 | floor 829 830 | accomodating 830 831 | tip 831 832 | topped 832 833 | whem 833 834 | ny 834 835 | setting 835 836 | holding 836 837 | test 837 838 | smell 838 839 | roll 839 840 | realize 840 841 | reconsider 841 842 | felt 842 843 | uniformly 843 844 | polite 844 845 | transported 845 846 | experience.the 846 847 | 'd 847 848 | fedeli 848 849 | scores 849 850 | 'm 850 851 | pizzas 851 852 | weekend 852 853 | dulce 853 854 | happening 854 855 | apology 855 856 | phone 856 857 | bottom 857 858 | together 858 859 | time 859 860 | push 860 861 | serious 861 862 | someplace 862 863 | stacks 863 864 | overdue 864 865 | precise 865 866 | concept 866 867 | managed 867 868 | :) 868 869 | chain 869 870 | whoever 870 871 | dance 871 872 | skip 872 873 | roe 873 874 | deliveries 874 875 | leads 875 876 | mild 876 877 | qualms 877 878 | comments 878 879 | understandable 879 880 | chair 880 881 | milk 881 882 | certainly 882 883 | uneven 883 884 | yummy 884 885 | itsuperb 885 886 | technique 886 887 | father 887 888 | busboy 888 889 | environment 889 890 | 0 890 891 | charge 891 892 | compensate 892 893 | e. 893 894 | marks 894 895 | icing 895 896 | 3am 896 897 | lanterna 897 898 | thawed 898 899 | choice 899 900 | pleasnt 900 901 | tanks 901 902 | cook 902 903 | bartender 903 904 | trouble 904 905 | margarite 905 906 | caprese 906 907 | minute 907 908 | cool 908 909 | dim 909 910 | cooks 910 911 | staples 911 912 | level 912 913 | did 913 914 | die 914 915 | standards 915 916 | specials 916 917 | item 917 918 | excellence 918 919 | section 919 920 | quick 920 921 | sidewalk 921 922 | dip 922 923 | round 923 924 | dis 924 925 | porridge 925 926 | pork 926 927 | unexpected 927 928 | says 928 929 | regret 929 930 | seasoning 930 931 | sigh 931 932 | discover 932 933 | steaks 933 934 | snapple 934 935 | cost 935 936 | comforting 936 937 | utter 937 938 | gigondas 938 939 | eating 939 940 | chicken 940 941 | drinks 941 942 | tartare 942 943 | stands 943 944 | unheralded 944 945 | melt 945 946 | current 946 947 | remembered 947 948 | deficiencies 948 949 | dimsum 949 950 | shared 950 951 | ground 951 952 | filled 952 953 | satisfy 953 954 | crispier 954 955 | basketful 955 956 | mussels 956 957 | 1oz 957 958 | french 958 959 | water 959 960 | fluke 960 961 | entertain 961 962 | groups 962 963 | alone 963 964 | noir 964 965 | along 965 966 | appears 966 967 | change 967 968 | wait 968 969 | box 969 970 | buck 970 971 | incoming 971 972 | accomplishes 972 973 | healthy 973 974 | root 974 975 | overflowing 975 976 | atomosphere 976 977 | crumbled 977 978 | suggestion 978 979 | usually 979 980 | conveniently 980 981 | entrees 981 982 | taipei 982 983 | underdeserving 983 984 | gorgeously 984 985 | love 985 986 | extra 986 987 | 14.95 987 988 | pony 988 989 | marvelous 989 990 | 1st 990 991 | prompt 991 992 | rarely 992 993 | flavors 993 994 | handled 994 995 | pere 995 996 | sake 996 997 | positive 997 998 | visit 998 999 | abroad 999 1000 | parties 1000 1001 | live 1001 1002 | wood 1002 1003 | wonderfully 1003 1004 | msg 1004 1005 | cheescake 1005 1006 | scopa 1006 1007 | today 1007 1008 | loving 1008 1009 | son 1009 1010 | sharing 1010 1011 | lawns 1011 1012 | club 1012 1013 | share 1013 1014 | acceptable 1014 1015 | chocolate 1015 1016 | downtown 1016 1017 | ceviche 1017 1018 | olive 1018 1019 | effort 1019 1020 | malai 1020 1021 | diner 1021 1022 | pumkin 1022 1023 | 8pm 1023 1024 | tokyo 1024 1025 | boarderline 1025 1026 | trang 1026 1027 | flagship 1027 1028 | soup 1028 1029 | vegetarian-friendly 1029 1030 | sour 1030 1031 | values 1031 1032 | can 1032 1033 | co-workers 1033 1034 | growing 1034 1035 | making 1035 1036 | crazy 1036 1037 | valentines 1037 1038 | awesome 1038 1039 | confused 1039 1040 | sample 1040 1041 | heard 1041 1042 | critic 1042 1043 | chin 1043 1044 | incredible 1044 1045 | allowed 1045 1046 | chic 1046 1047 | pink 1047 1048 | winter 1048 1049 | piled 1049 1050 | spreads 1050 1051 | ping 1051 1052 | nyu 1052 1053 | 1 1053 1054 | till 1054 1055 | sunday 1055 1056 | nyc 1056 1057 | speaks 1057 1058 | cocktail 1058 1059 | may 1059 1060 | max 1060 1061 | spot 1061 1062 | unobtrusive 1062 1063 | lucky 1063 1064 | secluded 1064 1065 | birthday 1065 1066 | mad 1066 1067 | date 1067 1068 | such 1068 1069 | guys 1069 1070 | grow 1070 1071 | man 1071 1072 | muggy 1072 1073 | prooudly 1073 1074 | classics 1074 1075 | varieties 1075 1076 | agreable 1076 1077 | whenever 1077 1078 | maybe 1078 1079 | tapas 1079 1080 | st 1080 1081 | ducasse 1081 1082 | so 1082 1083 | deposit 1083 1084 | pulled 1084 1085 | talk 1085 1086 | typical 1086 1087 | drunken 1087 1088 | cute 1088 1089 | approx 1089 1090 | serving 1090 1091 | exclaimed 1091 1092 | indeed 1092 1093 | differences 1093 1094 | displayed 1094 1095 | years 1095 1096 | course 1096 1097 | thinner 1097 1098 | terrace 1098 1099 | shake 1099 1100 | prosecco 1100 1101 | still 1101 1102 | group 1102 1103 | thank 1103 1104 | sripraphai 1104 1105 | perrrrrrrrrfect 1105 1106 | interesting 1106 1107 | bagels 1107 1108 | appetizers 1108 1109 | amazing 1109 1110 | faves 1110 1111 | attraction 1111 1112 | window 1112 1113 | offers 1113 1114 | celebrate 1114 1115 | ours 1115 1116 | main 1116 1117 | unaccommodating 1117 1118 | instantly 1118 1119 | tonic 1119 1120 | chalk 1120 1121 | matches 1121 1122 | hinting 1122 1123 | omakase 1123 1124 | uws 1124 1125 | thalia 1125 1126 | lunch 1126 1127 | scalina 1127 1128 | half 1128 1129 | not 1129 1130 | feature 1130 1131 | bgel 1131 1132 | now 1132 1133 | hall 1133 1134 | considerably 1134 1135 | moist 1135 1136 | name 1136 1137 | slurp 1137 1138 | january 1138 1139 | food-quality 1139 1140 | outrageously 1140 1141 | zabars 1141 1142 | stalling 1142 1143 | square 1143 1144 | yeah 1144 1145 | wrap 1145 1146 | fires 1146 1147 | catching 1147 1148 | entering 1148 1149 | ew 1149 1150 | requesting 1150 1151 | salads 1151 1152 | waitstaff 1152 1153 | 3rd 1153 1154 | space 1154 1155 | looking 1155 1156 | explain 1156 1157 | seriously 1157 1158 | cobb 1158 1159 | internet 1159 1160 | pizzeria 1160 1161 | correct 1161 1162 | shows 1162 1163 | earlier 1163 1164 | octopus 1164 1165 | tempura 1165 1166 | ocasionally 1166 1167 | cart 1167 1168 | quite 1168 1169 | oasis 1169 1170 | complicated 1170 1171 | besides 1171 1172 | 3.25 1172 1173 | marine 1173 1174 | card 1174 1175 | care 1175 1176 | advance 1176 1177 | selections 1177 1178 | waiter 1178 1179 | punk 1179 1180 | thing 1180 1181 | funky 1181 1182 | place 1182 1183 | un-tasty 1183 1184 | think 1184 1185 | waited 1185 1186 | first 1186 1187 | exotic 1187 1188 | cheese 1188 1189 | saving 1189 1190 | revenue 1190 1191 | yourself 1191 1192 | clumsy 1192 1193 | tamari 1193 1194 | mignon 1194 1195 | fast 1195 1196 | carry 1196 1197 | impossible 1197 1198 | sounds 1198 1199 | open 1199 1200 | 'em 1200 1201 | size 1201 1202 | city 1202 1203 | little 1203 1204 | checked 1204 1205 | bts 1205 1206 | stuck 1206 1207 | fl 1207 1208 | bite 1208 1209 | t 1209 1210 | anyone 1210 1211 | 2 1211 1212 | stuffed 1212 1213 | masala 1213 1214 | white 1214 1215 | inovated 1215 1216 | friend 1216 1217 | gives 1217 1218 | eyes 1218 1219 | impresses 1219 1220 | mostly 1220 1221 | that 1221 1222 | appreciates 1222 1223 | 40times 1223 1224 | ridiculous 1224 1225 | simmered 1225 1226 | fooled 1226 1227 | thai 1227 1228 | inludes 1228 1229 | undoubtedly 1229 1230 | sake-friendly 1230 1231 | boyfriend 1231 1232 | 11 1232 1233 | 10 1233 1234 | 13 1234 1235 | bored 1235 1236 | 15 1236 1237 | unfortunately 1237 1238 | 16 1238 1239 | scrumptious 1239 1240 | so-so 1240 1241 | midtown 1241 1242 | r 1242 1243 | apples 1243 1244 | venture 1244 1245 | were 1245 1246 | gigantic 1246 1247 | sublime 1247 1248 | and 1248 1249 | alot 1249 1250 | coconut 1250 1251 | tasted 1251 1252 | angel 1252 1253 | sal 1253 1254 | slaw 1254 1255 | turned 1255 1256 | ant 1256 1257 | tarte 1257 1258 | tastes 1258 1259 | pastry 1259 1260 | offerng 1260 1261 | lurking 1261 1262 | saw 1262 1263 | any 1263 1264 | sat 1264 1265 | lumpy 1265 1266 | efficient 1266 1267 | aside 1267 1268 | hotspot 1268 1269 | note 1269 1270 | dining 1270 1271 | mr. 1271 1272 | potential 1272 1273 | take 1273 1274 | interior 1274 1275 | performance 1275 1276 | concern 1276 1277 | 200 1277 1278 | begin 1278 1279 | sure 1279 1280 | amiable 1280 1281 | opposite 1281 1282 | track 1282 1283 | cheesecake 1283 1284 | price 1284 1285 | knew 1285 1286 | paid 1286 1287 | importantly 1287 1288 | pair 1288 1289 | america 1289 1290 | rivals 1290 1291 | forever 1291 1292 | especially 1292 1293 | surprising 1293 1294 | izakaya 1294 1295 | considered 1295 1296 | average 1296 1297 | later 1297 1298 | drive 1298 1299 | soho 1299 1300 | shut-down 1300 1301 | hear 1301 1302 | salt 1302 1303 | quantity 1303 1304 | slope 1304 1305 | rating 1305 1306 | walking 1306 1307 | show 1307 1308 | lotus 1308 1309 | mains 1309 1310 | cheap 1310 1311 | corned 1311 1312 | discovered 1312 1313 | bright 1313 1314 | inconsistent 1314 1315 | corner 1315 1316 | molars 1316 1317 | superb 1317 1318 | calamari 1318 1319 | maine 1319 1320 | crackling 1320 1321 | slow 1321 1322 | ratio 1322 1323 | selecion 1323 1324 | title 1324 1325 | 40pp 1325 1326 | treasure 1326 1327 | cheeseburger 1327 1328 | 3 1328 1329 | texture 1329 1330 | only 1330 1331 | going 1331 1332 | black 1332 1333 | watching 1333 1334 | bridge 1334 1335 | pot-stickers 1335 1336 | pastrami 1336 1337 | get 1337 1338 | devine 1338 1339 | jazz 1339 1340 | truly 1340 1341 | leon 1341 1342 | bagles 1342 1343 | nearly 1343 1344 | melt-in-your-mouth 1344 1345 | mulino 1345 1346 | flavour 1346 1347 | gem 1347 1348 | prime 1348 1349 | lollies 1349 1350 | pinnacle 1350 1351 | girl 1351 1352 | seldom 1352 1353 | primi 1353 1354 | isnt 1354 1355 | absurdly 1355 1356 | morning 1356 1357 | seatin 1357 1358 | dough 1358 1359 | finishing 1359 1360 | unappealing 1360 1361 | where 1361 1362 | husband 1362 1363 | ignored 1363 1364 | imposing 1364 1365 | seat 1365 1366 | cocktails 1366 1367 | anyways 1367 1368 | replied 1368 1369 | broadway 1369 1370 | custards 1370 1371 | ruined 1371 1372 | wonder 1372 1373 | palette 1373 1374 | satisfying 1374 1375 | ways 1375 1376 | crawfish 1376 1377 | review 1377 1378 | definite 1378 1379 | outside 1379 1380 | chewy 1380 1381 | between 1381 1382 | welcomes 1382 1383 | across 1383 1384 | edamame 1384 1385 | affordable 1385 1386 | 5:30 1386 1387 | notice 1387 1388 | tuk 1388 1389 | spare 1389 1390 | diners 1390 1391 | chaats 1391 1392 | come 1392 1393 | dates 1393 1394 | poivre 1394 1395 | many 1395 1396 | gimmicks 1396 1397 | quiet 1397 1398 | contract 1398 1399 | blasts 1399 1400 | s 1400 1401 | patrons 1401 1402 | disappointment 1402 1403 | pureed 1403 1404 | comes 1404 1405 | nearby 1405 1406 | among 1406 1407 | flavorless 1407 1408 | effective 1408 1409 | pot 1409 1410 | jeans 1410 1411 | venues 1411 1412 | expectations 1412 1413 | 60 1413 1414 | well-prepared 1414 1415 | kruno 1415 1416 | leche 1416 1417 | moreover 1417 1418 | writing 1418 1419 | cokes 1419 1420 | logic 1420 1421 | considering 1421 1422 | mare 1422 1423 | awsome 1423 1424 | companionship 1424 1425 | capable 1425 1426 | west 1426 1427 | skew 1427 1428 | blend 1428 1429 | mark 1429 1430 | cared 1430 1431 | featuring 1431 1432 | ravioli 1432 1433 | engine 1433 1434 | tasteless 1434 1435 | offered 1435 1436 | squash 1436 1437 | photos 1437 1438 | figured 1438 1439 | wake 1439 1440 | eaters 1440 1441 | foggy 1441 1442 | undercooked 1442 1443 | attentive 1443 1444 | offeres 1444 1445 | those 1445 1446 | super-trendy 1446 1447 | myself 1447 1448 | these 1448 1449 | might 1449 1450 | worried 1450 1451 | chinatown 1451 1452 | cash 1452 1453 | resturant 1453 1454 | n't 1454 1455 | diverse 1455 1456 | editorial 1456 1457 | promising 1457 1458 | squeezed 1458 1459 | shops 1459 1460 | sq. 1460 1461 | ive 1461 1462 | appetizing 1462 1463 | coffee 1463 1464 | middle 1464 1465 | someone 1465 1466 | kha 1466 1467 | experiance 1467 1468 | obnoxious 1468 1469 | paratha 1469 1470 | floating 1470 1471 | snobby 1471 1472 | thin-crust 1472 1473 | pastas 1473 1474 | erroneously 1474 1475 | disloyal 1475 1476 | il 1476 1477 | pay 1477 1478 | granted 1478 1479 | reminded 1479 1480 | sketchy 1480 1481 | same 1481 1482 | trip 1482 1483 | ya 1483 1484 | pad 1484 1485 | uncourteous 1485 1486 | frequented 1486 1487 | pam 1487 1488 | week 1488 1489 | finish 1489 1490 | tipsy 1490 1491 | singapore 1491 1492 | companion 1492 1493 | devoid 1493 1494 | running 1494 1495 | fruit 1495 1496 | casserole 1496 1497 | deff 1497 1498 | statue 1498 1499 | disapointing 1499 1500 | healthy-looking 1500 1501 | % 1501 1502 | totally 1502 1503 | complained 1503 1504 | theater 1504 1505 | no 1505 1506 | breezy 1506 1507 | without 1507 1508 | puree 1508 1509 | oreganta 1509 1510 | amazed 1510 1511 | charged 1511 1512 | summer 1512 1513 | outdoor 1513 1514 | steamed 1514 1515 | being 1515 1516 | money 1516 1517 | guided 1517 1518 | rest 1518 1519 | kill 1519 1520 | braised 1520 1521 | touch 1521 1522 | flavor 1522 1523 | reality 1523 1524 | barbecued 1524 1525 | afterwards 1525 1526 | refills 1526 1527 | death 1527 1528 | clueless 1528 1529 | thinking 1529 1530 | rose 1530 1531 | seems 1531 1532 | except 1532 1533 | complain 1533 1534 | lets 1534 1535 | interested 1535 1536 | 4 1536 1537 | sampler 1537 1538 | moules 1538 1539 | extensive 1539 1540 | styles 1540 1541 | starving 1541 1542 | around 1542 1543 | spectacular 1543 1544 | playfull 1544 1545 | read 1545 1546 | dark 1546 1547 | traffic 1547 1548 | preference 1548 1549 | listening 1549 1550 | styled 1550 1551 | world 1551 1552 | execution 1552 1553 | disappointed 1553 1554 | dare 1554 1555 | furniture 1555 1556 | commend 1556 1557 | clam 1557 1558 | margheritta 1558 1559 | greeting 1559 1560 | serves 1560 1561 | 've 1561 1562 | facing 1562 1563 | panchetta 1563 1564 | either 1564 1565 | fully 1565 1566 | served 1566 1567 | tower 1567 1568 | vegtables 1568 1569 | seating 1569 1570 | maximize 1570 1571 | naan 1571 1572 | lobster 1572 1573 | atmorphere 1573 1574 | 's 1574 1575 | pickles 1575 1576 | redeeming 1576 1577 | excelent 1577 1578 | provided 1578 1579 | slice 1579 1580 | atmoshere 1580 1581 | drenched 1581 1582 | patroon 1582 1583 | fondue 1583 1584 | overly 1584 1585 | reallocating 1585 1586 | favourite 1586 1587 | nigiri 1587 1588 | happened 1588 1589 | forks 1589 1590 | moderate 1590 1591 | thali 1591 1592 | turkey 1592 1593 | wheat 1593 1594 | roast 1594 1595 | business 1595 1596 | intimate 1596 1597 | sixth 1597 1598 | chefs 1598 1599 | ration 1599 1600 | broken 1600 1601 | secondi 1601 1602 | wong 1602 1603 | nightcap 1603 1604 | thailand 1604 1605 | exciting 1605 1606 | throw 1606 1607 | cheff 1607 1608 | comparison 1608 1609 | ok 1609 1610 | unattentive 1610 1611 | oh 1611 1612 | of 1612 1613 | industry 1613 1614 | paninis 1614 1615 | favorite 1615 1616 | side 1616 1617 | chop 1617 1618 | pistachio 1618 1619 | snack 1619 1620 | stand 1620 1621 | neighbor 1621 1622 | chow 1622 1623 | ow 1623 1624 | ou 1624 1625 | luck 1625 1626 | or 1626 1627 | road 1627 1628 | advanatage 1628 1629 | wontons 1629 1630 | quietly 1630 1631 | burning 1631 1632 | gari 1632 1633 | cuisin 1633 1634 | charts 1634 1635 | non-intrusive 1635 1636 | clams 1636 1637 | lively 1637 1638 | heated 1638 1639 | england 1639 1640 | your 1640 1641 | upstairs 1641 1642 | buds 1642 1643 | her 1643 1644 | area 1644 1645 | removing 1645 1646 | there 1646 1647 | desert 1647 1648 | sampling 1648 1649 | start 1649 1650 | poured 1650 1651 | mondays 1651 1652 | low 1652 1653 | liang 1653 1654 | jalapeno-lime 1654 1655 | lox 1655 1656 | energy 1656 1657 | inobtrusive 1657 1658 | spicy 1658 1659 | complete 1659 1660 | enough 1660 1661 | vindaloo 1661 1662 | alain 1662 1663 | delayed 1663 1664 | curiously 1664 1665 | omelet 1665 1666 | e 1666 1667 | trying 1667 1668 | with 1668 1669 | buying 1669 1670 | spice 1670 1671 | rush 1671 1672 | raga 1672 1673 | romantic 1673 1674 | potato 1674 1675 | $t$ 1675 1676 | l.a. 1676 1677 | grass 1677 1678 | agree 1678 1679 | detailed 1679 1680 | gone 1680 1681 | ac 1681 1682 | palate 1682 1683 | taste 1683 1684 | certain 1684 1685 | am 1685 1686 | mike 1686 1687 | deep 1687 1688 | an 1688 1689 | imagination 1689 1690 | as 1690 1691 | burn-outs 1691 1692 | tasty 1692 1693 | at 1693 1694 | girlfriend 1694 1695 | lifetime 1695 1696 | sommlier 1696 1697 | tasts 1697 1698 | fill 1698 1699 | again 1699 1700 | stumbled 1700 1701 | edibility 1701 1702 | 2003 1702 1703 | deserve 1703 1704 | floored 1704 1705 | drafty 1705 1706 | rubber 1706 1707 | tight 1707 1708 | 6.25 1708 1709 | 5 1709 1710 | lafayette 1710 1711 | you 1711 1712 | tagliatelle 1712 1713 | poor 1713 1714 | branzino 1714 1715 | students 1715 1716 | makhani 1716 1717 | forgettable 1717 1718 | reccommend 1718 1719 | unsurpassed 1719 1720 | includes 1720 1721 | herbs 1721 1722 | near-by 1722 1723 | peak 1723 1724 | unattractive 1724 1725 | fresh 1725 1726 | included 1726 1727 | alcohol 1727 1728 | building 1728 1729 | wife 1729 1730 | 3-6 1730 1731 | mash 1731 1732 | u 1732 1733 | stringy 1733 1734 | directory 1734 1735 | songs 1735 1736 | teriyaki 1736 1737 | all 1737 1738 | sicilian 1738 1739 | consider 1739 1740 | chinese 1740 1741 | mozzerella 1741 1742 | lack 1742 1743 | dollar 1743 1744 | month 1744 1745 | parmesan 1745 1746 | dish 1746 1747 | kick-ass 1747 1748 | porcini 1748 1749 | hardcore 1749 1750 | reluctant 1750 1751 | dreadful 1751 1752 | careful 1752 1753 | everywhere 1753 1754 | regulars 1754 1755 | dumpling 1755 1756 | sashimi 1756 1757 | to 1757 1758 | dinnertime 1758 1759 | graciously 1759 1760 | dressing 1760 1761 | smile 1761 1762 | nori 1762 1763 | enjoying 1763 1764 | presentation 1764 1765 | case 1765 1766 | woman 1766 1767 | premium 1767 1768 | worse 1768 1769 | sitting 1769 1770 | very 1770 1771 | bistro-type 1771 1772 | overdone 1772 1773 | focus 1773 1774 | worst 1774 1775 | got 1775 1776 | awful 1776 1777 | ` 1777 1778 | heaven 1778 1779 | ranting 1779 1780 | sans 1780 1781 | kati 1781 1782 | -- 1782 1783 | list 1783 1784 | manager 1784 1785 | grandfather 1785 1786 | large 1786 1787 | prosciutto 1787 1788 | -1 1788 1789 | small 1789 1790 | chilaquiles 1790 1791 | neighborhood 1791 1792 | gnochi 1792 1793 | attended 1793 1794 | onglet 1794 1795 | nearing 1795 1796 | past 1796 1797 | burger 1797 1798 | rate 1798 1799 | design 1799 1800 | pass 1800 1801 | vomit-inducing 1801 1802 | casual 1802 1803 | ribbon 1803 1804 | creatures 1804 1805 | cheeses 1805 1806 | what 1806 1807 | overly-ambitious 1807 1808 | stood 1808 1809 | risen 1809 1810 | sun 1810 1811 | sum 1811 1812 | crust 1812 1813 | quasi-thai 1813 1814 | 18 1814 1815 | tanya 1815 1816 | version 1816 1817 | apologized 1817 1818 | scallops 1818 1819 | contrast 1819 1820 | condensed 1820 1821 | full 1821 1822 | dissappointed 1822 1823 | unprofessional 1823 1824 | leaping 1824 1825 | chili 1825 1826 | hours 1826 1827 | tracks 1827 1828 | sardines 1828 1829 | strong 1829 1830 | respect 1830 1831 | personable 1831 1832 | search 1832 1833 | ahead 1833 1834 | extraordinary 1834 1835 | vegetarian 1835 1836 | thursday 1836 1837 | reason 1837 1838 | experience 1838 1839 | amount 1839 1840 | lasagna 1840 1841 | arent 1841 1842 | pick 1842 1843 | action 1843 1844 | narrow 1844 1845 | sweetness 1845 1846 | options 1846 1847 | outragous 1847 1848 | guacamole 1848 1849 | family 1849 1850 | put 1850 1851 | apprised 1851 1852 | aesthetics 1852 1853 | trained 1853 1854 | eye 1854 1855 | takes 1855 1856 | ridding 1856 1857 | occassion 1857 1858 | two 1858 1859 | resident 1859 1860 | 6 1860 1861 | taken 1861 1862 | chettinad 1862 1863 | more 1863 1864 | tikka 1864 1865 | diamond 1865 1866 | door 1866 1867 | knows 1867 1868 | kerosene 1868 1869 | omelletes 1869 1870 | tofu 1870 1871 | surprisingly 1871 1872 | excuse 1872 1873 | mill 1873 1874 | dinnerbroker 1874 1875 | stick 1875 1876 | 10:15 1876 1877 | particular 1877 1878 | known 1878 1879 | unbeliavably 1879 1880 | hurry 1880 1881 | town 1881 1882 | grill 1882 1883 | none 1883 1884 | pleasing 1884 1885 | hour 1885 1886 | blah 1886 1887 | nina 1887 1888 | del 1888 1889 | pinnacles 1889 1890 | bruschettas 1890 1891 | def 1891 1892 | beautiful 1892 1893 | compare 1893 1894 | korma 1894 1895 | atrocious 1895 1896 | stated 1896 1897 | joints 1897 1898 | ambient 1898 1899 | suggestions 1899 1900 | minimun 1900 1901 | pushed 1901 1902 | minimum 1902 1903 | salty 1903 1904 | imitation 1904 1905 | sense 1905 1906 | asian-air 1906 1907 | dress 1907 1908 | reputation 1908 1909 | ! 1909 1910 | huge 1910 1911 | needs 1911 1912 | cours 1912 1913 | rather 1913 1914 | chops 1914 1915 | rye 1915 1916 | mcds 1916 1917 | menus 1917 1918 | occasionally 1918 1919 | worry 1919 1920 | freshly 1920 1921 | dills 1921 1922 | stir 1922 1923 | goat 1923 1924 | pongsri 1924 1925 | sandwich 1925 1926 | okay 1926 1927 | tried 1927 1928 | rude 1928 1929 | nebbiolo 1929 1930 | advice 1930 1931 | different 1931 1932 | sophistication 1932 1933 | tries 1933 1934 | fe 1934 1935 | coming 1935 1936 | authentic 1936 1937 | a 1937 1938 | short 1938 1939 | crowded 1939 1940 | coat 1940 1941 | mezz 1941 1942 | eats 1942 1943 | buns 1943 1944 | perhaps 1944 1945 | chopsticks 1945 1946 | halibut 1946 1947 | overcooked 1947 1948 | ??? 1948 1949 | breads 1949 1950 | egg 1950 1951 | playing 1951 1952 | patio 1952 1953 | turnover 1953 1954 | pans 1954 1955 | miso 1955 1956 | bhelpuri 1956 1957 | mexican 1957 1958 | help 1958 1959 | essence 1959 1960 | sooo 1960 1961 | soon 1961 1962 | attitude 1962 1963 | paper 1963 1964 | through 1964 1965 | lava 1965 1966 | signs 1966 1967 | vittorio 1967 1968 | avenue 1968 1969 | its 1969 1970 | arrogant 1970 1971 | seeming 1971 1972 | 24 1972 1973 | 25 1973 1974 | style 1974 1975 | 20 1975 1976 | call 1976 1977 | pray 1977 1978 | greatly 1978 1979 | 28 1979 1980 | actually 1980 1981 | late 1981 1982 | 6.00 1982 1983 | bummer 1983 1984 | friendliest 1984 1985 | pesto 1985 1986 | sauce 1986 1987 | colleague 1987 1988 | wasabe 1988 1989 | snobs 1989 1990 | good 1990 1991 | return 1991 1992 | generously 1992 1993 | than 1993 1994 | consisent 1994 1995 | food 1995 1996 | cannoli 1996 1997 | ye 1997 1998 | walls 1998 1999 | adventurous 1999 2000 | impressive 2000 2001 | easily 2001 2002 | gets 2002 2003 | lettuce 2003 2004 | always 2004 2005 | presented 2005 2006 | courses 2006 2007 | piping 2007 2008 | stopped 2008 2009 | turns 2009 2010 | found 2010 2011 | biscuits 2011 2012 | downside 2012 2013 | heavy 2013 2014 | sterling 2014 2015 | everyone 2015 2016 | knowledgeable 2016 2017 | another 2017 2018 | meaningless 2018 2019 | house 2019 2020 | fish 2020 2021 | hard 2021 2022 | idea 2022 2023 | oil 2023 2024 | expect 2024 2025 | haru 2025 2026 | beyond 2026 2027 | really 2027 2028 | leave 2028 2029 | it-especially 2029 2030 | lovers 2030 2031 | missed 2031 2032 | wondered 2032 2033 | mayonaisse 2033 2034 | scoops 2034 2035 | since 2035 2036 | tiramisu 2036 2037 | fountain 2037 2038 | longtime 2038 2039 | 7 2039 2040 | bistro 2040 2041 | liquers 2041 2042 | sevpuri 2042 2043 | boldness 2043 2044 | bass 2044 2045 | pathetic 2045 2046 | squished 2046 2047 | calzone 2047 2048 | friday 2048 2049 | pub 2049 2050 | pleasant 2050 2051 | difficulty 2051 2052 | experimenting 2052 2053 | imagine 2053 2054 | ask 2054 2055 | attendant 2055 2056 | beginning 2056 2057 | guy 2057 2058 | lag 2058 2059 | bumped 2059 2060 | owners 2060 2061 | premisis 2061 2062 | whim 2062 2063 | persons 2063 2064 | corriander 2064 2065 | spinach 2065 2066 | terrible 2066 2067 | noted 2067 2068 | gourmet 2068 2069 | american 2069 2070 | expecting 2070 2071 | sensations 2071 2072 | neglected 2072 2073 | st. 2073 2074 | delicate 2074 2075 | knots 2075 2076 | dine 2076 2077 | dont 2077 2078 | slipped 2078 2079 | upper 2079 2080 | feel 2080 2081 | knocking 2081 2082 | number 2082 2083 | fancy 2083 2084 | feet 2084 2085 | done 2085 2086 | bland 2086 2087 | miss 2087 2088 | villa 2088 2089 | story 2089 2090 | heads 2090 2091 | guest 2091 2092 | benedict 2092 2093 | twenty 2093 2094 | 5th 2094 2095 | moderately 2095 2096 | least 2096 2097 | scallion 2097 2098 | wonderful 2098 2099 | passed 2099 2100 | hundred 2100 2101 | banana 2101 2102 | jem 2102 2103 | tramezzinis 2103 2104 | warmly 2104 2105 | option 2105 2106 | behind 2106 2107 | parm 2107 2108 | park 2108 2109 | hesititate 2109 2110 | appreciation 2110 2111 | luckily 2111 2112 | part 2112 2113 | typhoon 2113 2114 | bouche 2114 2115 | believe 2115 2116 | grace 2116 2117 | gret 2117 2118 | king 2118 2119 | kind 2119 2120 | b 2120 2121 | mahal 2121 2122 | gotten 2122 2123 | dogs 2123 2124 | i 2124 2125 | 10-piece 2125 2126 | dank 2126 2127 | supposed 2127 2128 | stale 2128 2129 | toward 2129 2130 | entranceway 2130 2131 | remembers 2131 2132 | delectable 2132 2133 | outta 2133 2134 | basically 2134 2135 | outstanding 2135 2136 | wasnt 2136 2137 | antipasti 2137 2138 | w'burg 2138 2139 | juicy 2139 2140 | juice 2140 2141 | substantial 2141 2142 | blond 2142 2143 | qpr 2143 2144 | tandoori 2144 2145 | orders 2145 2146 | sensual 2146 2147 | sell 2147 2148 | lie 2148 2149 | nights 2149 2150 | zero 2150 2151 | superior 2151 2152 | spaghetti 2152 2153 | self 2153 2154 | lit 2154 2155 | also 2155 2156 | costs 2156 2157 | lip 2157 2158 | sandwiches 2158 2159 | finding 2159 2160 | langostine 2160 2161 | zucchini 2161 2162 | unremarkable 2162 2163 | experienced 2163 2164 | bottle 2164 2165 | eggs 2165 2166 | measures 2166 2167 | salmon 2167 2168 | chart 2168 2169 | most 2169 2170 | brooklyn 2170 2171 | charm 2171 2172 | plan 2172 2173 | eaten 2173 2174 | 70 2174 2175 | nothing 2175 2176 | adds 2176 2177 | extremely 2177 2178 | appear 2178 2179 | understands 2179 2180 | windows 2180 2181 | clear 2181 2182 | sometimes 2182 2183 | traditional 2183 2184 | cramped 2184 2185 | clean 2185 2186 | notch 2186 2187 | beancurd 2187 2188 | chowder 2188 2189 | walk-up 2189 2190 | afortune 2190 2191 | lay 2191 2192 | mussaman 2192 2193 | fillet 2193 2194 | frisco 2194 2195 | 2-person 2195 2196 | fine 2196 2197 | find 2197 2198 | faces 2198 2199 | northern 2199 2200 | evoked 2200 2201 | failed 2201 2202 | fellow 2202 2203 | pretty 2203 2204 | factor 2204 2205 | 8 2205 2206 | hip 2206 2207 | palets 2207 2208 | his 2208 2209 | hit 2209 2210 | gratis 2210 2211 | meanwhile 2211 2212 | grocery 2212 2213 | famous 2213 2214 | grew 2214 2215 | batter 2215 2216 | fastest 2216 2217 | closely 2217 2218 | competing 2218 2219 | combinations 2219 2220 | during 2220 2221 | him 2221 2222 | inside-out 2222 2223 | crabmeat 2223 2224 | common 2224 2225 | double 2225 2226 | river 2226 2227 | courteous 2227 2228 | restaurants 2228 2229 | cole 2229 2230 | set 2230 2231 | art 2231 2232 | bart 2232 2233 | overwhelm 2233 2234 | raddichio 2234 2235 | arrives 2235 2236 | doneness 2236 2237 | toons 2237 2238 | professional 2238 2239 | are 2239 2240 | sea 2240 2241 | tender 2241 2242 | close 2242 2243 | comfort 2243 2244 | breast 2244 2245 | chose 2245 2246 | drumsticks 2246 2247 | patties 2247 2248 | expert 2248 2249 | visiting 2249 2250 | wow 2250 2251 | 3-course 2251 2252 | please 2252 2253 | fans 2253 2254 | creme 2254 2255 | various 2255 2256 | multiples 2256 2257 | tortelini 2257 2258 | probably 2258 2259 | burned 2259 2260 | champagne 2260 2261 | perfectly 2261 2262 | compliment 2262 2263 | wide 2263 2264 | available 2264 2265 | artery-clogging 2265 2266 | recently 2266 2267 | sparsely 2267 2268 | complementary 2268 2269 | attention 2269 2270 | competent 2270 2271 | pre-theater 2271 2272 | both 2272 2273 | cubes 2273 2274 | last 2274 2275 | showcase 2275 2276 | hesitant 2276 2277 | restaurant 2277 2278 | fiance 2278 2279 | treated 2279 2280 | 19.95 2280 2281 | mcdonald 2281 2282 | became 2282 2283 | eggplant 2283 2284 | forgotten 2284 2285 | vault 2285 2286 | pour-your-own 2286 2287 | whole 2287 2288 | load 2288 2289 | subpar 2289 2290 | liked 2290 2291 | point 2291 2292 | simple 2292 2293 | sweet 2293 2294 | acted 2294 2295 | northeastern 2295 2296 | community 2296 2297 | scallop 2297 2298 | simply 2298 2299 | village 2299 2300 | rave 2300 2301 | crispy 2301 2302 | expensive 2302 2303 | belt 2303 2304 | souffle 2304 2305 | described 2305 2306 | jsut 2306 2307 | mind-blowing 2307 2308 | overlook 2308 2309 | due 2309 2310 | whom 2310 2311 | proprietor 2311 2312 | megadeth 2312 2313 | brick 2313 2314 | extreme 2314 2315 | meeting 2315 2316 | po 2316 2317 | empty 2317 2318 | pm 2318 2319 | lived 2319 2320 | flight 2320 2321 | assorted 2321 2322 | flavorful 2322 2323 | grating 2323 2324 | else 2324 2325 | pricey 2325 2326 | understand 2326 2327 | specifically 2327 2328 | overcompensate 2328 2329 | prices 2329 2330 | standout 2330 2331 | unnecessarily 2331 2332 | bruschetta 2332 2333 | look 2333 2334 | hostess 2334 2335 | solid 2335 2336 | accomodate 2336 2337 | reliable 2337 2338 | bill 2338 2339 | budget 2339 2340 | sesame 2340 2341 | while 2341 2342 | replaced 2342 2343 | match 2343 2344 | fun 2344 2345 | pack 2345 2346 | real 2346 2347 | larger 2347 2348 | hoping 2348 2349 | overlooked 2349 2350 | drawbacks 2350 2351 | encountered 2351 2352 | disappointing 2352 2353 | itself 2353 2354 | frantic 2354 2355 | beautifully 2355 2356 | ready 2356 2357 | quail 2357 2358 | cuisine 2358 2359 | decor 2359 2360 | barney 2360 2361 | italy 2361 2362 | twice-1 2362 2363 | 8:00 2363 2364 | mint 2364 2365 | shorter 2365 2366 | corridor 2366 2367 | grand 2367 2368 | 9 2368 2369 | relatively 2369 2370 | higher 2370 2371 | used 2371 2372 | fatty 2372 2373 | flooded 2373 2374 | gallery 2374 2375 | cigar 2375 2376 | tupperware 2376 2377 | ziti 2377 2378 | unpretensious 2378 2379 | moment 2379 2380 | arrived 2380 2381 | mussel 2381 2382 | infused 2382 2383 | assortment 2383 2384 | weird 2384 2385 | recent 2385 2386 | early 2386 2387 | overated 2387 2388 | noodle 2388 2389 | spent 2389 2390 | obviously 2390 2391 | person 2391 2392 | chees 2392 2393 | everythig 2393 2394 | convenient 2394 2395 | calcutta 2395 2396 | genuinely 2396 2397 | spend 2397 2398 | know 2398 2399 | alluring 2399 2400 | mom 2400 2401 | quarters 2401 2402 | questions 2402 2403 | roasted 2403 2404 | regardless 2404 2405 | taiwan 2405 2406 | cabaret 2406 2407 | tables 2407 2408 | drizzled 2408 2409 | chaat 2409 2410 | $ 2410 2411 | cup 2411 2412 | surprises 2412 2413 | workers 2413 2414 | percent 2414 2415 | likeable 2415 2416 | innovations 2416 2417 | source 2417 2418 | snappy 2418 2419 | pizzaria 2419 2420 | shoestring 2420 2421 | excited 2421 2422 | surprised 2422 2423 | build 2423 2424 | ridiculously 2424 2425 | ... 2425 2426 | complaint 2426 2427 | march 2427 2428 | complains 2428 2429 | lacking 2429 2430 | big 2430 2431 | couple 2431 2432 | unlimited 2432 2433 | private 2433 2434 | ave. 2434 2435 | bit 2435 2436 | translucent 2436 2437 | helpful 2437 2438 | inviting 2438 2439 | admittedly 2439 2440 | ignore 2440 2441 | eel 2441 2442 | individuals 2442 2443 | popular 2443 2444 | stylish 2444 2445 | improves 2445 2446 | flat 2446 2447 | stagnating 2447 2448 | often 2448 2449 | queens 2449 2450 | consomme 2450 2451 | trendi 2451 2452 | obliged 2452 2453 | sorbet 2453 2454 | some 2454 2455 | back 2455 2456 | understood 2456 2457 | added 2457 2458 | escargot 2458 2459 | pricing 2459 2460 | trendy 2460 2461 | candle 2461 2462 | server 2462 2463 | ourselves 2463 2464 | sauces 2464 2465 | godfather 2465 2466 | delivered 2466 2467 | per 2467 2468 | pen 2468 2469 | sneakers 2469 2470 | kai 2470 2471 | nose 2471 2472 | amazin 2472 2473 | be 2473 2474 | run 2474 2475 | rub 2475 2476 | bo 2476 2477 | lover 2477 2478 | santa 2478 2479 | rearely 2479 2480 | orrechiete 2480 2481 | crap 2481 2482 | major 2482 2483 | by 2483 2484 | working 2484 2485 | anything 2485 2486 | raucous 2486 2487 | leftover 2487 2488 | unconventional 2488 2489 | oatmeal 2489 2490 | deserves 2490 2491 | range 2491 2492 | beans 2492 2493 | experiences 2493 2494 | complimentary 2494 2495 | go-to 2495 2496 | block 2496 2497 | clubhouse 2497 2498 | significant 2498 2499 | into 2499 2500 | integral 2500 2501 | nonsense 2501 2502 | servers 2502 2503 | appropriate 2503 2504 | moshphere 2504 2505 | selected 2505 2506 | steven 2506 2507 | kielbasa 2507 2508 | carpaachio 2508 2509 | rolls 2509 2510 | impressed 2510 2511 | lonk 2511 2512 | tasting 2512 2513 | spending 2513 2514 | long 2514 2515 | eventhough 2515 2516 | homemade 2516 2517 | heritage 2517 2518 | forward 2518 2519 | kamikaze 2519 2520 | : 2520 2521 | cheeky 2521 2522 | metrazur 2522 2523 | himself 2523 2524 | elsewhere 2524 2525 | filet 2525 2526 | jewish 2526 2527 | skewers 2527 2528 | relaxed 2528 2529 | buttery 2529 2530 | paneer 2530 2531 | girlfriends 2531 2532 | hoped 2532 2533 | soupy 2533 2534 | montparnasse 2534 2535 | line 2535 2536 | dull 2536 2537 | info 2537 2538 | faan 2538 2539 | magnificant 2539 2540 | fries 2540 2541 | up 2541 2542 | us 2542 2543 | par 2543 2544 | planet 2544 2545 | paired 2545 2546 | 're 2546 2547 | accustomed 2547 2548 | highlight 2548 2549 | fried 2549 2550 | etc. 2550 2551 | called 2551 2552 | popularity 2552 2553 | ordered 2553 2554 | elegant 2554 2555 | inexpertly 2555 2556 | chai 2556 2557 | nazi-like 2557 2558 | associates 2558 2559 | evening 2559 2560 | home 2560 2561 | rally 2561 2562 | no-class 2562 2563 | cafe 2563 2564 | rainy 2564 2565 | codes 2565 2566 | lemon 2566 2567 | grp 2567 2568 | amounts 2568 2569 | nar 2569 2570 | points 2570 2571 | semi-private 2571 2572 | swirl 2572 2573 | mayonnaise 2573 2574 | manhattan 2574 2575 | nice 2575 2576 | smiles 2576 2577 | draw 2577 2578 | varities 2578 2579 | gf 2579 2580 | gulab 2580 2581 | problems 2581 2582 | prepared 2582 2583 | helping 2583 2584 | cater 2584 2585 | allowing 2585 2586 | dals 2586 2587 | brushetta 2587 2588 | mott 2588 2589 | reservation 2589 2590 | sides 2590 2591 | ago 2591 2592 | happier 2592 2593 | overlooking 2593 2594 | practically 2594 2595 | asthetically 2595 2596 | outing 2596 2597 | vow 2597 2598 | svc 2598 2599 | walked 2599 2600 | sty-town 2600 2601 | cooked 2601 2602 | beverage 2602 2603 | 2006 2603 2604 | far 2604 2605 | beers 2605 2606 | having 2606 2607 | once 2607 2608 | northside 2608 2609 | katz 2609 2610 | teodora 2610 2611 | jason 2611 2612 | ashamed 2612 2613 | melts 2613 2614 | scratch 2614 2615 | enjoyable 2615 2616 | desserts 2616 2617 | dainty 2617 2618 | go 2618 2619 | particularly 2619 2620 | seemed 2620 2621 | compact 2621 2622 | terms 2622 2623 | vietnamese 2623 2624 | concerned 2624 2625 | shanghai 2625 2626 | young 2626 2627 | kababs 2627 2628 | culinary 2628 2629 | germain 2629 2630 | starter 2630 2631 | visitor 2631 2632 | ambience 2632 2633 | include 2633 2634 | cornelia 2634 2635 | friendly 2635 2636 | waiters 2636 2637 | stocked 2637 2638 | wished 2638 2639 | garden 2639 2640 | dessert 2640 2641 | listed 2641 2642 | !!! 2642 2643 | screwed 2643 2644 | bbq-ed 2644 2645 | putting 2645 2646 | telling 2646 2647 | sastifying 2647 2648 | drinking 2648 2649 | unimposing 2649 2650 | continued 2650 2651 | wipe 2651 2652 | edible 2652 2653 | timely 2653 2654 | entire 2654 2655 | magic 2655 2656 | murrays 2656 2657 | varys 2657 2658 | try 2658 2659 | tunnel 2659 2660 | skipped 2660 2661 | busier 2661 2662 | rasberry 2662 2663 | dealt 2663 2664 | lasagnette 2664 2665 | ride 2665 2666 | top-notch 2666 2667 | app 2667 2668 | smaller 2668 2669 | xcept 2669 2670 | favorites 2670 2671 | mediterranean 2671 2672 | ripped 2672 2673 | shrimps 2673 2674 | jump 2674 2675 | redone 2675 2676 | blowing 2676 2677 | hyde 2677 2678 | booth 2678 2679 | uncomfortable 2679 2680 | ummm 2680 2681 | odd 2681 2682 | ues 2682 2683 | roofdeck 2683 2684 | reviews 2684 2685 | sausage 2685 2686 | unavailable 2686 2687 | wallet 2687 2688 | delicous 2688 2689 | sangria 2689 2690 | overwhelmed 2690 2691 | cell 2691 2692 | consistently 2692 2693 | waiting 2693 2694 | indian 2694 2695 | obvious 2695 2696 | piped 2696 2697 | scenery 2697 2698 | downright 2698 2699 | seine 2699 2700 | cozy 2700 2701 | consistant 2701 2702 | urchin 2702 2703 | gathered 2703 2704 | desired 2704 2705 | busy 2705 2706 | let 2706 2707 | pancake 2707 2708 | ley 2708 2709 | wine-by-the-glass 2709 2710 | vinegar 2710 2711 | great 2711 2712 | 30 2712 2713 | spiced 2713 2714 | portioins 2714 2715 | 35 2715 2716 | leaving 2716 2717 | weekday 2717 2718 | popcorn 2718 2719 | opinion 2719 2720 | residents 2720 2721 | spices 2721 2722 | makes 2722 2723 | capex 2723 2724 | thats 2724 2725 | fake 2725 2726 | apple 2726 2727 | yellowfun 2727 2728 | apt 2728 2729 | crosby 2729 2730 | names 2730 2731 | duck 2731 2732 | reserved 2732 2733 | getup 2733 2734 | lime 2734 2735 | standing 2735 2736 | use 2736 2737 | from 2737 2738 | quick-cooked 2738 2739 | iced 2739 2740 | remains 2740 2741 | masaman 2741 2742 | hudson 2742 2743 | murky 2743 2744 | frog 2744 2745 | next 2745 2746 | few 2746 2747 | doubt 2747 2748 | chu 2748 2749 | crab 2749 2750 | eye-pleasing 2750 2751 | means 2751 2752 | intend 2752 2753 | oily 2753 2754 | sort 2754 2755 | on 2755 2756 | started 2756 2757 | lounge 2757 2758 | impress 2758 2759 | charming 2759 2760 | carrying 2760 2761 | whisks 2761 2762 | 14.00 2762 2763 | baby 2763 2764 | fillings 2764 2765 | pieces 2765 2766 | broth 2766 2767 | customer 2767 2768 | codfish 2768 2769 | salad 2769 2770 | f 2770 2771 | this 2771 2772 | challenge 2772 2773 | clients 2773 2774 | highlighting 2774 2775 | pour 2775 2776 | donut 2776 2777 | anywhere 2777 2778 | crossed 2778 2779 | thin 2779 2780 | servants 2780 2781 | meet 2781 2782 | seafoods 2782 2783 | tap 2783 2784 | plate 2784 2785 | off-set 2785 2786 | high 2786 2787 | tag 2787 2788 | something 2788 2789 | tal 2789 2790 | tan 2790 2791 | shrimp 2791 2792 | onions 2792 2793 | tai 2793 2794 | taj 2794 2795 | lamb 2795 2796 | hesitate 2796 2797 | tao 2797 2798 | varied 2798 2799 | friendlier 2799 2800 | sit 2800 2801 | vibe 2801 2802 | wandered 2802 2803 | flaky 2803 2804 | located 2804 2805 | cabbies 2805 2806 | 55.00 2806 2807 | instead 2807 2808 | establishment 2808 2809 | oz 2809 2810 | fare 2810 2811 | entree 2811 2812 | blocks 2812 2813 | attend 2813 2814 | tiem 2814 2815 | watch 2815 2816 | waters 2816 2817 | act 2817 2818 | mixed 2818 2819 | incompetency 2819 2820 | ethnic 2820 2821 | efficiently 2821 2822 | 12-14 2822 2823 | ot 2823 2824 | poached 2824 2825 | light 2825 2826 | counter 2826 2827 | lines 2827 2828 | interrupted 2828 2829 | dinners 2829 2830 | bakery 2830 2831 | allow 2831 2832 | classy 2832 2833 | fallback 2833 2834 | lined 2834 2835 | counted 2835 2836 | bartenders 2836 2837 | preparing 2837 2838 | soggy 2838 2839 | ever-changing 2839 2840 | in-house 2840 2841 | rices 2841 2842 | encouraged 2842 2843 | ladies 2843 2844 | citysearch 2844 2845 | charmingly 2845 2846 | mojito 2846 2847 | celebrations 2847 2848 | including 2848 2849 | looks 2849 2850 | mentioned 2850 2851 | recomendations 2851 2852 | butternut 2852 2853 | bunch 2853 2854 | perfect 2854 2855 | write 2855 2856 | brioche 2856 2857 | le 2857 2858 | la 2858 2859 | chosen 2859 2860 | willing 2860 2861 | choose 2861 2862 | pre-theatre 2862 2863 | crowds 2863 2864 | rip-off 2864 2865 | artisanal 2865 2866 | dal 2866 2867 | dam 2867 2868 | swordfish 2868 2869 | mention 2869 2870 | hands 2870 2871 | front 2871 2872 | seaweed 2872 2873 | day 2873 2874 | minimalist 2874 2875 | personally 2875 2876 | panang 2876 2877 | warned 2877 2878 | freshness 2878 2879 | yasuda 2879 2880 | delightful 2880 2881 | princesses 2881 2882 | accompanied 2882 2883 | bills 2883 2884 | glasses 2884 2885 | watery 2885 2886 | doing 2886 2887 | deegan 2887 2888 | over-bearing 2888 2889 | ambiance 2889 2890 | apppetizers 2890 2891 | exceeded 2891 2892 | our 2892 2893 | 80 2893 2894 | wander 2894 2895 | special 2895 2896 | out 2896 2897 | category 2897 2898 | ' 2898 2899 | nothingon 2899 2900 | casualness 2900 2901 | yellowtail 2901 2902 | red 2902 2903 | scampi 2903 2904 | bubbly 2904 2905 | approached 2905 2906 | wines 2906 2907 | thius 2907 2908 | promptly 2908 2909 | guizhou 2909 2910 | completely 2910 2911 | 2.50 2911 2912 | surely 2912 2913 | york 2913 2914 | usual 2914 2915 | excpetiona 2915 2916 | cooked-to-perfection 2916 2917 | craving 2917 2918 | freshwater 2918 2919 | prepare 2919 2920 | g 2920 2921 | napoli 2921 2922 | steal 2922 2923 | could 2923 2924 | times 2924 2925 | marcelo 2925 2926 | conversation 2926 2927 | produce 2927 2928 | pudding 2928 2929 | curtious 2929 2930 | stickler 2930 2931 | meals 2931 2932 | marsala 2932 2933 | waitress 2933 2934 | rudely 2934 2935 | apps 2935 2936 | scene 2936 2937 | reaches 2937 2938 | soothing 2938 2939 | mai 2939 2940 | glorified 2940 2941 | steamy 2941 2942 | owner 2942 2943 | reached 2943 2944 | blows 2944 2945 | precisely 2945 2946 | quality 2946 2947 | prixe 2947 2948 | indistinguished 2948 2949 | has 2949 2950 | management 2950 2951 | sadly 2951 2952 | decrease 2952 2953 | privacy 2953 2954 | ordering 2954 2955 | accent 2955 2956 | system 2956 2957 | shockingly 2957 2958 | herky 2958 2959 | their 2959 2960 | intermediate 2960 2961 | impecible 2961 2962 | wrapped 2962 2963 | pakistani 2963 2964 | roomier 2964 2965 | tomato 2965 2966 | gummy 2966 2967 | shell 2967 2968 | stomach 2968 2969 | lot 2969 2970 | exactly 2970 2971 | biggest 2971 2972 | accompaniment 2972 2973 | anyones 2973 2974 | runners 2974 2975 | completes 2975 2976 | remember 2976 2977 | loved 2977 2978 | parched 2978 2979 | boring 2979 2980 | see 2980 2981 | rarity 2981 2982 | cucumbers 2982 2983 | appealing 2983 2984 | loves 2984 2985 | 6th 2985 2986 | neapolitan 2986 2987 | visited 2987 2988 | negatively 2988 2989 | amuse 2989 2990 | bet 2990 2991 | dowtown 2991 2992 | lightly 2992 2993 | horrendous 2993 2994 | comfortable 2994 2995 | stike 2995 2996 | have 2996 2997 | need 2997 2998 | dosas 2998 2999 | apparently 2999 3000 | clearly 3000 3001 | energeic 3001 3002 | unbearable 3002 3003 | dishes 3003 3004 | allergies 3004 3005 | oozing 3005 3006 | able 3006 3007 | impecable 3007 3008 | bagel 3008 3009 | mix 3009 3010 | sprinkled 3010 3011 | which 3011 3012 | unbearably 3012 3013 | unless 3013 3014 | who 3014 3015 | mortal 3015 3016 | filets 3016 3017 | snacking 3017 3018 | digestive 3018 3019 | lectured 3019 3020 | why 3020 3021 | freindly 3021 3022 | refreshing 3022 3023 | reminds 3023 3024 | enthusiastic 3024 3025 | request 3025 3026 | hh 3026 3027 | martini 3027 3028 | looked 3028 3029 | scents 3029 3030 | se-ew 3030 3031 | occasion 3031 3032 | generation-fornini 3032 3033 | fact 3033 3034 | tear 3034 3035 | atmosphere 3035 3036 | selection 3036 3037 | burner 3037 3038 | agreed 3038 3039 | sent 3039 3040 | doughy 3040 3041 | anyway 3041 3042 | bring 3042 3043 | planning 3043 3044 | parked 3044 3045 | chevre 3045 3046 | rough 3046 3047 | longer 3047 3048 | feat 3048 3049 | pleased 3049 3050 | samosa 3050 3051 | staff 3051 3052 | costco 3052 3053 | based 3053 3054 | knowledge 3054 3055 | ( 3055 3056 | should 3056 3057 | terminal 3057 3058 | beautification 3058 3059 | 23.95 3059 3060 | combo 3060 3061 | myriad 3061 3062 | minnow 3062 3063 | hope 3063 3064 | slighly 3064 3065 | regularly 3065 3066 | keeps 3066 3067 | skimp 3067 3068 | aanother 3068 3069 | exceptional 3069 3070 | beat 3070 3071 | overall 3071 3072 | take-out 3072 3073 | specjal 3073 3074 | joint 3074 3075 | bean 3075 3076 | ones 3076 3077 | waterbug 3077 3078 | perfection 3078 3079 | words 3079 3080 | striped 3080 3081 | knowledgable 3081 3082 | chips 3082 3083 | abby 3083 3084 | ghetto 3084 3085 | following 3085 3086 | amid 3086 3087 | places 3087 3088 | ended 3088 3089 | h 3089 3090 | gras 3090 3091 | summer-eat 3091 3092 | pre-fixe 3092 3093 | stuff 3093 3094 | she 3094 3095 | grab 3095 3096 | meatsauce 3096 3097 | view 3097 3098 | concoction 3098 3099 | inventive 3099 3100 | exists 3100 3101 | pinard 3101 3102 | taiwanese 3102 3103 | yorkie 3103 3104 | !!!! 3104 3105 | powder 3105 3106 | gaskin 3106 3107 | cold 3107 3108 | packed 3108 3109 | noticicing 3109 3110 | closer 3110 3111 | nolita 3111 3112 | nightmare 3112 3113 | horribly 3113 3114 | meatballs 3114 3115 | tend 3115 3116 | favor 3116 3117 | written 3117 3118 | ess-a 3118 3119 | closed 3119 3120 | horrible 3120 3121 | progress 3121 3122 | neither 3122 3123 | joya 3123 3124 | bought 3124 3125 | nudged 3125 3126 | comparable 3126 3127 | nosiy 3127 3128 | hipster-wannabe 3128 3129 | opening 3129 3130 | importance 3130 3131 | weak 3131 3132 | beverages 3132 3133 | deliver 3133 3134 | job 3134 3135 | joe 3135 3136 | key 3136 3137 | commenting 3137 3138 | above-average 3138 3139 | buttah 3139 3140 | taking 3140 3141 | kosher 3141 3142 | weehawken 3142 3143 | puff 3143 3144 | passing 3144 3145 | fry 3145 3146 | kinds 3146 3147 | jersey 3147 3148 | otherwise 3148 3149 | comment 3149 3150 | hold 3150 3151 | wall 3151 3152 | ca 3152 3153 | walk 3153 3154 | arugula 3154 3155 | company 3155 3156 | table 3156 3157 | trays 3157 3158 | intitally 3158 3159 | insde 3159 3160 | i.e. 3160 3161 | addition 3161 3162 | decent 3162 3163 | balsamic 3163 3164 | sara 3164 3165 | dazzling 3165 3166 | drank 3166 3167 | penang 3167 3168 | treat 3168 3169 | recognize 3169 3170 | curtain 3170 3171 | waste 3171 3172 | naples 3172 3173 | bbq 3173 3174 | ls 3174 3175 | faced 3175 3176 | shoulders 3176 3177 | general 3177 3178 | moved 3178 3179 | lambchops 3179 3180 | bruscetta 3180 3181 | crappy 3181 3182 | parmesean 3182 3183 | finished 3183 3184 | ensuring 3184 3185 | sausages 3185 3186 | improved 3186 3187 | brunch 3187 3188 | ins 3188 3189 | present 3189 3190 | unlike 3190 3191 | plain 3191 3192 | value 3192 3193 | choices 3193 3194 | will 3194 3195 | ar 3195 3196 | owns 3196 3197 | wild 3197 3198 | au 3198 3199 | ultra 3199 3200 | frustrating 3200 3201 | ~ 3201 3202 | mamoun 3202 3203 | stuffing 3203 3204 | barely 3204 3205 | almost 3205 3206 | squid 3206 3207 | thus 3207 3208 | site 3208 3209 | helped 3209 3210 | vs 3210 3211 | vt 3211 3212 | claimed 3212 3213 | ave 3213 3214 | ) 3214 3215 | began 3215 3216 | waitresses 3216 3217 | member 3217 3218 | when 3218 3219 | strange 3219 3220 | flower 3220 3221 | largest 3221 3222 | eclectic 3222 3223 | party 3223 3224 | cream 3224 3225 | tomatoes 3225 3226 | difficult 3226 3227 | succulent 3227 3228 | pho 3228 3229 | slightly 3229 3230 | caters 3230 3231 | drink 3231 3232 | upon 3232 3233 | all-business 3233 3234 | overcrowded 3234 3235 | overpack 3235 3236 | frequently 3236 3237 | impeccable 3237 3238 | lobby 3238 3239 | off 3239 3240 | reflection 3240 3241 | nevertheless 3241 3242 | variety 3242 3243 | well 3243 3244 | delictable 3244 3245 | thought 3245 3246 | english 3246 3247 | limp 3247 3248 | raving 3248 3249 | caramelized 3249 3250 | restuarant 3250 3251 | cashew 3251 3252 | routinely 3252 3253 | less 3253 3254 | claiming 3254 3255 | accurate 3255 3256 | well-executed 3256 3257 | cakes 3257 3258 | freshmess 3258 3259 | seats 3259 3260 | iceberg 3260 3261 | topping 3261 3262 | web 3262 3263 | generous 3263 3264 | nicky 3264 3265 | diner-ish 3265 3266 | sky 3266 3267 | bench 3267 3268 | knish 3268 3269 | add 3269 3270 | attractive 3270 3271 | possibly 3271 3272 | half-price 3272 3273 | warrant 3273 3274 | kick 3274 3275 | checking 3275 3276 | crushed 3276 3277 | fats 3277 3278 | royalty 3278 3279 | five 3279 3280 | whatever 3280 3281 | desk 3281 3282 | immediately 3282 3283 | presentaion 3283 3284 | exellent 3284 3285 | necessary 3285 3286 | like 3286 3287 | onion 3287 3288 | sizes 3288 3289 | neighboors 3289 3290 | vibrant 3290 3291 | roti 3291 3292 | roth 3292 3293 | hosts 3293 3294 | become 3294 3295 | actors 3295 3296 | works 3296 3297 | soft 3297 3298 | italian 3298 3299 | accessible 3299 3300 | warmed 3300 3301 | because 3301 3302 | classical 3302 3303 | alive 3303 3304 | warmer 3304 3305 | recommendation 3305 3306 | proper 3306 3307 | thier 3307 3308 | peter 3308 3309 | stuffy 3309 3310 | recognition 3310 3311 | happens 3311 3312 | leaf 3312 3313 | jalapeno 3313 3314 | esp 3314 3315 | literally 3315 3316 | avoid 3316 3317 | lean 3317 3318 | she's-way-cuter-than-me-that-b@#$* 3318 3319 | favors 3319 3320 | does 3320 3321 | passion 3321 3322 | bustling 3322 3323 | forgiven 3323 3324 | truffle 3324 3325 | ? 3325 3326 | trout 3326 3327 | pepper 3327 3328 | noise 3328 3329 | 2-for 3329 3330 | rock 3330 3331 | host 3331 3332 | although 3332 3333 | hospitable 3333 3334 | pasta 3334 3335 | generic 3335 3336 | vs. 3336 3337 | noisy 3337 3338 | about 3338 3339 | rare 3339 3340 | asks 3340 3341 | getting 3341 3342 | 8.95 3342 3343 | location 3343 3344 | perks 3344 3345 | important 3345 3346 | toppings 3346 3347 | crusted 3347 3348 | pastries 3348 3349 | !! 3349 3350 | own 3350 3351 | narone 3351 3352 | mushrooms 3352 3353 | weather 3353 3354 | promise 3354 3355 | tiny 3355 3356 | female 3356 3357 | quickly 3357 3358 | bombay 3358 3359 | foie 3359 3360 | yorkers 3360 3361 | additional 3361 3362 | rushed 3362 3363 | cabernet 3363 3364 | vegetables 3364 3365 | * 3365 3366 | caviar 3366 3367 | secret 3367 3368 | spots 3368 3369 | noticed 3369 3370 | mozz 3370 3371 | maze 3371 3372 | yrs 3372 3373 | dosa 3373 3374 | resembled 3374 3375 | buy 3375 3376 | aunthentic 3376 3377 | shank 3377 3378 | undercooked-the 3378 3379 | but 3379 3380 | delivery 3380 3381 | basil 3381 3382 | repeated 3382 3383 | bun 3383 3384 | eat 3384 3385 | he 3385 3386 | mezzanine 3386 3387 | mizu 3387 3388 | made 3388 3389 | evident 3389 3390 | noon 3390 3391 | whether 3391 3392 | wish 3392 3393 | breweries 3393 3394 | smooth 3394 3395 | hosting 3395 3396 | distract 3396 3397 | record 3397 3398 | below 3398 3399 | hand 3399 3400 | cake 3400 3401 | problem 3401 3402 | piece 3402 3403 | minutes 3403 3404 | display 3404 3405 | cordial 3405 3406 | abrupt 3406 3407 | horrific 3407 3408 | intimidating 3408 3409 | reservations 3409 3410 | penny 3410 3411 | pie 3411 3412 | pig 3412 3413 | inn 3413 3414 | ino 3414 3415 | goodness 3415 3416 | arrival 3416 3417 | partly 3417 3418 | lentil 3418 3419 | suan 3419 3420 | compared 3420 3421 | 'll 3421 3422 | mushroom 3422 3423 | ingredients 3423 3424 | dressed 3424 3425 | photobook 3425 3426 | 45 3426 3427 | offensive 3427 3428 | 40 3428 3429 | other 3429 3430 | details 3430 3431 | incredibly 3431 3432 | pickels 3432 3433 | conclusion 3433 3434 | star 3434 3435 | monday 3435 3436 | shredded 3436 3437 | class 3437 3438 | embracing 3438 3439 | stay 3439 3440 | chance 3440 3441 | kinda 3441 3442 | priced 3442 3443 | friends 3443 3444 | opened 3444 3445 | platter 3445 3446 | using 3446 3447 | gelato 3447 3448 | entertainment 3448 3449 | rule 3449 3450 | portion 3450 3451 | 15-20 3451 3452 | baked 3452 3453 | kalbi 3453 3454 | -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/test.py: -------------------------------------------------------------------------------- 1 | # 2 | # import matplotlib.pyplot as plt 3 | # 4 | # num_list = [0.0929933 , 0.08506372 ,0.14606655, 0.24464758, 0.06144161, 0.25290242, 5 | # 0.06328169 ,0.05360315 ] 6 | # 7 | # name_list = ['Our','waiter', 'was', 'horrible', 'so', 'rude', 'and' ,'.'] 8 | # plt.bar(range(len(num_list)), num_list,tick_label=name_list) 9 | # plt.show() 10 | 11 | 12 | import numpy as np 13 | import tensorflow as tf 14 | # a = [[1,2], 15 | # [3,4]] 16 | # 17 | # c = np.sum(a,axis = 0) 18 | # print (c) 19 | 20 | # for i in range(0,10,2): 21 | # print (i) 22 | 23 | # index = tf.range(0, 5) * 2 24 | # with tf.Session() as sess: 25 | # sess.run(index) 26 | # 27 | # print (index) 28 | 29 | # a = np.array([[[1,2,3]], 30 | # [[4,5,6]]]) 31 | # b = np.array([[[2,2,2], 32 | # [2,2,2]], 33 | # [[2,2,2], 34 | # [2,2,2]]]) 35 | # 36 | # print (a.shape) 37 | # print (b.shape) 38 | # 39 | # c = a * b 40 | # print (c) 41 | 42 | # a = np.array([[[2,2,2,7,8], 43 | # [2,2,2,4,5], 44 | # [1,2,3,4,5]], 45 | # [[2,2,2,3,8], 46 | # [2,2,2,7,9], 47 | # [3,4,5,6,7]]]) 48 | # print (a.shape) 49 | # b = np.array([2 ,1]) 50 | # sxl = tf.reduce_max(a, 2,keep_dims=True) 51 | # with tf.Session() as sess: 52 | # print (sess.run(sxl)) 53 | 54 | # a = 1 if 6 % 2 else 0 55 | # print (a) 56 | # class_set = set([-1,1,1,0]) 57 | # sxl = dict(zip(class_set, range(3))) 58 | # # a = [3,4,5] 59 | # # np.random.shuffle(a) 60 | # print (sxl) 61 | def change_y_to_onehot(y): 62 | from collections import Counter 63 | print (Counter(y)) 64 | class_set = set(y) 65 | n_class = 3 66 | y_onehot_mapping = dict(zip(class_set, range(n_class))) #{0: 0, 1: 1, -1: 2} 67 | onehot = [] 68 | for label in y: 69 | tmp = [0] * n_class 70 | tmp[y_onehot_mapping[label]] = 1 71 | onehot.append(tmp) 72 | return np.asarray(onehot, dtype=np.int32) 73 | 74 | print (change_y_to_onehot([-1,-1,-1,-1,-1,1,-1,0])) -------------------------------------------------------------------------------- /attention-based latm for aspect-level sentiment classification/utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # @author: newbie 4 | # email: zhengshiliang0@gmail.com 5 | 6 | 7 | import numpy as np 8 | 9 | 10 | def batch_index(length, batch_size, n_iter=100, is_shuffle=True): #返回下标 11 | index = list(range(length)) #[0,1,2,...,3698] 12 | for j in range(n_iter): 13 | if is_shuffle: 14 | np.random.shuffle(index) 15 | for i in range(int(length / batch_size) + (1 if length % batch_size else 0)): 16 | yield index[i * batch_size:(i + 1) * batch_size] 17 | 18 | 19 | def load_word_id_mapping(word_id_file, encoding='utf8'): #word_id_new.txt 20 | """ 21 | :param word_id_file: word-id mapping file path 22 | :param encoding: file's encoding, for changing to unicode 23 | :return: word-id mapping, like hello=5 24 | """ 25 | word_to_id = dict() 26 | for line in open(word_id_file): 27 | # print (type(line)) 28 | # print (line) 29 | line = line.lower().split() 30 | word_to_id[line[0]] = int(line[1]) 31 | print ('\nload word-id mapping done!\n') 32 | # print (word_to_id['the']) 33 | # 34 | # print (word_to_id['our']) 35 | # print(word_to_id['waiter']) 36 | # print(word_to_id['was']) 37 | # print(word_to_id['horrible']) 38 | # #print(word_to_id[';']) 39 | # print(word_to_id['so']) 40 | # print(word_to_id['rude']) 41 | # print(word_to_id['and']) 42 | # #print(word_to_id['disinterested']) 43 | # print(word_to_id['.']) 44 | 45 | return word_to_id #dict 46 | 47 | 48 | def load_w2v(w2v_file, embedding_dim, is_skip=False): #rest_2014_word_embedding_300_new.txt 49 | fp = open(w2v_file) 50 | if is_skip: 51 | fp.readline() 52 | w2v = [] 53 | word_dict = dict() 54 | # [0,0,...,0] represent absent words 55 | w2v.append([0.] * embedding_dim) 56 | #print (type(w2v)) 57 | #print (w2v) 58 | #print (len(w2v[0])) 59 | cnt = 0 60 | for line in fp: 61 | cnt += 1 62 | line = line.split() 63 | if len(line) != embedding_dim + 1: 64 | print ('a bad word embedding: {}'.format(line[0])) 65 | continue 66 | w2v.append([float(v) for v in line[1:]]) 67 | word_dict[line[0]] = cnt 68 | #print (cnt) #3772个句子 69 | w2v = np.asarray(w2v, dtype=np.float32) 70 | w2v = np.row_stack((w2v, np.sum(w2v, axis=0) / cnt)) 71 | #print (np.shape(w2v)) #3774 * 300 72 | word_dict['$t$'] = (cnt + 1) 73 | #print('逗号的索引为',word_dict[',']) 74 | # w2v -= np.mean(w2v, axis=0) 75 | # w2v /= np.std(w2v, axis=0) 76 | #print (len(word_dict), len(w2v)) #3773,3774 77 | return word_dict, w2v #dict 3774 * 300 78 | 79 | 80 | def load_word_embedding(word_id_file, w2v_file, embedding_dim, is_skip=False): #生成以单词为key的字典及其对应的词向量 81 | word_to_id = load_word_id_mapping(word_id_file) #dict(3909) 82 | #print (word_to_id['$t$']) #1880 83 | #print (len(word_to_id)) 84 | #print ('sxl-------------') 85 | word_dict, w2v = load_w2v(w2v_file, embedding_dim, is_skip) #dict(3773) 3774 * 300 86 | #print (len(word_dict)) 87 | #print (word_dict['$t$']) 88 | #print (w2v.shape) 89 | #print ('sxl=============') 90 | cnt = len(w2v) #3774 91 | for k in word_to_id.keys(): 92 | if k not in word_dict: 93 | word_dict[k] = cnt 94 | w2v = np.row_stack((w2v, np.random.uniform(-0.01, 0.01, (embedding_dim,)))) 95 | cnt += 1 96 | #print (len(word_dict), len(w2v)) 97 | return word_dict, w2v #dict(3909) 3910 * 300 98 | 99 | 100 | def load_aspect2id(input_file, word_id_mapping, w2v, embedding_dim): #aspect_id_new.txt 101 | aspect2id = dict() 102 | a2v = list() 103 | a2v.append([0.] * embedding_dim) 104 | cnt = 0 105 | for line in open(input_file): 106 | line = line.lower().split() 107 | cnt += 1 108 | aspect2id[' '.join(line[:-1])] = cnt 109 | tmp = [] 110 | for word in line: 111 | if word in word_id_mapping: 112 | tmp.append(w2v[word_id_mapping[word]]) 113 | if tmp: 114 | a2v.append(np.sum(tmp, axis=0) / len(tmp)) 115 | else: 116 | a2v.append(np.random.uniform(-0.01, 0.01, (embedding_dim,))) 117 | #print (cnt) 118 | #print (len(aspect2id), len(a2v)) #1219,1220 119 | #print (aspect2id) 120 | #print (np.asarray(a2v, dtype=np.float32).shape) 121 | return aspect2id, np.asarray(a2v, dtype=np.float32) #dict(1219) 1220 * 300 122 | 123 | 124 | def change_y_to_onehot(y): 125 | from collections import Counter 126 | print (Counter(y)) 127 | class_set = set(y) 128 | n_class = 3 129 | y_onehot_mapping = {'0': 0, '1': 1, '-1': 2} 130 | onehot = [] 131 | for label in y: 132 | tmp = [0] * n_class 133 | tmp[y_onehot_mapping[label]] = 1 134 | onehot.append(tmp) 135 | return np.asarray(onehot, dtype=np.int32) 136 | 137 | 138 | # def load_inputs_twitter(input_file, word_id_file, sentence_len, type_='', encoding='utf8'): 139 | # if type(word_id_file) is str: 140 | # word_to_id = load_word_id_mapping(word_id_file) 141 | # else: 142 | # word_to_id = word_id_file 143 | # print ('load word-to-id done!') 144 | # 145 | # x, y, sen_len = [], [], [] 146 | # x_r, sen_len_r = [], [] 147 | # target_words = [] 148 | # lines = open(input_file).readlines() 149 | # for i in list(range(0, len(lines), 3)): 150 | # target_word = lines[i + 1].decode(encoding).lower().split() 151 | # target_word = map(lambda w: word_to_id.get(w, 0), target_word) 152 | # target_words.append([target_word[0]]) 153 | # 154 | # y.append(lines[i + 2].strip().split()[0]) 155 | # 156 | # words = lines[i].decode(encoding).lower().split() 157 | # words_l, words_r = [], [] 158 | # flag = True 159 | # for word in words: 160 | # if word == '$t$': 161 | # flag = False 162 | # continue 163 | # if flag: 164 | # if word in word_to_id: 165 | # words_l.append(word_to_id[word]) 166 | # else: 167 | # if word in word_to_id: 168 | # words_r.append(word_to_id[word]) 169 | # if type_ == 'TD' or type_ == 'TC': 170 | # words_l.extend(target_word) 171 | # sen_len.append(len(words_l)) 172 | # x.append(words_l + [0] * (sentence_len - len(words_l))) 173 | # tmp = target_word + words_r 174 | # tmp.reverse() 175 | # sen_len_r.append(len(tmp)) 176 | # x_r.append(tmp + [0] * (sentence_len - len(tmp))) 177 | # else: 178 | # words = words_l + target_word + words_r 179 | # sen_len.append(len(words)) 180 | # x.append(words + [0] * (sentence_len - len(words))) 181 | # 182 | # y = change_y_to_onehot(y) 183 | # if type_ == 'TD': 184 | # return np.asarray(x), np.asarray(sen_len), np.asarray(x_r), \ 185 | # np.asarray(sen_len_r), np.asarray(y) 186 | # elif type_ == 'TC': 187 | # return np.asarray(x), np.asarray(sen_len), np.asarray(x_r), \ 188 | # np.asarray(sen_len_r), np.asarray(y), np.asarray(target_words) 189 | # else: 190 | # return np.asarray(x), np.asarray(sen_len), np.asarray(y) 191 | 192 | 193 | # def extract_aspect_to_id(input_file, aspect2id_file): 194 | # dest_fp = open(aspect2id_file, 'w') 195 | # lines = open(input_file).readlines() 196 | # targets = set() 197 | # for i in list(range(0, len(lines), 3)): 198 | # target = lines[i + 1].lower().split() 199 | # targets.add(' '.join(target)) 200 | # aspect2id = list(zip(targets, range(1, len(lines) + 1))) 201 | # for k, v in aspect2id: 202 | # dest_fp.write(k + ' ' + str(v) + '\n') 203 | 204 | #rest_2014_lstm_train_new.txt dict(3909) dict(1219) 80 205 | def load_inputs_twitter_at(input_file, word_id_file, aspect_id_file, sentence_len, type_='', encoding='utf8'): 206 | if type(word_id_file) is str: 207 | word_to_id = load_word_id_mapping(word_id_file) 208 | else: 209 | word_to_id = word_id_file 210 | print ('load word-to-id done!') 211 | if type(aspect_id_file) is str: 212 | aspect_to_id = load_aspect2id(aspect_id_file) 213 | else: 214 | aspect_to_id = aspect_id_file 215 | print ('load aspect-to-id done!') 216 | 217 | x, y, sen_len = [], [], [] 218 | aspect_words = [] 219 | lines = open(input_file).readlines() 220 | #print (lines) 221 | #print (len(lines)) 222 | for i in range(0, len(lines), 3): #11097 / 3 = 3699 个训练集 223 | aspect_word = ' '.join(lines[i + 1].lower().split()) 224 | # print (aspect_word) 225 | # print (type(aspect_word)) #str 226 | aspect_words.append(aspect_to_id.get(aspect_word, 0)) 227 | # print (aspect_words) #list[3699] 228 | y.append(lines[i + 2].split()[0]) 229 | #print (y) #list[3699] 230 | words = lines[i].lower().split() 231 | ids = [] 232 | for word in words: 233 | if word in word_to_id: 234 | ids.append(word_to_id[word]) 235 | # ids = list(map(lambda word: word_to_id.get(word, 0), words)) 236 | if len(ids) != 0: 237 | sen_len.append(len(ids)) #list[3699] 238 | #print (len(sen_len)) 239 | x.append(ids + [0] * (sentence_len - len(ids))) 240 | #print (x) 241 | #print(sen_len) #说明不存在没有一个单词在word_id_mapping中的句子,似乎所有句子的所有单词都出现在word_id_mapping中 242 | cnt = 0 243 | for item in aspect_words: 244 | if item > 0: 245 | cnt += 1 246 | print ('cnt=', cnt) 247 | y = change_y_to_onehot(y) 248 | for item in x: 249 | if len(item) != sentence_len: 250 | print ('aaaaa=', len(item)) 251 | x = np.asarray(x, dtype=np.int32) 252 | #print (x.shape) #3699 * 80 253 | #print (np.asarray(sen_len).shape) #3699 254 | #print (np.asarray(aspect_words).shape) #3699 255 | #print (np.asarray(y).shape) #3699 * 3 256 | return x, np.asarray(sen_len), np.asarray(aspect_words), np.asarray(y) 257 | --------------------------------------------------------------------------------