diff --git "a/Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\236\245\354\235\270\354\204\234.ipynb" "b/Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\236\245\354\235\270\354\204\234.ipynb" new file mode 100644 index 0000000..49bbd4b --- /dev/null +++ "b/Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\236\245\354\235\270\354\204\234.ipynb" @@ -0,0 +1,1420 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 78 + }, + "id": "tWLPM-1I3C8A", + "outputId": "c82ea9a8-b13a-493a-88f7-dda21ba73092" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Saving mercari_train.tsv to mercari_train.tsv\n" + ] + } + ], + "source": [ + "from google.colab import files\n", + "uploaded = files.upload()" + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.linear_model import Ridge , LogisticRegression\n", + "from sklearn.model_selection import train_test_split , cross_val_score\n", + "from sklearn.feature_extraction.text import CountVectorizer , TfidfVectorizer\n", + "import pandas as pd\n", + "\n", + "mercari_df= pd.read_csv('mercari_train.tsv',sep='\\t')\n", + "print(mercari_df.shape)\n", + "mercari_df.head(3)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 320 + }, + "id": "lUxDYKvHA9eB", + "outputId": "3b79d3ea-e56a-4712-cd8c-73c41ee51d93" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "(1482535, 8)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " train_id name item_condition_id \\\n", + "0 0 MLB Cincinnati Reds T Shirt Size XL 3 \n", + "1 1 Razer BlackWidow Chroma Keyboard 3 \n", + "2 2 AVA-VIV Blouse 1 \n", + "\n", + " category_name brand_name price \\\n", + "0 Men/Tops/T-shirts NaN 10.0 \n", + "1 Electronics/Computers & Tablets/Components & P... Razer 52.0 \n", + "2 Women/Tops & Blouses/Blouse Target 10.0 \n", + "\n", + " shipping item_description \n", + "0 1 No description yet \n", + "1 0 This keyboard is in great condition and works ... \n", + "2 1 Adorable top with a hint of lace and a key hol... " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
train_idnameitem_condition_idcategory_namebrand_namepriceshippingitem_description
00MLB Cincinnati Reds T Shirt Size XL3Men/Tops/T-shirtsNaN10.01No description yet
11Razer BlackWidow Chroma Keyboard3Electronics/Computers & Tablets/Components & P...Razer52.00This keyboard is in great condition and works ...
22AVA-VIV Blouse1Women/Tops & Blouses/BlouseTarget10.01Adorable top with a hint of lace and a key hol...
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "mercari_df" + } + }, + "metadata": {}, + "execution_count": 2 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(mercari_df.info())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JUn0ECTJB5rh", + "outputId": "ecab9a4b-b76f-4ca8-a705-0f8cb78e0a5a" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "RangeIndex: 1482535 entries, 0 to 1482534\n", + "Data columns (total 8 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 train_id 1482535 non-null int64 \n", + " 1 name 1482535 non-null object \n", + " 2 item_condition_id 1482535 non-null int64 \n", + " 3 category_name 1476208 non-null object \n", + " 4 brand_name 849853 non-null object \n", + " 5 price 1482535 non-null float64\n", + " 6 shipping 1482535 non-null int64 \n", + " 7 item_description 1482529 non-null object \n", + "dtypes: float64(1), int64(3), object(4)\n", + "memory usage: 90.5+ MB\n", + "None\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "y_train_df = mercari_df['price']\n", + "plt.figure(figsize=(6,4))\n", + "sns.histplot(y_train_df, bins=100)\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 388 + }, + "id": "s0vdW9LgB5ua", + "outputId": "b85099f5-d146-454e-c340-0eaf6880d3c7" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjYAAAFzCAYAAAAty0N3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMEBJREFUeJzt3XtYVPXe//8XIDPgYcBDgBQqZnkk8RBEB6stt+imvTPbd2rusiKtbiyVfZu6y1MnTXdaeazdnXrdu9L6XdsOanYZZlYSKokKJplpequASTBaCsh8fn/0ZV2OoAKig6vn47rmupj1ec9a7w9LZl6uWWvGzxhjBAAAYAP+vm4AAACgvhBsAACAbRBsAACAbRBsAACAbRBsAACAbRBsAACAbRBsAACAbRBsAACAbTTydQO/Jx6PR4cOHVKzZs3k5+fn63YAALhsGGN07NgxRUZGyt//7MdlCDaX0KFDhxQVFeXrNgAAuGwdOHBAV1111VnHCTaXULNmzST9tlNcLpePuwEA4PLhdrsVFRVlvZaeDcHmEqp8+8nlchFsAACog/OdysHJwwAAwDYINgAAwDYINgAAwDYINgAAwDYINgAAwDYINgAAwDYINgAAwDYINgAAwDYINgAAwDYINgAAwDb4SoXLXFlZmbKzs72WxcbGyuFw+KYhAAB8iGBzmcvOztao+R8oJLK9JKnk0A+alyrFxcX5uDMAAC49go0NhES2V8voLr5uAwAAn+McGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBsEGwAAYBs+DTYVFRWaNGmSoqOjFRwcrKuvvlrPPvusjDFWjTFGkydPVuvWrRUcHKzExETt3r3baz1FRUUaNmyYXC6XQkNDlZKSouPHj3vVbN++XbfccouCgoIUFRWlmTNnVunnvffeU6dOnRQUFKSYmBitXr3aa7wmvQAAAN/xabB58cUXtXDhQs2bN0/ffvutXnzxRc2cOVNz5861ambOnKlXX31VixYtUmZmppo0aaKkpCSdPHnSqhk2bJhyc3O1du1arVy5Uhs2bNDIkSOtcbfbrX79+qlt27bKysrSrFmzNHXqVL3++utWzcaNGzV06FClpKRo69atGjhwoAYOHKicnJxa9QIAAHzI+FBycrJ56KGHvJYNGjTIDBs2zBhjjMfjMREREWbWrFnWeHFxsXE6neadd94xxhizc+dOI8ls3rzZqvn444+Nn5+fOXjwoDHGmAULFpjmzZub0tJSq2b8+PGmY8eO1v177rnHJCcne/USHx9vHnnkkRr3cj4lJSVGkikpKalRfU1kZmaaxAlvmMGvbTSDX9toEie8YTIzM+tt/QAANAQ1fQ316RGbG2+8Uenp6fruu+8kSdu2bdOXX36pAQMGSJL27t2r/Px8JSYmWo8JCQlRfHy8MjIyJEkZGRkKDQ1V7969rZrExET5+/srMzPTqunTp48cDodVk5SUpLy8PP38889Wzenbqayp3E5NejlTaWmp3G631w0AAFw8jXy58QkTJsjtdqtTp04KCAhQRUWFnn/+eQ0bNkySlJ+fL0kKDw/3elx4eLg1lp+fr7CwMK/xRo0aqUWLFl410dHRVdZROda8eXPl5+efdzvn6+VM06dP17Rp02rwmwAAAPXBp0ds3n33Xb311lt6++239c0332jp0qX6xz/+oaVLl/qyrXozceJElZSUWLcDBw74uiUAAGzNp0dsxo0bpwkTJmjIkCGSpJiYGP3444+aPn26hg8froiICElSQUGBWrdubT2uoKBAsbGxkqSIiAgVFhZ6rffUqVMqKiqyHh8REaGCggKvmsr756s5ffx8vZzJ6XTK6XTW7JcBAAAumE+P2Pz666/y9/duISAgQB6PR5IUHR2tiIgIpaenW+Nut1uZmZlKSEiQJCUkJKi4uFhZWVlWzbp16+TxeBQfH2/VbNiwQeXl5VbN2rVr1bFjRzVv3tyqOX07lTWV26lJLwAAwLd8Gmz+9Kc/6fnnn9eqVau0b98+rVixQrNnz9Zdd90lSfLz89OYMWP03HPP6cMPP9SOHTt0//33KzIyUgMHDpQkde7cWf3799eIESO0adMmffXVVxo1apSGDBmiyMhISdK9994rh8OhlJQU5ebmavny5XrllVeUlpZm9TJ69GitWbNGL730knbt2qWpU6dqy5YtGjVqVI17AQAAPnaJrtKqltvtNqNHjzZt2rQxQUFBpn379uapp57yuizb4/GYSZMmmfDwcON0Ok3fvn1NXl6e13qOHj1qhg4dapo2bWpcLpd58MEHzbFjx7xqtm3bZm6++WbjdDrNlVdeaWbMmFGln3fffddce+21xuFwmK5du5pVq1Z5jdekl3Phcm8AAOqmpq+hfsac9jG/uKjcbrdCQkJUUlIil8tVL+vctGmTnlqxQy2ju0iSju7dqefvilFcXFy9rB8AgIagpq+hfFcUAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDYINAACwDZ8Hm4MHD+qvf/2rWrZsqeDgYMXExGjLli3WuDFGkydPVuvWrRUcHKzExETt3r3bax1FRUUaNmyYXC6XQkNDlZKSouPHj3vVbN++XbfccouCgoIUFRWlmTNnVunlvffeU6dOnRQUFKSYmBitXr3aa7wmvQAAAN/xabD5+eefddNNNykwMFAff/yxdu7cqZdeeknNmze3ambOnKlXX31VixYtUmZmppo0aaKkpCSdPHnSqhk2bJhyc3O1du1arVy5Uhs2bNDIkSOtcbfbrX79+qlt27bKysrSrFmzNHXqVL3++utWzcaNGzV06FClpKRo69atGjhwoAYOHKicnJxa9QIAAHzI+ND48ePNzTfffNZxj8djIiIizKxZs6xlxcXFxul0mnfeeccYY8zOnTuNJLN582ar5uOPPzZ+fn7m4MGDxhhjFixYYJo3b25KS0u9tt2xY0fr/j333GOSk5O9th8fH28eeeSRGvdyPiUlJUaSKSkpqVF9TWRmZprECW+Ywa9tNINf22gSJ7xhMjMz6239AAA0BDV9DfXpEZsPP/xQvXv31n/+538qLCxMPXr00D//+U9rfO/evcrPz1diYqK1LCQkRPHx8crIyJAkZWRkKDQ0VL1797ZqEhMT5e/vr8zMTKumT58+cjgcVk1SUpLy8vL0888/WzWnb6eypnI7NenlTKWlpXK73V43AABw8fg02Pzwww9auHChrrnmGn3yySd67LHH9MQTT2jp0qWSpPz8fElSeHi41+PCw8Otsfz8fIWFhXmNN2rUSC1atPCqqW4dp2/jbDWnj5+vlzNNnz5dISEh1i0qKup8vxIAAHABfBpsPB6PevbsqRdeeEE9evTQyJEjNWLECC1atMiXbdWbiRMnqqSkxLodOHDA1y0BAGBrPg02rVu3VpcuXbyWde7cWfv375ckRURESJIKCgq8agoKCqyxiIgIFRYWeo2fOnVKRUVFXjXVreP0bZyt5vTx8/VyJqfTKZfL5XUDAAAXj0+DzU033aS8vDyvZd99953atm0rSYqOjlZERITS09OtcbfbrczMTCUkJEiSEhISVFxcrKysLKtm3bp18ng8io+Pt2o2bNig8vJyq2bt2rXq2LGjdQVWQkKC13Yqayq3U5NeAACAb/k02IwdO1Zff/21XnjhBX3//fd6++239frrrys1NVWS5OfnpzFjxui5557Thx9+qB07duj+++9XZGSkBg4cKOm3Izz9+/fXiBEjtGnTJn311VcaNWqUhgwZosjISEnSvffeK4fDoZSUFOXm5mr58uV65ZVXlJaWZvUyevRorVmzRi+99JJ27dqlqVOnasuWLRo1alSNewEAAD52ia7SOquPPvrIdOvWzTidTtOpUyfz+uuve417PB4zadIkEx4ebpxOp+nbt6/Jy8vzqjl69KgZOnSoadq0qXG5XObBBx80x44d86rZtm2bufnmm43T6TRXXnmlmTFjRpVe3n33XXPttdcah8NhunbtalatWlXrXs6Fy70BAKibmr6G+hljjK/D1e+F2+1WSEiISkpK6u18m02bNumpFTvUMvq3c5WO7t2p5++KUVxcXL2sHwCAhqCmr6E+/0oFAACA+kKwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtkGwAQAAtlGn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efgy9dNPP6mioqLKpx6Hh4dr165dPuqqZjwej8aMGaObbrpJ3bp1s5bfe++9atu2rSIjI7V9+3aNHz9eeXl5+ve//y1Jys/Pr3a+lWOXUnx8vJYsWaKOHTvq8OHDmjZtmm655Rbl5OQoPz9fDoejyotLeHi41WdDmkt13n//fRUXF+uBBx6wll1O++dMlduvrr/T90lYWJjXeKNGjdSiRQuvmujo6CrrqBxr3rz5Rem/Jk6ePKnx48dr6NChXl8++MQTT6hnz55q0aKFNm7cqIkTJ+rw4cOaPXu2pIY3p/79+2vQoEGKjo7Wnj179Pe//10DBgxQRkaGAgICLuv9tHTpUjVr1kyDBg3yWt5Q91F1z9X19fx2thq3260TJ04oODi4zn0TbHDJpaamKicnR19++aXX8pEjR1o/x8TEqHXr1urbt6/27Nmjq6+++lK3eU4DBgywfr7uuusUHx+vtm3b6t13372gP8iG4n/+5380YMAARUZGWssup/3ze1NeXq577rlHxhgtXLjQaywtLc36+brrrpPD4dAjjzyi6dOnN8iP8h8yZIj1c0xMjK677jpdffXVWr9+vfr27evDzi7cm2++qWHDhikoKMhreUPdR2d7rm7oeCvqMtWqVSsFBARUORO9oKBAERERPurq/EaNGqWVK1fqs88+01VXXXXO2vj4eEnS999/L0mKiIiodr6VY74UGhqqa6+9Vt9//70iIiJUVlam4uJir5rT901DnsuPP/6oTz/9VA8//PA56y6n/VO5/XP9vURERKiwsNBr/NSpUyoqKmrQ+60y1Pz4449au3at19Ga6sTHx+vUqVPat2+fpIY5p9O1b99erVq18vp3djnupy+++EJ5eXnn/buSGsY+OttzdX09v52txuVyXfB/Dgk2lymHw6FevXopPT3dWubxeJSenq6EhAQfdlY9Y4xGjRqlFStWaN26dVUOq1YnOztbktS6dWtJUkJCgnbs2OH1pFb5RN6lS5eL0ndNHT9+XHv27FHr1q3Vq1cvBQYGeu2bvLw87d+/39o3DXkuixcvVlhYmJKTk89Zdzntn+joaEVERHjtE7fbrczMTK99UlxcrKysLKtm3bp18ng8VohLSEjQhg0bVF5ebtWsXbtWHTt29MnbG5WhZvfu3fr000/VsmXL8z4mOztb/v7+1ts5DW1OZ/q///s/HT161Ovf2eW2n6TfjoL26tVL3bt3P2+tL/fR+Z6r6+v5LSEhwWsdlTX18vp1wacfw2eWLVtmnE6nWbJkidm5c6cZOXKkCQ0N9ToTvaF47LHHTEhIiFm/fr3XJY2//vqrMcaY77//3jzzzDNmy5YtZu/eveaDDz4w7du3N3369LHWUXkJYb9+/Ux2drZZs2aNueKKK3xyifTf/vY3s379erN3717z1VdfmcTERNOqVStTWFhojPntcsg2bdqYdevWmS1btpiEhASTkJDQIOdyuoqKCtOmTRszfvx4r+WXw/45duyY2bp1q9m6dauRZGbPnm22bt1qXSE0Y8YMExoaaj744AOzfft2c+edd1Z7uXePHj1MZmam+fLLL80111zjdRlxcXGxCQ8PN/fdd5/Jyckxy5YtM40bN75ol0afa05lZWXmz3/+s7nqqqtMdna2199V5ZUnGzduNHPmzDHZ2dlmz5495l//+pe54oorzP33398g53Ts2DHz3//93yYjI8Ps3bvXfPrpp6Znz57mmmuuMSdPnrTW0ZD20/n+3Rnz2+XajRs3NgsXLqzy+Ia2j873XG1M/Ty/VV7uPW7cOPPtt9+a+fPnc7k3fjN37lzTpk0b43A4TFxcnPn666993VK1JFV7W7x4sTHGmP3795s+ffqYFi1aGKfTaTp06GDGjRvn9Tkpxhizb98+M2DAABMcHGxatWpl/va3v5ny8vJLPp/Bgweb1q1bG4fDYa688kozePBg8/3331vjJ06cMP/1X/9lmjdvbho3bmzuuusuc/jwYa91NJS5nO6TTz4xkkxeXp7X8sth/3z22WfV/hsbPny4Mea3S74nTZpkwsPDjdPpNH379q0yz6NHj5qhQ4eapk2bGpfLZR588EFz7Ngxr5pt27aZm2++2TidTnPllVeaGTNm+GROe/fuPevfVeVnD2VlZZn4+HgTEhJigoKCTOfOnc0LL7zgFRIa0px+/fVX069fP3PFFVeYwMBA07ZtWzNixIgq/1lrSPvpfP/ujDHmtddeM8HBwaa4uLjK4xvaPjrfc7Ux9ff89tlnn5nY2FjjcDhM+/btvbZxIfz+30QAAAAue5xjAwAAbINgAwAAbINgAwAAbINgAwAAbINgAwAAbINgAwAAbINgAwAAbINgA+B3bd++ffLz87O+IgLA5Y0P6APwu1ZRUaEjR46oVatWatSoka/bAXCBCDYAfrfKysrkcDh83QaAesRbUQBs47bbbtOoUaM0atQohYSEqFWrVpo0aZIq///Wrl07Pfvss7r//vvlcrk0cuTIat+Kys3N1R133CGXy6VmzZrplltu0Z49e6zxN954Q507d1ZQUJA6deqkBQsWXOqpAjgLjrsCsJWlS5cqJSVFmzZt0pYtWzRy5Ei1adNGI0aMkCT94x//0OTJkzVlypRqH3/w4EH16dNHt912m9atWyeXy6WvvvpKp06dkiS99dZbmjx5subNm6cePXpo69atGjFihJo0aaLhw4dfsnkCqB5vRQGwjdtuu02FhYXKzc2Vn5+fJGnChAn68MMPtXPnTrVr1049evTQihUrrMfs27dP0dHR2rp1q2JjY/X3v/9dy5YtU15engIDA6tso0OHDnr22Wc1dOhQa9lzzz2n1atXa+PGjRd/kgDOibeiANjKDTfcYIUaSUpISNDu3btVUVEhSerdu/c5H5+dna1bbrml2lDzyy+/aM+ePUpJSVHTpk2t23PPPef1VhUA3+GtKAC/K02aNDnneHBw8FnHjh8/Lkn65z//qfj4eK+xgICAC28OwAUj2ACwlczMTK/7X3/9ta655poaB4/rrrtOS5cuVXl5eZWjNuHh4YqMjNQPP/ygYcOG1VvPAOoPb0UBsJX9+/crLS1NeXl5eueddzR37lyNHj26xo8fNWqU3G63hgwZoi1btmj37t363//9X+Xl5UmSpk2bpunTp+vVV1/Vd999px07dmjx4sWaPXv2xZoSgFrgiA0AW7n//vt14sQJxcXFKSAgQKNHj9bIkSNr/PiWLVtq3bp1GjdunG699VYFBAQoNjZWN910kyTp4YcfVuPGjTVr1iyNGzdOTZo0UUxMjMaMGXORZgSgNrgqCoBt3HbbbYqNjdXLL7/s61YA+AhvRQEAANsg2AAAANvgrSgAAGAbHLEBAAC2QbABAAC2QbABAAC2QbABAAC2QbABAAC2QbABAAC2QbABAAC2QbABAAC2QbABAAC28f8D+GWREkjyWscAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "import numpy as np\n", + "\n", + "y_train_df = np.log1p(y_train_df)\n", + "sns.histplot(y_train_df, bins=50)\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "A1Ytthx4B5w_", + "outputId": "db662fca-bd7c-4d0a-8ff8-9f9f0f8bbe69" + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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7pxIBwAAcHPhHisAAACTEKwAAABMQrACAAAwCcEKAADAJAQrAAAAkxCsAAAATEKwAgAAMAnBCgAAwCQEKwC4Ad98840sFovy8/Od3QqAJoA3rwPADaiurtb333+v9u3b8800AAQrALhelZWVcnNzc3YbAJoQLgUCwP8ZMmSIEhISlJCQIC8vL7Vv314zZ85U7X9/durUSXPnztVTTz0lT09PTZgwoc5LgQUFBXr44Yfl6empNm3aaNCgQfr666+N8ffff1/dunWTh4eHunbtqnfffbexDxVAA+G8NQBcYvXq1YqLi9O+ffuUm5urCRMmqEOHDho/frwk6e2331ZycrJmzZpV5/rfffedBg8erCFDhmj79u3y9PTU559/rosXL0qS1qxZo+TkZC1dulT33HOPDh48qPHjx6t169aKjY1ttOME0DC4FAgA/2fIkCEqLi5WQUGBLBaLJOnFF1/Uxo0b9cUXX6hTp0665557tGHDBmOdb775RsHBwTp48KBCQkL00ksvae3atSosLFTLli0v28fdd9+tuXPnaty4ccayV199VVu2bNHu3bsb/iABNCguBQLAJe677z4jVElSeHi4jh8/rurqaklSaGhovevn5+dr0KBBdYaq8vJyff3114qLi9Ptt99uTK+++qrDpUIAzReXAgHgGrRu3bre8VatWv3oWFlZmSTpvffeU1hYmMNYixYtbrw5AE5HsAKAS+zdu9dhfs+ePercufNVB5/evXtr9erVqqqquuyslZ+fnwIDA/X3v/9dMTExpvUMoOngUiAAXOLkyZNKSkpSYWGh/vu//1tLlizR5MmTr3r9hIQE2Ww2jR07Vrm5uTp+/Lj+8Ic/qLCwUJL0yiuvKCUlRYsXL9aXX36pw4cPa+XKlVqwYEFDHRKARsQZKwC4xFNPPaUffvhB/fv3V4sWLTR58mRNmDDhqtdv166dtm/frqlTp+qBBx5QixYtFBISovvvv1+S9Oyzz+q2227TW2+9palTp6p169bq1auXEhMTG+iIADQmngoEgP8zZMgQhYSEaOHChc5uBUAzxaVAAAAAkxCsAAAATMKlQAAAAJNwxgoAAMAkBCsAAACTEKwAAABMQrACAAAwCcEKAADAJAQrAAAAkxCsAAAATEKwAgAAMMn/B/DvmCxMM/2dAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "mercari_df['price'] = np.log1p(mercari_df['price'])\n", + "mercari_df['price'].head(3)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 178 + }, + "id": "y-8DTZNyB5zN", + "outputId": "8c8f110f-8157-48ba-eec1-0ed2312d7cee" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 2.397895\n", + "1 3.970292\n", + "2 2.397895\n", + "Name: price, dtype: float64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
price
02.397895
13.970292
22.397895
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print('Shipping 값 유형:\\n',mercari_df['shipping'].value_counts())\n", + "print('item_condition_id 값 유형:\\n',mercari_df['item_condition_id'].value_counts())\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "wcqg13iDB53X", + "outputId": "0b6baded-f99a-44ad-a5d1-c85cbca4dfc9" + }, + "execution_count": 7, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Shipping 값 유형:\n", + " shipping\n", + "0 819435\n", + "1 663100\n", + "Name: count, dtype: int64\n", + "item_condition_id 값 유형:\n", + " item_condition_id\n", + "1 640549\n", + "3 432161\n", + "2 375479\n", + "4 31962\n", + "5 2384\n", + "Name: count, dtype: int64\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "boolean_cond= mercari_df['item_description']=='No description yet'\n", + "mercari_df[boolean_cond]['item_description'].count()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5u809R1OB55R", + "outputId": "e098117b-aa6e-4d51-efca-868a575a2791" + }, + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.int64(82489)" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# apply lambda에서 호출되는 대,중,소 분할 함수 생성, 대,중,소 값을 리스트 반환\n", + "def split_cat(category_name):\n", + " try:\n", + " return category_name.split('/')\n", + " except:\n", + " return ['Other_Null' , 'Other_Null' , 'Other_Null']\n", + "\n", + "# 위의 split_cat( )을 apply lambda에서 호출하여 대,중,소 컬럼을 mercari_df에 생성.\n", + "mercari_df['cat_dae'], mercari_df['cat_jung'], mercari_df['cat_so'] = \\\n", + " zip(*mercari_df['category_name'].apply(lambda x : split_cat(x)))\n", + "\n", + "# 대분류만 값의 유형과 건수를 살펴보고, 중분류, 소분류는 값의 유형이 많으므로 분류 갯수만 추출\n", + "print('대분류 유형 :\\n', mercari_df['cat_dae'].value_counts())\n", + "print('중분류 갯수 :', mercari_df['cat_jung'].nunique())\n", + "print('소분류 갯수 :', mercari_df['cat_so'].nunique())\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4WACvyR_B59K", + "outputId": "b2a16b1e-c99e-4918-efd7-223b5ff87eba" + }, + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "대분류 유형 :\n", + " cat_dae\n", + "Women 664385\n", + "Beauty 207828\n", + "Kids 171689\n", + "Electronics 122690\n", + "Men 93680\n", + "Home 67871\n", + "Vintage & Collectibles 46530\n", + "Other 45351\n", + "Handmade 30842\n", + "Sports & Outdoors 25342\n", + "Other_Null 6327\n", + "Name: count, dtype: int64\n", + "중분류 갯수 : 114\n", + "소분류 갯수 : 871\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "mercari_df['brand_name'] = mercari_df['brand_name'].fillna(value='Other_Null')\n", + "mercari_df['category_name'] = mercari_df['category_name'].fillna(value='Other_Null')\n", + "mercari_df['item_description'] = mercari_df['item_description'].fillna(value='Other_Null')\n", + "\n", + "# 각 컬럼별로 Null값 건수 확인. 모두 0가 나와야 합니다.\n", + "mercari_df.isnull().sum()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 429 + }, + "id": "dVsh0vq_B5_y", + "outputId": "3a19ffd9-48ea-426d-e82f-ebda1dad0858" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "train_id 0\n", + "name 0\n", + "item_condition_id 0\n", + "category_name 0\n", + "brand_name 0\n", + "price 0\n", + "shipping 0\n", + "item_description 0\n", + "cat_dae 0\n", + "cat_jung 0\n", + "cat_so 0\n", + "dtype: int64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
train_id0
name0
item_condition_id0
category_name0
brand_name0
price0
shipping0
item_description0
cat_dae0
cat_jung0
cat_so0
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print('brand name 의 유형 건수 :', mercari_df['brand_name'].nunique())\n", + "print('brand name sample 5건 : \\n', mercari_df['brand_name'].value_counts()[:5])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4qUP4S4JB6Hk", + "outputId": "c0921ed3-62d4-4ed6-fd8a-43fbbf231920" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "brand name 의 유형 건수 : 4810\n", + "brand name sample 5건 : \n", + " brand_name\n", + "Other_Null 632682\n", + "PINK 54088\n", + "Nike 54043\n", + "Victoria's Secret 48036\n", + "LuLaRoe 31024\n", + "Name: count, dtype: int64\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "print('name 의 종류 갯수 :', mercari_df['name'].nunique())\n", + "print('name sample 7건 : \\n', mercari_df['name'][:7])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "UzsQfwTcB6Jd", + "outputId": "7b2ff271-d553-43f5-be0f-4862d2923b3b" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "name 의 종류 갯수 : 1225273\n", + "name sample 7건 : \n", + " 0 MLB Cincinnati Reds T Shirt Size XL\n", + "1 Razer BlackWidow Chroma Keyboard\n", + "2 AVA-VIV Blouse\n", + "3 Leather Horse Statues\n", + "4 24K GOLD plated rose\n", + "5 Bundled items requested for Ruie\n", + "6 Acacia pacific tides santorini top\n", + "Name: name, dtype: object\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "pd.set_option('max_colwidth', 200)\n", + "\n", + "# item_description의 평균 문자열 개수\n", + "print('item_description 평균 문자열 개수:',mercari_df['item_description'].str.len().mean())\n", + "\n", + "mercari_df['item_description'][:2]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 182 + }, + "id": "L6N1JdJjB6Lk", + "outputId": "7dcf43f3-c509-4b38-f967-4ea8989c2951" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "item_description 평균 문자열 개수: 145.71139703278507\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 No description yet\n", + "1 This keyboard is in great condition and works like it came out of the box. All of the ports are tested and work perfectly. The lights are customizable via the Razer Synapse app on your PC.\n", + "Name: item_description, dtype: object" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
item_description
0No description yet
1This keyboard is in great condition and works like it came out of the box. All of the ports are tested and work perfectly. The lights are customizable via the Razer Synapse app on your PC.
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# name 속성에 대한 feature vectorization 변환\n", + "cnt_vec = CountVectorizer()\n", + "X_name = cnt_vec.fit_transform(mercari_df.name)\n", + "\n", + "# item_description 에 대한 feature vectorization 변환\n", + "tfidf_descp = TfidfVectorizer(max_features = 50000, ngram_range= (1,3) , stop_words='english')\n", + "X_descp = tfidf_descp.fit_transform(mercari_df['item_description'])\n", + "\n", + "print('name vectorization shape:',X_name.shape)\n", + "print('item_description vectorization shape:',X_descp.shape)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oO9B-q-zB6Nj", + "outputId": "7bdea7b2-f9b2-451c-dffb-b8f3c3a7033a" + }, + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "name vectorization shape: (1482535, 105757)\n", + "item_description vectorization shape: (1482535, 50000)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.preprocessing import LabelBinarizer\n", + "\n", + "# brand_name, item_condition_id, shipping 각 피처들을 희소 행렬 원-핫 인코딩 변환\n", + "lb_brand_name= LabelBinarizer(sparse_output=True)\n", + "X_brand = lb_brand_name.fit_transform(mercari_df['brand_name'])\n", + "\n", + "lb_item_cond_id = LabelBinarizer(sparse_output=True)\n", + "X_item_cond_id = lb_item_cond_id.fit_transform(mercari_df['item_condition_id'])\n", + "\n", + "lb_shipping= LabelBinarizer(sparse_output=True)\n", + "X_shipping = lb_shipping.fit_transform(mercari_df['shipping'])\n", + "\n", + "# cat_dae, cat_jung, cat_so 각 피처들을 희소 행렬 원-핫 인코딩 변환\n", + "lb_cat_dae = LabelBinarizer(sparse_output=True)\n", + "X_cat_dae= lb_cat_dae.fit_transform(mercari_df['cat_dae'])\n", + "\n", + "lb_cat_jung = LabelBinarizer(sparse_output=True)\n", + "X_cat_jung = lb_cat_jung.fit_transform(mercari_df['cat_jung'])\n", + "\n", + "lb_cat_so = LabelBinarizer(sparse_output=True)\n", + "X_cat_so = lb_cat_so.fit_transform(mercari_df['cat_so'])" + ], + "metadata": { + "id": "xvnF4fXuB6Po" + }, + "execution_count": 15, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(type(X_brand), type(X_item_cond_id), type(X_shipping))\n", + "print('X_brand_shape:{0}, X_item_cond_id shape:{1}'.format(X_brand.shape, X_item_cond_id.shape))\n", + "print('X_shipping shape:{0}, X_cat_dae shape:{1}'.format(X_shipping.shape, X_cat_dae.shape))\n", + "print('X_cat_jung shape:{0}, X_cat_so shape:{1}'.format(X_cat_jung.shape, X_cat_so.shape))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mKSZFwqCB6Rw", + "outputId": "05c81ea3-bccf-4afe-b6fd-543dc251f427" + }, + "execution_count": 16, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " \n", + "X_brand_shape:(1482535, 4810), X_item_cond_id shape:(1482535, 5)\n", + "X_shipping shape:(1482535, 1), X_cat_dae shape:(1482535, 11)\n", + "X_cat_jung shape:(1482535, 114), X_cat_so shape:(1482535, 871)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from scipy.sparse import hstack\n", + "import gc\n", + "\n", + "sparse_matrix_list = (X_name, X_descp, X_brand, X_item_cond_id,\n", + " X_shipping, X_cat_dae, X_cat_jung, X_cat_so)\n", + "\n", + "# 사이파이 sparse 모듈의 hstack 함수를 이용하여 앞에서 인코딩과 Vectorization을 수행한 데이터 셋을 모두 결합.\n", + "X_features_sparse= hstack(sparse_matrix_list).tocsr()\n", + "print(type(X_features_sparse), X_features_sparse.shape)\n", + "\n", + "# 데이터 셋이 메모리를 많이 차지하므로 사용 용도가 끝났으면 바로 메모리에서 삭제.\n", + "del X_features_sparse\n", + "gc.collect()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "EBSHz5YRB6T3", + "outputId": "eb6744cd-e1fa-4539-f391-6257f81adaa5" + }, + "execution_count": 17, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " (1482535, 161569)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "source": [ + "def rmsle(y , y_pred):\n", + " # underflow, overflow를 막기 위해 log가 아닌 log1p로 rmsle 계산\n", + " return np.sqrt(np.mean(np.power(np.log1p(y) - np.log1p(y_pred), 2)))\n", + "\n", + "def evaluate_org_price(y_test , preds):\n", + "\n", + " # 원본 데이터는 log1p로 변환되었으므로 exmpm1으로 원복 필요.\n", + " preds_exmpm = np.expm1(preds)\n", + " y_test_exmpm = np.expm1(y_test)\n", + "\n", + " # rmsle로 RMSLE 값 추출\n", + " rmsle_result = rmsle(y_test_exmpm, preds_exmpm)\n", + " return rmsle_result" + ], + "metadata": { + "id": "JlCcx3bVB6Wa" + }, + "execution_count": 18, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import gc\n", + "from scipy.sparse import hstack\n", + "\n", + "def model_train_predict(model,matrix_list):\n", + " # scipy.sparse 모듈의 hstack 을 이용하여 sparse matrix 결합\n", + " X= hstack(matrix_list).tocsr()\n", + "\n", + " X_train, X_test, y_train, y_test=train_test_split(X, mercari_df['price'],\n", + " test_size=0.2, random_state=156)\n", + "\n", + " # 모델 학습 및 예측\n", + " model.fit(X_train , y_train)\n", + " preds = model.predict(X_test)\n", + "\n", + " del X , X_train , X_test , y_train\n", + " gc.collect()\n", + "\n", + " return preds , y_test" + ], + "metadata": { + "id": "6GOni4z4B6fi" + }, + "execution_count": 19, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "linear_model = Ridge(solver = \"lsqr\", fit_intercept=False)\n", + "\n", + "sparse_matrix_list = (X_name, X_brand, X_item_cond_id,\n", + " X_shipping, X_cat_dae, X_cat_jung, X_cat_so)\n", + "linear_preds , y_test = model_train_predict(model=linear_model ,matrix_list=sparse_matrix_list)\n", + "print('Item Description을 제외했을 때 rmsle 값:', evaluate_org_price(y_test , linear_preds))\n", + "\n", + "sparse_matrix_list = (X_descp, X_name, X_brand, X_item_cond_id,\n", + " X_shipping, X_cat_dae, X_cat_jung, X_cat_so)\n", + "linear_preds , y_test = model_train_predict(model=linear_model , matrix_list=sparse_matrix_list)\n", + "print('Item Description을 포함한 rmsle 값:', evaluate_org_price(y_test ,linear_preds))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "NQe_ycVxB6hW", + "outputId": "d6506169-fadc-4d2c-9986-781d0bcc1ce2" + }, + "execution_count": 20, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Item Description을 제외했을 때 rmsle 값: 0.4983990938999374\n", + "Item Description을 포함한 rmsle 값: 0.4680432471796771\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from lightgbm import LGBMRegressor\n", + "\n", + "sparse_matrix_list = (X_descp, X_name, X_brand, X_item_cond_id,\n", + " X_shipping, X_cat_dae, X_cat_jung, X_cat_so)\n", + "\n", + "lgbm_model = LGBMRegressor(n_estimators=200, learning_rate=0.5, num_leaves=125, random_state=156)\n", + "lgbm_preds , y_test = model_train_predict(model = lgbm_model , matrix_list=sparse_matrix_list)\n", + "print('LightGBM rmsle 값:', evaluate_org_price(y_test , lgbm_preds))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vGJUeJABCJSW", + "outputId": "464be022-2a6d-4d64-832c-998c70f80c88" + }, + "execution_count": 21, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.11/dist-packages/sklearn/utils/deprecation.py:151: FutureWarning: 'force_all_finite' was renamed to 'ensure_all_finite' in 1.6 and will be removed in 1.8.\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 3450.660095 seconds.\n", + "You can set `force_row_wise=true` to remove the overhead.\n", + "And if memory is not enough, you can set `force_col_wise=true`.\n", + "[LightGBM] [Info] Total Bins 1068323\n", + "[LightGBM] [Info] Number of data points in the train set: 1186028, number of used features: 65338\n", + "[LightGBM] [Info] Start training from score 2.979514\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.11/dist-packages/sklearn/utils/deprecation.py:151: FutureWarning: 'force_all_finite' was renamed to 'ensure_all_finite' in 1.6 and will be removed in 1.8.\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "LightGBM rmsle 값: 0.4563962127849484\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "preds = lgbm_preds * 0.45 + linear_preds * 0.55\n", + "print('LightGBM과 Ridge를 ensemble한 최종 rmsle 값:', evaluate_org_price(y_test , preds))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "u6zW8DcZCJUy", + "outputId": "6aa8b564-9074-4141-89a3-c92254e755f4" + }, + "execution_count": 22, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "LightGBM과 Ridge를 ensemble한 최종 rmsle 값: 0.4467272727321774\n" + ] + } + ] + } + ] +} \ No newline at end of file diff --git "a/Week13_\354\230\210\354\212\265\352\263\274\354\240\234_\354\236\245\354\235\270\354\204\234.pdf" "b/Week13_\354\230\210\354\212\265\352\263\274\354\240\234_\354\236\245\354\235\270\354\204\234.pdf" new file mode 100644 index 0000000..fca2c86 Binary files /dev/null and "b/Week13_\354\230\210\354\212\265\352\263\274\354\240\234_\354\236\245\354\235\270\354\204\234.pdf" differ diff --git "a/Week13_\354\230\210\354\212\265\352\263\274\354\240\234_\354\275\224\353\223\234\355\225\204\354\202\254_\354\236\245\354\235\270\354\204\234.ipynb" "b/Week13_\354\230\210\354\212\265\352\263\274\354\240\234_\354\275\224\353\223\234\355\225\204\354\202\254_\354\236\245\354\235\270\354\204\234.ipynb" new file mode 100644 index 0000000..9f0afb0 --- /dev/null +++ "b/Week13_\354\230\210\354\212\265\352\263\274\354\240\234_\354\275\224\353\223\234\355\225\204\354\202\254_\354\236\245\354\235\270\354\204\234.ipynb" @@ -0,0 +1,5749 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "IakNSOXZYOTa" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "G1_Fy_7T1Fuh", + "outputId": "8dacc29f-3d04-430e-b29a-5c46eb7570bd" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "CountVectorizer Shape: (7862, 1000)\n" + ] + } + ], + "source": [ + "from sklearn.datasets import fetch_20newsgroups\n", + "from sklearn.feature_extraction.text import CountVectorizer\n", + "from sklearn.decomposition import LatentDirichletAllocation\n", + "\n", + "# 모터사이클, 야구, 그래픽스, 윈도우즈, 중동, 기독교, 의학, 우주 주제를 추출.\n", + "cats = ['rec.motorcycles', 'rec.sport.baseball', 'comp.graphics', 'comp.windows.x',\n", + " 'talk.politics.mideast', 'soc.religion.christian', 'sci.electronics', 'sci.med' ]\n", + "\n", + "# 위에서 cats 변수로 기재된 category만 추출. featch_20newsgroups( )의 categories에 cats 입력\n", + "news_df= fetch_20newsgroups(subset='all',remove=('headers', 'footers', 'quotes'),\n", + " categories=cats, random_state=0)\n", + "\n", + "#LDA는 Count 기반의 Vectorizer만 적용합니다.\n", + "count_vect = CountVectorizer(max_df=0.95, max_features=1000, min_df=2, stop_words='english', ngram_range=(1,2))\n", + "feat_vect = count_vect.fit_transform(news_df.data)\n", + "print('CountVectorizer Shape:', feat_vect.shape)" + ] + }, + { + "cell_type": "code", + "source": [ + "lda = LatentDirichletAllocation(n_components=8, random_state=0)\n", + "lda.fit(feat_vect)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 79 + }, + "id": "tnF_S61830Yf", + "outputId": "01504f41-0d69-4fe3-dd31-f7995d02d096" + }, + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "LatentDirichletAllocation(n_components=8, random_state=0)" + ], + "text/html": [ + "
LatentDirichletAllocation(n_components=8, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(lda.components_.shape)\n", + "lda.components_" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "kVjgJRbz3z3s", + "outputId": "ae82fdc4-adeb-48ef-ceb4-936a367d1656" + }, + "execution_count": 16, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "(8, 1000)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2.69030238e+02, 1.87798026e+02, 7.09003824e+01, ...,\n", + " 1.22710343e+01, 1.06329639e+02, 7.25995512e+01],\n", + " [1.25091799e-01, 2.46049106e+00, 1.25051902e-01, ...,\n", + " 2.80071176e+02, 1.25089783e-01, 5.05669662e+01],\n", + " [1.33978420e+02, 1.25042012e-01, 9.98277256e+01, ...,\n", + " 1.25092219e-01, 3.31078261e+01, 1.25028398e-01],\n", + " ...,\n", + " [2.98813886e+01, 1.88071366e+01, 1.14748730e+01, ...,\n", + " 1.93022584e+01, 5.29368271e+00, 1.44478198e+01],\n", + " [1.25074899e-01, 1.25105300e-01, 1.25004235e-01, ...,\n", + " 1.03576436e+02, 1.25100535e-01, 7.22276359e+01],\n", + " [1.25172284e-01, 1.03967760e+00, 1.25221075e-01, ...,\n", + " 5.31740996e+01, 1.25025929e-01, 1.25062991e-01]])" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "source": [ + "def display_topics(model, feature_names, no_top_words):\n", + " for topic_index, topic in enumerate(model.components_):\n", + " print('Topic #',topic_index)\n", + "\n", + " # components_ array에서 가장 값이 큰 순으로 정렬했을 때, 그 값의 array index를 반환.\n", + " topic_word_indexes = topic.argsort()[::-1]\n", + " top_indexes=topic_word_indexes[:no_top_words]\n", + "\n", + " # top_indexes대상인 index별로 feature_names에 해당하는 word feature 추출 후 join으로 concat\n", + " feature_concat = ' '.join([feature_names[i] for i in top_indexes])\n", + " print(feature_concat)\n", + "\n", + "# CountVectorizer객체내의 전체 word들의 명칭을 get_features_names( )를 통해 추출\n", + "feature_names = count_vect.get_feature_names_out()\n", + "\n", + "# Topic별 가장 연관도가 높은 word를 15개만 추출\n", + "display_topics(lda, feature_names, 15)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OCNrphmi6V6h", + "outputId": "cce2b861-eb84-424c-ac63-59c0784b8c6a" + }, + "execution_count": 17, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Topic # 0\n", + "10 year medical health 1993 20 12 disease cancer team patients research number new 11\n", + "Topic # 1\n", + "don just like know think good time ve does way really people want ll right\n", + "Topic # 2\n", + "image file jpeg output program gif images format files color entry use bit 03 02\n", + "Topic # 3\n", + "armenian armenians turkish people said turkey armenia government genocide turks muslim russian greek azerbaijan killed\n", + "Topic # 4\n", + "israel jews dos jewish israeli dos dos arab state people arabs palestinian adl ed anti peace\n", + "Topic # 5\n", + "edu com available graphics ftp window use mail data motif software version pub information server\n", + "Topic # 6\n", + "god people jesus church believe say christ does christian think christians did know bible man\n", + "Topic # 7\n", + "thanks use using does help like display need problem know server screen windows window program\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from google.colab import files\n", + "uploaded = files.upload()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "fMcVBDBqzLb0", + "outputId": "9bfe4608-43ec-4f71-e1c4-3f9ff8fbe3de" + }, + "execution_count": 77, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Saving accuracy_garmin_nuvi_255W_gps.txt.data to accuracy_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving bathroom_bestwestern_hotel_sfo.txt.data to bathroom_bestwestern_hotel_sfo.txt (1).data\n", + "Saving battery-life_amazon_kindle.txt.data to battery-life_amazon_kindle.txt (1).data\n", + "Saving battery-life_ipod_nano_8gb.txt.data to battery-life_ipod_nano_8gb.txt (1).data\n", + "Saving battery-life_netbook_1005ha.txt.data to battery-life_netbook_1005ha.txt (1).data\n", + "Saving buttons_amazon_kindle.txt.data to buttons_amazon_kindle.txt (1).data\n", + "Saving comfort_honda_accord_2008.txt.data to comfort_honda_accord_2008.txt (1).data\n", + "Saving comfort_toyota_camry_2007.txt.data to comfort_toyota_camry_2007.txt (1).data\n", + "Saving directions_garmin_nuvi_255W_gps.txt.data to directions_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving display_garmin_nuvi_255W_gps.txt.data to display_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving eyesight-issues_amazon_kindle.txt.data to eyesight-issues_amazon_kindle.txt (1).data\n", + "Saving features_windows7.txt.data to features_windows7.txt (1).data\n", + "Saving fonts_amazon_kindle.txt.data to fonts_amazon_kindle.txt (1).data\n", + "Saving food_holiday_inn_london.txt.data to food_holiday_inn_london.txt (1).data\n", + "Saving food_swissotel_chicago.txt.data to food_swissotel_chicago.txt (1).data\n", + "Saving free_bestwestern_hotel_sfo.txt.data to free_bestwestern_hotel_sfo.txt (1).data\n", + "Saving gas_mileage_toyota_camry_2007.txt.data to gas_mileage_toyota_camry_2007.txt (1).data\n", + "Saving interior_honda_accord_2008.txt.data to interior_honda_accord_2008.txt (1).data\n", + "Saving interior_toyota_camry_2007.txt.data to interior_toyota_camry_2007.txt (1).data\n", + "Saving keyboard_netbook_1005ha.txt.data to keyboard_netbook_1005ha.txt (1).data\n", + "Saving location_bestwestern_hotel_sfo.txt.data to location_bestwestern_hotel_sfo.txt (1).data\n", + "Saving location_holiday_inn_london.txt.data to location_holiday_inn_london.txt (1).data\n", + "Saving mileage_honda_accord_2008.txt.data to mileage_honda_accord_2008.txt (1).data\n", + "Saving navigation_amazon_kindle.txt.data to navigation_amazon_kindle.txt (1).data\n", + "Saving parking_bestwestern_hotel_sfo.txt.data to parking_bestwestern_hotel_sfo.txt (1).data\n", + "Saving performance_honda_accord_2008.txt.data to performance_honda_accord_2008.txt (1).data\n", + "Saving performance_netbook_1005ha.txt.data to performance_netbook_1005ha.txt (1).data\n", + "Saving price_amazon_kindle.txt.data to price_amazon_kindle.txt (1).data\n", + "Saving price_holiday_inn_london.txt.data to price_holiday_inn_london.txt (1).data\n", + "Saving quality_toyota_camry_2007.txt.data to quality_toyota_camry_2007.txt (1).data\n", + "Saving room_holiday_inn_london.txt.data to room_holiday_inn_london.txt (1).data\n", + "Saving rooms_bestwestern_hotel_sfo.txt.data to rooms_bestwestern_hotel_sfo.txt (1).data\n", + "Saving rooms_swissotel_chicago.txt.data to rooms_swissotel_chicago.txt (1).data\n", + "Saving satellite_garmin_nuvi_255W_gps.txt.data to satellite_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving screen_garmin_nuvi_255W_gps.txt.data to screen_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving screen_ipod_nano_8gb.txt.data to screen_ipod_nano_8gb.txt (1).data\n", + "Saving screen_netbook_1005ha.txt.data to screen_netbook_1005ha.txt (1).data\n", + "Saving seats_honda_accord_2008.txt.data to seats_honda_accord_2008.txt (1).data\n", + "Saving service_bestwestern_hotel_sfo.txt.data to service_bestwestern_hotel_sfo.txt (1).data\n", + "Saving service_holiday_inn_london.txt.data to service_holiday_inn_london.txt (1).data\n", + "Saving service_swissotel_hotel_chicago.txt.data to service_swissotel_hotel_chicago.txt (1).data\n", + "Saving size_asus_netbook_1005ha.txt.data to size_asus_netbook_1005ha.txt (1).data\n", + "Saving sound_ipod_nano_8gb.txt.data to sound_ipod_nano_8gb.txt (1).data\n", + "Saving speed_garmin_nuvi_255W_gps.txt.data to speed_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving speed_windows7.txt.data to speed_windows7.txt (1).data\n", + "Saving staff_bestwestern_hotel_sfo.txt.data to staff_bestwestern_hotel_sfo.txt (1).data\n", + "Saving staff_swissotel_chicago.txt.data to staff_swissotel_chicago.txt (1).data\n", + "Saving transmission_toyota_camry_2007.txt.data to transmission_toyota_camry_2007.txt (1).data\n", + "Saving updates_garmin_nuvi_255W_gps.txt.data to updates_garmin_nuvi_255W_gps.txt (1).data\n", + "Saving video_ipod_nano_8gb.txt.data to video_ipod_nano_8gb.txt (1).data\n", + "Saving voice_garmin_nuvi_255W_gps.txt.data to voice_garmin_nuvi_255W_gps.txt (1).data\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import glob, os\n", + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "pd.set_option('display.max_colwidth', 700)\n", + "\n", + "# 업로드한 파일들은 모두 /content에 저장됨\n", + "path = '/content'\n", + "all_files = glob.glob(os.path.join(path, \"*.data\"))\n", + "filename_list = []\n", + "opinion_text = []\n", + "\n", + "for file_ in all_files:\n", + " # 파일을 table 형식으로 읽을 수 있을 때\n", + " try:\n", + " df = pd.read_table(file_, index_col=None, header=0, encoding='latin1')\n", + " content = df.to_string()\n", + " except:\n", + " # 파일이 표 형식이 아니면 그냥 텍스트로 읽기\n", + " with open(file_, encoding='latin1') as f:\n", + " content = f.read()\n", + " filename_ = file_.split('/')[-1]\n", + " filename = filename_.split('.')[0]\n", + " filename_list.append(filename)\n", + " opinion_text.append(content)\n", + "\n", + "document_df = pd.DataFrame({'filename': filename_list, 'opinion_text': opinion_text})\n", + "print(document_df.shape)\n", + "document_df.head()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 641 + }, + "id": "IwH4wis80Qte", + "outputId": "0052117e-8670-47b4-da39-c0c7ea87b113" + }, + "execution_count": 87, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "(102, 2)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "0 interior_toyota_camry_2007 \n", + "1 speed_garmin_nuvi_255W_gps \n", + "2 rooms_swissotel_chicago \n", + "3 speed_garmin_nuvi_255W_gps \n", + "4 comfort_toyota_camry_2007 \n", + "\n", + " opinion_text \n", + "0 First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh... \n", + "1 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "2 The Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ... \n", + "3 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "4 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ... " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_text
0interior_toyota_camry_2007First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh...
1speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...
2rooms_swissotel_chicagoThe Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ...
3speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...
4comfort_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ...
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "document_df", + "summary": "{\n \"name\": \"document_df\",\n \"rows\": 102,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 51,\n \"samples\": [\n \"service_bestwestern_hotel_sfo\",\n \"video_ipod_nano_8gb\",\n \"seats_honda_accord_2008\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 51,\n \"samples\": [\n \" Both of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 Also, thanks to Ken the concierge for recommending Grand Limo service .\\n2 The restaurant is not cheap but is very well patronised and the service is very good as is the food .\\n3 Service was spotty Front desk was marginally helpful .\\n4 This tuscan, themed hotel was charming, clean comfortable and the complimentary concierge service was so helpful .\\n5 Phenominal Service, great room, great location , couldn't have asked for more .\\n6 It has some charms in decor, and all staff gave very good service to us .\\n7 The rooms were clean and updated, the beds were comfortable, and the bellman service was fast and efficient .\\n8 A highlight of our visit was the historic boats at the Hyde Street Pier , , a national Park Service site that costs only $5 .\\n9 The service was quick and gracious checking in and out .\\n10 Great location service and value !\\n11 So to sum up if your looking for somewhere to lay your head after a long day then this is the place for you if your looking for something a bit special with good customer service avoid this place like the plague\\n12 I did not take advantage of the concierge service, but I saw many people were receiving great service from them .\\n13 Great value and service for the price !\\n14 Excellent Service , Great Location\\n15 The staff and service were exceptional .\\n16 The concierge can give discounts for booking city tours and for some restaurants, although we tried Neptune's which was recommended to us and felt it was overpriced for the service and quality .\\n17 I personally appreciated the free internet service in the hotel .\\n18 In addition, they advertise Limousine service to the financial district but when I inquired they announce they had stopped the service and I would need to take mass transportation .\\n19 As I checked out I expressed my disappointment there were no biscottis and transportation service and the check out clerk tells me they do have the service and I needed to make an appointment .\\n20 All employee's that I mentioned have shown customer service skills that are above and beyond .\\n21 We had a discussion on the plane that it was such a shame that customer service was gone in so many companies these days .\\n22 The rooms were a decent size for a city hotel and were very clean and well serviced .\\n23 Wonderful service friendly people\\n24 seems service just isn't the way it used to be .\\n25 i'am 40 years old and its very disheartening that people have lost their pride of service and doing a good job .\\n26 We have stayed at The Tuscan Inn on our last 3 trips to San Francisco, and I really can't fault the service .\\n27 The staff at this hotel make you feel so welcome and its service with a smile .\\n28 All the staff go the extra mile to assist in anyway they can and the staff of the ajoining Cafe Pescatore are just as welcoming, with great service and the food is excellent .\\n29 We ate at the Italian restaraunt located in the hotel and the food and service was outstanding .\\n30 Never experienced the room service .\\n31 Service was all good, albeit a bit stoic .\\n32 Unfortunately we didn't get to dine in the hotel restaurant, but I'd say it would be good, if the after hours service is anything to go by !\\n33 I'd highly recommend the Tuscan Inn based on location, cheerfulness of staff, aesthetics in the room and general overall service .\\n34 Excellent service great location good value\\n35 The staff at the front desk could not have been more helpful and whilst we did not avail his services, the concierge always seemed to be busy with guests giving info and advice .\\n36 There was also a gentleman offering massage at this time and we met a few people who had enjoyed his services .\\n37 The food and service were both excellent .\\n38 This was probably not the best pick for us as we don't like tourist areas and Fishermans Wharf if one big tourist service .\\n39 There are many public transportation options including the cable cars, the trolley line and bus service .\\n40 The highlight of this hotel for us was the service offered by the staff, particularly the two concierges on duty while we were there .\\n41 Their service was of the level and knowledge I would expect at at 5, star hotel .\\n42 One day we had the do not disturb sign on the door before the maid had come so we could rest, and when we finally stepped out for about an hour, we changed the sign for maid service and everything was perfect when we returned !\\n43 Amenities , While this hotel isn't a luxury property, they have some nice touches like marble bathrooms, mini bar, room service and an evening wine reception every day .\\n44 At this point I asked to be put through to Best Western Customer Services and amazingly our room was changed to a king bed suite as per our reservation within the hour .\\n45 They state that there is an obligatory service charge for tables of more than 6 .\\n46 We dined as a party of 4 and were still hit with this and then the waitress failed to hand over $10 of change taking this as an additional service charge .\\n47 We were very impressed with the service we received .\\n48 The concierge service is second to none .\\n49 Tuscan Inn has it all, exellant location,very close to public transport, very clean, impeccable, friendly service and a supermarket opposite .\\n50 We found a great breakfast place just around the corner in Taylor St, called Darren's Cafe, good prices with excellant food and service .\\n51 Valet parking for $40 per night seems a bit steep,but at least the service was efficient and quick .\\n52 very clean,well maintained,with efficient,if not overly friendly service .\\n53 The hotel makes a big thing of the coffee bisc service in the morning,and this is quite nice .\\n54 I'd say that,as far as the evening wine service is concerned,if you happen to be in the hotel,it's fine .\\n55 Did not eat at the restaurant, but room service was great .\\n56 Overall, the stay at The Tuscan Inn was great and would highly recommend due to the room service .\\n57 There are other hotels in the area who do not offer room service .\\n58 The service in the hotel was really good .\\n59 The restaurant in the hotel , Cafe Pescatore , does the breakfast run for room service, it was adequate but a little overpriced .\\n60 Lunch and dinner room service is provided by North Beach Pizza, which deliveries many Italian specialties including pasta, entrees, salads, sandwiches and of course , pizza .\\n61 However, there are countless restaurants of all sorts and price ranges within a 1, 4 block walk of this hotel, there is little reason to order room service .\\n62 We did not use this service but thought it was nice that it was available if needed .\\n63 We did not eat at the hotel restaurant, we chose to eat at the IHOP around the corner for breakfast and it was good food and service, and they are open 24 hours .\\n64 Maid service was prompt and outstanding .\\n65 very good hotel , great location, concierge extremely helpful, decor is nice and the maid service was excellent .\\n66 The customer service was wonderful .\\n67 The adjacent Cafe Pescatero was handy for breakfast but had some hiccups in service, but it was okay overall .\\n68 , provide service like high end hotels .\\n69 Will store your luggage in separate room on your check out day if you have late flight, want to spend more time,Oldest Italian restaurant in the country w in walking distance, back east service, integrity, etc .\\n70 Split a fare w a private service i .\\n71 , we walked everywhere including up the hill to Coit Tower then walked down just in time to attend 1300 service @ St .\\n72 The staff was so friendly and helpful and the concierge service was very knowledgeable .\\n73 A masseur was giving guests a massage at the same location, not sure if there was a charge involved for that service, as there was no information about that anywhere .\\n74 The hotel is conveniently located to the shopping centre across the road, and we made use of this to purchase our breakfast requirements, as we had not had great service from the adjoining cafe Pescatore for our evening meal and thought we would do our own thing each morning .\\n75 Housekeeping service was very inadequate, though .\\n76 and the service was just ok too .\\n77 The whole trip was ruined by the guest service of the hotel .\\n78 They say they pride themselves on being the best in guest service but I was not impressed at all .\\n79 The valet parking was overpriced, the service was terrible, and the coffe was cold .\\n80 service was extra good, very friendly and there is a great cafe across the street which has the best breakfast in the world .\\n81 The service was fine with the exception of check, in .\\n82 From reading other reviews, it seems as though this hotel has significant lapses in service from time to time .\\n83 Nevertheless, I did like this hotel, the rooms, location, and most of the service and I would stay here again .\\n84 Nice place but service could be better\\n85 Overall we had a nice stay but just had some minor service issues .\\n86 When we finally found the church later, the service times she had given us were wrong, too .\\n87 Speaking of parking, you're going to have to pay and it's going to have to be valet service, as there are no free self park lots that are part of the hotel .\\n88 The hotel is pretty much as you'd expect from the chain , nice clean rooms well serviced, and the staff were extremely helpful, very pleasant to deal with .\\n89 Service was poor and they got our order wrong, but they did correct it at no extra cost and the food was good .\\n90 Great service and friendly Front Desk .\\n91 The Concierge service is excellent .\\n92 Valet parking was $36 a day, but we're not complaining because other SF wharf hotels have charged us a similar fee even without the valet service .\\n93 This hotel is truly a value for the mid, level traveler looking for excellent accomodations and the HIGHEST LEVEL OF SERVICE ANYWHERE !\\n94 But the maid service was excellent, it was very clean and the bed was comfortable .\\n95 The service from every staff member we encountered was delightful .\\n96 Great location service and beer .\\n97 The hotel room was average although the service was good .\\n98 In accordance with the Tuscan Inn\\u0092s Italian style theme a coffee tea biscotti service was open from 6am till 9am in the mornings .\\n99 In the evenings from 5pm till 6pm a wine, beer and sparkling water service was available .\\n100 Maid service was prompt, too .\\n101 the service is poor, and for those used to staying in Kimpton hotels .\\n102 There is simply not the service, oriented feeling one is used to in this hotel group .\\n103 It has everthing you need to have a great time in a great city, location, good service, great food , comfortable rooms and a complimentary happy hour .\\n104 The cafe is comfortable and service was attentive and polite .\\n105 Room service at the hotel is limited :\\n106 The rooms are small but very clean, charmingly decorated with a view of the little flowered courtyard, comfy beds, plenty of pillows towels and smiling service .\\n107 I really didn't get a chance to experience the staff's level of service but the rooms are small as is the bathroom .\\n108 One other thing, I took my family to the eating establishment connected to this hotel and the service there was TERRIBLE !\\n109 The concierge, in turn, told us to see the bellman, who said the shuttle did not run on weekends and he knew nothing about how to arrange the service .\\n110 We ate there several times and never had a bad meal or poor service .\\n111 While we were making these arrangements, the valet secured a shuttle service to get us to the airport on time .\\n112 Found the food there to be quite nice, and our service was always prompt and efficient .\\n113 I planned a weekend getaway and thought because of the location and Hotel chain we would receive good service .\\n114 The service was excellent, the room was terrific, the bed was incredibly comfortable and the hotel is centrally located to all the major attractions of San Francisco .\\n115 Very clean room, great location, wonderful service and dog friendly .\\n116 The personalized service always stands out and if we have a problem, it is immediately remedied .\\n117 WORST BW we've ever stayed in as far as service goes .\\n118 We ate breakfast there one day and were appalled at the slow service, rude waitstaff, and overpriced breakfast food .\\n119 I had breakfast and dinner a few times at the restaurant joined to the hotel, Cafe Pescatore, and thought the food and the service were both very good .\\n120 The rooms were great and the Service wonderful .\\n121 The only complaint I have is the Valet service .\\n122 The front desk is the worst service I have had in years .\\n123 And the hotel restaurant food and service was awful .\\n124 great rooms fantastic location and great service !\\n125 i would also urge other vistors to prebook Alacatraz with Blue and Gold Fleet direct on there website before they arrive in San Fran as you can pick up your tickets at the self service machine without the miles of queues !\\n126 The food at the " Cafe" is quite " hotel, like" but the service makes up for it .\\n127 friendly service was evident each day and the gentleman conceirge was patient and helpful .\\n128 The valet guy was extremely helpful and very friendly but the check in guest services staff on the whole uninterested and unhelpful .\\n129 The hotel restaurant was a bit over priced but good service and good quality .\\n130 Courteous, responsive service and a great location !\\n131 The service was good, the wine service each evening was very nice next to the fireplace, and the location was awesome !\\n132 The service was friendly and helpful at the front desk, but the conciege that I dealt with was not very good .\\n133 Excellent staff and service and the adjoining Italian restaurant was superb .\\n134 A very cheerful staff and prompt service .\\n135 Great people, service was terrefic, especially during this stressful time !\\n136 Teaming this Hotel with the great food service @ Cafe Pescatore, I would definitely choose this hotel again while in SF, an experience we won't ever forget .\\n137 I was also disappointed that the hotel's " room service" came from a nearby pizzeria, but the hotel still charged a fee on each delivery .\\n138 Being that I worked as a front desk person at a Best Western for quite awhile I was on the lookout for good service and facilities .\\n139 We asked her how to get back to the airport without having to pay the shuttle service $15 each .\\n140 And value is key for the rooms and the service !\\n141 The service is always great and the rooms very clean .\\n142 nette Lage aber durchschnittlicher Service !\",\n \" I bought the 8, gig Ipod Nano that has the built, in video camera .\\n0 Itunes has an on, line store, where you may purchase and download music and videos which will install onto the ipod .\\n1 I have lots of music cd's and dvd's, so currently I'm just interested in storing some of my music and videos on the ipod so I can enjoy them on my vacation, and while at work .\\n2 There's a right way and wrong way to store music and videos onto the ipod .\\n3 Audio and video recording are a step above the competition .\\n4 As always, the video screen is sharp and bright .\\n5 ipod nano even better with video camera !\\n6 This time around, Apple is branching out of its iPod formula in a small, but not insignificant way by gracing the back of the Nano with its own video camera .\\n7 Still, video fans should consider stepping up to a product with a larger screen, such as the Zune HD or iPod Touch .\\n8 The user interface of the 5G Nano remains almost entirely unchanged with the exception of a few new menu items for the video camera, FM radio, and fitness features .\\n9 I can listen to it without headphones, i can record video .\\n10 It looks nicer than my other one, love the video and everything else this one can do\\n11 wish BB could engrave them too announcer for songs is kind of annoying Haven't yet tried the video, but very pleased with the size and quality of my music on this nano .\\n12 Hard to delete videos from the Nano device .\\n13 The video design allow you to take different types of vidoe like x, ray, monochrome, and twist making it enjoyable to play .\\n14 The video quality is actually fairly good, my friend toook a video with it and she uploaded it to facebook and it came out great !\\n15 It eve ncame out better than a video she took with an actual camera camera !\\n16 the video quality is perfect .\\n17 Great for music, just OK for video\\n18 Video recorder only, cannot take just photos .\\n19 the VIDEO, VOICE and PEDOMETER recorder is one great addition to it .\\n20 As for the video camera it's a nice addition considering it's an mp3 player first and foremost, I think people are going to go into this and think maybe I can replace my old video, NO .\\n21 It just a solid low quality video camera some of the lighting or your fingers may get in the way of the actual recording but once you get use to it, it can become fun .\\n22 I find it weird that it will take video but not still pics .\\n23 It looks just like the 4th generation, except on the back, there's a camera to take video clips or whatever it is you want to .\\n24 i hate itunes, but it seems to be a necessary evil in order to tag say a video as music and not a movie, so though i originally started with 3rd party apps for syncing i have since switched to itunes .\\n25 This time around, Apple is branching out of its iPod formula in a small, but not insignificant way by gracing the back of the Nano with its own video camera .\\n26 The video works very well for such a small sensor and it is so easy and convenient to use .\\n27 We have had portable video players for our children as our cars are not equipped with these devices .\\n28 Video camera quality and sound are also surprising for such a small unit .\\n29 Not a tremendous surprise here, as we believed the sixth, generation true video iPod would not be announced until later in the year or even early in 2007 .\\n30 5G lies a more mature iPod, many steps wiser and more able than its one, year, old The iPod gains many incremental improvements, including a brighter screen and better video battery life, but probably the most appealing aspect is the tantalizing price points of $249 for the 30GB version and $349 for the huge 80GB version .\\n31 The 80GB is enticing for video addicts both for the capacity iTunes movies are about 1 .\\n32 The video camera is nice, just wish it could take stills .\\n33 The one problem with the video camera is it is not the easiest thing to use .\\n34 I also like that videos can be watched on it as well as listening to it without the ear phones that is a really great feature .\\n35 The only odd thing is that is has a video camera but doesn't have a single shot camera .\\n36 Easy to use, Video Camera, Radio, Size, Sound Quality .\\n37 The battery doesn't last a long time especially when you're recording or watching a video but I just listen to music most of the time and it lasts me a good length of time doing that .\\n38 The video quality is great and has different settings .\\n39 Definitely easier to use than the IPod Touch, and the video camera feature is awesome .\\n40 That way you will have enough storage to add music, video and pictures !\\n41 I haven't found anything that is not so great This is a multi use MP3 player with the ability to make videos, music and videos .\\n42 Great new features in this iPod generation include voice recording, listening to radio, and even filming video .\\n43 Has video camera and voice memo .\\n44 The video looks great and it's easy to use .\\n45 No off switch Compared to Gen 4 the ability to listen without speakers and the video camera is great .\\n46 As easy to use as any other iPod, and the video is good .\\n47 She loves to make her own videos and play them back .\\n48 The videos are so clear I just love it .\\n49 However, the way it is designed, it is clumsy to hold while recording a video .\\n50 camera does only video, not pictures Way better than 2nd gen nano .\\n51 Love the camera, but wish it had photo capabilities, rather than just video .\\n52 It's got radio, video, camera, video camera, small .\\n53 Love the pedometer feature on the nano and the video camea .\\n54 The color, the video, overall the item is great .\\n55 The size is very nice and compact and the videos are beautiful !\\n56 it would be nice to delete songs when they get old the video camera is the best, i use it all the time .\\n57 It was fine quality sounds for roof, raising music and also insane levels of clearity for music videos or movies on the go !\\n58 The video camera feature is awesome enough, but all of the special effects are incredible .\\n59 He loves shooting video and then viewing it in cyborg mode or in sepia tones .\\n60 Our 12 year old loves the IPod , especially the video camera feature .\\n61 lots of features I got this for my son because he wanted an MP3 player and a video camera for Christmas .\\n62 Like the extra features , pedometer, video camera, radio, speakers .\\n63 haven't quite mastered the video camera yet, but I'm okay with that !\\n64 Movies, videos, music, music, music .\\n65 Plenty of memory to add all your favorte music and videos .\\n66 The 16g holds a lot of music and video .\\n67 video, motion sensing, screen size and sllek look I recently upgraded from the 2nd generation Nano and love the new features of the newest model .\\n68 Can't believe the picture quality and ease of video use !\\n69 It will take video, but not pictures ?\\n70 Secondly, the thing has the capability to record video, but won't take pictures .\\n71 Yeah, that's typed correctly , video, but not pictures .\\n72 Seems kinda silly that they would go right to video and completely neglect photography .\\n73 My daughter loves taking video, as well as the music & pics !\\n74 She takes videos and pics with it all the time .\\n75 I decided to get this iPod cause of the Memory and the Video Cam in the back .\\n76 The video camera and the graphics is so cool !\\n77 Easy to use and cool video camera !\\n78 Comes in different colors, make videos, and holds alot of music .\\n79 Small, holds lots of songs, video, easy to use .\\n80 Can't figure out how to review the video clips I record .\\n81 This is an easy to use item, but is slightly confusing to use when trying to review video clips .\\n82 It takes video and has a really cool radio feature on it, according to the kids .\\n83 easy to use, cool helpful features, video camera, voice over .\\n84 The video camera is great and the different effects are fun to mess around with .\\n85 It would be nice if the video camera zoomed in a little and if there was a regular camera as well, but those are pretty minor complaints .\\n86 My daughter thinks that the video clarity is amazing and finds the built in speakers awesome .\\n87 The camera and video feature are wonderful .\\n88 Holds tons of music, video, pics .\\n89 I wish the video camera had a pause on it, but you can't pause .\\n90 It can hold tons of music, video, pics and watching movies on the plane is nice .\\n91 I also wish the video camera had a pause on it, but it doesn't pause and starts with a new video everytime you stop it .\\n92 She didn't want the touch, she wanted the nano because you can video, it has the radio that she can play back the songs and she likes the size .\\n93 The video camera is great and the screen size is a nice size\\n94 We haven't tried the video yet, so I can't comment on that .\\n95 great video quality, no ear buds required internal sound system sounds great .\\n96 Still to new to we'll see Great product, video feature is awesome and I love how there is now internal sound and you don't have to use ear buds with it .\\n97 Don't really need video camera eventhough we don't use the video that much the rest of the features are great .\\n98 It does so many things, Wow, nav, video, mp3, and more !\\n99 I love how easy it is to download from ITunes and the fact I can also do video .\\n100 I am learning to navigate the menu better that at first and love that fact that I can take a video .\\n101 Its easy to use and love the new video feature .\\n102 It does have some nice features such as the video camera and the radio .\\n103 He has been using it consistently ever since and has nothing but praise for it and it's many options loves the video cam and the music player recorder especially\\n104 Watching any videos drains the battery very quickly .\\n105 Glad you listen to the radio, play games and take video .\\n106 none of my old Nano asseccories work with this one Fun new Ipod, the video feature is fun but difficult to learn how to use .\\n107 I've downloaded a lot of CDs and music from iTunes, also a few music videos,which are great fun to watch and hear .\\n108 Great for spot video if you do not have a camera availabe on hand .\\n109 some changes such as video camera and bigger screean, but it was just ok .\\n110 Great video camera and the funcionality is awesome\\n111 Video camera function and the blending of songs at the end and beginning .\\n112 nothing The functionality and video camera were great innovations added to the newest generation of Ipod !\\n113 It's very easy to use and its video camera is very nice and it doesn't ghost .\\n114 and the video quality is very good, and the sound quality is very good as well .\\n115 Sound quality, video quality, easy to use, space, customizable .\\n116 The colors are awesome, the sound is great and it hold tons of songs and videos !\\n117 It has great video quality for such a small device .\\n118 the video recorder, sound, look .\\n119 has bigger screen, video camera .\\n120 the picture for the video is awesome its very clear and easy to see .\\n121 features, look and feel, video .\\n122 Video, even in low light, is impressive .\\n123 Even the built, in video camera is very good .\\n124 I'm really disappointed that Apple is so proprietary that you can't use anything but iTunes to add music and videos to an iPod .\\n125 It has a built in video camera, and it shoots in high quality, which I was surprised at .\\n126 n you can put music videos pictures .\\n127 The video camera is cool, but I don't know that I would use it much .\\n128 This can record videos and it is also Very Very Light Weight !\\n129 i couldnt think of a single thing this ipod is reallly great you can shoot videos listen to the radio plus you have 16 gigs of memory it is aweosme i really love it because its still as small as the last one only with a bigger screen and great color\\n130 The video and external speaker components were a surprise on the 5th Gen iPod .\\n131 I love the video camera it has on it, the pedometor is awesome to use and best of all I can listen to music on it when I'm doing other stuff on my computer when it might be slowed down when listening to music on it .\\n132 Awesome features fm radio, video camara, pedometer and more .\\n133 Nothing What will Apple think of next for their Nano, the video camara records awesome video even in dim lighting .\\n134 All the neat little features and surprisingly good video camera !\\n135 I took it to class and decided to test it out and everyone was surprised by how good the video quality was .\\n136 I'm planning on hiking half, dome next year and this is much much more lightweight than the video camera I have so it will definitely be accompanying me !\\n137 fm radio lots of storage for music, videos and pictures alarm clock to your tunes blue color lock button so you don't accidentally turn it off on ease of use Cons :\\n138 Hard to get videos onto computer This was a purchase I made after I returned my Sony Walkman .\\n139 A must, buy for everybody who loves music and video .\\n140 video camera built in and music plays without head phones .\\n141 need a video program on your computer to obtain video Great product for the price .\\n142 I had the iPod Video but it did not work with my new Nike\\n143 chip so I bought the newest iPod video the day it came out .\\n144 I cannot figure out how to get the video I record off of the IPod .\\n145 , I cannot figure out how to get the video I recorded on my Nano off to upload it to Facebook or You Tube .\\n146 shoes if using vid cam for long time, it kills battery Standard Def video recording, but still sharp !\\n147 Only things I wish they added is measuring distance [not just steps] on the pedometer, better sound on the speaker, and a capturing still images with the video recording feature .\\n148 The video recording feature is the best part .\\n149 7 out of 10 have not used video yet but the pixels would be just the same .\\n150 The product is very useful if you want to go out for a jog and listen to your music or watch some videos if you stuck on a bus or subway .\\n151 Video camera, FM turner, Speaker, Pedometer .\\n152 Location of the video camera, and the gap between the click wheel and ipod The Best Ipod ever and has the best features ever .\\n153 Easy to use video camera, Big screen, Fun color .\\n154 Which I am sure all Nano's are like that LOL The video camera is so much fun !\\n155 new look, shape and video cam feature .\\n156 Smudgy finger prints I like the Video voice over color, purple I like hearing the Ipod w out the ear plugs .\\n157 light weight, radio, video camera .\\n158 I have an old 60GB ipod video that I use in my car and now I use this ipod for walking around campus and such .\\n159 The video camera is a great feature to have, however its not that high of a quality when you transfer it onto your computer .\\n160 Camera has great video effects .\\n161 The videos you record do not show up on iTunes though, you have to go to My Computer and find the ipod drive, then open the folder named DCIM, and the video files are in .\\n162 When you're not in a game or watching a video, if you turn it on the side, coverflow displays, however you can turn this feature off .\\n163 I mean I do have my cell that takes pics and videos but I just love the picture video the NANO records .\\n164 And I just foundout you don't need the head phones in the iPod to listen to your music or videos !\\n165 Video Camera with fun special effects, FM radio .\\n166 the glossy fingerprint attracting finish compared to last year's beautiful matte finish Great improvements with the video camera, really fun special effects, easy to use , also great FM radio with pause feature .\\n167 then it would be perfect oh and make a 32 or 64gb version so I can fit all my music and have lots of room for video , thanks !\\n168 But overall I love it , between the radio, speaker, microphone, video camera, effects, there are enough new features to justify buying a new nano .\\n169 It's great to have a decent video camera with you at all times if you don't have an iphone .\\n170 Had the original iTouch but I was burglarized andwas waiting for the iTouch with video but can't wait any longer .\\n171 Video is impressive, speaker sound is good for size, easy menus, screen is big enough to watch movies .\\n172 The videos are very crisp and clean, the video camera is nice, I was very surprised with the quality .\\n173 Small size and Color, Gettin your Money's worth, nice screen, and video camera .\\n174 I do like the video camera on it .\\n175 The mic and camera are great, speaker is great for video playback or bedtime movie watching, the screen is now even bigger and the device is the same size but Lighter than the 4th gen nano !\\n176 The Video Recording Quality, Price, Size, Weight, Radio, Pedometer, Voice Over .\\n177 video camera, radio, great price for a 16 gig, not a fingerprint magnet, small .\\n178 cant take pictures just videos, and u need the headphones given for the radio good for just listening to music and for your car .\\n179 Easy to set up, has a video camera and a radio built in .\\n180 The video camera is not as good as I thought it was going to be .\\n181 NOTHING Ipod nano has a VIDEO CAMERA it is so cool, ROCK\\n182 the video is very clear, the built in speaker is pretty good, the radio is very useful and overall it's just great !\\n183 He was delighted as it had a video and camera which his original one did not have .\\n184 It has plenty of room for her music and she loves taking pictures and making short videos with it .\\n185 While the Nano allows for video and audio, the IPod touch has interactivity and\\n186 While the Nano allows for video and audio, the IPod touch has interactivity and\\n187 its really good up to apples usual standard sound quality and video quality is brillant and is ideal for anyone !\\n188 The video camera feature is nice but I don't understand why they didn't allow for picture taking ?\\n189 It's small and lightweight, it looks amazing, the video quality is way better than I ever imagined it would be, and the screen is huge .\\n190 The seller advertised it as the NEWEST model which should be able to take pictures and video .\\n191 It is of the best buys I've done, sound quality, video and radio is excellent\\n192 Great sound quality, love the video recording too :\\n193 It's just a shame it only takes video and not still photos .\\n194 It has a cool video recorder, but i could've done without it .\\n195 The video camera works great and the battery\\n196 If you had other ipods with the feauture of puting videos, when you synch them, they don't appear\\n197 Video option is easy to use .\\n198 I have the 5th gen iPod video, and this thing blows it away !\\n199 The video is surprisingly good !\\n200 I do wish that it also took pictures as well as video though .\\n201 So, the only thing about the iPod nano that I don't like is the placement of the video camera .\\n202 Video quality is better than I expected .\\n203 Amazing amount of music photos videos can be stored .\\n204 Video taking feature is interesting .\\n205 It plays music, videos, radio, records\\n206 The video capability is incredible, and so easy to use .\\n207 My wife and I are really pleased with our Nano Ipods that we purchased from you so easy to use and good to have a camera as well as a video John Coleman\\n208 It's a nice little gadget, I've put some songs on it and the video camera is good\\n209 The video camera is crystal clear and the memory space is more than ideal for all your needs .\\n210 she was quickly able to download music and videos xmas am\\n211 I have used the video camera nd the sound is good considering and the picture is\\n212 FM radio and a video camera are pretty darn cool .\\n213 Great little audio video device\",\n \" Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 needs power seats on the passenger side .\\n2 I haven't had any back pain from the seats, maybe these people exceed the seat weight limit ?\\n3 There is a great deal of road noise in the cabin and the seats are very low quality .\\n4 Power seats are not fully adjustable .\\n5 Front seats are too narrow and not deep enough .\\n6 The seats are extremely uncomfortable .\\n7 I previously owned a 98 Avalon, and found the seats more comfortable than the Honda .\\n8 The seats in the Honda are more firm .\\n9 I'm very sad , I loved my daughter's Civic and the dealer service is fantastic, but even good service can't help the uncomfortable seats .\\n10 It cost me thousands of dollars to get rid of it, but the seats gave me and my wife back pain after 20 minutes of driving !\\n11 Although it is fun to drive and quality seems ok, the leather seats are very uncomfortable, especially on a long drive .\\n12 The seats are decent, the interior design is excellent IMO as well as the exterior design, and thus far it has been extremely reliable .\\n13 In fact, I love the car just wish Honda wouldn't have made such horrible seats .\\n14 Body wasn't used to seats like if you bought a new mattress .\\n15 The interior quality is OK, my 1999 Accord EX had a better comfort level on the seats .\\n16 I just purchased an Accord Sedan with leather seats .\\n17 Only needs to add drivers seat memory, 2, tone perforated leather, xenons, rear seat interior illumination mounted under front seats, and better tilt .\\n18 I can also fit three car seats in the back which was the reason I was able to go back the the Honda family .\\n19 The seats are very comfortable & supportive .\\n20 I test drove an EX, L and felt the seats were too firm plus, the EX, L seemed too slow .\\n21 This Accord has more road noise than I like and the seats tend to be hard, unlike my other Accords .\\n22 Engine performance lacks punch after 60, head rest are poor design, lacks driver seat memory rear seat a c, radio system is marginal compared to Bose, Seats are hard and small for a large person .\\n23 The seats are comfortable, and there is ample leg room in the front and rear .\\n24 Most uncomfortable seats in any vehicle I have ever owned .\\n25 Only 2 things could make it better memory seats and a smoother shifting transmission .\\n26 Seats are firm but not uncomfortable , very BMW like .\\n27 Advise anyone considering the L to drive one for awhile if you can , some cannot stand the seats .\\n28 The seat cover was coming out in between the seats .\\n29 The only for sure complaint I have is the seats seems to hurt my back after I drove for a period of time, this may be because I am use to my silverado truck with leather bucket seats .\\n30 DON'T rely on your test drive, the seats are Very uncomfortable and when the engine goes into the econo mode the vehicle shifts rocks violently forward and when leaving the econo mode it shifts rocks forward once again which means that the vehicle is CONTINUOUSLY SHAKING AND ROCKING .\\n31 Seats are very comfortable and ride is very smooth !\\n32 It's a black beauty with comfy leather seats .\\n33 The front seats are extremely uncomfortable after anything more than 15 minutes of driving due to what I see as a design flaw, the seat curvature is too great, and even with the lumbar support all the way retracted, it still feels like there is some type of bar sticking out in the wrong part of my back .\\n34 However, long, distance comfort is poor due to hard, narrow and deeply, bucketed seats combined with a very taut suspension which transmits even minor road imperfections through the whole vehicle .\\n35 At first the seats seemed stiffer than I'd like, but after making a 2 1 2 hour trip, It felt very comfortable once I got the seat and lumbar adjusted to my liking .\\n36 Great leg room in the back and the seats a very supportive .\\n37 Door closure is solid, leather seats are very comfortable .\\n38 Ride is very good, but seats are just a little firm .\\n39 Seats are not very comfortable and not happy with the heated seats .\\n40 The seats are very comfortable and I love the cloth .\\n41 Seats are little on the hard side .\\n42 The black leather seats feel a bit hot on the back in the warm weather but otherwise no complaints about the interior .\\n43 Steering nice and tight, seats a little stiff but comfortable .\\n44 We wanted three things, heated seats and mirrors and an easy to get out of back seat for some aging friends .\\n45 Ride is superior, comfortable seats, radio excellent .\\n46 5 Seats= Like sitting on a church pew .\\n47 Leather seats are the only thing of good quality .\\n48 Problems with steering wheel, windows & seals, seats .\\n49 Smooth responsive acceleration,top of the line high quality supple comfy leather seats .\\n50 Also, amazing leg space in front AND back seats , the Accord could almost be considered a full size sedan .\\n51 5L V6 scoots sporty handling and acceleration good sporty leather seats highway gas mileage appearance package worth having no dealer service yet Negatives :\\n52 First off the new body style is very appealing and the new seats are more forgiving for larger men .\\n53 The heated seats for me and my passenger are a plus for the cold weather .\\n54 hard seats, hard ride, more road noise than expected, disappointing gas mileage .\\n55 The seats are supportive and the materials are great .\\n56 You get a V, 6, heated leather seats, XM, 18 rims .\\n57 Cloth front seats big & comfortable .\\n58 Seats are stiff but once adjusted seem to become more comfortable .\\n59 The seats are very firm, but getting used to this .\\n60 The seats in my 2008 which is just like a 2009 are considerably less than I'm used to from Honda .\\n61 The only hiccup I can report is that I think that the seats in our 2008 Odyssey are a bit more comfortable .\\n62 Don't get me wrong, the Accord is a comfortable car, I am just a big guy and the seats just feel like they could use a little more of something .\\n63 I have two herniated disks and the seats of the Honda have alleviated the pain in my legs and back when I drive .\\n64 Additionally, the standard seats are not my favorite .\\n65 Although it's a lower trim level, it has high quality interior trim very comfortable seats and and very smooth, quiet ride .\\n66 Decent accel, huge back seat for my kids baby seats large friends .\\n67 we don't need moonroof, heated seats side mirrors we live in S .\\n68 With the leather seats, comfort is close to EX, L's at a best buy price .\\n69 Seats are a bit too firm for me .\\n70 Leather seats are very comfortable .\\n71 The inside and outside pads should ALWAYS wear evenly Always had stiff ride and seats .\\n72 I have a bad lower back, and the lumbar support on the seats is a life saver !\\n73 Front seats much more comfortable .\\n74 The satellite radio cuts out constantly, the heated seats are barely warm, the sound system is pathetic and the brakes wore out around 15,000 miles google it .\\n75 We are both tall, 5'11'' and 6'2 and have no problems with the seats .\\n76 After driving it for a few months I found the seats are tough on the lower back on long runs and it need a few more inches to go back .\\n77 Seats are too firm and leather is quite hard in character and feel .\\n78 I was slightly concerned about all the reviews with the seats being uncomfortable .\\n79 I love the seats, they are supportive .\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 87 + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import glob, os\n", + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "pd.set_option('display.max_colwidth', 700)\n", + "\n", + "# 아래는 제 컴퓨터에서 압축 파일을 풀어 놓은 디렉터리이니, 여러분의 디렉터리를 설정해 주세요\n", + "path = '/content'\n", + "# path로 지정한 디렉터리 밑에 있는 모든 .data 파일들의 파일명을 리스트로 취합\n", + "all_files = glob.glob(os.path.join(path, \"*.data\"))\n", + "filename_list = []\n", + "opinion_text = []\n", + "\n", + "# 개별 파일들의 파일명은 filename_list 리스트로 취합,\n", + "# 개별 파일들의 파일 내용은 DataFrame 로딩 후 다시 string으로 변환하여 opinion_text 리스트로 취합\n", + "for file_ in all_files:\n", + " # 개별 파일을 읽어서 DataFrame으로 생성\n", + " df = pd.read_table(file_,index_col=None, header=0,encoding='latin1')\n", + "\n", + " # 절대경로로 주어진 file 명을 가공. 만일 Linux에서 수행시에는 아래 \\\\를 / 변경.\n", + " # 맨 마지막 .data 확장자도 제거\n", + " filename_ = file_.split('/')[-1]\n", + " filename = filename_.split('.')[0]\n", + "\n", + " # 파일명 리스트와 파일 내용 리스트에 파일명과 파일 내용을 추가.\n", + " filename_list.append(filename)\n", + " opinion_text.append(df.to_string())\n", + "\n", + "# 파일명 리스트와 파일 내용 리스트를 DataFrame으로 생성\n", + "document_df = pd.DataFrame({'filename':filename_list, 'opinion_text':opinion_text})\n", + "document_df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 53 + }, + "id": "0n7gCVJs6XCn", + "outputId": "34aca134-b409-419c-a07d-82f4dc0cbe1f" + }, + "execution_count": 81, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Empty DataFrame\n", + "Columns: [filename, opinion_text]\n", + "Index: []" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_text
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "document_df", + "summary": "{\n \"name\": \"document_df\",\n \"rows\": 0,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 81 + } + ] + }, + { + "cell_type": "code", + "source": [ + "from nltk.stem import WordNetLemmatizer\n", + "import nltk\n", + "import string\n", + "\n", + "remove_punct_dict = dict((ord(punct), None) for punct in string.punctuation)\n", + "lemmar = WordNetLemmatizer()\n", + "\n", + "# 입력으로 들어온 token단어들에 대해서 lemmatization 어근 변환.\n", + "def LemTokens(tokens):\n", + " return [lemmar.lemmatize(token) for token in tokens]\n", + "\n", + "# TfidfVectorizer 객체 생성 시 tokenizer인자로 해당 함수를 설정하여 lemmatization 적용\n", + "# 입력으로 문장을 받아서 stop words 제거-> 소문자 변환 -> 단어 토큰화 -> lemmatization 어근 변환.\n", + "def LemNormalize(text):\n", + " return LemTokens(nltk.word_tokenize(text.lower().translate(remove_punct_dict)))" + ], + "metadata": { + "id": "lUdxV8Pom0Uh" + }, + "execution_count": 88, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import nltk\n", + "nltk.download('punkt')\n", + "nltk.download('wordnet')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "eDgv3pyIn1QA", + "outputId": "34a4ffdd-c1a0-411c-ce24-68d677adc8c0" + }, + "execution_count": 89, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "[nltk_data] Downloading package punkt to /root/nltk_data...\n", + "[nltk_data] Package punkt is already up-to-date!\n", + "[nltk_data] Downloading package wordnet to /root/nltk_data...\n", + "[nltk_data] Package wordnet is already up-to-date!\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "True" + ] + }, + "metadata": {}, + "execution_count": 89 + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "\n", + "tfidf_vect = TfidfVectorizer(tokenizer=LemNormalize, stop_words='english' , \\\n", + " ngram_range=(1,2), min_df=0.05, max_df=0.85 )\n", + "\n", + "#opinion_text 컬럼값으로 feature vectorization 수행\n", + "feature_vect = tfidf_vect.fit_transform(document_df['opinion_text'])\n" + ], + "metadata": { + "id": "ZmkCzEFD72gU" + }, + "execution_count": 94, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.cluster import KMeans\n", + "\n", + "# 5개 집합으로 군집화 수행. 예제를 위해 동일한 클러스터링 결과 도출용 random_state=0\n", + "km_cluster = KMeans(n_clusters=5, max_iter=10000, random_state=0)\n", + "km_cluster.fit(feature_vect)\n", + "cluster_label = km_cluster.labels_\n", + "cluster_centers = km_cluster.cluster_centers_" + ], + "metadata": { + "id": "VcFjnm0O8DWz" + }, + "execution_count": 95, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "document_df['cluster_label'] = cluster_label\n", + "document_df.head()" + ], + "metadata": { + "id": "kCYToqw08DZP", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 831 + }, + "outputId": "cc0c49d5-6220-44bd-f1a3-d15a24941be0" + }, + "execution_count": 96, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "0 interior_toyota_camry_2007 \n", + "1 speed_garmin_nuvi_255W_gps \n", + "2 rooms_swissotel_chicago \n", + "3 speed_garmin_nuvi_255W_gps \n", + "4 comfort_toyota_camry_2007 \n", + "\n", + " opinion_text \\\n", + "0 First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh... \n", + "1 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "2 The Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ... \n", + "3 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "4 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ... \n", + "\n", + " cluster_label \n", + "0 2 \n", + "1 0 \n", + "2 3 \n", + "3 0 \n", + "4 2 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
0interior_toyota_camry_2007First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh...2
1speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...0
2rooms_swissotel_chicagoThe Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ...3
3speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...0
4comfort_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ...2
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "document_df", + "summary": "{\n \"name\": \"document_df\",\n \"rows\": 102,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 51,\n \"samples\": [\n \"service_bestwestern_hotel_sfo\",\n \"video_ipod_nano_8gb\",\n \"seats_honda_accord_2008\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 51,\n \"samples\": [\n \" Both of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 Also, thanks to Ken the concierge for recommending Grand Limo service .\\n2 The restaurant is not cheap but is very well patronised and the service is very good as is the food .\\n3 Service was spotty Front desk was marginally helpful .\\n4 This tuscan, themed hotel was charming, clean comfortable and the complimentary concierge service was so helpful .\\n5 Phenominal Service, great room, great location , couldn't have asked for more .\\n6 It has some charms in decor, and all staff gave very good service to us .\\n7 The rooms were clean and updated, the beds were comfortable, and the bellman service was fast and efficient .\\n8 A highlight of our visit was the historic boats at the Hyde Street Pier , , a national Park Service site that costs only $5 .\\n9 The service was quick and gracious checking in and out .\\n10 Great location service and value !\\n11 So to sum up if your looking for somewhere to lay your head after a long day then this is the place for you if your looking for something a bit special with good customer service avoid this place like the plague\\n12 I did not take advantage of the concierge service, but I saw many people were receiving great service from them .\\n13 Great value and service for the price !\\n14 Excellent Service , Great Location\\n15 The staff and service were exceptional .\\n16 The concierge can give discounts for booking city tours and for some restaurants, although we tried Neptune's which was recommended to us and felt it was overpriced for the service and quality .\\n17 I personally appreciated the free internet service in the hotel .\\n18 In addition, they advertise Limousine service to the financial district but when I inquired they announce they had stopped the service and I would need to take mass transportation .\\n19 As I checked out I expressed my disappointment there were no biscottis and transportation service and the check out clerk tells me they do have the service and I needed to make an appointment .\\n20 All employee's that I mentioned have shown customer service skills that are above and beyond .\\n21 We had a discussion on the plane that it was such a shame that customer service was gone in so many companies these days .\\n22 The rooms were a decent size for a city hotel and were very clean and well serviced .\\n23 Wonderful service friendly people\\n24 seems service just isn't the way it used to be .\\n25 i'am 40 years old and its very disheartening that people have lost their pride of service and doing a good job .\\n26 We have stayed at The Tuscan Inn on our last 3 trips to San Francisco, and I really can't fault the service .\\n27 The staff at this hotel make you feel so welcome and its service with a smile .\\n28 All the staff go the extra mile to assist in anyway they can and the staff of the ajoining Cafe Pescatore are just as welcoming, with great service and the food is excellent .\\n29 We ate at the Italian restaraunt located in the hotel and the food and service was outstanding .\\n30 Never experienced the room service .\\n31 Service was all good, albeit a bit stoic .\\n32 Unfortunately we didn't get to dine in the hotel restaurant, but I'd say it would be good, if the after hours service is anything to go by !\\n33 I'd highly recommend the Tuscan Inn based on location, cheerfulness of staff, aesthetics in the room and general overall service .\\n34 Excellent service great location good value\\n35 The staff at the front desk could not have been more helpful and whilst we did not avail his services, the concierge always seemed to be busy with guests giving info and advice .\\n36 There was also a gentleman offering massage at this time and we met a few people who had enjoyed his services .\\n37 The food and service were both excellent .\\n38 This was probably not the best pick for us as we don't like tourist areas and Fishermans Wharf if one big tourist service .\\n39 There are many public transportation options including the cable cars, the trolley line and bus service .\\n40 The highlight of this hotel for us was the service offered by the staff, particularly the two concierges on duty while we were there .\\n41 Their service was of the level and knowledge I would expect at at 5, star hotel .\\n42 One day we had the do not disturb sign on the door before the maid had come so we could rest, and when we finally stepped out for about an hour, we changed the sign for maid service and everything was perfect when we returned !\\n43 Amenities , While this hotel isn't a luxury property, they have some nice touches like marble bathrooms, mini bar, room service and an evening wine reception every day .\\n44 At this point I asked to be put through to Best Western Customer Services and amazingly our room was changed to a king bed suite as per our reservation within the hour .\\n45 They state that there is an obligatory service charge for tables of more than 6 .\\n46 We dined as a party of 4 and were still hit with this and then the waitress failed to hand over $10 of change taking this as an additional service charge .\\n47 We were very impressed with the service we received .\\n48 The concierge service is second to none .\\n49 Tuscan Inn has it all, exellant location,very close to public transport, very clean, impeccable, friendly service and a supermarket opposite .\\n50 We found a great breakfast place just around the corner in Taylor St, called Darren's Cafe, good prices with excellant food and service .\\n51 Valet parking for $40 per night seems a bit steep,but at least the service was efficient and quick .\\n52 very clean,well maintained,with efficient,if not overly friendly service .\\n53 The hotel makes a big thing of the coffee bisc service in the morning,and this is quite nice .\\n54 I'd say that,as far as the evening wine service is concerned,if you happen to be in the hotel,it's fine .\\n55 Did not eat at the restaurant, but room service was great .\\n56 Overall, the stay at The Tuscan Inn was great and would highly recommend due to the room service .\\n57 There are other hotels in the area who do not offer room service .\\n58 The service in the hotel was really good .\\n59 The restaurant in the hotel , Cafe Pescatore , does the breakfast run for room service, it was adequate but a little overpriced .\\n60 Lunch and dinner room service is provided by North Beach Pizza, which deliveries many Italian specialties including pasta, entrees, salads, sandwiches and of course , pizza .\\n61 However, there are countless restaurants of all sorts and price ranges within a 1, 4 block walk of this hotel, there is little reason to order room service .\\n62 We did not use this service but thought it was nice that it was available if needed .\\n63 We did not eat at the hotel restaurant, we chose to eat at the IHOP around the corner for breakfast and it was good food and service, and they are open 24 hours .\\n64 Maid service was prompt and outstanding .\\n65 very good hotel , great location, concierge extremely helpful, decor is nice and the maid service was excellent .\\n66 The customer service was wonderful .\\n67 The adjacent Cafe Pescatero was handy for breakfast but had some hiccups in service, but it was okay overall .\\n68 , provide service like high end hotels .\\n69 Will store your luggage in separate room on your check out day if you have late flight, want to spend more time,Oldest Italian restaurant in the country w in walking distance, back east service, integrity, etc .\\n70 Split a fare w a private service i .\\n71 , we walked everywhere including up the hill to Coit Tower then walked down just in time to attend 1300 service @ St .\\n72 The staff was so friendly and helpful and the concierge service was very knowledgeable .\\n73 A masseur was giving guests a massage at the same location, not sure if there was a charge involved for that service, as there was no information about that anywhere .\\n74 The hotel is conveniently located to the shopping centre across the road, and we made use of this to purchase our breakfast requirements, as we had not had great service from the adjoining cafe Pescatore for our evening meal and thought we would do our own thing each morning .\\n75 Housekeeping service was very inadequate, though .\\n76 and the service was just ok too .\\n77 The whole trip was ruined by the guest service of the hotel .\\n78 They say they pride themselves on being the best in guest service but I was not impressed at all .\\n79 The valet parking was overpriced, the service was terrible, and the coffe was cold .\\n80 service was extra good, very friendly and there is a great cafe across the street which has the best breakfast in the world .\\n81 The service was fine with the exception of check, in .\\n82 From reading other reviews, it seems as though this hotel has significant lapses in service from time to time .\\n83 Nevertheless, I did like this hotel, the rooms, location, and most of the service and I would stay here again .\\n84 Nice place but service could be better\\n85 Overall we had a nice stay but just had some minor service issues .\\n86 When we finally found the church later, the service times she had given us were wrong, too .\\n87 Speaking of parking, you're going to have to pay and it's going to have to be valet service, as there are no free self park lots that are part of the hotel .\\n88 The hotel is pretty much as you'd expect from the chain , nice clean rooms well serviced, and the staff were extremely helpful, very pleasant to deal with .\\n89 Service was poor and they got our order wrong, but they did correct it at no extra cost and the food was good .\\n90 Great service and friendly Front Desk .\\n91 The Concierge service is excellent .\\n92 Valet parking was $36 a day, but we're not complaining because other SF wharf hotels have charged us a similar fee even without the valet service .\\n93 This hotel is truly a value for the mid, level traveler looking for excellent accomodations and the HIGHEST LEVEL OF SERVICE ANYWHERE !\\n94 But the maid service was excellent, it was very clean and the bed was comfortable .\\n95 The service from every staff member we encountered was delightful .\\n96 Great location service and beer .\\n97 The hotel room was average although the service was good .\\n98 In accordance with the Tuscan Inn\\u0092s Italian style theme a coffee tea biscotti service was open from 6am till 9am in the mornings .\\n99 In the evenings from 5pm till 6pm a wine, beer and sparkling water service was available .\\n100 Maid service was prompt, too .\\n101 the service is poor, and for those used to staying in Kimpton hotels .\\n102 There is simply not the service, oriented feeling one is used to in this hotel group .\\n103 It has everthing you need to have a great time in a great city, location, good service, great food , comfortable rooms and a complimentary happy hour .\\n104 The cafe is comfortable and service was attentive and polite .\\n105 Room service at the hotel is limited :\\n106 The rooms are small but very clean, charmingly decorated with a view of the little flowered courtyard, comfy beds, plenty of pillows towels and smiling service .\\n107 I really didn't get a chance to experience the staff's level of service but the rooms are small as is the bathroom .\\n108 One other thing, I took my family to the eating establishment connected to this hotel and the service there was TERRIBLE !\\n109 The concierge, in turn, told us to see the bellman, who said the shuttle did not run on weekends and he knew nothing about how to arrange the service .\\n110 We ate there several times and never had a bad meal or poor service .\\n111 While we were making these arrangements, the valet secured a shuttle service to get us to the airport on time .\\n112 Found the food there to be quite nice, and our service was always prompt and efficient .\\n113 I planned a weekend getaway and thought because of the location and Hotel chain we would receive good service .\\n114 The service was excellent, the room was terrific, the bed was incredibly comfortable and the hotel is centrally located to all the major attractions of San Francisco .\\n115 Very clean room, great location, wonderful service and dog friendly .\\n116 The personalized service always stands out and if we have a problem, it is immediately remedied .\\n117 WORST BW we've ever stayed in as far as service goes .\\n118 We ate breakfast there one day and were appalled at the slow service, rude waitstaff, and overpriced breakfast food .\\n119 I had breakfast and dinner a few times at the restaurant joined to the hotel, Cafe Pescatore, and thought the food and the service were both very good .\\n120 The rooms were great and the Service wonderful .\\n121 The only complaint I have is the Valet service .\\n122 The front desk is the worst service I have had in years .\\n123 And the hotel restaurant food and service was awful .\\n124 great rooms fantastic location and great service !\\n125 i would also urge other vistors to prebook Alacatraz with Blue and Gold Fleet direct on there website before they arrive in San Fran as you can pick up your tickets at the self service machine without the miles of queues !\\n126 The food at the " Cafe" is quite " hotel, like" but the service makes up for it .\\n127 friendly service was evident each day and the gentleman conceirge was patient and helpful .\\n128 The valet guy was extremely helpful and very friendly but the check in guest services staff on the whole uninterested and unhelpful .\\n129 The hotel restaurant was a bit over priced but good service and good quality .\\n130 Courteous, responsive service and a great location !\\n131 The service was good, the wine service each evening was very nice next to the fireplace, and the location was awesome !\\n132 The service was friendly and helpful at the front desk, but the conciege that I dealt with was not very good .\\n133 Excellent staff and service and the adjoining Italian restaurant was superb .\\n134 A very cheerful staff and prompt service .\\n135 Great people, service was terrefic, especially during this stressful time !\\n136 Teaming this Hotel with the great food service @ Cafe Pescatore, I would definitely choose this hotel again while in SF, an experience we won't ever forget .\\n137 I was also disappointed that the hotel's " room service" came from a nearby pizzeria, but the hotel still charged a fee on each delivery .\\n138 Being that I worked as a front desk person at a Best Western for quite awhile I was on the lookout for good service and facilities .\\n139 We asked her how to get back to the airport without having to pay the shuttle service $15 each .\\n140 And value is key for the rooms and the service !\\n141 The service is always great and the rooms very clean .\\n142 nette Lage aber durchschnittlicher Service !\",\n \" I bought the 8, gig Ipod Nano that has the built, in video camera .\\n0 Itunes has an on, line store, where you may purchase and download music and videos which will install onto the ipod .\\n1 I have lots of music cd's and dvd's, so currently I'm just interested in storing some of my music and videos on the ipod so I can enjoy them on my vacation, and while at work .\\n2 There's a right way and wrong way to store music and videos onto the ipod .\\n3 Audio and video recording are a step above the competition .\\n4 As always, the video screen is sharp and bright .\\n5 ipod nano even better with video camera !\\n6 This time around, Apple is branching out of its iPod formula in a small, but not insignificant way by gracing the back of the Nano with its own video camera .\\n7 Still, video fans should consider stepping up to a product with a larger screen, such as the Zune HD or iPod Touch .\\n8 The user interface of the 5G Nano remains almost entirely unchanged with the exception of a few new menu items for the video camera, FM radio, and fitness features .\\n9 I can listen to it without headphones, i can record video .\\n10 It looks nicer than my other one, love the video and everything else this one can do\\n11 wish BB could engrave them too announcer for songs is kind of annoying Haven't yet tried the video, but very pleased with the size and quality of my music on this nano .\\n12 Hard to delete videos from the Nano device .\\n13 The video design allow you to take different types of vidoe like x, ray, monochrome, and twist making it enjoyable to play .\\n14 The video quality is actually fairly good, my friend toook a video with it and she uploaded it to facebook and it came out great !\\n15 It eve ncame out better than a video she took with an actual camera camera !\\n16 the video quality is perfect .\\n17 Great for music, just OK for video\\n18 Video recorder only, cannot take just photos .\\n19 the VIDEO, VOICE and PEDOMETER recorder is one great addition to it .\\n20 As for the video camera it's a nice addition considering it's an mp3 player first and foremost, I think people are going to go into this and think maybe I can replace my old video, NO .\\n21 It just a solid low quality video camera some of the lighting or your fingers may get in the way of the actual recording but once you get use to it, it can become fun .\\n22 I find it weird that it will take video but not still pics .\\n23 It looks just like the 4th generation, except on the back, there's a camera to take video clips or whatever it is you want to .\\n24 i hate itunes, but it seems to be a necessary evil in order to tag say a video as music and not a movie, so though i originally started with 3rd party apps for syncing i have since switched to itunes .\\n25 This time around, Apple is branching out of its iPod formula in a small, but not insignificant way by gracing the back of the Nano with its own video camera .\\n26 The video works very well for such a small sensor and it is so easy and convenient to use .\\n27 We have had portable video players for our children as our cars are not equipped with these devices .\\n28 Video camera quality and sound are also surprising for such a small unit .\\n29 Not a tremendous surprise here, as we believed the sixth, generation true video iPod would not be announced until later in the year or even early in 2007 .\\n30 5G lies a more mature iPod, many steps wiser and more able than its one, year, old The iPod gains many incremental improvements, including a brighter screen and better video battery life, but probably the most appealing aspect is the tantalizing price points of $249 for the 30GB version and $349 for the huge 80GB version .\\n31 The 80GB is enticing for video addicts both for the capacity iTunes movies are about 1 .\\n32 The video camera is nice, just wish it could take stills .\\n33 The one problem with the video camera is it is not the easiest thing to use .\\n34 I also like that videos can be watched on it as well as listening to it without the ear phones that is a really great feature .\\n35 The only odd thing is that is has a video camera but doesn't have a single shot camera .\\n36 Easy to use, Video Camera, Radio, Size, Sound Quality .\\n37 The battery doesn't last a long time especially when you're recording or watching a video but I just listen to music most of the time and it lasts me a good length of time doing that .\\n38 The video quality is great and has different settings .\\n39 Definitely easier to use than the IPod Touch, and the video camera feature is awesome .\\n40 That way you will have enough storage to add music, video and pictures !\\n41 I haven't found anything that is not so great This is a multi use MP3 player with the ability to make videos, music and videos .\\n42 Great new features in this iPod generation include voice recording, listening to radio, and even filming video .\\n43 Has video camera and voice memo .\\n44 The video looks great and it's easy to use .\\n45 No off switch Compared to Gen 4 the ability to listen without speakers and the video camera is great .\\n46 As easy to use as any other iPod, and the video is good .\\n47 She loves to make her own videos and play them back .\\n48 The videos are so clear I just love it .\\n49 However, the way it is designed, it is clumsy to hold while recording a video .\\n50 camera does only video, not pictures Way better than 2nd gen nano .\\n51 Love the camera, but wish it had photo capabilities, rather than just video .\\n52 It's got radio, video, camera, video camera, small .\\n53 Love the pedometer feature on the nano and the video camea .\\n54 The color, the video, overall the item is great .\\n55 The size is very nice and compact and the videos are beautiful !\\n56 it would be nice to delete songs when they get old the video camera is the best, i use it all the time .\\n57 It was fine quality sounds for roof, raising music and also insane levels of clearity for music videos or movies on the go !\\n58 The video camera feature is awesome enough, but all of the special effects are incredible .\\n59 He loves shooting video and then viewing it in cyborg mode or in sepia tones .\\n60 Our 12 year old loves the IPod , especially the video camera feature .\\n61 lots of features I got this for my son because he wanted an MP3 player and a video camera for Christmas .\\n62 Like the extra features , pedometer, video camera, radio, speakers .\\n63 haven't quite mastered the video camera yet, but I'm okay with that !\\n64 Movies, videos, music, music, music .\\n65 Plenty of memory to add all your favorte music and videos .\\n66 The 16g holds a lot of music and video .\\n67 video, motion sensing, screen size and sllek look I recently upgraded from the 2nd generation Nano and love the new features of the newest model .\\n68 Can't believe the picture quality and ease of video use !\\n69 It will take video, but not pictures ?\\n70 Secondly, the thing has the capability to record video, but won't take pictures .\\n71 Yeah, that's typed correctly , video, but not pictures .\\n72 Seems kinda silly that they would go right to video and completely neglect photography .\\n73 My daughter loves taking video, as well as the music & pics !\\n74 She takes videos and pics with it all the time .\\n75 I decided to get this iPod cause of the Memory and the Video Cam in the back .\\n76 The video camera and the graphics is so cool !\\n77 Easy to use and cool video camera !\\n78 Comes in different colors, make videos, and holds alot of music .\\n79 Small, holds lots of songs, video, easy to use .\\n80 Can't figure out how to review the video clips I record .\\n81 This is an easy to use item, but is slightly confusing to use when trying to review video clips .\\n82 It takes video and has a really cool radio feature on it, according to the kids .\\n83 easy to use, cool helpful features, video camera, voice over .\\n84 The video camera is great and the different effects are fun to mess around with .\\n85 It would be nice if the video camera zoomed in a little and if there was a regular camera as well, but those are pretty minor complaints .\\n86 My daughter thinks that the video clarity is amazing and finds the built in speakers awesome .\\n87 The camera and video feature are wonderful .\\n88 Holds tons of music, video, pics .\\n89 I wish the video camera had a pause on it, but you can't pause .\\n90 It can hold tons of music, video, pics and watching movies on the plane is nice .\\n91 I also wish the video camera had a pause on it, but it doesn't pause and starts with a new video everytime you stop it .\\n92 She didn't want the touch, she wanted the nano because you can video, it has the radio that she can play back the songs and she likes the size .\\n93 The video camera is great and the screen size is a nice size\\n94 We haven't tried the video yet, so I can't comment on that .\\n95 great video quality, no ear buds required internal sound system sounds great .\\n96 Still to new to we'll see Great product, video feature is awesome and I love how there is now internal sound and you don't have to use ear buds with it .\\n97 Don't really need video camera eventhough we don't use the video that much the rest of the features are great .\\n98 It does so many things, Wow, nav, video, mp3, and more !\\n99 I love how easy it is to download from ITunes and the fact I can also do video .\\n100 I am learning to navigate the menu better that at first and love that fact that I can take a video .\\n101 Its easy to use and love the new video feature .\\n102 It does have some nice features such as the video camera and the radio .\\n103 He has been using it consistently ever since and has nothing but praise for it and it's many options loves the video cam and the music player recorder especially\\n104 Watching any videos drains the battery very quickly .\\n105 Glad you listen to the radio, play games and take video .\\n106 none of my old Nano asseccories work with this one Fun new Ipod, the video feature is fun but difficult to learn how to use .\\n107 I've downloaded a lot of CDs and music from iTunes, also a few music videos,which are great fun to watch and hear .\\n108 Great for spot video if you do not have a camera availabe on hand .\\n109 some changes such as video camera and bigger screean, but it was just ok .\\n110 Great video camera and the funcionality is awesome\\n111 Video camera function and the blending of songs at the end and beginning .\\n112 nothing The functionality and video camera were great innovations added to the newest generation of Ipod !\\n113 It's very easy to use and its video camera is very nice and it doesn't ghost .\\n114 and the video quality is very good, and the sound quality is very good as well .\\n115 Sound quality, video quality, easy to use, space, customizable .\\n116 The colors are awesome, the sound is great and it hold tons of songs and videos !\\n117 It has great video quality for such a small device .\\n118 the video recorder, sound, look .\\n119 has bigger screen, video camera .\\n120 the picture for the video is awesome its very clear and easy to see .\\n121 features, look and feel, video .\\n122 Video, even in low light, is impressive .\\n123 Even the built, in video camera is very good .\\n124 I'm really disappointed that Apple is so proprietary that you can't use anything but iTunes to add music and videos to an iPod .\\n125 It has a built in video camera, and it shoots in high quality, which I was surprised at .\\n126 n you can put music videos pictures .\\n127 The video camera is cool, but I don't know that I would use it much .\\n128 This can record videos and it is also Very Very Light Weight !\\n129 i couldnt think of a single thing this ipod is reallly great you can shoot videos listen to the radio plus you have 16 gigs of memory it is aweosme i really love it because its still as small as the last one only with a bigger screen and great color\\n130 The video and external speaker components were a surprise on the 5th Gen iPod .\\n131 I love the video camera it has on it, the pedometor is awesome to use and best of all I can listen to music on it when I'm doing other stuff on my computer when it might be slowed down when listening to music on it .\\n132 Awesome features fm radio, video camara, pedometer and more .\\n133 Nothing What will Apple think of next for their Nano, the video camara records awesome video even in dim lighting .\\n134 All the neat little features and surprisingly good video camera !\\n135 I took it to class and decided to test it out and everyone was surprised by how good the video quality was .\\n136 I'm planning on hiking half, dome next year and this is much much more lightweight than the video camera I have so it will definitely be accompanying me !\\n137 fm radio lots of storage for music, videos and pictures alarm clock to your tunes blue color lock button so you don't accidentally turn it off on ease of use Cons :\\n138 Hard to get videos onto computer This was a purchase I made after I returned my Sony Walkman .\\n139 A must, buy for everybody who loves music and video .\\n140 video camera built in and music plays without head phones .\\n141 need a video program on your computer to obtain video Great product for the price .\\n142 I had the iPod Video but it did not work with my new Nike\\n143 chip so I bought the newest iPod video the day it came out .\\n144 I cannot figure out how to get the video I record off of the IPod .\\n145 , I cannot figure out how to get the video I recorded on my Nano off to upload it to Facebook or You Tube .\\n146 shoes if using vid cam for long time, it kills battery Standard Def video recording, but still sharp !\\n147 Only things I wish they added is measuring distance [not just steps] on the pedometer, better sound on the speaker, and a capturing still images with the video recording feature .\\n148 The video recording feature is the best part .\\n149 7 out of 10 have not used video yet but the pixels would be just the same .\\n150 The product is very useful if you want to go out for a jog and listen to your music or watch some videos if you stuck on a bus or subway .\\n151 Video camera, FM turner, Speaker, Pedometer .\\n152 Location of the video camera, and the gap between the click wheel and ipod The Best Ipod ever and has the best features ever .\\n153 Easy to use video camera, Big screen, Fun color .\\n154 Which I am sure all Nano's are like that LOL The video camera is so much fun !\\n155 new look, shape and video cam feature .\\n156 Smudgy finger prints I like the Video voice over color, purple I like hearing the Ipod w out the ear plugs .\\n157 light weight, radio, video camera .\\n158 I have an old 60GB ipod video that I use in my car and now I use this ipod for walking around campus and such .\\n159 The video camera is a great feature to have, however its not that high of a quality when you transfer it onto your computer .\\n160 Camera has great video effects .\\n161 The videos you record do not show up on iTunes though, you have to go to My Computer and find the ipod drive, then open the folder named DCIM, and the video files are in .\\n162 When you're not in a game or watching a video, if you turn it on the side, coverflow displays, however you can turn this feature off .\\n163 I mean I do have my cell that takes pics and videos but I just love the picture video the NANO records .\\n164 And I just foundout you don't need the head phones in the iPod to listen to your music or videos !\\n165 Video Camera with fun special effects, FM radio .\\n166 the glossy fingerprint attracting finish compared to last year's beautiful matte finish Great improvements with the video camera, really fun special effects, easy to use , also great FM radio with pause feature .\\n167 then it would be perfect oh and make a 32 or 64gb version so I can fit all my music and have lots of room for video , thanks !\\n168 But overall I love it , between the radio, speaker, microphone, video camera, effects, there are enough new features to justify buying a new nano .\\n169 It's great to have a decent video camera with you at all times if you don't have an iphone .\\n170 Had the original iTouch but I was burglarized andwas waiting for the iTouch with video but can't wait any longer .\\n171 Video is impressive, speaker sound is good for size, easy menus, screen is big enough to watch movies .\\n172 The videos are very crisp and clean, the video camera is nice, I was very surprised with the quality .\\n173 Small size and Color, Gettin your Money's worth, nice screen, and video camera .\\n174 I do like the video camera on it .\\n175 The mic and camera are great, speaker is great for video playback or bedtime movie watching, the screen is now even bigger and the device is the same size but Lighter than the 4th gen nano !\\n176 The Video Recording Quality, Price, Size, Weight, Radio, Pedometer, Voice Over .\\n177 video camera, radio, great price for a 16 gig, not a fingerprint magnet, small .\\n178 cant take pictures just videos, and u need the headphones given for the radio good for just listening to music and for your car .\\n179 Easy to set up, has a video camera and a radio built in .\\n180 The video camera is not as good as I thought it was going to be .\\n181 NOTHING Ipod nano has a VIDEO CAMERA it is so cool, ROCK\\n182 the video is very clear, the built in speaker is pretty good, the radio is very useful and overall it's just great !\\n183 He was delighted as it had a video and camera which his original one did not have .\\n184 It has plenty of room for her music and she loves taking pictures and making short videos with it .\\n185 While the Nano allows for video and audio, the IPod touch has interactivity and\\n186 While the Nano allows for video and audio, the IPod touch has interactivity and\\n187 its really good up to apples usual standard sound quality and video quality is brillant and is ideal for anyone !\\n188 The video camera feature is nice but I don't understand why they didn't allow for picture taking ?\\n189 It's small and lightweight, it looks amazing, the video quality is way better than I ever imagined it would be, and the screen is huge .\\n190 The seller advertised it as the NEWEST model which should be able to take pictures and video .\\n191 It is of the best buys I've done, sound quality, video and radio is excellent\\n192 Great sound quality, love the video recording too :\\n193 It's just a shame it only takes video and not still photos .\\n194 It has a cool video recorder, but i could've done without it .\\n195 The video camera works great and the battery\\n196 If you had other ipods with the feauture of puting videos, when you synch them, they don't appear\\n197 Video option is easy to use .\\n198 I have the 5th gen iPod video, and this thing blows it away !\\n199 The video is surprisingly good !\\n200 I do wish that it also took pictures as well as video though .\\n201 So, the only thing about the iPod nano that I don't like is the placement of the video camera .\\n202 Video quality is better than I expected .\\n203 Amazing amount of music photos videos can be stored .\\n204 Video taking feature is interesting .\\n205 It plays music, videos, radio, records\\n206 The video capability is incredible, and so easy to use .\\n207 My wife and I are really pleased with our Nano Ipods that we purchased from you so easy to use and good to have a camera as well as a video John Coleman\\n208 It's a nice little gadget, I've put some songs on it and the video camera is good\\n209 The video camera is crystal clear and the memory space is more than ideal for all your needs .\\n210 she was quickly able to download music and videos xmas am\\n211 I have used the video camera nd the sound is good considering and the picture is\\n212 FM radio and a video camera are pretty darn cool .\\n213 Great little audio video device\",\n \" Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 needs power seats on the passenger side .\\n2 I haven't had any back pain from the seats, maybe these people exceed the seat weight limit ?\\n3 There is a great deal of road noise in the cabin and the seats are very low quality .\\n4 Power seats are not fully adjustable .\\n5 Front seats are too narrow and not deep enough .\\n6 The seats are extremely uncomfortable .\\n7 I previously owned a 98 Avalon, and found the seats more comfortable than the Honda .\\n8 The seats in the Honda are more firm .\\n9 I'm very sad , I loved my daughter's Civic and the dealer service is fantastic, but even good service can't help the uncomfortable seats .\\n10 It cost me thousands of dollars to get rid of it, but the seats gave me and my wife back pain after 20 minutes of driving !\\n11 Although it is fun to drive and quality seems ok, the leather seats are very uncomfortable, especially on a long drive .\\n12 The seats are decent, the interior design is excellent IMO as well as the exterior design, and thus far it has been extremely reliable .\\n13 In fact, I love the car just wish Honda wouldn't have made such horrible seats .\\n14 Body wasn't used to seats like if you bought a new mattress .\\n15 The interior quality is OK, my 1999 Accord EX had a better comfort level on the seats .\\n16 I just purchased an Accord Sedan with leather seats .\\n17 Only needs to add drivers seat memory, 2, tone perforated leather, xenons, rear seat interior illumination mounted under front seats, and better tilt .\\n18 I can also fit three car seats in the back which was the reason I was able to go back the the Honda family .\\n19 The seats are very comfortable & supportive .\\n20 I test drove an EX, L and felt the seats were too firm plus, the EX, L seemed too slow .\\n21 This Accord has more road noise than I like and the seats tend to be hard, unlike my other Accords .\\n22 Engine performance lacks punch after 60, head rest are poor design, lacks driver seat memory rear seat a c, radio system is marginal compared to Bose, Seats are hard and small for a large person .\\n23 The seats are comfortable, and there is ample leg room in the front and rear .\\n24 Most uncomfortable seats in any vehicle I have ever owned .\\n25 Only 2 things could make it better memory seats and a smoother shifting transmission .\\n26 Seats are firm but not uncomfortable , very BMW like .\\n27 Advise anyone considering the L to drive one for awhile if you can , some cannot stand the seats .\\n28 The seat cover was coming out in between the seats .\\n29 The only for sure complaint I have is the seats seems to hurt my back after I drove for a period of time, this may be because I am use to my silverado truck with leather bucket seats .\\n30 DON'T rely on your test drive, the seats are Very uncomfortable and when the engine goes into the econo mode the vehicle shifts rocks violently forward and when leaving the econo mode it shifts rocks forward once again which means that the vehicle is CONTINUOUSLY SHAKING AND ROCKING .\\n31 Seats are very comfortable and ride is very smooth !\\n32 It's a black beauty with comfy leather seats .\\n33 The front seats are extremely uncomfortable after anything more than 15 minutes of driving due to what I see as a design flaw, the seat curvature is too great, and even with the lumbar support all the way retracted, it still feels like there is some type of bar sticking out in the wrong part of my back .\\n34 However, long, distance comfort is poor due to hard, narrow and deeply, bucketed seats combined with a very taut suspension which transmits even minor road imperfections through the whole vehicle .\\n35 At first the seats seemed stiffer than I'd like, but after making a 2 1 2 hour trip, It felt very comfortable once I got the seat and lumbar adjusted to my liking .\\n36 Great leg room in the back and the seats a very supportive .\\n37 Door closure is solid, leather seats are very comfortable .\\n38 Ride is very good, but seats are just a little firm .\\n39 Seats are not very comfortable and not happy with the heated seats .\\n40 The seats are very comfortable and I love the cloth .\\n41 Seats are little on the hard side .\\n42 The black leather seats feel a bit hot on the back in the warm weather but otherwise no complaints about the interior .\\n43 Steering nice and tight, seats a little stiff but comfortable .\\n44 We wanted three things, heated seats and mirrors and an easy to get out of back seat for some aging friends .\\n45 Ride is superior, comfortable seats, radio excellent .\\n46 5 Seats= Like sitting on a church pew .\\n47 Leather seats are the only thing of good quality .\\n48 Problems with steering wheel, windows & seals, seats .\\n49 Smooth responsive acceleration,top of the line high quality supple comfy leather seats .\\n50 Also, amazing leg space in front AND back seats , the Accord could almost be considered a full size sedan .\\n51 5L V6 scoots sporty handling and acceleration good sporty leather seats highway gas mileage appearance package worth having no dealer service yet Negatives :\\n52 First off the new body style is very appealing and the new seats are more forgiving for larger men .\\n53 The heated seats for me and my passenger are a plus for the cold weather .\\n54 hard seats, hard ride, more road noise than expected, disappointing gas mileage .\\n55 The seats are supportive and the materials are great .\\n56 You get a V, 6, heated leather seats, XM, 18 rims .\\n57 Cloth front seats big & comfortable .\\n58 Seats are stiff but once adjusted seem to become more comfortable .\\n59 The seats are very firm, but getting used to this .\\n60 The seats in my 2008 which is just like a 2009 are considerably less than I'm used to from Honda .\\n61 The only hiccup I can report is that I think that the seats in our 2008 Odyssey are a bit more comfortable .\\n62 Don't get me wrong, the Accord is a comfortable car, I am just a big guy and the seats just feel like they could use a little more of something .\\n63 I have two herniated disks and the seats of the Honda have alleviated the pain in my legs and back when I drive .\\n64 Additionally, the standard seats are not my favorite .\\n65 Although it's a lower trim level, it has high quality interior trim very comfortable seats and and very smooth, quiet ride .\\n66 Decent accel, huge back seat for my kids baby seats large friends .\\n67 we don't need moonroof, heated seats side mirrors we live in S .\\n68 With the leather seats, comfort is close to EX, L's at a best buy price .\\n69 Seats are a bit too firm for me .\\n70 Leather seats are very comfortable .\\n71 The inside and outside pads should ALWAYS wear evenly Always had stiff ride and seats .\\n72 I have a bad lower back, and the lumbar support on the seats is a life saver !\\n73 Front seats much more comfortable .\\n74 The satellite radio cuts out constantly, the heated seats are barely warm, the sound system is pathetic and the brakes wore out around 15,000 miles google it .\\n75 We are both tall, 5'11'' and 6'2 and have no problems with the seats .\\n76 After driving it for a few months I found the seats are tough on the lower back on long runs and it need a few more inches to go back .\\n77 Seats are too firm and leather is quite hard in character and feel .\\n78 I was slightly concerned about all the reviews with the seats being uncomfortable .\\n79 I love the seats, they are supportive .\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 5,\n \"samples\": [\n 0,\n 4,\n 3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 96 + } + ] + }, + { + "cell_type": "code", + "source": [ + "document_df[document_df['cluster_label']==0].sort_values(by='filename')" + ], + "metadata": { + "id": "_QjuVbjU8Dat", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "97164241-3897-48ff-df4c-23dbe2ab536e" + }, + "execution_count": 97, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "65 accuracy_garmin_nuvi_255W_gps \n", + "91 accuracy_garmin_nuvi_255W_gps \n", + "25 directions_garmin_nuvi_255W_gps \n", + "38 directions_garmin_nuvi_255W_gps \n", + "64 display_garmin_nuvi_255W_gps \n", + "90 display_garmin_nuvi_255W_gps \n", + "18 satellite_garmin_nuvi_255W_gps \n", + "84 satellite_garmin_nuvi_255W_gps \n", + "28 screen_garmin_nuvi_255W_gps \n", + "87 screen_garmin_nuvi_255W_gps \n", + "1 speed_garmin_nuvi_255W_gps \n", + "3 speed_garmin_nuvi_255W_gps \n", + "55 updates_garmin_nuvi_255W_gps \n", + "72 updates_garmin_nuvi_255W_gps \n", + "46 voice_garmin_nuvi_255W_gps \n", + "62 voice_garmin_nuvi_255W_gps \n", + "\n", + " opinion_text \\\n", + "65 , and is very, very accurate .\\n0 but for the most part, we find that the Garmin software provides accurate directions, whereever we intend to go .\\n1 This functi... \n", + "91 , and is very, very accurate .\\n0 but for the most part, we find that the Garmin software provides accurate directions, whereever we intend to go .\\n1 This functi... \n", + "25 You also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but no... \n", + "38 You also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but no... \n", + "64 3 quot widescreen display was a bonus .\\n0 This made for smoother graphics on the 255w of the vehicle moving along displayed roads, where the 750's display was more of a jerky movement .\\n1 ... \n", + "90 3 quot widescreen display was a bonus .\\n0 This made for smoother graphics on the 255w of the vehicle moving along displayed roads, where the 750's display was more of a jerky movement .\\n1 ... \n", + "18 It's fast to acquire satellites .\\n0 If you've ever had a Brand X GPS take you on some strange route that adds 20 minutes to your trip, has you turn the wrong way down a one way road, tell you to turn AFTER you've passed the street, frequently loses the satellite signal, or has old maps missing streets, you know how important this stuff is .\\n1 ... \n", + "84 It's fast to acquire satellites .\\n0 If you've ever had a Brand X GPS take you on some strange route that adds 20 minutes to your trip, has you turn the wrong way down a one way road, tell you to turn AFTER you've passed the street, frequently loses the satellite signal, or has old maps missing streets, you know how important this stuff is .\\n1 ... \n", + "28 It is easy to read and when touching the screen it works great !\\n0 and zoom out buttons on the 255w to the same side of the screen which makes it a bit easier .\\n1 ... \n", + "87 It is easy to read and when touching the screen it works great !\\n0 and zoom out buttons on the 255w to the same side of the screen which makes it a bit easier .\\n1 ... \n", + "1 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "3 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "55 Another thing to consider was that I paid $50 less for the 750 and it came with the FM transmitter cable and a USB cord to connect it to your computer for updates and downloads .\\n0 update and reroute much _more_ quickly than my other GPS .\\n1 UPDATE ON THIS , It finally turned out that to see the elevation contours at lowe... \n", + "72 Another thing to consider was that I paid $50 less for the 750 and it came with the FM transmitter cable and a USB cord to connect it to your computer for updates and downloads .\\n0 update and reroute much _more_ quickly than my other GPS .\\n1 UPDATE ON THIS , It finally turned out that to see the elevation contours at lowe... \n", + "46 The voice prompts and maps are wonderful especially when driving after dark .\\n0 I also thought the the voice prompts of the 750 where more pleasant sounding than the 255w's .\\n1 ... \n", + "62 The voice prompts and maps are wonderful especially when driving after dark .\\n0 I also thought the the voice prompts of the 750 where more pleasant sounding than the 255w's .\\n1 ... \n", + "\n", + " cluster_label \n", + "65 0 \n", + "91 0 \n", + "25 0 \n", + "38 0 \n", + "64 0 \n", + "90 0 \n", + "18 0 \n", + "84 0 \n", + "28 0 \n", + "87 0 \n", + "1 0 \n", + "3 0 \n", + "55 0 \n", + "72 0 \n", + "46 0 \n", + "62 0 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
65accuracy_garmin_nuvi_255W_gps, and is very, very accurate .\\n0 but for the most part, we find that the Garmin software provides accurate directions, whereever we intend to go .\\n1 This functi...0
91accuracy_garmin_nuvi_255W_gps, and is very, very accurate .\\n0 but for the most part, we find that the Garmin software provides accurate directions, whereever we intend to go .\\n1 This functi...0
25directions_garmin_nuvi_255W_gpsYou also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but no...0
38directions_garmin_nuvi_255W_gpsYou also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but no...0
64display_garmin_nuvi_255W_gps3 quot widescreen display was a bonus .\\n0 This made for smoother graphics on the 255w of the vehicle moving along displayed roads, where the 750's display was more of a jerky movement .\\n1 ...0
90display_garmin_nuvi_255W_gps3 quot widescreen display was a bonus .\\n0 This made for smoother graphics on the 255w of the vehicle moving along displayed roads, where the 750's display was more of a jerky movement .\\n1 ...0
18satellite_garmin_nuvi_255W_gpsIt's fast to acquire satellites .\\n0 If you've ever had a Brand X GPS take you on some strange route that adds 20 minutes to your trip, has you turn the wrong way down a one way road, tell you to turn AFTER you've passed the street, frequently loses the satellite signal, or has old maps missing streets, you know how important this stuff is .\\n1 ...0
84satellite_garmin_nuvi_255W_gpsIt's fast to acquire satellites .\\n0 If you've ever had a Brand X GPS take you on some strange route that adds 20 minutes to your trip, has you turn the wrong way down a one way road, tell you to turn AFTER you've passed the street, frequently loses the satellite signal, or has old maps missing streets, you know how important this stuff is .\\n1 ...0
28screen_garmin_nuvi_255W_gpsIt is easy to read and when touching the screen it works great !\\n0 and zoom out buttons on the 255w to the same side of the screen which makes it a bit easier .\\n1 ...0
87screen_garmin_nuvi_255W_gpsIt is easy to read and when touching the screen it works great !\\n0 and zoom out buttons on the 255w to the same side of the screen which makes it a bit easier .\\n1 ...0
1speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...0
3speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...0
55updates_garmin_nuvi_255W_gpsAnother thing to consider was that I paid $50 less for the 750 and it came with the FM transmitter cable and a USB cord to connect it to your computer for updates and downloads .\\n0 update and reroute much _more_ quickly than my other GPS .\\n1 UPDATE ON THIS , It finally turned out that to see the elevation contours at lowe...0
72updates_garmin_nuvi_255W_gpsAnother thing to consider was that I paid $50 less for the 750 and it came with the FM transmitter cable and a USB cord to connect it to your computer for updates and downloads .\\n0 update and reroute much _more_ quickly than my other GPS .\\n1 UPDATE ON THIS , It finally turned out that to see the elevation contours at lowe...0
46voice_garmin_nuvi_255W_gpsThe voice prompts and maps are wonderful especially when driving after dark .\\n0 I also thought the the voice prompts of the 750 where more pleasant sounding than the 255w's .\\n1 ...0
62voice_garmin_nuvi_255W_gpsThe voice prompts and maps are wonderful especially when driving after dark .\\n0 I also thought the the voice prompts of the 750 where more pleasant sounding than the 255w's .\\n1 ...0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"document_df[document_df['cluster_label']==0]\",\n \"rows\": 16,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 8,\n \"samples\": [\n \"directions_garmin_nuvi_255W_gps\",\n \"speed_garmin_nuvi_255W_gps\",\n \"accuracy_garmin_nuvi_255W_gps\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 8,\n \"samples\": [\n \" You also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but not any more .\\n1 the directions didn't tell me anything I didn't already know after fiddling with it for 10 minutes .\\n2 It also does not offer an option to view the route as a series of turn by turn directions .\\n3 It gives your heading not in terms of degres but only in terms of one of eight directions .\\n4 The widescreen is a plus and I highly recommend it, even though it has the wide screen you can stick it in your back pocket which can be conveniently used for walking directions .\\n5 Garmin's nuvi 255W is a handy little device that provides excellent value, but more importantly spot on directions .\\n6 While I recommend that you refrain from entering a directions request while driving your car, I note that some of the more impressive features of this GPS are literally one touch away, and so mounting the device close enough to you to activite a one touch feature would seem to be relatively important .\\n7 But leaving it on the seat next to you is likely to cause a few double takes because as comfortable as you think you're going to be just listening for directions, the fact remains that the graphics will attract your eyeballs like a moth to a flame .\\n8 I've found the directions in major metropolitan areas to be excellent .\\n9 but for the most part, we find that the Garmin software provides accurate directions, whereever we intend to go .\\n10 Another screen at the touch of the button will show you the turn by turn directions coming up so that you can plan even better, especially in areas that you have just enough familiarity to be considered dangerous .\\n11 I like how the Garmin 255W doesn't make you type in complete directions when it isn't necessary .\\n12 The only other annoyance of any time is that if you deviate from your route and don't indicate that you are detouring, you get to hear the Garmin repeatedly chastize you because it has to recalulate your directions .\\n13 No more firing up the computer, going to the site, printing the directions .\\n14 It speaks the directions so that you don't have to keep looking down at a piece of paper .\\n15 It allows for detours with directions on how to get back .\\n16 Saves mobile phone minutes, because you don't have to call and ask for directions .\\n17 Traffic directions are as good and detailed as can be, as you would expect from a Garmin, and less intrusive than on some other brands .\\n18 In closing, this is a fantastic GPS with some very nice features and is very accurate in directions .\\n19 The sound is tolerable, but when you are hearing spoken directions a lot, it gets really annoying .\\n20 However, the TTS gave me few wrong directions during my trip to NY city .\\n21 0 out of 5 stars gives strange directions, July 6, 2009\\n22 The directions are highly accurate down to a T .\\n23 Depending on what you are using it for, it is a nice adjunct to a travel trip and the directions are accurate and usually the quickest, but not always .\\n24 I tend to be a technological idiot but I figure this out, right out of the box and I hadn't even read the directions yet, , this is major easy .\\n25 Gives you immediate directions to get to the location you chose to set up as your home location .\\n26 Allows you to type in two street names, and if they intersect, the GPS unit will give you directions to that intersection .\\n27 You can touch anywhere on the map and press GO for directions to that location .\\n28 Shows you your current latitude and longitude location, and allows you to enter new coordinates to set up so you can get directions to that location .\\n29 If you missed the spoken directions, you can look at the top of the screen for written directions .\\n30 However, I much prefer robotic voices to no spoken directions at all .\\n31 Some of the verbal directions :\\n32 It should tell me to take the Southwest Drive exit, or the Buffalo Gap Road exit, like the highway sign says, or like I would verbally tell someone to take if giving them directions .\\n33 So, although the Nuvi doesn't verbalize those directions, I can look at the screen to see the exit I need to take .\\n34 Directions seemed to focus on Interstate travel and I have not played with the device enough to know if it can be set to avoid Interstates .\\n35 It lost satellite contact a couple of times on the trip but apparently picked them up again because there were no skipped directions .\\n36 Directions were easy to see and understand .\\n37 The spoken directions are generally easy to understand .\\n38 Since the directions are also displayed on the screen, I find the occasional mispronunciation entertaining and not an issue .\\n39 It does know when you are not near a public road but it cannot give directions to the road .\\n40 The spoken turn, by, turn directions are clear and very timely .\\n41 My only real gripes on the software interface side would be its inability to show 1, way streets on your overhead map and that this particular model does not support the Garmin routing feature that you can sync between your PC and their more expensive models to pick multiple waypoints instead of just a point 'A' to point 'B' directions system .\\n42 You can even get turn, by, turn directions from the program, and Google Maps has features that work with Garmin units .\\n43 Any time you're facing a closed roadway or are terribly stuck in highway traffic, you'll get a very slick change in directions to your destination given to you in literally less than 5 seconds than you ask for it .\\n44 button, and it gave us directions right to Carmel .\\n45 The purpose of the GPS is to give me directions in unfamiliar locations .\\n46 The voice directions are great, but sometimes it mispronounces names .\\n47 It takes a little while to get the satellites sometimes, but I just set it up as soon as I get in the car and by the time I'm out on the road and actually need directions it's up and going .\\n48 I had a great time torturing the poor thing and deliberately not following its directions while driving one day in downtown Sacramento .\\n49 As with the 285WT, it gave me bad directions in one place in Sacramento .\\n50 I avoided the more complex ones as I had read that FM updates can confuse the device and changing directions after the obstruction has been cleared is not a good option .\\n51 I like being able to select different voices, however when I am using Daniel with the English accent, he seems to be clearing his throat at the end of his directions .\\n52 It loads quickly, have pretty accurate directions, and can recalculate quickly when I miss a turn .\\n53 Often when I'd get a phone call or was talking to someone, it would have been nice to just have the ability to quickly make the voice directions mute .\\n54 The directions were pretty right on, with a brief glitch with the distance it was calculating for some approaching streets .\\n55 I am sure I've not even touched upon the many features this GPS boasts, but for basic travel directions for the non, techie then this is a great product .\\n56 My daughter would then call my wife, asking her to plot a course using a mapping Web site and recite the directions .\\n57 Daughter Dearest now carries the Nuvi in the glove box of her car, pulling it out, plugging it in, and getting directions whenever she needs, in a manner that notably is much faster and clearer than reading a map or calling her mother .\\n58 When it comes to directions, I'm horrible .\\n59 There are different voices you can choose to give you your directions, even Australian, American and British English .\\n60 I mainly bought the first one for my wife since she needs directions alot of the time .\\n61 It worked so well that people from the wedding were following me for directions .\\n62 In the week that I have had it, it's been spot on in providing directions and keeps up with the speed I am traveling .\\n63 The Voice Prompted turn by turn directions make it easy to get from one place to another without having to look up at the GPS, but of course you also get turn, by, turn directions on the GPS with a touch of the screen .\\n64 Amazon had the best price for this model which I chose for its ability to adjust the directions if you reroute, text to speech feature and 4 .\\n65 For the first time in several years, my husband & I took a roadtrip with no squabbling about directions .\\n66 Directions and maps are easy to use, and if you miss a turn, it updates your route in seconds .\\n67 It has worked well for local driving giving accurate directions for roads and streets .\\n68 I was so tired of having to go to Mapquest and print out directions .\\n69 The voice directions give you fair warning when you are about to take a turn, which is really important .\\n70 What the 255w does best is find a street address, business, point of interest, hospital or airport and give you turn, by, turn directions with amazing accuracy .\\n71 I would have struggled to find with my usual combination of maps and Web, based directions .\\n72 The directions the GPS gave me were absolutely correct , but the name of the highway was wrong .\\n73 Wish I had bought it about two years ago rather than spend a lot on maps and wasting time asking directions, especially in relatively remote areas of ME .\\n74 I spent 2 weeks driving around the Mid, West following Mapquest maps and directions .\\n75 I chose small towns as destinations and it always led me there without any problems, thus allowing me to enjoy the scenery of the fall foliage without worrying about using a map for directions or getting lost .\\n76 I use the map feature when I don't need directions which makes it easier to identify streets when street signs are obscured or missing .\\n77 On the negative side, the directions it gives to a given address are not always the best way to get there .\\n78 0 out of 5 stars MyOn, StarDirectionsReplacementUnit, October 15, 2009\\n79 My new Garmin 255w had very Easy Set Up, Accurate Directions to locations, User Friendly Unit to anyone in my vehicle who tried it .\\n80 This unit has replaced my GM On, Star Directions unit in my vehicle .\\n81 directions routing are perfect .\\n82 spoken directions are crystal clear .\\n83 Practiced visiting places I already knew to see how accurate the directions and maps would be .\\n84 The directions provided have all been quite accurate thus far .\\n85 No more stopping at so and so gas stations for directions .\\n86 Map is bright and detailed, voice directions are clear and loud .\\n87 It can be a little distracting the first few times you use it, but once you find the right mounting spot, it s like it's not there until you need it and then it's there waiting for you to with all the directions to get you to your destination .\\n88 I had no trouble with the volume level of the spoken directions either and found it to be an interesting and helpful tool .\\n89 Several voice options will announce both directions and street names, etc .\\n90 After a certain amount of frustration dealing with paper maps, missed exits and fumbling for directions in the dark , I decided it was time to get on the GPS car navigation wagon .\\n91 Also, there is there no asking for directions from passengers like spouses and children who have difficulty reading conventional paper maps .\\n92 Others have said that the voice directions leave something to be desired in terms of volume and clarity .\\n93 It was accurate on determing original directions and recalculating when necessary .\\n94 But driving on the highway with music on and windows down, it will be hard to hear the directions using just 70% of volume .\\n95 I didnt know the address of the mueseum so I typed it into the unit and it found not only the meuseum, but the nearest garage, the places to eat, and directions were right ON .\\n96 The display is very easy to read, and the directions were very good .\\n97 The model 255W that we received seemed to take longer to find a satelite, and the man's voice was very fast and not as clear, and at times seemed a bit confused in directions .\",\n \" Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 My final decision was to keep the 255w and return the 750 because I really liked the graphic turn indicator and the posted speed limit and current speed indicators .\\n2 It even tells you the speed limit on most roads .\\n3 The new display posts speed limit signs of major roads flush left on the screen, which is a new feature that is also really helpful, if you're driving in an unfamiliar area .\\n4 Display is excellent , the layout of information on the screen is very good showing upcoming turns at the top, your speed, the local speed limit and the estimated time of arrival at the bottom .\\n5 But the name of the game for thieves is speed .\\n6 With a reset button, you can track your max speed, moving time, stopped time, average speed total for the trip, average moving speed, etc .\\n7 It tells you on the main screen your estimated time of arrival which will change depending upon your stops and speed .\\n8 Well, you can one up him now by not only announcing the time, but the average speed as well, and you have documented proof of the reason you were delayed for precisely 7 .\\n9 , Speed of map updates is awesome .\\n10 The navigation display shows more information, such as next turn street and speed limit, and the picture update is smooth instead of jerky as I have seen in other models .\\n11 TomTom seems to underestimate speed limits on community highways and gives sub, optimal routes .\\n12 For example, on the route from Rocky Mountain National park to Arches National Park Garmin's route is 40 mins shorter on a 7 hour drive because it chooses shorter route along minor highways instead of longer route along I, 70 with higher speed limit .\\n13 If you are driving in NYC or other major city, be prepared to add 1 minute for each red traffic light and beware that Garmin expects you to drive with a speed close to speed limit along NYC streets .\\n14 , 255w shows speed limit on most highways and some streets .\\n15 That newer interface, as another reviewer has mentioned, gives you speed limits on some major roads, shows you your current speed, puts the zoom buttons closer together, changes text size to give you road names, and shows you the direction of the next upcoming turn near the distance to the turn .\\n16 SPEED, , on most major highways, it tells what the speed limit is for that road AND tells you what your speed is .\\n17 Indicates posted speed limits of the road you are on\\n18 On the lower left hand side, this unit shows the maximum speed limit for the road you are traveling .\\n19 This is very useful feature because many a times this will help to avoid the risk of getting a speeding ticket .\\n20 By the way, the bottom menu also shows your current driving speed .\\n21 That's what the car's speedometer is for .\\n22 And, it's nice that the Garmin tells you that, at your current speed, you'll reach your destination in 43 minutes .\\n23 When you are looking at the map, you are shown the speed limit for the road you are travelling on, and your actual speed .\\n24 I have noticed that when I see a speed limit sign on the road, indicating a change of speed limit for that road, the Nuvi is not far behind in changing the speed limit on the screen .\\n25 I can see that this could at some point become out of date if the governing authority changes the speed limit on a particular road, but it is a cool function nonetheless .\\n26 It was fun to know where you are and the speed that you are going and the time you will be there .\\n27 6 Love the speed limit and actual speed indicators .\\n28 I have observed several cases on an interstate where the 255W required driving well over the speed limit in order to achieve the initial arrival estimate .\\n29 The city routes were somewhat closer but they could not have actually been faster because of the numerous traffic lights and slower driving speed .\\n30 I really love the new interface, the turn signs at the corner, speed limit indicator and the fast satellite reception .\\n31 It has a lot of good features , including a speedometer, posted speed limits on major roads, and it notes your average and max speed on your current trip .\\n32 , alerting you that a rest stop is coming up in a mile, or speed alerts .\\n33 Lastly , you can immediately see the speed limit for every road you are on .\\n34 The local speed limit is shown on left side of the screen with current driving speed shown at the bottom of the screen .\\n35 I also enjoy the estimated time of arrival feature that recalibrates itself automatically based on your travel speed .\\n36 Having the speed limit show up on the screen was also great since I was in unfamiliar territory .\\n37 I watched the screen several times as I passed by a speed limit sign, and it would change almost immediately as I passed by !\\n38 I used it the day I bought it, and then this morning, and as soon as it comes on it is ready to navigate The only downfall of this product, and the only reason I did not give it 5 stars is the fact that the speed limit it displays for the road you are on isn't 100% accurate .\\n39 The road I live off of, the speed limit is 45, the GPS says that the speed limit is 50 .\\n40 From what I have seen as far as the speed limit issue is that it is off only by 5mph, but dead on in other places .\\n41 , The speed limit sign on the display is handy but in the first week of using the GPS I found it had the wrong speed limit a couple times .\\n42 The only glitch I have found so far is that the speed limits are not 100% accurate, although the GPS, amazingly, is able to very accurately tell you how fast your vehicle is moving .\\n43 I was a little disappointed in the inaccuracy of the posted speed limit, as I'm guilty of not paying close enough attention to those signs, especially w interstate speed traps that are constantly changing up and down .\\n44 I also really like the way it shows my speed and the posted speed limit .\\n45 The posted speed limit on the screen is pretty cool too .\\n46 In the week that I have had it, it's been spot on in providing directions and keeps up with the speed I am traveling .\\n47 Shows the speed limits on the major roads !\\n48 The turn or exit instructions happen too close to the turns or exits when at highway speeds .\\n49 There should be some features built, in the device such as speed limit monitor .\\n50 This greatly helps the driver to keep his eye on the road instead of looking at the speedometer from time to time .\\n51 Some countries impose lower speed limit in residential areas .\\n52 One unexpected feature is the speed limit and actual speed displayed on the map .\\n53 The speed limit is usually correct except on recently modified highways .\\n54 I often find myself wondering if the speed limit changed and I didn't see the sign, so for this one feature I leave the unit on even if it is not navigating to a set location .\\n55 If it helps me avoid one speeding ticket it will have paid for itself .\\n56 I liked the way it tells you the speed limit and how fast you are going .\\n57 It knows exactly what the speed limit is on all major routes .\\n58 It is cool to always know what the speed limit is and exactly how fast you are traveling .\\n59 , Tells you the streets speed limit\\n60 It is very easy to use, and when driving in the US , it displays the speed limit and your speed, which is helpful when converting from Kms to Miles .\\n61 LOCAL SPEED LIMIT SOMETIMES WERE NOT CORRECT,THEN WE WOULD PASS A SPEED LIMIT SIGN & IT WOULD CORRECT ITSELF .\\n62 SHOWING ACTUAL SPEED IS NICE , ESPECIALLY FOR THE LITTLE WOMEN, AS SHE LOVES TO REMIND ME ALONG THE WAY .\\n63 Plus you can download speed cameras alerts at http :\\n64 I can't believe how accurate and detailed the information estimated time of arrival,speed limits along the way,and detailed map of my route, to name a few .\\n65 What I like most about the 255W is that it shows the road's speed limit right above your actual speed, which I find most helpful, since, again, I use it mostly in areas where I'm not familiar with the roads and local speed limits .\\n66 The new speed limit display on the 205 255 is quite helpful .\\n67 Speed of calculation, accuracy, and simplicity of operation are top notch .\",\n \" , and is very, very accurate .\\n0 but for the most part, we find that the Garmin software provides accurate directions, whereever we intend to go .\\n1 This function is not accurate if you don't leave it in battery mode say, when you stop at the Cracker Barrell for lunch and to play one of those trangle games with the tees .\\n2 It provides immediate alternatives if the route from the online map program was inaccurate or blocked by an obstacle .\\n3 I've used other GPS units, as well as GPS built into cars and to this day NOTHING beats the accuracy of a Garmin GPS .\\n4 It got me from point A to point B with 100% accuracy everytime .\\n5 It has yet to disappoint, getting me everywhere with 100% accuracy .\\n6 0 out of 5 stars Honest, accurate review, , PLEASE READ !\\n7 Aside from that, every destination I've thrown at has been 100% accurate .\\n8 In closing, this is a fantastic GPS with some very nice features and is very accurate in directions .\\n9 Plus, I've always heard that there are quirks with any GPS being accurate, having POIs, etc .\\n10 DESTINATION TIME, , This is pretty accurate too .\\n11 But, it's always very accurate .\\n12 The map is pretty accurate and the Point of interest database also is good .\\n13 Most of the times, this info was very accurate .\\n14 I've even used it in the pedestrian mode, and it's amazing how accurate it is .\\n15 ONLY is only accurate when an ad says, Top sirloin steak, ONLY $1 .\\n16 The most accurate review stated that these machines are adjunct to a good map and signs on the interstate .\\n17 The directions are highly accurate down to a T .\\n18 Depending on what you are using it for, it is a nice adjunct to a travel trip and the directions are accurate and usually the quickest, but not always .\\n19 The screen is easy to see, the voice tells you where you are and it's very accurate .\\n20 It was accurate to the minute when it told me when I would arrive home .\\n21 0 out of 5 stars GPS Navigator doesn't navigate accurately on a straight road .\\n22 I was familiar with the streets and only used the Nuvi to get an accurate arrival time estimate .\\n23 but after that it is very easy and quite accurate to use .\\n24 The accuracy at this point is very good .\\n25 While the 255W routing seems generally accurate and logical, on my first use I discovered that it does have some errors in its internal map .\\n26 Bottom line is I wanted a unit that is accurate and had reliable satellite connection .\\n27 I've used it around town and find it to be extremely accurate .\\n28 I found the maps to be inaccurate at first, but after I updated them from Garmin's website everything is golden .\\n29 A lot of my friends' addresses are inaccurate by any GPS .\\n30 It loads quickly, have pretty accurate directions, and can recalculate quickly when I miss a turn .\\n31 Because the accuracy is good to the street address level, it may not be able to guide you to the exact location if your destination is inside a shopping mall .\\n32 I updated to the latest 2010 map soon after I received the unit, so the map is accurate to me .\\n33 I was blown away at the accuracy and routing capability this thing had .\\n34 I used it the day I bought it, and then this morning, and as soon as it comes on it is ready to navigate The only downfall of this product, and the only reason I did not give it 5 stars is the fact that the speed limit it displays for the road you are on isn't 100% accurate .\\n35 If your looking for a nice, accurate GPS for not so much money, got with this one .\\n36 0 out of 5 stars Inexpensive, accurate, plenty of features, August 6, 2009\\n37 The only glitch I have found so far is that the speed limits are not 100% accurate, although the GPS, amazingly, is able to very accurately tell you how fast your vehicle is moving .\\n38 I was a little disappointed in the inaccuracy of the posted speed limit, as I'm guilty of not paying close enough attention to those signs, especially w interstate speed traps that are constantly changing up and down .\\n39 The closest one that gives the most accurate route that I usually take is the Navigon .\\n40 After 2 weeks, it has yet to make a mistake, and is always completely accurate , even to the point of telling me which side of the street my destination is on .\\n41 It has worked well for local driving giving accurate directions for roads and streets .\\n42 The estimated time to arrival does not seem to calculate the travelling time accurately .\\n43 Accuracy is as good as any other unit, they all sometimes tell you you have arrived when you haven't, or continue to tell you to turn when you're already there .\\n44 Accuracy is determined by the maps .\\n45 Less traveled rural roads will not be accurate on any unit .\\n46 Accuracy is within a few yards .\\n47 What the 255w does best is find a street address, business, point of interest, hospital or airport and give you turn, by, turn directions with amazing accuracy .\\n48 The Garmin is loaded with very accurate maps that generally know the roads in even the remotest areas .\\n49 I'm really glad I bought it though, and like the easy to read graphics, the voice used to tell you the name of the street you are to turn on, the uncannily accurate estimates of mileage and time of arrival at your destination .\\n50 My new Garmin 255w had very Easy Set Up, Accurate Directions to locations, User Friendly Unit to anyone in my vehicle who tried it .\\n51 I had a GPS 10, years ago when I owned a boat that was difficult to use and with very poor accuracy so I had assumed that the road GPS wasn't any better .\\n52 Practiced visiting places I already knew to see how accurate the directions and maps would be .\\n53 Easy to use, excellent accuracy, nice and intuitive interface .\\n54 The directions provided have all been quite accurate thus far .\\n55 , Very Accurate but with one small glitch I found , I'll explain in the CONS\\n56 This is a great GPS, it is so easy to use and it is always accurate .\\n57 Very easy to operate and pretty accurate as well, only led me astray once and that was in northern Maine where roads are few and paved ones fewer .\\n58 Easy to use and amazed at how accurate this item is .\\n59 To date it's been a very easy to use and accurate .\\n60 Mounted really easily and has been very accurate .\\n61 seems to be rather accurate .\\n62 It was accurate on determing original directions and recalculating when necessary .\\n63 Highly accurate, POIs are great .\\n64 I can't believe how accurate and detailed the information estimated time of arrival,speed limits along the way,and detailed map of my route, to name a few .\\n65 Speed of calculation, accuracy, and simplicity of operation are top notch .\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 1,\n \"samples\": [\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 97 + } + ] + }, + { + "cell_type": "code", + "source": [ + "document_df[document_df['cluster_label']==1].sort_values(by='filename')" + ], + "metadata": { + "id": "tXkl7fyC8Dcl", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "ae52a88a-b260-4692-9ace-068b13bb661a" + }, + "execution_count": 98, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "74 battery-life_amazon_kindle \n", + "60 battery-life_amazon_kindle \n", + "16 battery-life_ipod_nano_8gb \n", + "83 battery-life_ipod_nano_8gb \n", + "20 battery-life_netbook_1005ha \n", + "21 battery-life_netbook_1005ha \n", + "9 buttons_amazon_kindle \n", + "70 buttons_amazon_kindle \n", + "100 eyesight-issues_amazon_kindle \n", + "89 eyesight-issues_amazon_kindle \n", + "8 features_windows7 \n", + "96 features_windows7 \n", + "24 fonts_amazon_kindle \n", + "99 fonts_amazon_kindle \n", + "80 keyboard_netbook_1005ha \n", + "37 keyboard_netbook_1005ha \n", + "77 navigation_amazon_kindle \n", + "51 navigation_amazon_kindle \n", + "76 price_amazon_kindle \n", + "22 price_amazon_kindle \n", + "92 screen_ipod_nano_8gb \n", + "7 screen_ipod_nano_8gb \n", + "30 screen_netbook_1005ha \n", + "75 screen_netbook_1005ha \n", + "44 size_asus_netbook_1005ha \n", + "94 size_asus_netbook_1005ha \n", + "42 sound_ipod_nano_8gb \n", + "59 sound_ipod_nano_8gb \n", + "54 video_ipod_nano_8gb \n", + "93 video_ipod_nano_8gb \n", + "\n", + " opinion_text \\\n", + "74 After I plugged it in to my USB hub on my computer to charge the battery the charging cord design is very clever !\\n0 After you have paged tru a 500, page book one, page, at, a, time to get from Chapter 2 to Chapter 15, see how excited you are about a low battery and all the time it took to get there !\\n1 ... \n", + "60 After I plugged it in to my USB hub on my computer to charge the battery the charging cord design is very clever !\\n0 After you have paged tru a 500, page book one, page, at, a, time to get from Chapter 2 to Chapter 15, see how excited you are about a low battery and all the time it took to get there !\\n1 ... \n", + "16 short battery life I moved up from an 8gb .\\n0 I love this ipod except for the battery life .\\n1 ... \n", + "83 short battery life I moved up from an 8gb .\\n0 I love this ipod except for the battery life .\\n1 ... \n", + "20 6GHz 533FSB cpu, glossy display, 3, Cell 23Wh Li, ion Battery , and a 1 .\\n0 Not to mention that as of now... \n", + "21 6GHz 533FSB cpu, glossy display, 3, Cell 23Wh Li, ion Battery , and a 1 .\\n0 Not to mention that as of now... \n", + "9 I thought it would be fitting to christen my Kindle with the Stephen King novella UR, so went to the Amazon site on my computer and clicked on the button to buy it .\\n0 As soon as I'd clicked the button to confirm my order it appeared on my Kindle almost immediately !\\n1 ... \n", + "70 I thought it would be fitting to christen my Kindle with the Stephen King novella UR, so went to the Amazon site on my computer and clicked on the button to buy it .\\n0 As soon as I'd clicked the button to confirm my order it appeared on my Kindle almost immediately !\\n1 ... \n", + "100 It feels as easy to read as the K1 but doesn't seem any crisper to my eyes .\\n0 the white is really GREY, and to avoid considerable eye, strain I had to refresh pages every other page .\\n1 The dream has always been a portable electronic device that could hold a ton of reading material, automate subscriptions and fa... \n", + "89 It feels as easy to read as the K1 but doesn't seem any crisper to my eyes .\\n0 the white is really GREY, and to avoid considerable eye, strain I had to refresh pages every other page .\\n1 The dream has always been a portable electronic device that could hold a ton of reading material, automate subscriptions and fa... \n", + "8 I had to uninstall anti, virus and selected other programs, some of which did not have listings in the Programs and Features Control Panel section .\\n0 This review briefly touches upon some of the key features and enhancements of Microsoft's latest OS .\\n1 ... \n", + "96 I had to uninstall anti, virus and selected other programs, some of which did not have listings in the Programs and Features Control Panel section .\\n0 This review briefly touches upon some of the key features and enhancements of Microsoft's latest OS .\\n1 ... \n", + "24 Being able to change the font sizes is awesome !\\n0 For whatever reason, Amazon decided to make the Font on the Home Screen ... \n", + "99 Being able to change the font sizes is awesome !\\n0 For whatever reason, Amazon decided to make the Font on the Home Screen ... \n", + "80 , I think the new keyboard rivals the great hp mini keyboards .\\n0 Since the battery life difference is minimum, the only reason to upgrade would be to get the better keyboard .\\n1 The keyboard is now as good as t... \n", + "37 , I think the new keyboard rivals the great hp mini keyboards .\\n0 Since the battery life difference is minimum, the only reason to upgrade would be to get the better keyboard .\\n1 The keyboard is now as good as t... \n", + "77 In fact, the entire navigation structure has been completely revised , I'm still getting used to it but it's a huge step forward .\\n0 ... \n", + "51 In fact, the entire navigation structure has been completely revised , I'm still getting used to it but it's a huge step forward .\\n0 ... \n", + "76 If a case was included, as with the Kindle 1, that would have been reflected in a higher price .\\n0 lower overall price, with nice leather cover .\\n1 ... \n", + "22 If a case was included, as with the Kindle 1, that would have been reflected in a higher price .\\n0 lower overall price, with nice leather cover .\\n1 ... \n", + "92 As always, the video screen is sharp and bright .\\n0 2, inch screen and a glossy, polished aluminum finish that one CNET editor described as looking like a Christmas tree ornament .\\n1 ... \n", + "7 As always, the video screen is sharp and bright .\\n0 2, inch screen and a glossy, polished aluminum finish that one CNET editor described as looking like a Christmas tree ornament .\\n1 ... \n", + "30 Keep in mind that once you get in a room full of light or step outdoors screen reflections could become annoying .\\n0 I've used mine outsi... \n", + "75 Keep in mind that once you get in a room full of light or step outdoors screen reflections could become annoying .\\n0 I've used mine outsi... \n", + "44 A few other things I'd like to point out is that you must push the micro, sized right angle end of the ac adapter until it snaps in place or the battery may not charge .\\n0 The full size right shift k... \n", + "94 A few other things I'd like to point out is that you must push the micro, sized right angle end of the ac adapter until it snaps in place or the battery may not charge .\\n0 The full size right shift k... \n", + "42 headphone jack i got a clear case for it and it i got a clear case for it and it like prvents me from being able to put the jack all the way in so the sound can b messsed up or i can get it in there and its playing well them go to move or something and it slides out .\\n0 Picture and sound quality are excellent for this typ of devic .\\n1 ... \n", + "59 headphone jack i got a clear case for it and it i got a clear case for it and it like prvents me from being able to put the jack all the way in so the sound can b messsed up or i can get it in there and its playing well them go to move or something and it slides out .\\n0 Picture and sound quality are excellent for this typ of devic .\\n1 ... \n", + "54 I bought the 8, gig Ipod Nano that has the built, in video camera .\\n0 Itunes has an on, line store, where you may purchase and download music and videos which will install onto the ipod .\\n1 ... \n", + "93 I bought the 8, gig Ipod Nano that has the built, in video camera .\\n0 Itunes has an on, line store, where you may purchase and download music and videos which will install onto the ipod .\\n1 ... \n", + "\n", + " cluster_label \n", + "74 1 \n", + "60 1 \n", + "16 1 \n", + "83 1 \n", + "20 1 \n", + "21 1 \n", + "9 1 \n", + "70 1 \n", + "100 1 \n", + "89 1 \n", + "8 1 \n", + "96 1 \n", + "24 1 \n", + "99 1 \n", + "80 1 \n", + "37 1 \n", + "77 1 \n", + "51 1 \n", + "76 1 \n", + "22 1 \n", + "92 1 \n", + "7 1 \n", + "30 1 \n", + "75 1 \n", + "44 1 \n", + "94 1 \n", + "42 1 \n", + "59 1 \n", + "54 1 \n", + "93 1 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
74battery-life_amazon_kindleAfter I plugged it in to my USB hub on my computer to charge the battery the charging cord design is very clever !\\n0 After you have paged tru a 500, page book one, page, at, a, time to get from Chapter 2 to Chapter 15, see how excited you are about a low battery and all the time it took to get there !\\n1 ...1
60battery-life_amazon_kindleAfter I plugged it in to my USB hub on my computer to charge the battery the charging cord design is very clever !\\n0 After you have paged tru a 500, page book one, page, at, a, time to get from Chapter 2 to Chapter 15, see how excited you are about a low battery and all the time it took to get there !\\n1 ...1
16battery-life_ipod_nano_8gbshort battery life I moved up from an 8gb .\\n0 I love this ipod except for the battery life .\\n1 ...1
83battery-life_ipod_nano_8gbshort battery life I moved up from an 8gb .\\n0 I love this ipod except for the battery life .\\n1 ...1
20battery-life_netbook_1005ha6GHz 533FSB cpu, glossy display, 3, Cell 23Wh Li, ion Battery , and a 1 .\\n0 Not to mention that as of now...1
21battery-life_netbook_1005ha6GHz 533FSB cpu, glossy display, 3, Cell 23Wh Li, ion Battery , and a 1 .\\n0 Not to mention that as of now...1
9buttons_amazon_kindleI thought it would be fitting to christen my Kindle with the Stephen King novella UR, so went to the Amazon site on my computer and clicked on the button to buy it .\\n0 As soon as I'd clicked the button to confirm my order it appeared on my Kindle almost immediately !\\n1 ...1
70buttons_amazon_kindleI thought it would be fitting to christen my Kindle with the Stephen King novella UR, so went to the Amazon site on my computer and clicked on the button to buy it .\\n0 As soon as I'd clicked the button to confirm my order it appeared on my Kindle almost immediately !\\n1 ...1
100eyesight-issues_amazon_kindleIt feels as easy to read as the K1 but doesn't seem any crisper to my eyes .\\n0 the white is really GREY, and to avoid considerable eye, strain I had to refresh pages every other page .\\n1 The dream has always been a portable electronic device that could hold a ton of reading material, automate subscriptions and fa...1
89eyesight-issues_amazon_kindleIt feels as easy to read as the K1 but doesn't seem any crisper to my eyes .\\n0 the white is really GREY, and to avoid considerable eye, strain I had to refresh pages every other page .\\n1 The dream has always been a portable electronic device that could hold a ton of reading material, automate subscriptions and fa...1
8features_windows7I had to uninstall anti, virus and selected other programs, some of which did not have listings in the Programs and Features Control Panel section .\\n0 This review briefly touches upon some of the key features and enhancements of Microsoft's latest OS .\\n1 ...1
96features_windows7I had to uninstall anti, virus and selected other programs, some of which did not have listings in the Programs and Features Control Panel section .\\n0 This review briefly touches upon some of the key features and enhancements of Microsoft's latest OS .\\n1 ...1
24fonts_amazon_kindleBeing able to change the font sizes is awesome !\\n0 For whatever reason, Amazon decided to make the Font on the Home Screen ...1
99fonts_amazon_kindleBeing able to change the font sizes is awesome !\\n0 For whatever reason, Amazon decided to make the Font on the Home Screen ...1
80keyboard_netbook_1005ha, I think the new keyboard rivals the great hp mini keyboards .\\n0 Since the battery life difference is minimum, the only reason to upgrade would be to get the better keyboard .\\n1 The keyboard is now as good as t...1
37keyboard_netbook_1005ha, I think the new keyboard rivals the great hp mini keyboards .\\n0 Since the battery life difference is minimum, the only reason to upgrade would be to get the better keyboard .\\n1 The keyboard is now as good as t...1
77navigation_amazon_kindleIn fact, the entire navigation structure has been completely revised , I'm still getting used to it but it's a huge step forward .\\n0 ...1
51navigation_amazon_kindleIn fact, the entire navigation structure has been completely revised , I'm still getting used to it but it's a huge step forward .\\n0 ...1
76price_amazon_kindleIf a case was included, as with the Kindle 1, that would have been reflected in a higher price .\\n0 lower overall price, with nice leather cover .\\n1 ...1
22price_amazon_kindleIf a case was included, as with the Kindle 1, that would have been reflected in a higher price .\\n0 lower overall price, with nice leather cover .\\n1 ...1
92screen_ipod_nano_8gbAs always, the video screen is sharp and bright .\\n0 2, inch screen and a glossy, polished aluminum finish that one CNET editor described as looking like a Christmas tree ornament .\\n1 ...1
7screen_ipod_nano_8gbAs always, the video screen is sharp and bright .\\n0 2, inch screen and a glossy, polished aluminum finish that one CNET editor described as looking like a Christmas tree ornament .\\n1 ...1
30screen_netbook_1005haKeep in mind that once you get in a room full of light or step outdoors screen reflections could become annoying .\\n0 I've used mine outsi...1
75screen_netbook_1005haKeep in mind that once you get in a room full of light or step outdoors screen reflections could become annoying .\\n0 I've used mine outsi...1
44size_asus_netbook_1005haA few other things I'd like to point out is that you must push the micro, sized right angle end of the ac adapter until it snaps in place or the battery may not charge .\\n0 The full size right shift k...1
94size_asus_netbook_1005haA few other things I'd like to point out is that you must push the micro, sized right angle end of the ac adapter until it snaps in place or the battery may not charge .\\n0 The full size right shift k...1
42sound_ipod_nano_8gbheadphone jack i got a clear case for it and it i got a clear case for it and it like prvents me from being able to put the jack all the way in so the sound can b messsed up or i can get it in there and its playing well them go to move or something and it slides out .\\n0 Picture and sound quality are excellent for this typ of devic .\\n1 ...1
59sound_ipod_nano_8gbheadphone jack i got a clear case for it and it i got a clear case for it and it like prvents me from being able to put the jack all the way in so the sound can b messsed up or i can get it in there and its playing well them go to move or something and it slides out .\\n0 Picture and sound quality are excellent for this typ of devic .\\n1 ...1
54video_ipod_nano_8gbI bought the 8, gig Ipod Nano that has the built, in video camera .\\n0 Itunes has an on, line store, where you may purchase and download music and videos which will install onto the ipod .\\n1 ...1
93video_ipod_nano_8gbI bought the 8, gig Ipod Nano that has the built, in video camera .\\n0 Itunes has an on, line store, where you may purchase and download music and videos which will install onto the ipod .\\n1 ...1
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"document_df[document_df['cluster_label']==1]\",\n \"rows\": 30,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 15,\n \"samples\": [\n \"price_amazon_kindle\",\n \"screen_netbook_1005ha\",\n \"battery-life_amazon_kindle\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 15,\n \"samples\": [\n \" If a case was included, as with the Kindle 1, that would have been reflected in a higher price .\\n0 lower overall price, with nice leather cover .\\n1 If you have the first Kindle and are deciding whether to upgrade, do it now while you can still get a good price for your old Kindle on Amazon's Marketplace, craigslist, wherever .\\n2 Before purchasing, I was obsessed with the reviews and predictions I found online and reading about some of the critiques such as the thick border, the lack of touchscreen, lack of battery SD slot, lack of a back light, awkward difficult keyboard layout, minimally faster page flipping, and the super, high price .\\n3 However, I think all the positives of the K2 greatly make it worth the price which I'll talk about below .\\n4 We have all paid for our covers whether it's an extra cost or added in to the price of the e, reader .\\n5 Amazon is not charging full price to replace a broken or damaged Kindle .\\n6 I believe that what he said was that when the books were on the NYT Best Seller's list, they would be priced at $9 .\\n7 When the book was no longer on that list, the price could change .\\n8 There are text books and other books that run in the hundreds of dollars price range .\\n9 of course they won't be priced at $9 .\\n10 The difference between the books I've purchased and the price of the Kindle is about $166 .\\n11 In addition, the prices for books are often more expensive , , particularly new releases .\\n12 One last thing I was unaware of is how much free or nominally, priced content there is for the Kindle .\\n13 Konrath are offering novels at prices ranging from $1 to $2 dollars, as a way to find new readers .\\n14 00, so the price of Kindle effectively dropped to $349 .\\n15 Savings trump purchase price with Kindle's low book price advantages .\\n16 I would have been glad to have paid any price to have had a book reader that was easier to read for myself with 20 20 vision and especially for the low, vision reader .\\n17 I did see a few big price differences eg .\\n18 The other drawback for some is the price .\\n19 Book prices are less than you will find in book stores and may be less than you will find on other e, book sites .\\n20 Is the K2 so much better than the K1 as to justify the price ?\\n21 the BUT comes in and applies to the fact that the price for the downloads has been going up and up .\\n22 since the cost of the kindle is high anyway, the benefit, other than easy storage, was the reduced price of book downloads .\\n23 The lack of such an obvious and necessary feature, especially considering the price of the device, really degrades its value and usability .\\n24 I want you to know that ultimately, however, if I want a Kindle I will have to capitulate and accept Amazon's terms because Amazon has a monopoly over their own machine, and I will have to purchase one even at prices I believe are needlessly high for e, book readers .\\n25 And I know for sure that many print publishers will see this as an opportunity to provide attractively priced paper books as an alternative .\\n26 At the steep price of this device we should get better quality components .\\n27 To have this continuous, high speed, wireless connectivity without the need for a physical computer to upload download onto is truly amazing and makes the price of the Kindle truly irrelevant .\\n28 price , and intuitive operation your parents and grandparents can operate this device, if you are fortunate enough to still have them !\\n29 As a teacher, I really wanted this machine and have been waiting for the price to drop so that I could give myself the excuse to purchase it .\\n30 Disappointing given the prices .\\n31 The price for new hardbacks on the Kindle is great too .\\n32 After reading the reviews and pondering the price all day, I took the plunge .\\n33 The ability to plug in headphones and play Miles Davis to drown out the screaming kid while you are reading at the doctors office is priceless .\\n34 If you are searching for a REAL review on the Kindle 2 by someone that was waiting to receive it rather than complaining about price or other issues then here it is .\\n35 However, I will say, the selection of inexpensive books has been worth the purchase price of this item especially for those that enjoy reading the classics or nationwide news, it has been a joy to purchase entire collections for a fraction of the cost of purchasing new or even used books .\\n36 Those in college, with children or just have a love of reading will likely find the convenience and savings well worth the price .\\n37 I found many simply by doing a search on genre's of interest with price low to high as a default .\\n38 To justify the purchase price, those functions really need to be there .\\n39 The price of these 'classic' titles is pretty hard to beat, too .\\n40 I was a little miffed when i saw that they would now be charging for the Kindle cover, which was included in the price for the previous version .\\n41 Mind you, it's the same size as the Kindle 1, and that of most book pages, but I for one dream of something larger without a larger price tag .\\n42 If I have to spend the full puirchase price on the K2 with a K1 still in hand I would have probably waited .\\n43 Although pricey, the real value of this purchase is that it got me to read again .\\n44 But, as far as my reading experience with the kindle 2, I have downloaded so many books and all at a fraction of the original price .\\n45 I just hope that the price goes down .\\n46 Yes, it costs extra, but they lowered the price on the Kindle 2 so that buying the basic cover costs plus the purchase price of the device itself equals the cost of a Kindle 1 .\\n47 But given my book storage issues and how much it would cost me to rent a bigger apartment here in the City, I didn't mind paying the current price .\\n48 That may not be true for everyone, but, as I said, I'm sure the price will eventually come down .\\n49 Some people may find this an inconvenience, but I think it is just a small price to pay for delayed convenience especially where I am located .\\n50 Books are retardedly pricey .\\n51 Should have been priced at $250 .\\n52 Even if you want to , I think it is way too pricey .\\n53 The subscription prices and book prices are really good from what my wife tells me .\\n54 Though it would be nice if the cover was included in the K2 price, it is still worth buying .\\n55 It is pricey but if you buy as many books as I do, it will pay for itself within a year due to the low cost of most books .\\n56 The price of the device itself is the only drawback but if your an avid reader like myself the reward far outways the price .\\n57 The price, tag is pretty hefty for most people, though I would counter that the value proposition makes up for it .\\n58 I'm positive that future releases will bring the price point down .\\n59 2, Book Selection & price, I made a list of 20 books .\\n60 Of the 20, several were priced higher on B&N then amazon, significantly so, while 5 were not available on B&N at all .\\n61 for the price of a few hundred used old, fashioned paperbacks and free your shelves for figurines or a nice bottle collection !\\n62 When the original Kindle was released, I was intrigued, but never researched it due to the insanely high price tag .\\n63 It was obviously out of my price range .\\n64 One, for what you get it is over priced .\\n65 Last I would suggest for the price a protective cover should be included with the product .\\n66 The price, tag for this item is quite steep when you first look at it .\\n67 I checked the difference in price between the cheapest print available of the books and the Kindle Editions .\\n68 Turns out some of them were the same price, while others were much cheaper for the Kindle .\\n69 she thought she wanted one, but was a bit daunted by the price and the question of how much she would actually use it .\\n70 I thought about buying an eBook reader for a few months and had thought i would go with the B&N Nook until i compared book prices between B&N and Amazon .\\n71 Amazons book are priced significantly lower and easier to find in my opinion .\\n72 Ultimately, I end up paying full price and have for many years .\\n73 About a month ago after finishing in one weekend and realizing that I paid $28 for it I thought Kindle's cheaper prices and mobility would be great .\\n74 I can download samples and buy books for $10 so I have a lot of things I would not buy if I had to pay full price .\\n75 Books are priced in US$ for oversea consumers .\\n76 99, thus offsetting the high price of the Kindle .\\n77 Perhaps the misunderstanding was mine, but I find myself once again buying books or borrowing from the Library because of inflated prices for the new releases .\\n78 If Amazon reduces their prices back to the $9 .\\n79 99 price and credits those who've paid more, I'll once again recommend Kindle .\\n80 Another has a desire to obtain old books , we looked up Moby Dick and she was amazed that the price was only $1 .\\n81 Most of the complaints about the Kindle price, b&w, no wifi, etc .\\n82 As to price, I usually purchase books on a weekly basis .\\n83 While the price of the Kindle 2 isn't inexpensive, adding up how much I spend in books and how much room they take up !\\n84 I had been wanting a Kindle but had balked at getting one because of the price, but after our last move and packing up all of our books, and giving many away I was more open to the idea .\\n85 I was still hesitant after I saw the Kindle 2 because of price .\\n86 The ability to clip articles, make notes and save items for later is priceless .\\n87 Even the price doesn't bother me .\\n88 In addition, you can sort the Kindle books by price and find many more free books .\\n89 Reading is something that I absolutely love, but I find it hard to wait several days for a book to be shipped to me or pay the outrageous prices at a bookstore .\\n90 I would love a case cover that's well made and doesn't cost a third the price of the device .\\n91 I must say that I am shocked at how many of these reviews are one stars given by people complaining about the price but dont even own a Kindle !\\n92 There are many other ways such as mp3 players, portable DVD players, not to mention the radio to listen to while driving, that are almost fully paid for by the price for just one audio book .\\n93 I don't miss the pricetag of a printed book !\\n94 to buy the international version of the kindle 2, I have to admit, that this is a great device and for me worth the price .\\n95 no waiting time for the paperback version, and getting the e, book version almost for the same price as the paperback version\\n96 4 Delivery and Prices for Austrian User\\n97 The average price of an up, to, date e, book for an Austrian user is about 13,79 USD, some you get for about 10,58 USB .\\n98 Non, best seller book prices should be lower, just like some magazine subscriptions are .\",\n \" Keep in mind that once you get in a room full of light or step outdoors screen reflections could become annoying .\\n0 I've used mine outside on a sunny day, and the screen is still very much legible .\\n1 In fact it was much more detailed than the matte screen on my Dell D600 .\\n2 Some ppl may prefer a higher resolution screen but I don't think it's required .\\n3 I delayed ordering the computer because of the horror stories of bad batteries, faulty chargers and blue screen crashes .\\n4 1 inch screens, Windows XP operating systems, a plethora of USB ports, a card reader, WiFi and most have a few color choices .\\n5 1 inch screens are a bit cramped if several toolbars have been turned on .\\n6 Some of the Asus special on screen controls, update and expand features built into the machine have not been all that useful and some border on being advertisements for buying Asus stuff .\\n7 Two other things that make this a superior computer are battery life, and the LED backlighting for the screen .\\n8 The ways the screen opens enables a smaller footprint when the case is closed, although it limits how far back the screen will tilt .\\n9 Surfing the net is a breeze, but I did have one blue screen of death when dealing with one demanding internet site .\\n10 The light weight, the battery life, the keyboard, the non, protruding removable battery, the bright screen, the track pad disable button and general ease of use makes it hard to beat .\\n11 I recommend minimizing the size of the scroll zones on the right and bottom, other wise you find the screen suddenly scrolling when you did not want it to do so .\\n12 zoom in or zoom out of a screen , but on occasion it will zoom when you don't want or expect it to because of an inadvertent gesture or touch by a thumb, etc .\\n13 The occasional blue screen of death unfortunately has not gone away Microsoft attributes it to an errant driver, but I have not been able to isolate what driver is the cause .\\n14 The screen is not as bright as my Acer .\\n15 There are 2 bios updates and the latest is for a brighter screen setting .\\n16 This makes the screen much brighter and as with all new computers it seems there are always important updates .\\n17 Also if you install Firefox web browser and push the f11 key the browser becomes full screen, helpful on a small screen .\\n18 I got used to the glossy screens a while ago this one is remarkably bright and vivid .\\n19 Now I keep getting the blue screen serious errors .\\n20 wrote it has crashed unexpectedly and displayed the blue screen of death numerous times .\\n21 Sometimes the blue screen of death appears for no discernible reason .\\n22 I began by considering netbooks with screens smaller than the now, standard 10 .\\n23 If money is your leading consideration, then one of these may be for you, but for just a bit more money you get a much better screen, better battery life, bigger drive, more upgradeable, etc .\\n24 But with screen brightness cranked up, bluetooth & wi, fi in constant use, some video playback , and internet radio running, I'm getting a good 8\\n25 With wi, fi off & the screen dimmed, I don't think I'll have a problem getting the stated 10 .\\n26 The keyboard is not quite perfect, the screen doesn't tilt back as far as I'd like, slightly higher resolution in the screen would be nice a new model not yet available in the U .\\n27 has an 11 screen with the same or better battery life, .\\n28 It's small with a very clear screen .\\n29 I've had the 1005HA, PU1X for a week now , on and running applications continuously , without a single crash, blue screen, or hangup .\\n30 The touchpad feels great, the boot up was fast, keyboard feels comfortable, and the screen is good .\\n31 My only complaint with it is that the screen doesn't go back far enough .\\n32 The touchpad works well, the screen glossy, ness really doesn't bother me, and it's not too bad of a fingerprint magnet .\\n33 On full screen display is smooth and no issues .\\n34 Some iTunes content is a little laggy if it is maximized display, but not full screen for some reason, but switching to full screen display has taken care of that issue for me .\\n35 And with a two, fingered gesture on the scratchpad, you can enlarge or shrink the screen .\\n36 It won't give you all the functionality of a full, sized laptop, and the small screen may take some getting used to, but no regular laptop gives you this kind of battery life, and most of the functions absent here aren't used by most people most of the time anyway, so if the tradeoff is fewer features for greatly, increased battery life, I'll take the latter .\\n37 On a full charge, with wireless on, screen brightness on medium, I get a reported 8 .\\n38 5 hours with no wireless, and screen brightness on minimum .\\n39 5 PASS , Screen is bright and large enough .\\n40 Once I configured Firefox to always run full screen mode , surfing was no problem with plenty of screen real estate .\\n41 All features worked excellently for me so far especially appreciate the touchpad lock button as well as the screen off function key .\\n42 heavy rearward weight bias so much that it wants to fall backwards with the screen pushed back all the way\\n43 the screen is STUNNING, and if you've got a bright light shining down on it, you've got a choice :\\n44 you can either move the screen to eliminate the glare, or move the lamp .\\n45 I'd far rather have this beautifully crisp screen and make the occasional adjustment for glare, than deal with a matte screen 24 7 .\\n46 One of the other complaints I'd come across is how for some, the screen doesn't tilt back far enough .\\n47 yeah, you'd probably want the screen to tilt far enough back to lay flat .\\n48 And if you can't wait to twist yourself into some contortion in bed where you need the screen to go back further than reasonable, you can always invest in one of those $20 lap desks , you know, the kind with the beanbag bottom, so that you can shift the desk into whatever ridiculous position will suit your fancy .\\n49 and I could have gotten a matte screen, but neither of those features impressed me .\\n50 Except for difficulties seeing the entire New York Times crossword puzzle all at once on the screen, the Asus satisfies my needs and seems about as fast as my 5, year, old IBM laptop .\\n51 I was also nervous about the fact that occasionally the image on the computer screen shivered , although it normally recovered from that .\\n52 Also considered lower, end 14, 15 screens for use of the DVD .\\n53 I like the gloss screen fine .\\n54 The screen is too small for any meaningful work, but the apps DO work .\\n55 Again, the screen is too small for this to be anything more than just satisfying from a purchase standpoint .\\n56 like others have said, it is definitely a fingerprint magnet, and the glossy screen can be a bit of a problem in some lighting conditions .\\n57 I received my Asus 1005HA yesterday installed the two gb ram and tried to turn it on and the screen remained blank .\\n58 The screen is small, only 1024 x 600 .\\n59 I can hear the windows but my screen is totally blank .\\n60 I can tell the backlight is on, but all I get is a black screen .\\n61 I don't even see the bios screen on startup .\\n62 The screen is sharp and bright .\\n63 The screen is clear and easily viewed in indoor environments .\\n64 With the view maximized, the screen is large enough to work on documents and read online research materials .\\n65 The fashionable glossiness of both body and screen acquires fingerprints and smears rapidly .\\n66 The shiny screen is reflective, which can be a problem if you have your back to a sunny window or work outdoors .\\n67 I keep the screen brightness set at about half and easily get more than eight hours with wi, fi on .\\n68 I don't know what the other reviewers are talking about as far as the screen brightness goes because my screen is far too bright at the higher end of the spectrum .\\n69 It is a fingerprint magnet, and because of the glossy screen, its very reflective of light .\\n70 , don't know why they use the screen size most do , 1024 x 600 seems cramped\\n71 Takes sometime to get use to the small screen .\\n72 yeah, the new LED screen technology is that good .\\n73 The screen resolution isn't the highest you can get but I found that the higher resolution netbooks usually had older prcessors for some reason .\\n74 I'm happy with the screen and resolution choices available .\\n75 I usually run IE8 in full screen mode with a 95% zoom setting and a 1024x600 resolution .\\n76 Surprisingly readable screen for the size .\\n77 4 DO NOT GET WAX ON YOUR SCREEN .\\n78 Hit F11 and you have full screen browsing , just move the cursor to the top of the screen for the controls .\\n79 The screen really is too small , 1024x600 is barely livable .\\n80 With the battery in the back the computer has most of its weight in the back so the computer easily tips back when the screen is opened all the way up .\\n81 Screen brightness is very satisfactory .\\n82 ASUS Docking is a program to have a quick menu on top of your screen to access all ASUS software .\\n83 The screen is easy to read in outside lighting conditions .\\n84 My other HP laptop has a mat screen surface and is almost impossible to read outside .\\n85 Long battery life, sharp looking machine, fingerprint magnet,glossy screen=glare,ease of use and portability .\\n86 The most noticeable difference is the screen and keyboard functionality .\\n87 The cover and screen are glossy and it has a 92% keyboard which is plenty comfortable .\\n88 The battery life is excellent, with normal usage I can get about 7 hours easily, more if I turn off WIFI and turn down the screen brightness .\\n89 One of the downside I have noticed is that the netbook is heavy near the hinge because that's where the battery is located and if you want to put it on your lap while sitting, you have to put your hand on the bottom chassis so that the netbook doesn't tip over, and the screen doesn't bend all the way backwards which can be annoy, otherwise this is a really nice netbook .\\n90 Screen is nice, and adequately sized, , use fullscreen browsing .\\n91 I also needed Web connectivity for research, a screen with a low squint factor and a keyboard that wasn't too cramped .\\n92 The screen size works just fine for me .\\n93 Having the touchpad feature of expanding zooming the presentation on the screen is a nice feature, but I have to admit having never needing to use it .\\n94 And it goes in that bag wrapped in the white paper plastic bag it was originally boxed up in, with another piece of packing plastic between the keyboard and the screen .\\n95 , I'm still getting used to the small screen .\\n96 Tiny screen compromises the experience of web surfing\\n97 I'll see the first black screen, it appears to be starting, and then stays with either a grey or black screen .\\n98 3 sometimes the screen will all of a sudden distort and I have to re, start to get it to work .\\n99 1 keyboard still floats 2the screen goes to a solid blue screen either right after starting or after it sits a while .\\n100 Great battery life, decent sized screen, and the keyboard was large enough to be comfortable to type on .\\n101 Very nice, in fact, though I strongly dislike glossy screens , no matter, I knew it would have one when I ordered it .\\n102 The battery life has been very good, especially if you follow the rule of turning off the wireless and bluetooth, and turning down the screen brightness .\\n103 9 screens, but felt that was too much of a sacrifice .\\n104 The screen is small but still large enough to read comfortably .\\n105 0 out of 5 stars Bad LCD Screen, October 7, 2009\\n106 I fired it up and out of the box it has a vertical red line on the LCD screen .\\n107 just a big dark, screen paperweight .\\n108 The netbook is light and sturdy, and it the screen looks great .\\n109 only 10, inch screen, small keyboard and no CD, ROM .\\n110 My advice is to visit a store to personally try the keyboard and screen size .\\n111 Decent speed processor, nice screen quality, great asus softwares , and very long battery life .\\n112 pretty decent screen quality .\\n113 although the screen is relatively small to my eyes it wasn't really hard to get used to the size and the screen is clear and bright, no prob reading articles and writing essays .\\n114 One of the things that I found difficult to get used to is the size of the screen .\\n115 10 can be enough for some, but it was kinda small for me, so the thing I did was try to max out the screens by removing unnecessary menus .\\n116 When using Internet explorer or Firefox, press F11 and the screen will enlarge, giving you some additional freedom and space .\\n117 GLOSSY SCREENS ARE THE STUPIDEST INVENTION OF THIS MILLENIUM .\\n118 Seeing reflections on the screen is just plain annoying .\\n119 As new netbooks come out, look for the ones with matt screen and see if it has a good feature set and price .\\n120 The screen is very sharp and readable even with the tiny text at this size .\\n121 With 1GB of RAM, it really isn't TOO bad to try to run Photoshop or something either , but the screen would be too small for something like that anyhow .\\n122 The battery life is unbelievable, even while using USB to transfer files, watching movies and surfing the internet with screen brightness all the way up .\\n123 Factory settings to preserve battery life have the screen luminescence set to 50% but can easily be adjusted to the necessary ambience illumination you may need .\\n124 The 1024x600 screen can be set, if you wish, so that it is a 1024x600 viewport to a larger 1024x768 desktop, reachable by moving the mouse to the screen edge .\\n125 This is useful if you have an application that demands a 1024x768 screen .\\n126 Screen appearance is enhanced by Asus software, and I do like the appearance and visibility in various lighting situations .\\n127 The 10 inch screen started getting to me on the Asus 1005 .\\n128 I love the capability of making the screen bigger or smaller with the mouse pad .\\n129 The mouse pad is very sensitive so I sometimes find myself on a different part of the screen if I accidentally touch something .\\n130 The screen is comfortable and sufficently bright for occassional use .\\n131 The screen is crisp and clear, and the unit runs great .\\n132 The greatest shortcoming is the small screen resolution .\\n133 Yes, screen is small, video card is weak, and keyboard is cramped, but this is the case for other netbooks at this price point .\\n134 I have not done an actual test of the full battery life but from what iv seen in general use it has around 9 hours while running wifi and other applications with around half screen brightness .\\n135 Streaming videos from Hulu and Netflix look incredible on this 10 inch screen .\\n136 The only minor issue that I have with 1005HA is that it does not allow the screen to rotate further .\\n137 The screen rotation angle is good enough for putting the netbook on desktop .\\n138 Due to the size of netbooks and a wide screen format, the screen should have been designed to be able to rotate all the way back to inline with the keyboard .\\n139 The screen is very bright and sharp with a maximum resolution of 1024x600 .\\n140 The 10, inch screen is bright and has good color, and the keyboard is only slightly smaller than a regular one .\\n141 Performance is good, screen very good, wireless very good, numerous USB ports, and keyboard layout is excellent .\\n142 It boots up quickly, especially after getting rid of the extra asus software that auto, boots at startup, its battery life is phenomenal, the screen is clear and easy to read, the keyboard is comfortable to type on and feels natural .\\n143 But even with that, and the glossy screen, fingerprint magnet, limited screen tilt, tinny speakers, and intermittent odd glitches, I still think it's a great value and would buy it again today if I were on the market for a netbook .\\n144 Now the screen is cracked with big black blotches as well .\\n145 Blue screen crashed several times .\\n146 Hard to see full web pages on small screen, resolution inadequate .\\n147 Instead I convert DVDs to DVIX AVI files using Fair Use Wizard and load them on to memory slot card and they play great, 700mb files look fine on this size of screen .\\n148 The screen resolution can be a little small at times, but that is a sacrifice I was willing to make .\\n149 Yes it does take some getting use to a smaller screen, the key board actually works better than my laptop though .\\n150 I was worried the screen size would be too small and uncomfortable to read, but it has been great for everything I run :\\n151 Most of my professors teach from Power Points, and it makes my life so much simpler having the PPT on my screen that I can annotate while listening to the lecture .\\n152 I have not accidentally knocked it over, but I think it could easily be done the screen is glossy .\\n153 Purchased this machine to enjoy the convenience of Windows and the larger screen .\\n154 years old, so the screen size was also a concern, but it is adequate for the type of things I use it for .\\n155 As soon as you connect the VGA cable to an unknown projector and press the function key for projection, it automatically adjusts the size and resolution to fit the projector even if it cannot display properly on its own screen .\\n156 The keyboard is great and the screen looks good .\\n157 It's also a shame that this model comes with a glossy screen .\\n158 I personally haven't had a problem with the screen, but it would be fairly unusable outdoors in the sun .\\n159 For this extra amount, I was looking for the larger screen, the longer battery life and the keyboard ergonomics .\\n160 I have more productivity flow on a conventional laptop with a full sized screen and keyboard .\\n161 This machine is plenty fast, it's just that if I try to do work with it , my office's order entry system as displayed on the netbook screen must be scrolled up and down since it's a chopped 1024 x 600 height screen, instead of the more usual 786 .\\n162 you lose those 186 pixels and even one line of a large order maintenance screen can require you to have to break the flow of productivity to scroll .\\n163 The small screen is probably the biggest drawback .\\n164 Could be better and don't use the highest resolution unless you want all of your stuff to have the wrong aspect ration on the screen It flattens it to make more visible .\\n165 Browsing is amazingly better by using full screen mode on browser with F11 .\\n166 That extra space the menu and address bar take up are sorely needed on this small screen .\\n167 In full screen browsing it is so much better that I would never go back .\\n168 Because the screen is so small in order to get the standard 1024x 768 display without having to scroll the normal screen the screen has to be smashed so the display is slightly altered .\\n169 One hint , there's a setting that lets you compress the screen which makes everything smaller and allows you to fit more on the screen .\\n170 I mostly find that when I make typos, it's not because of the keyboard, it's because of the smallness of the screen, , I just can't see what I'm doing as well as a laptop .\\n171 As others have noted, I wish the screen wasn't so reflective .\\n172 And maybe it's something I need to figure out how to fix, but I don't like the aspect ratio of the screen either .\\n173 Has all the features of my bigger laptop except a large screen .\\n174 1 inch screen is bigger than the 8 .\\n175 I want a netbook for portability, not screen real estate .\\n176 , I was willing to downsize my screen size in favor of portability and speed .\",\n \" After I plugged it in to my USB hub on my computer to charge the battery the charging cord design is very clever !\\n0 After you have paged tru a 500, page book one, page, at, a, time to get from Chapter 2 to Chapter 15, see how excited you are about a low battery and all the time it took to get there !\\n1 NO USER REPLACEABLE BATTERY, , Unless you buy the extended warranty for $65 .\\n2 After 1 year you pay $80 plus shipping to send the device to Amazon and have the Kindle REPLACED, not the battery changed out .\\n3 The fact that Kindle 2 has no SD card capability and the battery is not user, serviceable is not an issue with me .\\n4 Things like the buttons that made it easy to accidentally turn pages the separate cursor on the side that could only select lines and was sometimes hard to see the occasionally awkward menus the case which practically forced you to remove it to use it and sometimes pulled the battery door off .\\n5 The issue with the battery door opening is thus solved, but Amazon went further, eliminating the door altogether and wrapping the back with sleek stainless steel .\\n6 Frankly, I never used either the card slot or changed the battery on my Kindle 1 but I liked that they were there and I miss them on the Kindle 2, even though, I have to admit, I don't actually need them .\\n7 It's also easy to charge the Kindle in the car if you have a battery charger with a USB port .\\n8 You can't carry an extra battery , though with the extended battery life and extra charging options it's almost a non, issue , and you can't replace the battery because of the iPod, like fixed backing .\\n9 For one thing, there's no charge except battery power no pun intended !\\n10 Before purchasing, I was obsessed with the reviews and predictions I found online and reading about some of the critiques such as the thick border, the lack of touchscreen, lack of battery SD slot, lack of a back light, awkward difficult keyboard layout, minimally faster page flipping, and the super, high price .\\n11 As for the battery, Amazon's explanation was that it'd thicken the Kindle, so I'm fine with it b c the slenderness of the K2 is such a plus .\\n12 Short battery life , I charged this thing for a couple of hours, 24 hours ago , it's still running and just at 75% of full power .\\n13 I turned it on, noticed there was about a half a battery charge and proceeded to find my way around the thing .\\n14 Fourth, your battery icon stinks .\\n15 It is so subtle that you can't tell how much battery life is left .\\n16 Kindle is an out of the box reading, ready unit that immediately addressed me by my nickname, no log, in necessary, and could have begun downloading whatever I wanted over the 3G Whispernet within seconds as the battery was charging,\\n17 very thin, light, weight, and attractive, looking with more data storage and faster battery charges with longer usage compared to Kindle 1,\\n18 What I'm ambivalent about , I don't find the battery life any better than the K1, I thought the K1 battery life was perfectly fine .\\n19 extended use of this feature will cut into battery life significantly, I've been getting 2 .\\n20 because the battery ran down .\\n21 A week ago, I ordered my Kindle 2 and when it was delivered, the battery was in critical stage and it would not power on .\\n22 When that came in, it was also in the critical battery stage and this time the charge light would not even come on upon charging .\\n23 Battery life is very good, even with the wireless on constantly .\\n24 K2 goes into sleep mode if you leave it be for a few minutes, but in this mode it still uses battery power if wireless is enabled .\\n25 Many have been critical of the non user replaceability of the battery .\\n26 I can do without the K2 several years from now for a week while the battery gets replaced .\\n27 More likely, by the time the battery no longer holds a charge, there will be a K7 with a color screen and 200 times the memory that I'll want to upgrade to !\\n28 , Battery life is weeks at a time, even with constant use .\\n29 And the battery life has gotten a lot shorter too, again, after TONS of use .\\n30 which, I guess, is unavoidable with rechargable batteries, but I wish I could change the battery myself .\\n31 The battery was almost fully charged upon receipt so I turned it on and I was in business .\\n32 Good thing the nook boasts a removable back cover, because the store clerk had to take it off to remove the battery for a hard restart .\\n33 Battery life is pretty spot on .\\n34 The 2 days battery life was with the wireless turned ON which is wholly unneccesary in the normal operation of the device .\\n35 Turn wireless OFF , It saves your battery .\\n36 And I like the fact the wireless is a menu option, I just leave it on all the time anyways with little perceptible battery drain .\\n37 , Battery life seems a bit longer but the K1 was good too .\\n38 The Sony takes 60 seconds to go back to the main menu and used an incrediable amount of battery .\\n39 The original Kindle had a removable battery and you could buy extra batteries in case you'd be away from a power source for an extended time .\\n40 The battery in the Kindle 2 is not removable by the owner .\\n41 The Sony is smaller and thinner and, I think, has longer battery life .\\n42 It's not clear how big an advantage it is to have the extra battery life, though, because both get you through a long day with power to spare .\\n43 the screen is small, and the battery doesn't last long enough to be used in the way I use books .\\n44 The battery charged quickly, in less than 2 hours .\\n45 If I didn't have a reading lamp handy, I find that the Mighty Bright clip on battery operated book light that amazon .\\n46 would no doubt run down the Kindle 2's battery faster .\\n47 So far, the battery charge seems to last quite a long time for reading .\\n48 I leave the wireless access feature turned off for longer battery life .\\n49 So far, it has taken anywhere from two to three hours to recharge the device, depending on how far down I've let the battery run .\\n50 I'm not pleased with the prospect of having to send the unit in to have the battery replaced when it finally fails and won't take or hold a charge .\\n51 Apparently the Kindle 1 had a battery the owner could replace quickly, the way a cell phone does .\\n52 So I give the Kindle 2 an A, minus, the minus because the battery isn't replaceable by the end user .\\n53 So my only real complaint right now is a battery the end, user can't replace .\\n54 And the lack of backlight saves on the battery .\\n55 I can leave it on sleep for days and hardly ever need to recharge the battery .\\n56 3The battery definitely does not last two weeks on mine .\\n57 With 2, 3 hours of reading per day, my Kindle battery has lasted me only 4 days .\\n58 No idea what battery life is like because I just gave it to her .\\n59 >> Better battery life, FAR better with wireless function on .\\n60 To me, this is more important than a user, replaceable battery .\\n61 >> It has a user, replaceable battery, though this is offset by improved life with the built, in Kindle 2 battery .\\n62 The battery life is disappointing , with the wireless on, it probably wouldn't last 20 hours of determined reading .\\n63 A single battery charge of my Kindle lasts almost two weeks compared to the 3, 4 hours on my iphone or the 5, 6 hours on my netbook .\\n64 Besides, I don't want to make the tradeoff of inferior battery life in order to power a device, native backlight .\\n65 Plus the touch screen consumes battery life .\\n66 4, I like that you can change the battery in the Nook and you can add a memory card .\\n67 However I have IPods and I never use up all the memory or battery life .\\n68 Plus the Kindle 2's Battery life is 4 days longer per charge .\\n69 Oh and one more thing , I've discovered that if you turn of wifi until you know you need to send or retrieve something, the battery lasts for many many more hours .\\n70 A clip, on light seems like a fine solution, plus it doesn't drain the battery .\\n71 , The battery life seems fine to me .\\n72 I left wireless on for the first 3 days, and after reading through Ur and 25% of DaVinci Code , plus lots of general playing around with the device and checking out features, I got the low, battery warning about 55 hours after intially charging it to full .\\n73 This feature uses a lot of battery and the battery lasts for maximum 2, 3 days but it is worth it .\\n74 I live in the UK, my Kindle arrived last Thursday and it was up and running in minutes as the battery had some charge when it arrived .\\n75 The Kindle does not come with a UK power adaptor, so that has been an extra \\u00a312 expense, but I could charge the battery using the computer and USB cable .\\n76 The battery life is unbelievable too .\\n77 Also, I only carried my kindle on the plane to Japan, and I could read for over 15 hours and the battery wasn't even halfway over .\\n78 The books download quickly, the battery lasts a long time, it is simple to use, the bookmark feature is nice, and I love the cool pics on the screen when you turn the gadget off .\\n79 The battery life is great and I even like the screen savers .\\n80 I just found out how to save the battery and you can read for well over a week without a charge .\\n81 If the battery lasts a couple years, not being able to replace it myself will not be a factor either .\\n82 I've left the wireless on and really don't see tremendous battery usage yet .\\n83 At first I thought,wait a minute,no memory chip,no exchangeable battery,a few other diff .\\n84 It came with battery uncharged, but it charged up as advertised in less than 3 hours .\\n85 And the long battery life is amazing !\\n86 The battery life seems amazing .\\n87 While the Kindle 2 shows the title on the left as before and more readable, the battery life and network icons are in the place of the author's name .\\n88 By the way, Kindle battery lasts forever indeed !\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 1,\n \"samples\": [\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 98 + } + ] + }, + { + "cell_type": "code", + "source": [ + "document_df[document_df['cluster_label']==2].sort_values(by='filename')" + ], + "metadata": { + "id": "rh2zj6FX8Dep", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "34fc3323-7f7b-4e2f-a111-4d4292c82db3" + }, + "execution_count": 99, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "71 comfort_honda_accord_2008 \n", + "15 comfort_honda_accord_2008 \n", + "4 comfort_toyota_camry_2007 \n", + "86 comfort_toyota_camry_2007 \n", + "69 gas_mileage_toyota_camry_2007 \n", + "61 gas_mileage_toyota_camry_2007 \n", + "49 interior_honda_accord_2008 \n", + "67 interior_honda_accord_2008 \n", + "47 interior_toyota_camry_2007 \n", + "0 interior_toyota_camry_2007 \n", + "14 mileage_honda_accord_2008 \n", + "45 mileage_honda_accord_2008 \n", + "43 performance_honda_accord_2008 \n", + "34 performance_honda_accord_2008 \n", + "73 performance_netbook_1005ha \n", + "101 performance_netbook_1005ha \n", + "66 quality_toyota_camry_2007 \n", + "33 quality_toyota_camry_2007 \n", + "63 seats_honda_accord_2008 \n", + "68 seats_honda_accord_2008 \n", + "40 speed_windows7 \n", + "50 speed_windows7 \n", + "31 transmission_toyota_camry_2007 \n", + "82 transmission_toyota_camry_2007 \n", + "\n", + " opinion_text \\\n", + "71 Drivers seat not comfortable, the car itself compared to other models of similar class .\\n0 ... \n", + "15 Drivers seat not comfortable, the car itself compared to other models of similar class .\\n0 ... \n", + "4 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ... \n", + "86 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ... \n", + "69 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 ... \n", + "61 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 ... \n", + "49 I love the new body style and the interior is a simple pleasure except for the center dash .\\n0 ... \n", + "67 I love the new body style and the interior is a simple pleasure except for the center dash .\\n0 ... \n", + "47 First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh... \n", + "0 First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh... \n", + "14 It's quiet, get good gas mileage and looks clean inside and out .\\n0 The mileage is great, and I've had to get used to stopping less for gas .\\n1 Thought gas ... \n", + "45 It's quiet, get good gas mileage and looks clean inside and out .\\n0 The mileage is great, and I've had to get used to stopping less for gas .\\n1 Thought gas ... \n", + "43 Very happy with my 08 Accord, performance is quite adequate it has nice looks and is a great long, distance cruiser .\\n0 6, 4, 3 eco engine has poor performance and gas mileage of 22 highway .\\n1 Overall performance is good but comfort level is poor .\\n2 ... \n", + "34 Very happy with my 08 Accord, performance is quite adequate it has nice looks and is a great long, distance cruiser .\\n0 6, 4, 3 eco engine has poor performance and gas mileage of 22 highway .\\n1 Overall performance is good but comfort level is poor .\\n2 ... \n", + "73 The Eee Super Hybrid Engine utility lets users overclock or underclock their Eee PC's to boost performance or provide better battery life depending on their immediate requirements .\\n0 In Super Performance mode CPU, Z shows the bus speed to increase up to 169 .\\n1 One... \n", + "101 The Eee Super Hybrid Engine utility lets users overclock or underclock their Eee PC's to boost performance or provide better battery life depending on their immediate requirements .\\n0 In Super Performance mode CPU, Z shows the bus speed to increase up to 169 .\\n1 One... \n", + "66 I previously owned a Toyota 4Runner which had incredible build quality and reliability .\\n0 I bought the Camry because of Toyota reliability and qua... \n", + "33 I previously owned a Toyota 4Runner which had incredible build quality and reliability .\\n0 I bought the Camry because of Toyota reliability and qua... \n", + "63 Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 ... \n", + "68 Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 ... \n", + "40 Windows 7 is quite simply faster, more stable, boots faster, goes to sleep faster, comes back from sleep faster, manages your files better and on top of that it's beautiful to look at and easy to use .\\n0 , faster about 20% to 30% faster at running applications than my Vista , seriously\\n1 ... \n", + "50 Windows 7 is quite simply faster, more stable, boots faster, goes to sleep faster, comes back from sleep faster, manages your files better and on top of that it's beautiful to look at and easy to use .\\n0 , faster about 20% to 30% faster at running applications than my Vista , seriously\\n1 ... \n", + "31 After slowing down, transmission has to be kicked to speed up .\\n0 ... \n", + "82 After slowing down, transmission has to be kicked to speed up .\\n0 ... \n", + "\n", + " cluster_label \n", + "71 2 \n", + "15 2 \n", + "4 2 \n", + "86 2 \n", + "69 2 \n", + "61 2 \n", + "49 2 \n", + "67 2 \n", + "47 2 \n", + "0 2 \n", + "14 2 \n", + "45 2 \n", + "43 2 \n", + "34 2 \n", + "73 2 \n", + "101 2 \n", + "66 2 \n", + "33 2 \n", + "63 2 \n", + "68 2 \n", + "40 2 \n", + "50 2 \n", + "31 2 \n", + "82 2 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
71comfort_honda_accord_2008Drivers seat not comfortable, the car itself compared to other models of similar class .\\n0 ...2
15comfort_honda_accord_2008Drivers seat not comfortable, the car itself compared to other models of similar class .\\n0 ...2
4comfort_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ...2
86comfort_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ...2
69gas_mileage_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 ...2
61gas_mileage_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 ...2
49interior_honda_accord_2008I love the new body style and the interior is a simple pleasure except for the center dash .\\n0 ...2
67interior_honda_accord_2008I love the new body style and the interior is a simple pleasure except for the center dash .\\n0 ...2
47interior_toyota_camry_2007First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh...2
0interior_toyota_camry_2007First of all, the interior has way too many cheap plastic parts like the cheap plastic center piece that houses the clock .\\n0 3 blown struts at 30,000 miles, interior trim coming loose and rattling squeaking, stains on paint, and bug splats taking paint off, premature uneven brake wear, on 3rd windsh...2
14mileage_honda_accord_2008It's quiet, get good gas mileage and looks clean inside and out .\\n0 The mileage is great, and I've had to get used to stopping less for gas .\\n1 Thought gas ...2
45mileage_honda_accord_2008It's quiet, get good gas mileage and looks clean inside and out .\\n0 The mileage is great, and I've had to get used to stopping less for gas .\\n1 Thought gas ...2
43performance_honda_accord_2008Very happy with my 08 Accord, performance is quite adequate it has nice looks and is a great long, distance cruiser .\\n0 6, 4, 3 eco engine has poor performance and gas mileage of 22 highway .\\n1 Overall performance is good but comfort level is poor .\\n2 ...2
34performance_honda_accord_2008Very happy with my 08 Accord, performance is quite adequate it has nice looks and is a great long, distance cruiser .\\n0 6, 4, 3 eco engine has poor performance and gas mileage of 22 highway .\\n1 Overall performance is good but comfort level is poor .\\n2 ...2
73performance_netbook_1005haThe Eee Super Hybrid Engine utility lets users overclock or underclock their Eee PC's to boost performance or provide better battery life depending on their immediate requirements .\\n0 In Super Performance mode CPU, Z shows the bus speed to increase up to 169 .\\n1 One...2
101performance_netbook_1005haThe Eee Super Hybrid Engine utility lets users overclock or underclock their Eee PC's to boost performance or provide better battery life depending on their immediate requirements .\\n0 In Super Performance mode CPU, Z shows the bus speed to increase up to 169 .\\n1 One...2
66quality_toyota_camry_2007I previously owned a Toyota 4Runner which had incredible build quality and reliability .\\n0 I bought the Camry because of Toyota reliability and qua...2
33quality_toyota_camry_2007I previously owned a Toyota 4Runner which had incredible build quality and reliability .\\n0 I bought the Camry because of Toyota reliability and qua...2
63seats_honda_accord_2008Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 ...2
68seats_honda_accord_2008Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 ...2
40speed_windows7Windows 7 is quite simply faster, more stable, boots faster, goes to sleep faster, comes back from sleep faster, manages your files better and on top of that it's beautiful to look at and easy to use .\\n0 , faster about 20% to 30% faster at running applications than my Vista , seriously\\n1 ...2
50speed_windows7Windows 7 is quite simply faster, more stable, boots faster, goes to sleep faster, comes back from sleep faster, manages your files better and on top of that it's beautiful to look at and easy to use .\\n0 , faster about 20% to 30% faster at running applications than my Vista , seriously\\n1 ...2
31transmission_toyota_camry_2007After slowing down, transmission has to be kicked to speed up .\\n0 ...2
82transmission_toyota_camry_2007After slowing down, transmission has to be kicked to speed up .\\n0 ...2
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"document_df[document_df['cluster_label']==2]\",\n \"rows\": 24,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 12,\n \"samples\": [\n \"speed_windows7\",\n \"seats_honda_accord_2008\",\n \"comfort_honda_accord_2008\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 12,\n \"samples\": [\n \" Windows 7 is quite simply faster, more stable, boots faster, goes to sleep faster, comes back from sleep faster, manages your files better and on top of that it's beautiful to look at and easy to use .\\n0 , faster about 20% to 30% faster at running applications than my Vista , seriously\\n1 Yes, it'll make your computer run a bit slower but\\n2 , Fast startup and performance\\n3 Also, in my non, benchmarked experience, Windows 7 has been at least as fast as XP if not faster .\\n4 It's fast, secure, stable, visually appealing and fun to use .\\n5 For these two computers, normal use is pretty fast, , not quite as fast as Windows XP SP3, but very close .\\n6 It loads blazing fast, software runs smooth and even downloads from the internet seem to be faster .\\n7 XP SP3 Performance Comparison , smaller resource footprint, and faster start shutdown wake times .\\n8 Other than that, it starts up pretty fast .\\n9 Its faster to load, easier to use, and it has a new feature called the library where you can access all your related files in one window .\\n10 Performance wise it is slightly faster than Vista and I'm talking 10 to 15 seconds difference for starting the computer, other computers I have the run on Linux still start in less than 1 quarter the time that Windows 7 does .\\n11 If you have newer hardware, 64, bit is probably the way to go as it is faster and will allow you to take advantage of more than 3 .\\n12 Installation took about 30 minutes, actually much faster than any other OS install I've ever done .\\n13 Overall the OS just 'feels' faster, snappier, and easier to use .\\n14 If you want a stable, fast, visually appealing and advances OS, W7 will not disappoint .\\n15 It does boot up faster than Vista, I do like the taskbar at the bottom as you can pin icons to start all of your programs and you can start a program with the desired file opening .\\n16 Although Win 7 seems a bit faster than Vista did, I do not notice any decrease in the start, up time .\\n17 It may be that Win7 is faster, sounder, prettier, etc .\\n18 Yes the comp does boot a bit faster, but it's going to take a lot sequences to break even on the time spent so far .\\n19 It may or may not be a little faster .\\n20 W7 is fast and resource friendly, every hardware device works perfect , and there's a ton of great features .\\n21 My system seems to be faster, all of my previous programs and peripherals run without a problem, things come up quicker when clicking on them and I love the new look .\\n22 How about allowing the user to keep the menu open so thathe she doesn't have to repeatedly click to open it if there's a failure or the connection is to slow ?\\n23 1 Very fast SDHC scanning speed in comparison to vista and xp big headache relief .\\n24 It might do that on vista but I got the trojans recently and haven't been using vista as much since it's on a slow HP mini netbook that gets sickeningly hot to the touch .\\n25 5 Seems to load the desktop much faster than vista, but it might be because I have 2 gigs of ram on my w7 netbook and only 1 on my vista one .\\n26 This is much faster than visata and I love it .\\n27 Some of the things I like most about Windows 7 is how fast it boots up and shuts off .\\n28 When I ran Vista, it was a bit slower .\\n29 But Windows 7 is definitely faster !\\n30 It is also way faster than what I experience using Windows XP, but I won't get into that .\\n31 It is more stable than Vista and wakes up from sleep much faster, also boots faster .\\n32 It boots faster and shuts down faster than XP .\\n33 XP Mode worked on everything I had except an Honestech analog video capture device, but seemed to be slower .\\n34 I like many other people, was running Vista and tired of it being so slow and crashing .\\n35 As far as speed, I will admit that its not as fast as XP .\\n36 The speed at which the upgrade completed is quite fast and the driver hardware detection was seamless .\\n37 The machines run as fast as ever with new functionality and better stability .\\n38 fast, stable, compatible, and cool .\\n39 It is as fast as Vista if not faster .\\n40 It's very stable, it seems significantly faster than Vista, and it has got rid of most of the redundant security conformation dialogs .\\n41 Programs load and run faster than ever .\\n42 Windows 7 is also faster in the core of the operating system .\\n43 The operating system loads faster, shuts off faster and so far has need a 3 finger salute , control alt delete about as often as Vista .\\n44 I do note this computer is running much faster but part of that may well be that it now has 4 gb of memory as opposed to 3gb\\n45 All the applications that I checked worked OK, although Photoshop opened slowly .\\n46 Several improvements, and it does seem faster .\\n47 , RW | Creative Sound Blaster Audigy 4 | MOTU FastLane USB MIDI interface | E, MU 0404 USB audio interface | Yamaha YST, M15 speakers | HP Photosmart 8150 printer | HP Scanjet 4070 scanner | D, Link DIR, 628 router | Microsoft Natural Keyboard & Optical Mouse | Logitech RumblePad 2 | Windows 7 Home Premium x64\\n48 Also it starts faster and runs things faster .\\n49 34 seconds faster will make a HUGE difference .\\n50 I installed the 64bit version and it made my computer respond a lot faster .\\n51 I can finally use adobe CS4, before with Vista 32bit photoshop cs4 wouldn't run so smoothly as cs3 but now it opens faster and is just working great .\\n52 I ordered the upgrade disc from HP and tried 3 times to upgrade to Vista, but all 3 times I had problems with it being too slow, buggy, and my software games printer didn't work .\\n53 It's as fast as XP, and all my software and hardware work great !\\n54 It's a faster install, and you get a fresh clean install so it feels like a new computer .\\n55 My system boots much faster, and shuts down almost instantly now .\\n56 it's fast, very organized and just plain and simple witty .\\n57 Also connect time is way faster .\\n58 Finding and configuring is way more intuitive, start up and shut down is faster, and best of all, that damn hard drive light is not always on .\\n59 I have been running Win7 for a week now and and it is at least twice as fast as Win2K .\\n60 I have to say it was the smoothest, fastest, and easiest install since doing a DOS install .\\n61 Applications are noticeably faster , especially Quicken 09, Outlook 07 .\\n62 It boots faster, the programs run faster and the overall performance has been nothing short of amazing .\\n63 Vista had all of its upgrades and worked fine, but did not connect to the internet as fast .\\n64 It operates much faster, starts up faster, and rarily freezes up like the worthless Vista .\\n65 W7 does everything so much faster also .\\n66 0 out of 5 stars Fast Shipment and Excellent Value, December 17, 2009\\n67 The install took a little more time than I had expected, and encouraged backup of all data which slowed things down more, but went very smoothly .\\n68 I have been operating for two months with no problems not much different than Vista, but much faster to load and turn off .\\n69 0 out of 5 stars Faster performance, December 13, 2009\\n70 With 7, however, things have become a lot smoother and faster .\\n71 Based on speed and performance, it does deliver for it is pretty fast when opening programs, boot time, hibernation, etc .\\n72 Windows 7 is overall faster than Windows XP .\\n73 I cannot say that the system is significantly faster, or that boot or shutdown times are significantly improved, but I did not expect that .\\n74 It made my system faster which i didn't think was possible, it has a more creative appeal, i didn't lose any of my important files and the installation went smoothly and without any kinks whatsoever\\n75 Windows 7 is fun, fast and creative, , it finally gave a newer more interesting look to the paint program and i have no issues at all\\n76 My notebook runs so much faster .\\n77 I admit Windows 7 performs faster than Vista as a whole .\\n78 , Superfast file movement over a network .\\n79 We have a 5 year old laptop that we were about to throw away because it was too slow running XP .\\n80 Someone commented that maybe it was just faster because I cleaned out the bloatware that was on the old XP system .\\n81 Previously we tried to make the laptop faster by installing XP from scratch .\\n82 Now Window 7 runs smoothly, 10, 20% faster overall .\\n83 , opening applications is very slow .\\n84 I am not seeing a faster boot up or shut down at this point .\\n85 It's a bit faster than Vista and I really like the new taskbar and simplified menus .\\n86 Windows 7 home premium eliminates almost all of these and is much faster well worth the upgrade if you are going to keep your computer for a while .\\n87 It's nice to finally have a Windows OS that is fast, fun, stable, functional, and good looking .\\n88 Very robust and extremely fast, I can find and open programs or files by just hitting window on the keyboard and typing in the first few letters of the thing I want to open and Win7 almost instantaneously finds what I'm looking for .\\n89 Win7 looks great and feels fast .\\n90 faster than XP in many areas on my system .\\n91 Web apps are noticeably slower .\\n92 I had not experience any weird chokes or slowness that I had experienced in Vista .\\n93 Win7 runs faster than Vista, and is more intuitive .\\n94 In short, Win7 feels faster, leaner, and more user, friendly than Vista did .\\n95 Everything from the internet to Photoshop runs faster .\\n96 My Vista system was awful , slow and painful .\\n97 It does shut down MUCH faster and MOST of my hardware seems to work .\\n98 Upgrading over your old OS can cause problems and slow things down .\\n99 Other than that, seems very fast and works well and worth the $50 upgrade .\\n100 The upgrade process was simple, fast, and went perfectly .\\n101 Boot, hibernation, sleep, and restart procedures are much slower than XP .\\n102 It makes it a lot easier to find what you are looking for and is just all around faster .\\n103 microsoft has created a great os, easy,fast and fun to use .\\n104 Now my PC is really extremelly fast .\\n105 My laptop starts and shuts down so much faster than with Vista .\\n106 I say my start up was cut down by half the previous time and it closes even faster .\\n107 There are less steps to get to files, every application opens faster even desktop gadgets seem to function better .\\n108 I'm been using Windows 7 since its inception I upgraded from beta to RC to finally RTM and I can tell you right now it is fast and reliable .\\n109 Boot up of the Operating System is slower in the RTM for whatever reason but on newer hardware it is pretty fast .\\n110 Obviously compared to XP you know it will be slower going in but I am very happy with the operating system .\\n111 It's fast, it doesn't crash, and the interface is clean and far more Mac, like than any previous OS from M$ .\\n112 I own XP Professional and wanted a nice, clean install of Win7 so I didn't have a bunch of legacy files hanging around to slow down Win7 so I reformatted the HD before doing the Win7 install .\\n113 It is very fast and very user friendly .\\n114 Although most are saying that the start up is faster I happen to disagree, I feel its about the same .\\n115 It takes a little work to setup and doesn't run you application as fast as they would natively .\\n116 You need a faster CPU and extra memory if you plan on using this a lot .\\n117 I am very happy with the program, it is much faster, I upgraded from Windows xp, the bad part is there is no driver available to install for my HP wireless printer to work .\\n118 0 out of 5 stars Windows 7 runs slower than Vista, December 15, 2009\\n119 Since putting Windows 7 on my computer, the computer runs much slower than it did with Vista .\\n120 So I just got the Windows 7 upgrade installed , and I was instantly amazed at how fast and sleek everything looked .\\n121 Simply put, Windows 7 looks amazing, and is fast and intuitive .\\n122 I started to upload a youtube video, went away to have breakfast and came back to a blue screen of death .\",\n \" Front seats are very uncomfortable .\\n0 No memory seats, no trip computer, can only display outside temp with trip odometer .\\n1 needs power seats on the passenger side .\\n2 I haven't had any back pain from the seats, maybe these people exceed the seat weight limit ?\\n3 There is a great deal of road noise in the cabin and the seats are very low quality .\\n4 Power seats are not fully adjustable .\\n5 Front seats are too narrow and not deep enough .\\n6 The seats are extremely uncomfortable .\\n7 I previously owned a 98 Avalon, and found the seats more comfortable than the Honda .\\n8 The seats in the Honda are more firm .\\n9 I'm very sad , I loved my daughter's Civic and the dealer service is fantastic, but even good service can't help the uncomfortable seats .\\n10 It cost me thousands of dollars to get rid of it, but the seats gave me and my wife back pain after 20 minutes of driving !\\n11 Although it is fun to drive and quality seems ok, the leather seats are very uncomfortable, especially on a long drive .\\n12 The seats are decent, the interior design is excellent IMO as well as the exterior design, and thus far it has been extremely reliable .\\n13 In fact, I love the car just wish Honda wouldn't have made such horrible seats .\\n14 Body wasn't used to seats like if you bought a new mattress .\\n15 The interior quality is OK, my 1999 Accord EX had a better comfort level on the seats .\\n16 I just purchased an Accord Sedan with leather seats .\\n17 Only needs to add drivers seat memory, 2, tone perforated leather, xenons, rear seat interior illumination mounted under front seats, and better tilt .\\n18 I can also fit three car seats in the back which was the reason I was able to go back the the Honda family .\\n19 The seats are very comfortable & supportive .\\n20 I test drove an EX, L and felt the seats were too firm plus, the EX, L seemed too slow .\\n21 This Accord has more road noise than I like and the seats tend to be hard, unlike my other Accords .\\n22 Engine performance lacks punch after 60, head rest are poor design, lacks driver seat memory rear seat a c, radio system is marginal compared to Bose, Seats are hard and small for a large person .\\n23 The seats are comfortable, and there is ample leg room in the front and rear .\\n24 Most uncomfortable seats in any vehicle I have ever owned .\\n25 Only 2 things could make it better memory seats and a smoother shifting transmission .\\n26 Seats are firm but not uncomfortable , very BMW like .\\n27 Advise anyone considering the L to drive one for awhile if you can , some cannot stand the seats .\\n28 The seat cover was coming out in between the seats .\\n29 The only for sure complaint I have is the seats seems to hurt my back after I drove for a period of time, this may be because I am use to my silverado truck with leather bucket seats .\\n30 DON'T rely on your test drive, the seats are Very uncomfortable and when the engine goes into the econo mode the vehicle shifts rocks violently forward and when leaving the econo mode it shifts rocks forward once again which means that the vehicle is CONTINUOUSLY SHAKING AND ROCKING .\\n31 Seats are very comfortable and ride is very smooth !\\n32 It's a black beauty with comfy leather seats .\\n33 The front seats are extremely uncomfortable after anything more than 15 minutes of driving due to what I see as a design flaw, the seat curvature is too great, and even with the lumbar support all the way retracted, it still feels like there is some type of bar sticking out in the wrong part of my back .\\n34 However, long, distance comfort is poor due to hard, narrow and deeply, bucketed seats combined with a very taut suspension which transmits even minor road imperfections through the whole vehicle .\\n35 At first the seats seemed stiffer than I'd like, but after making a 2 1 2 hour trip, It felt very comfortable once I got the seat and lumbar adjusted to my liking .\\n36 Great leg room in the back and the seats a very supportive .\\n37 Door closure is solid, leather seats are very comfortable .\\n38 Ride is very good, but seats are just a little firm .\\n39 Seats are not very comfortable and not happy with the heated seats .\\n40 The seats are very comfortable and I love the cloth .\\n41 Seats are little on the hard side .\\n42 The black leather seats feel a bit hot on the back in the warm weather but otherwise no complaints about the interior .\\n43 Steering nice and tight, seats a little stiff but comfortable .\\n44 We wanted three things, heated seats and mirrors and an easy to get out of back seat for some aging friends .\\n45 Ride is superior, comfortable seats, radio excellent .\\n46 5 Seats= Like sitting on a church pew .\\n47 Leather seats are the only thing of good quality .\\n48 Problems with steering wheel, windows & seals, seats .\\n49 Smooth responsive acceleration,top of the line high quality supple comfy leather seats .\\n50 Also, amazing leg space in front AND back seats , the Accord could almost be considered a full size sedan .\\n51 5L V6 scoots sporty handling and acceleration good sporty leather seats highway gas mileage appearance package worth having no dealer service yet Negatives :\\n52 First off the new body style is very appealing and the new seats are more forgiving for larger men .\\n53 The heated seats for me and my passenger are a plus for the cold weather .\\n54 hard seats, hard ride, more road noise than expected, disappointing gas mileage .\\n55 The seats are supportive and the materials are great .\\n56 You get a V, 6, heated leather seats, XM, 18 rims .\\n57 Cloth front seats big & comfortable .\\n58 Seats are stiff but once adjusted seem to become more comfortable .\\n59 The seats are very firm, but getting used to this .\\n60 The seats in my 2008 which is just like a 2009 are considerably less than I'm used to from Honda .\\n61 The only hiccup I can report is that I think that the seats in our 2008 Odyssey are a bit more comfortable .\\n62 Don't get me wrong, the Accord is a comfortable car, I am just a big guy and the seats just feel like they could use a little more of something .\\n63 I have two herniated disks and the seats of the Honda have alleviated the pain in my legs and back when I drive .\\n64 Additionally, the standard seats are not my favorite .\\n65 Although it's a lower trim level, it has high quality interior trim very comfortable seats and and very smooth, quiet ride .\\n66 Decent accel, huge back seat for my kids baby seats large friends .\\n67 we don't need moonroof, heated seats side mirrors we live in S .\\n68 With the leather seats, comfort is close to EX, L's at a best buy price .\\n69 Seats are a bit too firm for me .\\n70 Leather seats are very comfortable .\\n71 The inside and outside pads should ALWAYS wear evenly Always had stiff ride and seats .\\n72 I have a bad lower back, and the lumbar support on the seats is a life saver !\\n73 Front seats much more comfortable .\\n74 The satellite radio cuts out constantly, the heated seats are barely warm, the sound system is pathetic and the brakes wore out around 15,000 miles google it .\\n75 We are both tall, 5'11'' and 6'2 and have no problems with the seats .\\n76 After driving it for a few months I found the seats are tough on the lower back on long runs and it need a few more inches to go back .\\n77 Seats are too firm and leather is quite hard in character and feel .\\n78 I was slightly concerned about all the reviews with the seats being uncomfortable .\\n79 I love the seats, they are supportive .\",\n \" Drivers seat not comfortable, the car itself compared to other models of similar class .\\n0 It's very comfortable, remarkably large inside and just an overall great vehicle .\\n1 Front seats are very uncomfortable .\\n2 I'm 6' tall, and find the driving position pretty comfortable .\\n3 However, there are a couple of things that kill it for me 1 terrible driver seat comfort, kills my back 2 lack luster interior design, my Acadia has much better comfort 3 the VCM drives me crazy because the constant change in cylinder use is perceptible enough to be an annoyance .\\n4 The seats are extremely uncomfortable .\\n5 While the Accord is no Acura it is a close relative in terms of quality and comfort .\\n6 I previously owned a 98 Avalon, and found the seats more comfortable than the Honda .\\n7 I'm very sad , I loved my daughter's Civic and the dealer service is fantastic, but even good service can't help the uncomfortable seats .\\n8 Overall performance is good but comfort level is poor .\\n9 The ride is a great balance between handling and comfort .\\n10 Although it is fun to drive and quality seems ok, the leather seats are very uncomfortable, especially on a long drive .\\n11 Although not the fastest, most luxurious, or technologically advanced in the very competitive mid, size sedan segment, the Accord strikes the perfect balance of sport, comfort and value, creating a vehicle that feels and acts like a much pricier machine .\\n12 Has lots of features, is comfortable, everything works .\\n13 The two door coupe is very comfortable and roomy and draws plenty of attention .\\n14 The seat is extremely uncomfortable .\\n15 The driver's seat is very uncomfortable .\\n16 The head rest tills forward which pushes the driver's head forward at a very uncomfortable position .\\n17 The front driver seat's lumbar support seemed very uncomfortable at first .\\n18 The car is comfortable and QUIET .\\n19 No big deal The car is huge and very comfortable .\\n20 Very tight, runs great, very comfortable to drive .\\n21 The interior quality is OK, my 1999 Accord EX had a better comfort level on the seats .\\n22 Initially the dashboard controls were a little intimidating, but it doesn't take long to get comfortable with them .\\n23 I fit in the Coupe comfortably .\\n24 The driver seating is uncomfortable .\\n25 It's a comfortable ride and is very high quality .\\n26 For a 4 cylinder car I am surprised at the comfortable and peppy drive .\\n27 This a good choice if you need an affordable and comfortable commuting vehicle but hate the idea of a boring boxy sedan .\\n28 What a car, design, ride, comfort, 270 watt audio system, I love this car .\\n29 The seats are very comfortable & supportive .\\n30 I like my Accord very much, but had I known the drivers seat was so uncomfortable I would have never bought it .\\n31 Aside from missing the turbo's acceleration, I've preferred the Accord's better mileage, handling and comfort .\\n32 This Accord is the only large car I found with upscale comfort amenities and a good manual transmission .\\n33 Comfort inside is better than expected .\\n34 My family of 5 can comfortably ride in this car .\\n35 This car is a dream from the GAS to the STYLE to the COMFORT .\\n36 Its the most comfortable Accord I have had .\\n37 I do find the lumbar on the driver's seat a bit uncomfortable though .\\n38 The car is very comfortable, the steering is tight and precise .\\n39 The seats are comfortable, and there is ample leg room in the front and rear .\\n40 Most uncomfortable seats in any vehicle I have ever owned .\\n41 It is very comfortable, easy to drive and park .\\n42 I would recommend this car for great value, comfort, & fun to drive !\\n43 Seats are firm but not uncomfortable , very BMW like .\\n44 Rides with comfort and motor will pick up if you need it .\\n45 It gives a sporty driving feel and offers a very comfortable Highway ride .\\n46 Uncomfortable in Camry, Had a Nissan before, rough ride .\\n47 Test drove Honda and enjoyed the firm yet very comfortable ride .\\n48 It's very comfortable, has pretty much every luxury feature you might want, and is still fun to drive .\\n49 DON'T rely on your test drive, the seats are Very uncomfortable and when the engine goes into the econo mode the vehicle shifts rocks violently forward and when leaving the econo mode it shifts rocks forward once again which means that the vehicle is CONTINUOUSLY SHAKING AND ROCKING .\\n50 Seats are very comfortable and ride is very smooth !\\n51 My only complaint is comfort .\\n52 The front seats are extremely uncomfortable after anything more than 15 minutes of driving due to what I see as a design flaw, the seat curvature is too great, and even with the lumbar support all the way retracted, it still feels like there is some type of bar sticking out in the wrong part of my back .\\n53 However, the 08 Accord is well designed, handles well for its size and the comfort level is so much better than the TL .\\n54 Absolutely got a great car, roomy, comfortable, great ride for a nice price .\\n55 Fun to drive, safe, reliable, and comfortable .\\n56 Driver's seat is not fully adjustable using 8, way power seat which is very uncomfortable .\\n57 The car is solid, beautiful, comfortable, fuel efficient and big enough for my family of 5 .\\n58 Everyone loves the way it rides and we took it to the lake without a single complaint of comfort .\\n59 Driving 55 miles per hr between Houston and Austin this slow is very painful, boring to drv,Our Avalanche averaged 15 city with a very comfortable seat and only 20 highway but the vast majority of our driving is in the city not a good trade off .\\n60 At 6'5 it is very comfortable .\\n61 Good looking inside and out, comfortable and roomy, commendable performance, and excellent gas mileage .\\n62 However, long, distance comfort is poor due to hard, narrow and deeply, bucketed seats combined with a very taut suspension which transmits even minor road imperfections through the whole vehicle .\\n63 The seat contour creates uncomfortable pressure points which quickly become tiring and downright painful .\\n64 The Camry was very comfortable, but not sporty and the ride was boring .\\n65 s a great car, spacious, comfortable, fun to drive, and handles very well .\\n66 At first the seats seemed stiffer than I'd like, but after making a 2 1 2 hour trip, It felt very comfortable once I got the seat and lumbar adjusted to my liking .\\n67 extremely comfortable, more power than camry, lots of space, good fuel economy, and mean looking Cons :\\n68 Ride, comfort, visibility, braking, steering and acceleration are excellent for a car of its size and price .\\n69 The '08 is more comfortable and handles quite a bit better than the very good experience we had with the '06's .\\n70 Door closure is solid, leather seats are very comfortable .\\n71 From the hard and uncomfortable driver seat, excessive body roll, several rattles in the interior and intrusive road noise, the vehicle just does not strike a chord n .\\n72 In fact, I find my 2006 Civic Ex w Nav to be a better built, more comfortable and more engaging car .\\n73 Lots of room and very comfortable .\\n74 I purchased this car because the amount of time I spend on the road, I need a comfortable car that is reliable .\\n75 This car is comfortable, loaded with options and every one that gets into it loves it .\\n76 Seats are not very comfortable and not happy with the heated seats .\\n77 The seats are very comfortable and I love the cloth .\\n78 The Accord has looks, comfort, great ride and reliability .\\n79 Ample room for someone that is 6'2 , and extremely comfortable for my daily commute .\\n80 An extremely comfortable and capable sedan .\\n81 I went for comfort over performance to fit it in my budget so the EX, L with the 4 cyl engine .\\n82 So far, the reliability has been as expected, it is comfortable on my back, and the gas mileage has been pretty good .\\n83 The interior design is roomy and very comfortable .\\n84 Steering nice and tight, seats a little stiff but comfortable .\\n85 Interior is very roomy, and I can sit comfortably in the rear seat at 6'2 .\\n86 Great car, really comfortable and quiet .\\n87 Solid build, comfortable interior, smooth ride, fuel efficient averaging 27 .\\n88 This is my second Accord and it's bigger, zippier and more comfortable .\\n89 This car is stylish and very comfortable to drive .\\n90 It is comfortable, easy to drive, and fast !\\n91 Very comfortable and roomy vehicle .\\n92 The ride is firm but not harsh, It is more comfortable than the Maxima and looks much better than any Camry .\\n93 I previously owned a Chrysler 300 2006, so it is difficult going from a real comfortable interior, really massive dash to a bland and old fashioned interior .\\n94 Fun to drive, economic, very comfortable, and excellent on the highway .\\n95 It's much more comfortable than the Vette and I absolutely love driving it .\\n96 It has great handling and does so with comfort .\\n97 Have to say the comfort, look, design and how it drives is first rate .\\n98 Back seat comfort and entry exit are great .\\n99 Ride is superior, comfortable seats, radio excellent .\\n100 my first fill up was 26 mpg mixed city and hwy I only expect it to get better, steering is tight and precise, only complaints are road noise is more than i like but its livable, rain or just dew pours in right on top of the power window controls when the window is cracked, but window guards have fixed that, its a fun car to drive, and for what it is, its comfortable, controls are great, easy to reach, I'm looking forward to a lot of great miles with this car .\\n101 The Honda was very comfortable to drive and averaged 32 miles per gallon .\\n102 The leather seat is not the most comfortable, but not bad .\\n103 I drive 140 miles daily, and found the comfort the best feature .\\n104 It drives well, the satellite radio is awesome and it has the comfort of home .\\n105 It has a comfortable ride and most controls are logical, but the location of the volume knobs takes some getting used to .\\n106 Excellent car, would recommend this to anyone looking for a sharp, reliable, comfortable sedan .\\n107 A little pricy but it's really a comfortable car and a great driving machine .\\n108 Great comfort in the Accord .\\n109 Awesome interior with great comfort .\\n110 Three months and I still can't get comfortable in the LX .\\n111 For test drive , I wish I had removed the hard plastic from the driver's seat tried harder to get comfortable in the non, electric seat spent more time on rough roads .\\n112 but I do miss the more comfortable ride of my '05 & '96 Camry's .\\n113 Otherwise the car is comfortable, stylish, spacious and it handles well .\\n114 Very comfortable ride compared to my Lexus .\\n115 My main reason for purchasing this car was to get a fuel, efficient vehicle that also was comfortable to drive on long trips .\\n116 Interior is nice but not as comfortable as past Accords and feels a little cheap .\\n117 I am extremely satisfied after the first week though it was more costly, I still like the smooth power and handling of the V, 6, the comfort of the leather interior, and something new for me .\\n118 This Accord model has a great balance of features that blends attractive styling, driveablity, build quality, economy, and comfort with all the loaded options that I will enjoy over several years and 100000\\n119 I wanted a larger car that was comfortable and the redesign of the Accord making it bigger made the difference .\\n120 The car is roomy inside, comfortable, handles and performs great and is fun to drive .\\n121 Cloth front seats big & comfortable .\\n122 Seats are stiff but once adjusted seem to become more comfortable .\\n123 Traded in my Oddysey for better gas mileage and more comfort .\\n124 So far not super impressed with gas mileage, and comfort, well lets just say my dealership just ordered a new seat cushion for me today .\\n125 Comfort is my only real complaint .\\n126 My my, I have never experienced such smooth performance, stability, pick, up, mileage and comfort that I am enjoying with my new 2008 Honda Accord .\\n127 I admire engine performance and comfort while driving atleast 30 mile a day to job .\\n128 On the inside, it was for the most part comfortable and luxurious .\\n129 The only hiccup I can report is that I think that the seats in our 2008 Odyssey are a bit more comfortable .\\n130 Don't get me wrong, the Accord is a comfortable car, I am just a big guy and the seats just feel like they could use a little more of something .\\n131 The 2008 Honda Accord EX, L V6 is an ideal combination of comfort, economy, and pleasure !\\n132 No, the Honda does not have the anti, sway of those vehicles in high, cornering speeds, but it is more comfortable .\\n133 Was looking for something fun, fast, comfortable and practical and got it all with this car .\\n134 The car achieves a nice balance between sportiness and comfort .\\n135 There is an amazing comfort level with this car .\\n136 Comfort based on the quality and attention to detail Honda efficiently packs into this newly reclassified full size car .\\n137 The interior is comfortable, neat and you can find everything within reach .\\n138 The heated leather seat is very comfortable and audio system is rocking .\\n139 Although it's a lower trim level, it has high quality interior trim very comfortable seats and and very smooth, quiet ride .\\n140 I love the interior layout and comfort .\\n141 My only complaint is the seat is not comfortable for a long period of driving and if it is raining and you barely roll the window down uou will get soaked .\\n142 Very roomy and comfortable even with 5 adults .\\n143 At 6'3 I can sit comfortably in the drivers seat and have an unobstructed view out the windows .\\n144 00 per gallon I wanted something more fuel efficient but large enough to seat four adults comfortably and provide a sense of safety too .\\n145 I commute alot, so interior is important to me, and its leather is does not seem cheap and comfort is top notch .\\n146 Gliding can best define the comfort and quietness of the ride inside .\\n147 With the leather seats, comfort is close to EX, L's at a best buy price .\\n148 Its ride, comfort and overall performance is an absolute joy .\\n149 Traded in a 2007 Hyundai Azera Limited that depreciated too fast for my comfort zone .\\n150 Leather seats are very comfortable .\\n151 Interior is very comfortable w ergonomic design in mind .\\n152 Front seats much more comfortable .\\n153 Comfortable, good in snow, easy to drive .\\n154 The driver, side seat is not comfortable .\\n155 This car is very comfortable car to drive .\\n156 Driver seat could be more comfortable however, but I love everything about it .\\n157 I find the interior comfortable for short and long trips .\\n158 My wife does say the vehicle is not as comfortable for long trips as other cars we've owned .\\n159 Comfortable ride no thanks to the comfort of the drivers seat !\\n160 Very comfortable drive, holds the road very nicely and a blast to drive .\\n161 The Accord is so large, comforting, and easy to understand radio system .\\n162 I was slightly concerned about all the reviews with the seats being uncomfortable .\\n163 This is by far the most comfortable vehicle I have owned .\\n164 When I bought this car a year ago, I initially wrote a review stating I may have buyer's remorse due to extremely uncomfortable driver's seat .\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 1,\n \"samples\": [\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 99 + } + ] + }, + { + "cell_type": "code", + "source": [ + "document_df[document_df['cluster_label']==3].sort_values(by='filename')" + ], + "metadata": { + "id": "Nnmx0D848Djx", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "352fbeee-564d-4603-c416-5d37a97c2880" + }, + "execution_count": 100, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "79 bathroom_bestwestern_hotel_sfo \n", + "19 bathroom_bestwestern_hotel_sfo \n", + "32 food_holiday_inn_london \n", + "39 food_holiday_inn_london \n", + "85 food_swissotel_chicago \n", + "26 food_swissotel_chicago \n", + "88 free_bestwestern_hotel_sfo \n", + "10 free_bestwestern_hotel_sfo \n", + "5 parking_bestwestern_hotel_sfo \n", + "53 parking_bestwestern_hotel_sfo \n", + "48 room_holiday_inn_london \n", + "27 room_holiday_inn_london \n", + "13 rooms_bestwestern_hotel_sfo \n", + "97 rooms_bestwestern_hotel_sfo \n", + "2 rooms_swissotel_chicago \n", + "12 rooms_swissotel_chicago \n", + "58 service_bestwestern_hotel_sfo \n", + "98 service_bestwestern_hotel_sfo \n", + "78 service_holiday_inn_london \n", + "11 service_holiday_inn_london \n", + "52 service_swissotel_hotel_chicago \n", + "17 service_swissotel_hotel_chicago \n", + "23 staff_bestwestern_hotel_sfo \n", + "95 staff_bestwestern_hotel_sfo \n", + "6 staff_swissotel_chicago \n", + "36 staff_swissotel_chicago \n", + "\n", + " opinion_text \\\n", + "79 The room was not overly big, but clean and very comfortable beds, a great shower and very clean bathrooms .\\n0 The second room was smaller, with a very inconvenient bathroom layout, but at least it was quieter and we were able to sleep .\\n1 ... \n", + "19 The room was not overly big, but clean and very comfortable beds, a great shower and very clean bathrooms .\\n0 The second room was smaller, with a very inconvenient bathroom layout, but at least it was quieter and we were able to sleep .\\n1 ... \n", + "32 The room was packed to capacity with queues at the food buffets .\\n0 The over zealous staff cleared our unfinished drinks while we were collecting cooked food and movement around the room with plates was difficult in the crowded circumstances .\\n1 ... \n", + "39 The room was packed to capacity with queues at the food buffets .\\n0 The over zealous staff cleared our unfinished drinks while we were collecting cooked food and movement around the room with plates was difficult in the crowded circumstances .\\n1 ... \n", + "85 The food for our event was delicious .\\n0 ... \n", + "26 The food for our event was delicious .\\n0 ... \n", + "88 The wine reception is a great idea as it is nice to meet other travellers and great having access to the free Internet access in our room .\\n0 They also have a computer available with free internet which is a nice bonus but I didn't find that out till the day before we left but was still able to get on there to check our flight to Vegas the next day .\\n1 ... \n", + "10 The wine reception is a great idea as it is nice to meet other travellers and great having access to the free Internet access in our room .\\n0 They also have a computer available with free internet which is a nice bonus but I didn't find that out till the day before we left but was still able to get on there to check our flight to Vegas the next day .\\n1 ... \n", + "5 Parking was expensive but I think this is common for San Fran .\\n0 there is a fee for parking but well worth it seeing no where to park if you do have a car .\\n1 ... \n", + "53 Parking was expensive but I think this is common for San Fran .\\n0 there is a fee for parking but well worth it seeing no where to park if you do have a car .\\n1 ... \n", + "48 We arrived at 23,30 hours and they could not recommend a restaurant so we decided to go to Tesco, with very limited choices but when you are hingry you do not careNext day they rang the bell at 8,00 hours to clean the room, not being very nice being waken up so earlyEvery day they gave u... \n", + "27 We arrived at 23,30 hours and they could not recommend a restaurant so we decided to go to Tesco, with very limited choices but when you are hingry you do not careNext day they rang the bell at 8,00 hours to clean the room, not being very nice being waken up so earlyEvery day they gave u... \n", + "13 Great Location , Nice Rooms , H... \n", + "97 Great Location , Nice Rooms , H... \n", + "2 The Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ... \n", + "12 The Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ... \n", + "58 Both of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 ... \n", + "98 Both of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 ... \n", + "78 not customer, oriented hotelvery low service levelboor reception\\n0 The room was quiet, clean, the bed and pillows were comfortable, and the serv... \n", + "11 not customer, oriented hotelvery low service levelboor reception\\n0 The room was quiet, clean, the bed and pillows were comfortable, and the serv... \n", + "52 Mediocre room and service for a very extravagant price .\\n0 ... \n", + "17 Mediocre room and service for a very extravagant price .\\n0 ... \n", + "23 Staff are friendl... \n", + "95 Staff are friendl... \n", + "6 The staff at Swissotel were not particularly nice .\\n0 Each time I waited at the counter for staff for several minutes and then was waved to the desk upon my turn with no hello or anything, or apology for waiting in line .\\n1 ... \n", + "36 The staff at Swissotel were not particularly nice .\\n0 Each time I waited at the counter for staff for several minutes and then was waved to the desk upon my turn with no hello or anything, or apology for waiting in line .\\n1 ... \n", + "\n", + " cluster_label \n", + "79 3 \n", + "19 3 \n", + "32 3 \n", + "39 3 \n", + "85 3 \n", + "26 3 \n", + "88 3 \n", + "10 3 \n", + "5 3 \n", + "53 3 \n", + "48 3 \n", + "27 3 \n", + "13 3 \n", + "97 3 \n", + "2 3 \n", + "12 3 \n", + "58 3 \n", + "98 3 \n", + "78 3 \n", + "11 3 \n", + "52 3 \n", + "17 3 \n", + "23 3 \n", + "95 3 \n", + "6 3 \n", + "36 3 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
79bathroom_bestwestern_hotel_sfoThe room was not overly big, but clean and very comfortable beds, a great shower and very clean bathrooms .\\n0 The second room was smaller, with a very inconvenient bathroom layout, but at least it was quieter and we were able to sleep .\\n1 ...3
19bathroom_bestwestern_hotel_sfoThe room was not overly big, but clean and very comfortable beds, a great shower and very clean bathrooms .\\n0 The second room was smaller, with a very inconvenient bathroom layout, but at least it was quieter and we were able to sleep .\\n1 ...3
32food_holiday_inn_londonThe room was packed to capacity with queues at the food buffets .\\n0 The over zealous staff cleared our unfinished drinks while we were collecting cooked food and movement around the room with plates was difficult in the crowded circumstances .\\n1 ...3
39food_holiday_inn_londonThe room was packed to capacity with queues at the food buffets .\\n0 The over zealous staff cleared our unfinished drinks while we were collecting cooked food and movement around the room with plates was difficult in the crowded circumstances .\\n1 ...3
85food_swissotel_chicagoThe food for our event was delicious .\\n0 ...3
26food_swissotel_chicagoThe food for our event was delicious .\\n0 ...3
88free_bestwestern_hotel_sfoThe wine reception is a great idea as it is nice to meet other travellers and great having access to the free Internet access in our room .\\n0 They also have a computer available with free internet which is a nice bonus but I didn't find that out till the day before we left but was still able to get on there to check our flight to Vegas the next day .\\n1 ...3
10free_bestwestern_hotel_sfoThe wine reception is a great idea as it is nice to meet other travellers and great having access to the free Internet access in our room .\\n0 They also have a computer available with free internet which is a nice bonus but I didn't find that out till the day before we left but was still able to get on there to check our flight to Vegas the next day .\\n1 ...3
5parking_bestwestern_hotel_sfoParking was expensive but I think this is common for San Fran .\\n0 there is a fee for parking but well worth it seeing no where to park if you do have a car .\\n1 ...3
53parking_bestwestern_hotel_sfoParking was expensive but I think this is common for San Fran .\\n0 there is a fee for parking but well worth it seeing no where to park if you do have a car .\\n1 ...3
48room_holiday_inn_londonWe arrived at 23,30 hours and they could not recommend a restaurant so we decided to go to Tesco, with very limited choices but when you are hingry you do not careNext day they rang the bell at 8,00 hours to clean the room, not being very nice being waken up so earlyEvery day they gave u...3
27room_holiday_inn_londonWe arrived at 23,30 hours and they could not recommend a restaurant so we decided to go to Tesco, with very limited choices but when you are hingry you do not careNext day they rang the bell at 8,00 hours to clean the room, not being very nice being waken up so earlyEvery day they gave u...3
13rooms_bestwestern_hotel_sfoGreat Location , Nice Rooms , H...3
97rooms_bestwestern_hotel_sfoGreat Location , Nice Rooms , H...3
2rooms_swissotel_chicagoThe Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ...3
12rooms_swissotel_chicagoThe Swissotel is one of our favorite hotels in Chicago and the corner rooms have the most fantastic views in the city .\\n0 The rooms look like they were just remodled and upgraded, there was an HD TV and a nice iHome docking station to put my iPod so I could set the alarm to wake up with my music instead of the radio .\\n1 ...3
58service_bestwestern_hotel_sfoBoth of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 ...3
98service_bestwestern_hotel_sfoBoth of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 ...3
78service_holiday_inn_londonnot customer, oriented hotelvery low service levelboor reception\\n0 The room was quiet, clean, the bed and pillows were comfortable, and the serv...3
11service_holiday_inn_londonnot customer, oriented hotelvery low service levelboor reception\\n0 The room was quiet, clean, the bed and pillows were comfortable, and the serv...3
52service_swissotel_hotel_chicagoMediocre room and service for a very extravagant price .\\n0 ...3
17service_swissotel_hotel_chicagoMediocre room and service for a very extravagant price .\\n0 ...3
23staff_bestwestern_hotel_sfoStaff are friendl...3
95staff_bestwestern_hotel_sfoStaff are friendl...3
6staff_swissotel_chicagoThe staff at Swissotel were not particularly nice .\\n0 Each time I waited at the counter for staff for several minutes and then was waved to the desk upon my turn with no hello or anything, or apology for waiting in line .\\n1 ...3
36staff_swissotel_chicagoThe staff at Swissotel were not particularly nice .\\n0 Each time I waited at the counter for staff for several minutes and then was waved to the desk upon my turn with no hello or anything, or apology for waiting in line .\\n1 ...3
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"document_df[document_df['cluster_label']==3]\",\n \"rows\": 26,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 13,\n \"samples\": [\n \"staff_bestwestern_hotel_sfo\",\n \"service_holiday_inn_london\",\n \"bathroom_bestwestern_hotel_sfo\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 13,\n \"samples\": [\n \" Staff are friendly and helpful .\\n0 The staff in the morning seemed to need another cup of coffee as they weren't excited to see us .\\n1 A perfect hotel a perfect location perfect staff !\\n2 The front desk staff is more than eager to help, smile, make you happy .\\n3 The staff is friendly and we only went to one of the " Happy Hours" for a glass of wine as we were either at the baseball game or on the two tours we took in , busy time !\\n4 The front desk and the concierge staff were very helpful when we had a question .\\n5 The staff is helpful and knowledgable .\\n6 The room was clean and comfortable and the staff were friendly and helpful .\\n7 The staff was very helpful, got two great suggestions for dinner on the water, and booked the shuttle back to the Airport, way cheaper than a taxi !\\n8 The service was good, very friendly staff and we loved the free wine reception each night .\\n9 The staff at the desk very rarely welcomed you back from your day out sightseeing etc .\\n10 I found the concierge and front desk staff to be helpful and the housekeepers to be quite good .\\n11 The check in check out were very efficient, however my personal opinion was that the staff did not go out of their way to be friendly or welcoming .\\n12 On arrival, were met by friendly reception staff .\\n13 They have a parking garage, but they make you leave your vehicle for them to park and then if you want to take a drive later, you have to wait for the staff to get it .\\n14 The Tuscan staff moved our packed luggage into the new room, and my husband and I discovered that both of our phone chargers were missing .\\n15 Which is a pitty, because the location was wonderful, and two of the staff members were really nice .\\n16 Upon entering the elegant lobby we were greeted pleasantly by the staff .\\n17 Helpful staff and safe surrounds .\\n18 It has some charms in decor, and all staff gave very good service to us .\\n19 The staff are very friendly and helpful, particularly the concierges and the Manager's Reception is a nice touch .\\n20 The rooms were nice and the staff was very friendly .\\n21 but its nice and clean and the staff was really nice, and its located 2 blocks from the warfh\\n22 Staff was very friendly helpful .\\n23 There was a super market just across the street which was handy and the staff were sooo helpful !\\n24 Checking in was quick and easy, the staff we're pleasant and I requested a low floor room which I got .\\n25 However, the Tuscan Inn has the best of all worlds, great location, all the amenities, excellent staff, nice restaurant adjoining, and very reasonable prices .\\n26 the staff, while all polite, looked a bit distracted, and frankly disengaged .\\n27 not the incredible, enthusiastic staff describes in such stellar terms by some lucky visitors .\\n28 Hotel staff were all very friendly and knowledgeable .\\n29 The staff at the desk didn't go out of their way to be helpful .\\n30 The front desk staff were very friendly and efficient .\\n31 The staff is very rude and doesn't seem to care at all about their guests .\\n32 So clean, quiet, excellent location, delicious coffee bar every morning, staff helpful friendly .\\n33 The staff are very friendly and go out of their way to help you .\\n34 The staff concierge were all very helpful and gave us a lot of tips of what to see and where to eat .\\n35 The front desk staff was efficent and friendly .\\n36 I have to say I see everyone that reviews this hotel compliments the front desk staff I actually found from the second day on that they were most unhelpful and actually quite rude !\\n37 Also on my third day I came back from a long day sightseeing and stopped at the front desk to ask for milk and sugar to be sent up to the room as we wanted to have a coffee after our long day at which I was told to go into the restaurant and ask the waiting staff myself and take it up to my room myself !\\n38 All the staff was friendly, though I found the maintanence and housekeeping staff to be the warmest in the building .\\n39 The staff and service were exceptional .\\n40 Every hotel should have this staff !\\n41 Im actually still in the hotel and couldnt wait to write my review, but from the moment we arrived the staff at this best western could not have done more for us .\\n42 Every hotel should have the staff that is here at the Best western Tuscan inn .\\n43 Checkout early Wednesday morning took about 2 minutes to complete, no complaints with the staff .\\n44 The hotel staff , as a whole , were more than happy to go above and beyond to satisfy your request .\\n45 We found the staff very helpful especially Jose .\\n46 It has a good look, nice sitting area in the lobby, wine hour every night, friendly and helpful staff .\\n47 Good Location but what's with the Check in out staff ?\\n48 So I had problems with the check in and check out staff .\\n49 Do not know if I will stay there again, due to the problems with the staff at the check in out counter .\\n50 Also, the staff Chief Chief Concierge are very friendly knowledgable .\\n51 Hotel was comfortable and all the staff helpful and polite .\\n52 Jorge was extremely friendly and helpful, but the rest of the staff was less animated and warm .\\n53 also the wine gathering with the manager the one day i did attempt to attend it was so badly orgonised that i couldnt get to the table to get my wine so i just went tot he bar and had a drink there, but on the whole it was a great hotel and certain members of staff lift it out of the good to the great hotel that i experianced !\\n54 The staff was very helpful in giving us suggestions and directions when we asked .\\n55 Very close to Fisherman's Wharf, a grocery store located right across the street, and very helpful and friendly staff .\\n56 The staff are so friendly and the hotel is in a great location, just 2 blocks from Fisherman's Wharf , bus and cable car station .\\n57 The staff at this hotel make you feel so welcome and its service with a smile .\\n58 All the staff go the extra mile to assist in anyway they can and the staff of the ajoining Cafe Pescatore are just as welcoming, with great service and the food is excellent .\\n59 This hotel offers a lot , a great location, great staff, free wine tastings and morning coffee .\\n60 Staff were helpful and generally friendly .\\n61 The staff was helpful and friendly .\\n62 The staff were very helpful .\\n63 Staff was friendly and helpful , we had no issues .\\n64 Upon arriving downstairs, I found the duty manager staff napping on the guest ?\\n65 Would not stay here again, due to noise and staff, but ok for the price, if I would have paid rack rate, I would have been more upset .\\n66 The staff was wonderful, our room was very pretty with a view of the Fisherman's Wharf area .\\n67 I'd highly recommend the Tuscan Inn based on location, cheerfulness of staff, aesthetics in the room and general overall service .\\n68 Lunch time staff were miserable and in the evening we did not book so had ages to wait for a table, crowded and noisy .\\n69 The front desk staff were very friendly with a dedicated concierge desk where guests could book excursions or just get information .\\n70 We found the staff to be very helpful and courteous and we had no problems at all .\\n71 The staff was very friendly especially Jose !\\n72 We spent 2 nights and found the staff to be very friendly .\\n73 The hotel staff are really friendly .\\n74 The reception staff were very accommodating and said the hotel was fully booked but first thing in the morning they would move our luggage to a room over looking the courtyard .\\n75 Staff were knowledgeable and friendly .\\n76 The Concierge staff , exceptional and extremely helpful , right from suggestions on transportation excursion options to recommending an amazing restaurant .\\n77 This hotel seems to get very mixed reviews, particularly about the reception desk staff .\\n78 I can only think that some of the staff are very good and some equally bad, since our experience was a very positive one .\\n79 DIsappointed in Front Desk Staff and Room Size\\n80 The front desk staff couldn\\u0092t even be bothered to greet us hello .\\n81 The staff at the front desk could not have been more helpful and whilst we did not avail his services, the concierge always seemed to be busy with guests giving info and advice .\\n82 The hotel is charming and comfortable, and the staff is great .\\n83 The staff was amazing, and went out of their way to help us .\\n84 Helpful staff and great location\\n85 The staff at the hotel more than made up for the tiny rooms .\\n86 If you are looking for an inexpensive hotel to stay at where the staff will make your tour of their city a good experience, this is it .\\n87 The staff was very friendly and we really enjoyed their dinner recommendations .\\n88 The police were investigating something that had happened and staff would not cooperate so the police got very annoyed .\\n89 We arrived early in the morning and tried to check in and the front desk staff said they would have a room cleaned asap for us .\\n90 The front desk staff didn't seem to care but the concierge who took care of us was great he also had many suggestions and tips for us about the Bay area .\\n91 The highlight of this hotel for us was the service offered by the staff, particularly the two concierges on duty while we were there .\\n92 The lobby is nice, and the staff was very friendly .\\n93 a superb hotel with staff so helpful efficient, the food at the pescadora restaurant is a must, and to be quite honest better than most of the other places we ate at on the wharf whilst there, one of which being quoted to being the best , .\\n94 Afternoon wine tasting was a cool touch by the hotel staff, and proved very popular with most of the guest including us .\\n95 Staff were pleasant and helpful .\\n96 The staff were very helpful with suggesting places to eat and with directions of how to get to places eg .\\n97 The room was clean, the staff was great and it was CLOSE to Pier 39 and Fisherman's Wharf .\\n98 We found the reception staff, maids and porters friendly and helpful .\\n99 The room was always clean and the maid staff was friendly, saying " hello" and " have a nice day" as you passed .\\n100 Staff , Very friendly and helpful .\\n101 On the plus side some of the staff were nice and helpful especially the concierge who was most gracious .\\n102 No mention of the lies, arrogance and \\u0091up you attitude\\u0092 of some of the staff then ?\\n103 Right from checking in, the staff was unbelievable !\\n104 Every single staff member we came into contact with was extremely helpful and very nice !\\n105 We arrived wondering what to expect and as soon as we arrived the staff made us feel welcomed .\\n106 They also had a staffmember serve soda and wine in the loungy lobby area in the early evening, which was a nice bonus .\\n107 all the staff we encountered were super friendly and the hotel location is great .\\n108 The staff were helpful and efficient .\\n109 Checking in was easy, with very friendly, helpful front desk staff .\\n110 One of the friendliest desk concierge staffs I've encountered .\\n111 Everything was clean, good staff .\\n112 Really enjoyed the friendliness of the staff and the big rooms .\\n113 Rooms were well cleaned and reception staff helpful .\\n114 Staff was some of the nicest I have encountered in a long time .\\n115 Great rooms great staff great hotel\\n116 Tuscan Inn has exceptionally helpful and friendly staff .\\n117 There was never a time where I saw the concierge desk unstaffed .\\n118 Excellent location friendly staff clean and pleasant rooms\\n119 All the staff was excellent, but the concereige, Clay, really went above and beyond to help us find our way around San Fransisco .\\n120 I was very delighted with the pleasant and professional hotel staff all the way from the doormen to the desk clerks .\\n121 The Corceige was excellent and some of the hotel staff did care and others did not .\\n122 The staff very polite smiling and helpful .\\n123 The reception staff were very welcoming and the room was large and well appointed .\\n124 The staff members were extra helpful, the room well decorated, detailed, clean, and bright .\\n125 we found a friendly staff through out the hotel great location,rooms were small but as pointed out to me all land is prime in the area and all places have small rooms .\\n126 Staff at front desk was fine, obviously the restaurant could use some work .\\n127 Staff was pleasant, bellhops were more than happy to get us a cab .\\n128 There was no mention from hotel staff .\\n129 My husband mentioned to the front desk staff that it would have been appreciated if someone had told us about the renovations when we made our reservation or at check in and was told that the hotel manager set the policy that the staff was to not tell guests .\\n130 The location the rooms the staff the concierge the Managers nightly wine reception everything about this hotel made our holiday MAGIC .\\n131 We made sure to tip the housekeeping staff each morning, perhaps that insured that they did an outstanding job every day .\\n132 The front desk staff were very helpful .\\n133 The staff was great, all the way around, helpful and polite .\\n134 The staff were very friendly and you could book any trips you wanted with them .\\n135 The staff were very friendly and helpful during our stay .\\n136 The restaurant Pescatore was excellent, friendly staff, and enjoyable food .\\n137 From the time we walked into the lobby until the time we checked out the stafff was always very hellpful and the room was very nice, clean, and quiet .\\n138 The lobby was welcoming, the staff was friendly and we felt good about being there .\\n139 Hotel staff was polite and helpful .\\n140 The Staff helped make our stay a great experience .\\n141 Hotel staff was friendly and helpful .\\n142 He was one of the better concierge staff I've encountered at a hotel .\\n143 The entire staff was helpful .\\n144 The travel agent booked this hotel and this was the only hotel out of 10 that I did not book myself although hotel sounded ok This was part of the deal for the airfares Location is excellent , Rooms Ok Staff variable some very helpful others not so .\\n145 Staff were friendly and helpful and we enjoyed the complimentary wine tasting each evening .\\n146 A staff member must have gone in right after we checked out .\\n147 The staff gave the typical run around .\\n148 The reception staff were extremely helpful and polite and couldn\\u0092t do enough for you all in all a good stay for a couple of nights .\\n149 The check in was quick and fast and the staff and nice concierge was very pleasurable .\\n150 The staff were friendly and helpful,it was a good base from which to explore San Francisco .\\n151 The staff was so friendly and helpful and the concierge service was very knowledgeable .\\n152 All staff very friendly and could not have been more helpful .\\n153 All the staff were extremely helpful and polite and always saying hi when eye contact was made .\\n154 PositivesThe staff were friendly and helpful .\\n155 We were there for 10 nights, the staff were very friendly and pleased to help .\\n156 The front desk staff recommended " Fior d'Italia" for a dinner reservation .\\n157 The staff was very helpful and the rooms were well apportioned .\\n158 The staff were friendly and helpful .\\n159 The hotel staff was a hit and miss situation .\\n160 Staff was courteous and the wine hour each evening gave us a chance to meet many people from all over the world .\\n161 The next morning the hotel staff were very accomodating in changing our room and moving our belongings to an outside room which was not only larger, but had central air .\\n162 The hotel staff was consistently friendly and helpful throughout our stay, especially Cliff, the consierge, providing directions, maps, dinner recommendations and reservations, and suggestions for sightseeing .\\n163 The location is great, the staff very friendly and helpful, and the room was neat and clean though a bit small .\\n164 But the thing that impressed us the most was the overall friendliness and helpfulness of the entire staff .\\n165 We booked this by checking other travellers comments on Trip Advisor and were pleased with the helpfulness of the staff, the location and overall cleanliness and comfort of our room .\\n166 Great place to stay , very clean and confortable rooms and helpful staff .\\n167 The front desk staff was great, helpful on check, in, had supply of extra coffee supplies for the room and stamps for purchase, offered to mail our postcards, and the concierge desk seemed very busy .\\n168 The pleasant European theme is carried throughout this hotel and on arrival we were welcomed by efficient and friendly staff .\\n169 Diane from Edmonton, Alberta, CanadaWe stayed at the hotel May 22 to May 25, 2007 and found the staff and particularly the concierge very helpful .\\n170 The whole staff at the Tuscan Inn was very hospitable and I highly recommend this hotel .\\n171 The hotel is pretty much as you'd expect from the chain , nice clean rooms well serviced, and the staff were extremely helpful, very pleasant to deal with .\\n172 The staff were friendly and the free coffee and biscoti each morning and wine at 6pm each evening were occassions when one could meet other guests .\\n173 The staff were very pleasant but I don't think I'd stay there again .\\n174 Staff was all friendly and courteous .\\n175 Upon arriving late through no fault of our own and finding our room double booked we were put up in a nearby sister hotel until our room was ready the next day and they give us a complimentary bottle of champagne , after this though there were no more snags and everything went great , hotel staff friendly and helpful , rooms were quiet, clean and comfortable , food in the restaurant fabulous , the situation of the hotel was very convenient , just a few mins walk from fishermans wharf with a public transport stop, supermarket, small shops, bars and cafes also really close at hand , approx 10 mins walking distance for ferries to alcatraz and bay cruise, etc , would definitely stop here again\\n176 Staff very helpful and pleasant .\\n177 From start to finish the staff did not put a foot wrong .\\n178 The staff's professional, spirited attitude, , be they reservationist, valet, front desk, or housekeeper, , deserves 5 stars .\\n179 Staff were very pleasant, always asking if we needed directions or anything and smiling and opening doors etc .\\n180 Staff were very friendly and courteous .\\n181 It is in a really good position, is not too large, and the staff are really helpful, and, contrary to what we expected on visiting America for the first time, are not waiting around for tips all the time !\\n182 We arrived on the evening of december 5th, and the check, in staff were helpful and efficient .\\n183 We didn't enjoy it, because some of the staff seemed to have little English, and misunderstood our requests .\\n184 The only quibble we had with the Tuscan Inn was that outside our room was a large cupboard, and staff kept going in there, made quite a noise, and finished off by banging the door .\\n185 Hotel was Very nicely furnished, staff was Very helpful .\\n186 We were both delighted with the friendly staff, clean rooms and very convenient location .\\n187 Comfortable bed, staff was excellent .\\n188 Rooms are small but tastefully done, very clean and the staff friendly and helpful .\\n189 Good atmosphere, welcoming and quite cosy lobby and lounge, helpful and friendly staff Overall impressed .\\n190 The staff was very friendly and accomadating with any questions or requests .\\n191 The staff was friendly and polite, and the a .\\n192 staff were helpful although the valet parking and the laundry costs were extremely expensive .\\n193 location, friendly staff, beautiful rooms and comfy beds .\\n194 We found the staff extremely helpful and the room was clean , tidy , a decent size and the bed was extremely comfortable .\\n195 Top, notch staff and very clean and comfortable !\\n196 Downsides are disinterested staff, bordering on rude and quite small rooms .\\n197 The staff was exceptionally helpful and friendly, from the front desk, concierge, valet, and housekeeping .\\n198 Front desk staff even took the time to call a restaurant at pier 39 to inquire about the dress code for me even though they had a couple of people also waiting to ask questions or to check in .\\n199 The service from every staff member we encountered was delightful .\\n200 The staff were very polite and helpful, loved the large lobby area with the large fireplace where you were invited to sample wonderful wine and nibbles early evening and tea or coffee in the mornings .\\n201 The staff was really great, friendly, knowledgable, etc .\\n202 The staff at this hotel is superb, from the front desk staff to the housekeepers .\\n203 It is clean, decorated in boutique style, very relaxing, and has helpful staff .\\n204 The hotel is clean and comfortalbe with a knowledgeable and helpful staff .\\n205 Front desk staff were always pleasant .\\n206 Upon arrival, I was given the goings, on and was politely welcomed by all staff .\\n207 The front desk staff is AWESOME !\\n208 The staff was friendly, pleasant, and helpful, and a houseman went out of his way to dry my son's sneakers .\\n209 The staff attitude ranges from perfunctory to rude .\\n210 a staff member named Mark actually snapped at me at the wine tasting when I tried to find out what kind of wine was being offered .\\n211 The check in was easy, the staff friendly and helpful .\\n212 From the time we arrived we were made to feel most welcome by all staff .\\n213 Very friendly staff serving great breakfasts and evening meals .\\n214 Good hotel great location friendly staff .\\n215 It represents value for money, the rooms and bathrooms were impeccably clean, fresh linen daily, and the staff extremely helpful and friendly .\\n216 Staff were more than helpful and accommodating and we were were moved overlooking the street .\\n217 We asked the staff to empty the refrigerator and snack bar so we could stock our own items, they did it easily and quickly .\\n218 Found the staff friendly like the other reviews .\\n219 I found the staff to be helpful when required but unobtrusive otherwise .\\n220 It's modern, clean, efficient, comfortable, and professionally run with courteous staff .\\n221 I really didn't get a chance to experience the staff's level of service but the rooms are small as is the bathroom .\\n222 Staff was neither especially helpful or unhelpful .\\n223 The staff was not overly friendly nor helpful .\\n224 Our room was large and comfortable, and the staff was top, notch .\\n225 HOWEVER, the front desk staff is always more than willing to jump in with helpful advice and recommendations .\\n226 I've tried 4 or 5 of the local recommended restaurants, and the staff definitely knows what the area has to offer .\\n227 The front desk was very helpful as was the rest of the staff .\\n228 The reception staff were struggling a bit and our check in was done wrong Next day, our room keys stoped working even though we were there for 2 days , again a check in error .\\n229 The staff were very pleasant, the concierge Daniel made excellent reservations for us and the bed was extremely comfortable .\\n230 It is in a great location, the staff is always alert and courteous, the rooms are clean, the morning coffee and biscotti are a nice touch, the happy hour is a PLUS, and the price is right !\\n231 I could excuse this if staff was friendly but I left there dissapointed .\\n232 Our reservations were completely wrong and staff were clueless, so I thought, until further inquiries proved that they were lying through their teeth .\\n233 One morning I overheard people booking in experiencing similar difficluties and a staff member trying to be helpful, I offered some assistance and we were told by him that since Best Western shifted its booking facility offshore there's nothing that Tuscan Inn staff can do to help guests .\\n234 The staff was very friendly, we had no issues at all with the front desk .\\n235 I happened to go up to our room when the housekeeping staff was out in force , every single woman I passed said hello to me !\\n236 There appears to be no management actively involved with running this dump, cause when we asked to speak with one the front desk staff got very nervous and suddenly worked hard to find our lost reservation .\\n237 The staff is friendly and helpful .\\n238 The staff at check, in were nice enough, but unfortunately the concierge was not very helpful, giving us wrong information about our car hire location causing us to get 2 cab rides instead of one .\\n239 The reason that I liked this hotel so much was that it felt cosy and welcoming, the lobby had a log fire going constantly and all the staff were very friendly and helpful .\\n240 Staff and concierge were very helpful .\\n241 The staff of the hotel was very friendly and the evening cocktail hour was a great touch with many choices .\\n242 I will say that the beds were comfortable and select staff were friendly, but definitely not enough incentive to try my luck again at this hotel .\\n243 The room was inviting, the staff tremendously helpful and courteous, and the concierge was the best in the business .\\n244 The restaurant was decorated beautifully, the wait staff was professional without being snobby, the menu was creative and delicious .\\n245 The front desk and the housekeeping staff were equally as friendly .\\n246 The staff and faclilties were great !\\n247 The staff was friendly and very knowledgeable about everything we asked .\\n248 The entire staff was extremely friendly and accomodating .\\n249 A wonderful stay, staff especially friendly, complimentary wine tasting a definite plus, rooms well appointed and well kept .\\n250 We felt very welcomed by the freindly staff that was able to help us with all of our questions and needs .\\n251 The staff has a wine get, to, gether for the patrons in the lobby every evening at 5, 6 p .\\n252 The staff was friendly and accomodating .\\n253 Our rooms were so much nicer then we expected and the staff was friendly and helpful .\\n254 Great room, friendly staff, superb location , just a couple of blocks away from the hustle and bustle of Fisherman's Wharf and 2 minutes from the cable car turnaround that takes you straight to Union Square .\\n255 The staff is wonderful, they had knowledge of the city andthe area and helped us in so many ways .\\n256 The staff was friendly, courteous, professional and knowledgeable .\\n257 The staff is courteous and professional, and the concierge is very helpful .\\n258 It was great , very pretty, clean, nice staff, great wine hour every evening .\\n259 The food is lovely and the staff very friendly .\\n260 We ate breakfast there one day and were appalled at the slow service, rude waitstaff, and overpriced breakfast food .\\n261 The staff was friendly, courteous and always offering extra help even when I was checking out at 4am to catch a plane .\\n262 The rooms were clean and well appointed , the maid staff were excellent .\\n263 Great restaurant with a friendly staff .\\n264 The staff was beyond kind and helpful .\\n265 Our last visit we stayed at the Hyatt at FW and while it was " fine," The Tuscan Inn has much more charm, and a terrific staff !\\n266 We found the staff friendly and the drinks in the evening an added bonus .\\n267 the beds were VERY comfortable and we had a great room which overlooked the street below with the bay in the distance the valet and the porters all very friendly and nothing seemed to be too much trouble for any of the staff !\\n268 The only others with access to this food and drink were the cleaning staff .\\n269 The staff was very friendly and attentive .\\n270 The staff is friendly and the hotel itself is not what it appears from the outside .\\n271 The staff were helpful, it was in a great location, and was very charming .\\n272 Apart from that, the staff were very friendly and helpful, the rooms were nicely decorated, and the beds were very comfortable .\\n273 the rooms are very clean and are charmingly appointed the staff could not be friendlier, and they knock themselves out to make guests feel welcome .\\n274 The hotel was lovely , really clean with friendly helpful staff fantastically situated in between North Beach Fishermans Wharf .\\n275 The staff are 100% present and attentive to your every need .\\n276 VERY helpful staff allowed us to check in 4 hours early, and continued to impress !\\n277 Great hotel, great staff, great location not any problems what so ever .\\n278 The staff were helpful and attentive, the rooms were quite spacious and the whole place looked as if it was cared for .\\n279 the staff was very friendly and the location is great .\\n280 Staff was extremely friendly and helpful .\\n281 The staff seemed pleasant and efficient whenever I had dealings with them , indeed the only quibble I had was that the bell boys at the front were a little undermanned on occasions but I will not let this alter my view of the hotel overall .\\n282 My final thought , 1 recurring image during this week was the staff demonstarations outside a number of prominent hotels , many were day long vigils and many were noisy , the good news was that the Tuscan was not 1 of them !\\n283 The staff was friendly and the coffee biscotti snack in the morning and the wine in late afternoon were both very nice .\\n284 It was a lovely hotel and the front desk staff was so warm and welcoming to us as we arrived, , tired and still on NY time .\\n285 Staff accommodating and friendly .\\n286 Staff was friendly and the vino hour in the evening was a nice touch .\\n287 The hotel was clean and the staff was very friendly .\\n288 Hotel is nice and clean, in a very convenient location, and the staff is friendly and helpful .\\n289 Wasn't really impressed with the staff .\\n290 Found the staff helpful especially the lady concierge who supplied maps and bus routes for Lincoln Park .\\n291 The valet guy was extremely helpful and very friendly but the check in guest services staff on the whole uninterested and unhelpful .\\n292 The manager was a little grumpy when we first checked in but the rest of the staff were extremely friendly and helpful .\\n293 Other than that it was a pleasant stay, the room was clean, our bed was really comfortable and the reception staff were friendly .\\n294 The staff was friendly and helpful, the beds were comfortable, the rooms were clean, and the location was convenient .\\n295 Excellent staff and service and the adjoining Italian restaurant was superb .\\n296 A very cheerful staff and prompt service .\\n297 Friendly Staff Great Location !\\n298 The friendly, helpful and knowledgeable staff can do or help you with just about anything you want or need .\\n299 The hotel staff was great and housekeeping went so far as to organize the toiletries I had brough from home and had left scattered on the vanity .\\n300 The staff is friendly and helpful .\\n301 , pleasant staff, close to the Wharf, just a few blocks to the cable car turnaround, Pier 39 shopping, ferry boat tours .\\n302 Staff was helpful when they were not too busy .\\n303 The friendly staff bent over backward to make us feel welcome and comfortable !\\n304 The reservation staff helped me find a room cost much lower than " rack rate .\\n305 We ate two meals at the Pescatore Cafe, and the food was good, and the staff was exceptionally nice .\\n306 Also, the hotel staff was very helpful and considerate .\\n307 More intimate, close personal attention from the staff and exceptionally clean rooms .\\n308 Their curteous staff helped with our travel plans for tours and also assisted during check, out while the planes were still grounded .\\n309 The price was great, the staff was awesome, and the rooms were clean .\\n310 Especially the housekeeping staff .\\n311 The staff are friendly and there is one computer for internet access as well as free coffee and biscuits in the afternoon .\\n312 Staff were friendly and helpful .\\n313 The front desk staff were more than helpful .\\n314 The staff was very aggressive about checking the honor bar regularly, and even incorrectly charged us for using it this was reversed, but aggravating !\\n315 The staff is wonderful to deal with and very helpful if you need directions or advice .\\n316 Wonderful Hotel , Excellent Staff\",\n \" not customer, oriented hotelvery low service levelboor reception\\n0 The room was quiet, clean, the bed and pillows were comfortable, and the service was adequate .\\n1 There were no service issues to speak of, but it's not an overly, friendly hotel .\\n2 Good Location Horrible Service Disgusting Procedures .\\n3 If you're looking for a full, service experience, this is still not the hotel for you .\\n4 The Holiday Inn Kensington Forum is fine if you like large, impersonal hotels with mediocre service, overcrowded breakfast rooms and don't mind tired decor .\\n5 We found the front desk service unfriendly and indifferent .\\n6 Great stay friendly service great location .\\n7 A prompt reply indicated not and that the reception area deposit boxes were temporarily out of service, so they offered to upgrade our rooms to executive rooms at no extra cost .\\n8 In London its often hard to find good location and good customer service in the same place , The Holiday Inn Kensington Forum did that for me and I couldn't ask for more .\\n9 Breakfast was good, with many choices and excellent service .\\n10 Service in all areas, at all levels was good .\\n11 It's rated 4, stars, but I also stayed at an equivalently rated Marriott while in London, and a 3, star Holiday Inn Express in Scotland, and the service and rooms were much better at the other locations .\\n12 Maid service was good and the staff were always pleasant .\\n13 At the reception the service were exelent , altought during that five minutes I was standing there, the receptionists appologised three times !\\n14 Good Location New Room Bad Service .\\n15 The only cleanliness complaint is the cleaning service did not remove dirty glasses or a decaying lemon wedge with the in room kettle service .\\n16 I am recommending the Forum despite the service problems .\\n17 Poor serviceNot friendly assistance .\\n18 It is not 4 star hotel service .\\n19 Convenient location not 4, star room and services but OK .\\n20 ROOM and SERVICE , our room was obviously not one of the renovated ones .\\n21 Service was a joke , , the evening concierge doubled as the day doorman and was not very knowledgeable about anything , , honestly, the last thing I want to hear when I ask about cool pubs to go to is why don't you go to the bar in the hotel ?\\n22 Service impersonal but friendly .\\n23 Did not use any of the hotels other services, but I was pleased overall and would stay here again .\\n24 They also have a great room service menu and was surprised at the big portions and quality of the food, great to get a bit in your room after a night on the town .\\n25 We arrived at 11 am, but were able to check in with the professional and service, minded staff right away .\\n26 Someone needs to help those folks with a refresher course in customer service .\\n27 Near a tube station that services three subway lines, for starters .\\n28 We are low maintenance so we didn't have to request service much, but when we did it was fine .\\n29 Not too happy with the service from frontdesk, concierge and housekeeping .\\n30 I ordered room service one night, and the food was delightful, and the service was fast and friendly .\\n31 If you need a hotel with services like access to a computer or a concierge who can do more than give directions and order full price tickets to events then don't stay here .\\n32 However the hotel is very large and loses some personal service as a result , the service we received was variable, with little recognition of our Platinum Priority Club Rewards status, and slow room service .\\n33 For a little extra money, the soon to be Crowne Plaza over the road offers far better service yet with the same great location\\n34 Only postive is their breakfast service .\\n35 Convenient location Great Concierge service .\\n36 I would definitely stay here again for the location and the great customer service .\\n37 Talking about food, something worth noticing is that there was a fridge in the room, but it was completely reserved for the mini, bar service beverages, which completely filled it .\\n38 The service was the worst service we have EVER recieved in my life the worst .\\n39 30am, service finished at 11am, there was a queue for the toasters and the cooked breakfast was uninspiring , the ingredients seemed poor quality .\\n40 Room service is expensive but good, the food was delivered hot and was tasty but was chosen from the current uninspired Holiday Inn room service menu, when I ordered a \\u00a36 .\\n41 , but after I called room service it was promptly fixed .\\n42 There are no bottle openers or cork screws in the room so ask room service for them if you need them .\\n43 There is also a laundry service at the hotel, but they also change an outrageous amount so unless you have an expense account I wouldn't plan on using it .\\n44 Reception was busy but service was good throughout my stay .\\n45 But there are much better hotels to choose from for the same price and at least you get some good service and respect from staff .\\n46 The room and bathroom were very clean and serviced each day to a high standard .\\n47 The main restaurant is on floor 1 and offers a full cooked and continental buffet was good choice and generally very good service .\\n48 If you're looking for a comfortable, clean hotel with a mid, range level of service and easy access, then this hotel would serve you well .\\n49 We ate on evening once at the Garfunkels pub in the mall, it was typical chain restaurant food but fast with good service .\\n50 Did not use any other facilities or order room service .\\n51 There was an adequate self service buffet, not a huge selection or very well presented, cloths were not changed when food got spilt .\\n52 Exceptionally poor , and surprising , service .\\n53 Great location service questionable .\\n54 Our room was clean, though small, the service was great, and we would stay here again in a heartbeat !\\n55 I liked this hotel, Nice big room and very good customer service .\\n56 Front, line staff members speak very poor English, and provide VERY poor customer service .\\n57 Poor customer service, bad and overpriced pub food .\\n58 Room service took 15 minutes, which shocked me .\\n59 We were very pleased with the room, and the staff was all very nice and helpful, including the concierge service .\\n60 If you hang around in the lobby, you can hear other people complaining about poor service, poor room quality and a host of other problems to the staff .\\n61 but be prepared for some poor service quality .\\n62 Service can be slow at peak times with waits up to one hour at times, but on average I had to wait no longer that around 30 minutes .\\n63 The food was excellent, the service was very friendly and the prices cheap .\\n64 The food is excellent and the service great .\\n65 Service was friendly, our room was on the highest floor , but that wasn't a problem because of the lifts, and we had a great view of the city from the room .\\n66 but after having spent an entire week in London, I came to realize that just about anybody in the service industry is just that .\\n67 Service was impeccably English hotel, wide .\\n68 The breakfast is self service on the first floor, not cheap but not bad either as there is plenty of choice .\\n69 The card which is left for you to leave comments and review your service went missing from my room on the fourth day which speaks volumes .\\n70 The service is pleasant enough, and I was given a room with a nice view of central London on the 14th floor without having to ask, despite booking on Priceline .\\n71 This is suppose to be a full service hotle, but I would only classify it at best as a Motel 6 quality .\\n72 Service at reception both for checking in or out can be slow and although I've always found the staff to be pleasant, not all of them fully understand english .\\n73 The buffet breakfast is ok although not the best I've had and usually includes a selection of fresh fruit as well as the usual 'full english' The food in the ground floor restaurant is good I haven't had problems with room service although the menu has recently changed and doesn't have as good a selection as it did .\\n74 On the first night of my stay, I tried to use room service .\\n75 On the third night I tried room service again .\\n76 Room service pesonnel called me up after about 45minutes asking if I really needed the stuff that I had ordered .\\n77 the atmosphere is such that they are always right and that a customer is doing them a service by staying at the hotel .\\n78 Is this the level of customer service you want ?\\n79 On my last day I used the concierge service to arrange a cab for me .\\n80 If you use wake up call service .\\n81 I think that is bad service .\\n82 There is a shuttle service for 34 pounds which needs to be booked one day ahead and plys only every half hour .\\n83 Great location indifferent service .\\n84 I would stay here again because in London it really is a value for the service and quality of room .\\n85 Despite its size, and the fact that there are over 20 floors of bedrooms, lift service was never slow, and the breakfast operation is exceptionally well, managed .\\n86 The maid service was good and everything was cleaned and tidied .\\n87 We ate at a really good Indian, very popular, good service plenty to eat for about \\u00a37 each .\\n88 Basic clean lodging service lacking .\\n89 The internet service which costs GBP15 per day is slower than dial, up !\\n90 Good room poor service all round .\\n91 But those who put an emphasis on service quality should avoid this hotel .\\n92 The rude and poor service started from the concierge who was curt when I asked a question .\\n93 The service at the breakfast room was ok .\\n94 The only down side was the same as last time, very impersonal service by the Management and the on, duty Manager was just pure rude, but if you don't have to talk to any staff members, this hotel is great .\\n95 Stayed in room 516 right at the end of the corridor was next to a services room from which there was a constant generator fan noise .\\n96 We passed a number of banks on the way up and also a large post office offering currency etc which should give better rates than the hotels in, house money changing service .\\n97 There is 24 hour room service, a restaurant, and a tavern in the hotel although we did not sample the hotel food .\\n98 In all, as with many Holiday Inns hotels worldwide, affordable with good rooms and customer service but there is always one or two issues that keep this chain from being a affordable and good place to stay .\\n99 The fridge was self, service and barely functional, so didn't chill the sodas I bought .\\n100 The immediate area around the hotel is extremely well serviced by at least 3 internet cafes, grocery store next to tube station, as well as several nice cafes and restaurants .\\n101 ASK is a very nice Italian restaurant nearby serving pastas and pizzas with excellent service which will run about 10\\n102 If you are looking for a bit more comfort and better service, look elsewhere .\\n103 Although we did get a strange phone call from room service at 1am, wrong number i think .\\n104 Well, located and good service .\\n105 In spite of its size, we found the service to be good , speedy check, in, and very rapid response to a broken toilet at 11pm .\\n106 Minimall with Boots pharmacy, Whole Foods type ritzy fullservice market, coffee shops, etc .\\n107 The hotel offers a laundry service which I needed to take advantage of .\\n108 However the service was quite efficient my pants were brought back the same day .\\n109 It was clean and serviced promptly every day with fresh linen and towels .\\n110 com and their 'top secret hotels' service .\\n111 Service was great and the concierge was very helpful .\\n112 Excellent location shame about the service !\\n113 When we wanted to watch a pay per view movie, was informed by reception there was a problem , it later transpired that we had been given an Aircrew room, where there is no mini, bar, pay per view movies turned off at reception, no menu's or room service available .\\n114 Also we were later informed that only executive rooms had the service of mini bar !\\n115 The maid service was excellent and we felt very happy with our choice .\\n116 We took a private car service from airport to hotel, and it cost 55 pounds .\\n117 Don't use the restaurant or room service, there's plenty of places to eat outside the hotel, there's a mini Tesco for groceries, a larger grocery store plenty of internet cafe's, a Paul's Boulangerie right by the tube, great fro a quick breakfast, the Gloucester Road tube stop is a 3 minute walk, plenty of busses to High Street fabulous shopping !\\n118 My daugher and I average about $70 a dinner regardless of whehter we ate out or did room service , , YIKES .\\n119 Service is not particularly attentive, but not rude .\\n120 Stunning food, amazing service .\\n121 Great service and perfect location !\\n122 For the price, cleanliness, service and quality it definately deserves a higher star rating .\\n123 I wish that the hotel had better service, however .\\n124 To get ice, you have to first get a bucket from room service .\\n125 To get Room Service, it called Housekeeping .\\n126 For a similarly good location , you can stay at the London Hilton Metropole for the same price and receive much better service .\\n127 Quite snooty or surly service at reception, from two separate people .\\n128 Staff were mostly ethnic origin, presenting a couple of communication problems at check in room service was slow and fairly bland and we noticed a lack of acknowledgement by any staff as we walked around the premises, again unusual for such a high profile company .\\n129 I stayed in room 354 , on the Exec Floor , no bathrobes, no newspaper delivery , room service crockery standing outside room for almost 24 hours un movedand poor service in Bistro .\\n130 We had room service the night we arrived, and it was good quality, and arrived quickly .\\n131 Super dinner and attentive service .\\n132 Food was OK, service very haphazard .\\n133 It is very close to Gloucester Rd tube station, has plenty of restaurants, pubs, supermarkets, chemists within 100 yds, is close to Hyde park for a run walk in summer, near Kensington High street, rooms are always clean and have recently been refurbed, room service menu is better than other hotel chains, breakfast is good .\\n134 We had one evening meal in the ground floor restaurant, well cooked again, but the service was very slow .\\n135 Finally, the hotel did nothing to inform us about a transit strike on the tube and when we heard about it on our own and asked the concierge for help with getting to the airport, he advised taking a cab service for 50 pounds plus banking holiday surcharge, , we luckily found a cheaper alternative by ourselves .\\n136 The included breakfeast was a plus and I noticed the wifi folks using the free service in the lobby .\\n137 I noticed on my last stay that the quality of service was very diminished .\\n138 We were on the 20th floor very happy with the rooms the service .\\n139 I can say that every time I have been disappointed with either the value, standards, cleanliness,service of the hotel .\\n140 The food was good and the service was very good .\\n141 Excellent location and service .\\n142 Concierge was very helpful we didnt take the English breakfast but the downstairs bar offers croissants and Starbucks coffee and the service was very nice .\\n143 Service was efficient but far from personal, how could it be when the place was as a large as it was !\\n144 It met all my expectations , very clean room w pleasing modern decor, above average housekeeping services, accomodating staff .\\n145 Additionally, one other problem was that room service was very very inefficient , requesting a menu to be brought to the room took 45 minutes and the guy actually had the audacity to suggest he read it to me over the phone instead of sending one up, after I had to call three times .\\n146 Room service will bring a bucket of ice any time, or there\\u0092s a machine on the 25th floor .\\n147 Typical London impersonal service from staff .\\n148 Excellent location service cleanliness and price at the Holiday Inn Kensington Forum .\\n149 All in all great location , nice restaurants nearby, nicely pitched service .\\n150 What brings down my rating for the hotel is their service .\\n151 I still can't figure out if it's a difference in service from US and UK standards or if it's just this hotel .\\n152 Good concierge service , recommended very good restaurants , italian and indian , to us , in walking distance from the hotel .\\n153 The hotel staff are very helpful and provided excellent service .\\n154 We used room service one night and it was excellent .\\n155 Food quality was good, service prompt, everything prepared as we had ordered .\\n156 The service was great with lots of coffee and tea and toast brought to the table for you .\\n157 The price is moderate for the service and the location .\\n158 The price, the space, the location and the service were the exactly right thing we wanted .\\n159 This hotel is located in an excellent area of London and is just around the corner from Gloucester St tube station which has excellent service to all the tourist sites .\\n160 Fantastic, professional, helpful staff, clean rooms, great room service, fitness area and Internet Business facilities keep me coming back .\\n161 Great location, freshly renovated, very small rooms, anonymous hotel, acceptable service .\\n162 because it has sensor to count how many times you open it for beverage service, nice area, near Starbucks, pastry shops, fast foods, supermarket, walking distances to Kensington Palace, London Natural Science Museum, Harrods, Victoria Albert Musuem, pubs, and what else could you ask for .\\n163 My family stayed in 2 connecting rooms this July and had outstanding customer service .\\n164 , We booked our room through an internet service and was lodged in an executive room that included all the aminities expected in a 5, star hotel !\\n165 We also love the service of the staff, not to foreget the kindly people which store our bags .\\n166 I was very disappointed with the service from this huge hotel .\\n167 Service was great and the location of the hotel was very convenient .\\n168 Be cautious of using the room services like the phone, mini bar and room service as the prices are sky high, but I would definitely stay there again and I would recommend this hotel to anyone !\",\n \" The room was not overly big, but clean and very comfortable beds, a great shower and very clean bathrooms .\\n0 The second room was smaller, with a very inconvenient bathroom layout, but at least it was quieter and we were able to sleep .\\n1 Large comfortable room, wonderful bathroom .\\n2 The rooms were nice, very comfy bed and very clean bathroom .\\n3 Bathroom was spacious too and very clean .\\n4 The bathroom only had a single sink, but it was very large .\\n5 The room was a standard but nice motel room like any other, bathroom seemed upgraded if I remember .\\n6 The room was quite small but perfectly formed with a super bathroom .\\n7 You could eat off the bathroom floor it was so clean .\\n8 The bathroom door does the same thing, making the bathroom seem slightly larger .\\n9 bathroom spotless and nicely appointed .\\n10 The rooms are exceptionally clean and also the bathrooms .\\n11 The bathroom was clean and the bed was comfy .\\n12 They provide you with great aveda products in the bathroom .\\n13 Also, the bathroom was a bit dirty , brown water came out of the bath tub faucet initially and the sink wall by the toilet was dirty .\\n14 If your dog tends to be a little disruptive or on the noisy side, there is a bathroom fan that you can keep on to make noise .\\n15 The bathroom was big and clean as well .\\n16 Also, the bathrooms were quite well set up, with a seperate toilet shower to basin, so whilst one guest is showering another can use the basin .\\n17 The bathroom was marble and we had luxurious bathrobes and really, every detail attended to .\\n18 It was very clean, had a beautiful bathroom, and was comfortable .\\n19 The bed was comfortable and the bathroom was clean with a nice selection of toiletries .\\n20 The bathroom was an adequate size .\\n21 First, from day one our bathroom had a urine smell that never went away .\\n22 Otherwise the bathroom was decent enough , decent temperature and decent water pressure .\\n23 Bathroom shower curtain reeked of mildew enough to smell up the room .\\n24 The bed was comfortable and the rooms and bathrooms were kept clean and although the refrigerators are honour bars the hotel is happy for you to chill your own drinks in them .\\n25 The room was very nice, and had a nice bathroom .\\n26 The room was wonderful with great beds, a nice bathroom and we also had an excellent view of Coit Tower as well .\\n27 The room was small, with a king bed, and a truly claustrophobic bathroom .\\n28 Amenities , While this hotel isn't a luxury property, they have some nice touches like marble bathrooms, mini bar, room service and an evening wine reception every day .\\n29 The bathroom was clean, well lit, and always well stocked with shampoo etc and towels .\\n30 The only odd thing was the bathroom door and room door opened outwards into the room and hallway respectively .\\n31 Room spacious 2 double beds gave us plenty of room, the beds were comfortable and the bathroom was a good size .\\n32 The bathroom was large and included a mounted makeup mirror .\\n33 The rooms are abit smallish , but immaculately maintained, and tastefully decorated, with excellent bathroom facilities .\\n34 Shower bathroom was good with good shower and plenty of space .\\n35 Both the bedroom and bathroom had plenty of room .\\n36 large clean bathrooms fully stocked with everything needed .\\n37 However, when we arrived at our room there was a maintenance worker there measuring the bathroom counter, so maybe they're doing work in some units .\\n38 The room was large and very comfortable with a nice large bathroom .\\n39 There is a wall, mounted hair dryer in the bathroom .\\n40 The thing that bothered me the most was the bathroom was very dated .\\n41 There is virtually no counterspace in the bathroom at all .\\n42 Upon our arrival, there was a SLIGHT odor in bathroom but nothing worth complaining about .\\n43 The bathroom was adequate with thick, fluffy towels .\\n44 The bathroom was large and private .\\n45 The bathroom was very clean and well appointed with nice towels and toiletries, it was not big, but room enough to do what one needs to .\\n46 The Tuscan Inn room was quite nicely appointed, the bed was comfortable the chairs TV adequate, the bathroom reasonably good .\\n47 my only real complaint would be that the bathroom does not have a separate vanity area, so 2 people getting dressed had to improvise, which was kind of surprising since the bathrooms were all redone on 2005 .\\n48 The clever use of mirrors behind the bed helped to create the illusion of space, however, in reality the room was cramped and with two of us trying to use the hand basin and bathroom at the same time was particularly awkward .\\n49 The bathroom containing the toilet and the shower was also very small, not to mention the sink and counter directly outside of it .\\n50 Turning the bathroom light on also turns the counter light on, meaning a middle, of, the, night trip to the bathroom means the whole side of the room gets illuminated and the wooden shutters that were installed in place of traditional curtains to add to the hotel's theme do absolutely nothing to keep the room dark once the sun comes up .\\n51 The room was a good size but the bathroomm was very small .\\n52 Bathroom was adequate and clean and there was a hairdryer .\\n53 The wash basin was in the room without any privacy and there was a small bathroom for the toilet and bath shower .\\n54 The bathroom had not been remodeled in alignment, but it was all very clean and perfectly acceptable .\\n55 The bathroom had several problems .\\n56 Bathrooms were also very nice .\\n57 The shower stall could have been bigger as the bathroom itself was pretty large .\\n58 Then they gave us a room which had a view of a wall, a tiny bathroom so small in fact that the sink had to be in the bedroom .\\n59 The room is not the most modern room but there was tons of space especially in the bathroom .\\n60 We may have had an ADA room because it was pretty big with large bathroom , it was room 459 , and the room had all the amenities we were looking for .\\n61 The room and bathroom were perfect in size, just what is needed .\\n62 The only possible complaint was that the sink in the bathroom had a crack in it, but it did not bother me enough to ask for a different room .\\n63 Bathrooms, though, are plenty big .\\n64 Although the rooms were clean and fresh, one of ours had several small problems , the phone didn't work, the bathroom door handle was quite loose, and the thermostat didn't work properly .\\n65 It represents value for money, the rooms and bathrooms were impeccably clean, fresh linen daily, and the staff extremely helpful and friendly .\\n66 There were plenty of thick towels in the bathroom, and all the usual toiletries, hair, dryer, etc .\\n67 I really didn't get a chance to experience the staff's level of service but the rooms are small as is the bathroom .\\n68 The bathroom was also small it was difficult to close the door once inside to avoid the door hitting you no joke !\\n69 Some rooms had the bathroom sink outside the bathroom, which we would have preferred, but our sink was inside the bathroom .\\n70 The bathroom was clean and bright and the toiletries were so good that we took the leftovers home because there was a website selling the shampoo listed on the bottle .\\n71 The rooms were very nice, could of use just a little more shelf space by the bathroom sink .\\n72 The bathroom was clean but a little dated .\\n73 The only thing wrong with the room was the bathroom, it was not up to the standard of the rest of the decor but it was clean and large enough .\\n74 The bathroom was just okay, but for the price we survived .\\n75 Hair dryer in bathroom constantly fell in sink from it's holder when anyone used the door to our room .\\n76 The reasonable price of the hotel allowed us to book 2 rooms, thus giving the 4 of us a bit more space and 2 bathrooms .\\n77 Plenty of room in the bathroom .\\n78 Nice clean rooms and a spaciousbathroom .\\n79 The only minor downside, as a few others have mentioned, is the bathroom sink lighting .\\n80 Did not like the bathroom light shining into bedroom .\\n81 Only negative is the bathroom area is a little small .\\n82 Our suite we had was small there was pubic hair on the bathroom floor from ?\\n83 bathroom a little on the older side .\\n84 The bathroom needed a face, lift also .\\n85 The bathrooms are quite small compared to other hotels but adequate .\\n86 The hotel was of a good standard, big clean rooms, decent bathroom and the free wine reception in the evening was an added bonus .\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 1,\n \"samples\": [\n 3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 100 + } + ] + }, + { + "cell_type": "code", + "source": [ + "document_df[document_df['cluster_label']==4].sort_values(by='filename')" + ], + "metadata": { + "id": "QRwOlS3s8Dl5", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 550 + }, + "outputId": "05fb8028-224c-47ff-ed77-644aec6f4548" + }, + "execution_count": 101, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "29 location_bestwestern_hotel_sfo \n", + "81 location_bestwestern_hotel_sfo \n", + "56 location_holiday_inn_london \n", + "57 location_holiday_inn_london \n", + "35 price_holiday_inn_london \n", + "41 price_holiday_inn_london \n", + "\n", + " opinion_text \\\n", + "29 Good Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 ... \n", + "81 Good Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 ... \n", + "56 Great location for tube and we crammed in a fair amount of sightseeing in a short time .\\n0 All in all, a normal chain hotel on a nice lo... \n", + "57 Great location for tube and we crammed in a fair amount of sightseeing in a short time .\\n0 All in all, a normal chain hotel on a nice lo... \n", + "35 All in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n0 ... \n", + "41 All in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n0 ... \n", + "\n", + " cluster_label \n", + "29 4 \n", + "81 4 \n", + "56 4 \n", + "57 4 \n", + "35 4 \n", + "41 4 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
29location_bestwestern_hotel_sfoGood Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 ...4
81location_bestwestern_hotel_sfoGood Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 ...4
56location_holiday_inn_londonGreat location for tube and we crammed in a fair amount of sightseeing in a short time .\\n0 All in all, a normal chain hotel on a nice lo...4
57location_holiday_inn_londonGreat location for tube and we crammed in a fair amount of sightseeing in a short time .\\n0 All in all, a normal chain hotel on a nice lo...4
35price_holiday_inn_londonAll in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n0 ...4
41price_holiday_inn_londonAll in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n0 ...4
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"document_df[document_df['cluster_label']==4]\",\n \"rows\": 6,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"location_bestwestern_hotel_sfo\",\n \"location_holiday_inn_london\",\n \"price_holiday_inn_london\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \" Good Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 The location is good, and the overall decor is nice, but there was nothing that I can really rave about .\\n2 Overall, it was a good location, but an average hotel with serious noise issues .\\n3 A perfect hotel a perfect location perfect staff !\\n4 The location is perfect to pier 39 and surrounding areas .\\n5 My husband found this hotel on Trip Advisor and it ranked very high and we weren't disappointed at all as it is in a great location and a very nice hotel .\\n6 The hotel location was perfect .\\n7 My husband and I stayed for two nights at the Tuscan Inn and enjoyed it's great location to Fisherman Wharf and proximity to San Francisco's streetcars .\\n8 Perfect Location if you are Cruising from San Francisco\\n9 The location was perfect for perusing the shops at Fishermans Wharf, we had dinner at Nicks's Lighthouse , the food was fine but the rest rooms were in a horrendous state, which completely put us off .\\n10 What a great hotel terrific location !\\n11 Considering the rate $165 nite, and the location, 2 blocks from Fisherman's Warf, this is a terrific value .\\n12 Great location would stay here again\\n13 It is in an excellent location, which you need for such a short stay .\\n14 Overall a great hotel, awesome location, felt very safe everywhere we went .\\n15 We couldn't have been happier with the location and our room .\\n16 Had a very good stay at the hotel,everything clean and modern,absolutely great location for all the tourist attractions .\\n17 we were not there a lot, but the location was great .\\n18 Hotel is in perfect location .\\n19 We enjoyed Tuscan Inn location and large room\\n20 Location could not be better .\\n21 Also, the location is dull nothing of real interest withing a couple of blocks all around .\\n22 Best location in Fisherman's Wharf .\\n23 Which is a pitty, because the location was wonderful, and two of the staff members were really nice .\\n24 Phenominal Service, great room, great location , couldn't have asked for more .\\n25 Good location for most tourist sites, i .\\n26 Location in proximity to the Fisherman's Wharf was only 2 easy blocks away .\\n27 nice hotel great location liked the little extras\\n28 The location was PERFECT just a block and a half from fisherman's wharf and in walking distance to the pier with the sea lions, ghirardelli square, and the start of the cable car tour on the hill, and also was a block and a half from the starbucks where the streetcar stops to take you to other parts of the city .\\n29 Good Location Small Rooms Some charm\\n30 We chose this hotel for its great location .\\n31 A perfect location, can get loud outside, but overall would recommend hotel !\\n32 Really good location for me .\\n33 The location was amazing just a short walk from the cable car turn and all the main attractions at pier 39 .\\n34 A lovely hotel in a great location\\n35 The location was great, walk out the doors and forward 250 yards and you're on Pier39 and Fishermans Wharf right on the sea front .\\n36 A friendly hotel in a good location\\n37 This hotel is in a good location on Fisherman's Wharf .\\n38 Everything about our stay at Best Western, Tuscan Inn was great, location to the wharf, cable cars and everything we wanted to see and do .\\n39 The location of Fisherman's Wharf area made me suspicious, as the area is very " touristy" .\\n40 However, the Tuscan Inn has the best of all worlds, great location, all the amenities, excellent staff, nice restaurant adjoining, and very reasonable prices .\\n41 the tuscan inn has a good location, within easy walking distance to the wharf .\\n42 We loved the location, , easy walking distance to the wharf and cable cars .\\n43 00, however that being said if you are used to staying at true Kimpton hotels this will leave you wanting, but again location and price makes this a great hotel, the wine they serve is 2 buck chuck get there early if you want to partake, there were people everywhere waiting for the pourings, so we decided to skip out on this one\\n44 Great location service and value !\\n45 This hotel was in a great location to the Wharf and other sites in the city .\\n46 perfect location comfortable room !\\n47 Perfect location, great italian resturant , SUPER concierege .\\n48 The location is excellent if you want to be near the wharf .\\n49 The location is good and the rooms are very pretty and clean .\\n50 So clean, quiet, excellent location, delicious coffee bar every morning, staff helpful friendly .\\n51 This hotel location could not be any better .\\n52 Perfect location to Fishermans Wharf .\\n53 Great location pretty good hotel\\n54 The location was really the best part .\\n55 Excellent Service , Great Location\\n56 I don't think you could do better for location, especuially if you're visiting the city for the first time .\\n57 Perfect Fisherman's Wharf Location\\n58 Perfect location near Fisherman's Wharf .\\n59 The Tuscan Inn has a great location to tourist sites within San Francisco .\\n60 Good Location but what's with the Check in out staff ?\\n61 Excellent location, close to the wharf and cable car lines .\\n62 Great location situated on the flat, no hill to climb !\\n63 The location is perfect being so close to the Wharf and Pier 39 and the Powel St .\\n64 The location of this hotel is great , close to Fisherman's Wharf, within walking distance of Ghiradelli Square, boats to Alcatraz and two cable car lines .\\n65 Although our weekend was during a storm, the close proximity to the piers and public transportation still made our location idea .\\n66 Location, wise, the hotel was perfect it was within walking distance of the pier for Alcatraz and a two minute walk away from the tram as well as Lombard Street .\\n67 The staff are so friendly and the hotel is in a great location, just 2 blocks from Fisherman's Wharf , bus and cable car station .\\n68 It's a truely wonderful little hotel, with great people in a great location bus stop across the street, f car one block down and cable car one block up and west where you can buy a 7 day ticket for all 3 , who needs a car !\\n69 This hotel offers a lot , a great location, great staff, free wine tastings and morning coffee .\\n70 Again a nice quaint hotel perfect location\\n71 The rooms were large and comfortable and the location was fine if you don't mind a little walking to the Wharf and other attractions .\\n72 room was quiet, clean with good beds but very very smallnot a cheap hotelvalit parking was to much expencive but oke its the location\\n73 Tuscon Inn was near the pier 39, which is a great location, checking in and out was easy .\\n74 I'd highly recommend the Tuscan Inn based on location, cheerfulness of staff, aesthetics in the room and general overall service .\\n75 The hotel is in a fantastic location just a 5 minute walk from Fisherman's Wharf and no more then 10 minutes from the cable cars and other attractions .\\n76 Great location, the concierge guy was fantastic and there is a lovely restaurant attached to the hotel that does a great breakfast !\\n77 Excellent service great location good value\\n78 The location is great, only 2 blocks from Fisherman's Wharf .\\n79 It is in a great location, 5 minute walk to Fisherman 's Wharf promenade and 5 minute walk to a tram stop .\\n80 The hotel was clean, in a good location and we would reccommend it to other travelors .\\n81 The location is great, only a few blocks from the Wharf .\\n82 Lovely boutique hotel in convenient location\\n83 The location is fantastic , a 5 minute walk to the Wharf and close to bus and trolley stops .\\n84 The location is hard to beat with a Safeway, Trader Joe\\u0092s, Borders, World Market and the cable car all within a block of this hotel .\\n85 Helpful staff and great location\\n86 This hotel is in a convenient location .\\n87 This hotel was clean and in a excellent location to everything .\\n88 A good location if you want to be walking distance to sights and transportation .\\n89 The location is great, I opted for a Fisherman's wharf stay for vacation having stayed near Union square on business in the past and I'm glad I did as it was easy walking distance to Chinatown and the touristy area of the wharf .\\n90 Location of the hotel was ideal to explore the know attractions, with just a 2 min walk to the wharf ferries and the famous cable cars, which transported you to union square lombard st etc .\\n91 The location is ideal but the car park is really expensive, so if you are ending a trip here, take your hire car back after you have unloaded your luggage and get a taxi to the airport .\\n92 This hotel is in a perfect location .\\n93 The Tuscan Inn was in a great location a few minutes from Fisherman's Wharf .\\n94 We have now stayed in three hotels in Fisherman's Wharf but the Tuscan Inn represents a good comprise of location, cost and facilities .\\n95 The location only 2 blocks from Fisherman's Wharf made it a perfect base for exploring the area, we were able to walk or take public transportation everywhere we went .\\n96 Great location to Fishermans Wharf .\\n97 My boyfriend's first response was " wow, this is a tiny room" , but it was what I was expecting considering the location and that this is only a 3, star property .\\n98 Location , This is the best part of the hotel .\\n99 The hotel is also very noisy but I guess this is inevitable considering the location .\\n100 If you want to be near Fishermans Wharf the location is great .\\n101 The location for tourists can not be beat .\\n102 Collect the same rate as for Fisherman's Wharf location .\\n103 First, it is in a fantastic location , blocks from Fisherman's Wharf and within walking distance to so many things !\\n104 The location is great, the hotel is very clean and nicely decorated .\\n105 all the staff we encountered were super friendly and the hotel location is great .\\n106 Fantastic choice, 10 days at the Tuscan, location is wonderful only a couple of blocks from pier 39 .\\n107 Perfect Location and Lovely Inn\\n108 The location is perfect , two blocks from Fisherman's Wharf and only a block to the street car and trolley .\\n109 Tuscan Inn has it all, exellant location,very close to public transport, very clean, impeccable, friendly service and a supermarket opposite .\\n110 We read reviews on many hotels looking for above average accomodations in a convenient location .\\n111 Great hotel, nice location for everything !\\n112 Excellent location friendly staff clean and pleasant rooms\\n113 The location was excellent , near the waterfront, the aquarium, Pier 39, Giradelli Square etc and very easy walk to cable cars, trolleys and bus routes .\\n114 The Tuscin Inn is a great hotel depending your room location .\\n115 Location is everything at this site everything you need is right in the area .\\n116 Loved this hotel and location !\\n117 Loved the location of this hotel !\\n118 Location was also near Pier 39 , Ghiradelli's chocolate factory, and Alcatraz .\\n119 Great location, near lots of stuff to walk too .\\n120 A great hotel in a great location\\n121 we found a friendly staff through out the hotel great location,rooms were small but as pointed out to me all land is prime in the area and all places have small rooms .\\n122 Location was nice for getting all around the city we mostly walked from place to place, even to and from downtown along the Embarcadero .\\n123 Good location a few blocks from Fisherman's Wharf, if that's where you want to be .\\n124 We were very pleased with the hotel's location right in the heart of Fisherman's Wharf North Beach .\\n125 The location was also right next to Fisherman's Wharf and a 3 minute walk to the cable car .\\n126 I stayed at the Best Western Tuscan Inn at fishermans wharf last year, and when i booked the room I was just glad that i got a room at a good location in S .\\n127 The hotel has the perfect location for a S .\\n128 The location the rooms the staff the concierge the Managers nightly wine reception everything about this hotel made our holiday MAGIC .\\n129 Highly recommend, great location, clean, quiet, friendly, nicely decorated, happy hour 5p, 6p, just tea coffee avail in am .\\n130 The Tuscan Inn at Fisherman's Wharf in San Francisco is in such a great location for tourism, I'm surprised there isn't a much larger hotel here .\\n131 We were very happy with the location of this hotel .\\n132 Location wise, it is very centralized, walkable distance to the fisherman's wharf as well as the cable cars at both Hyde and Powell Streets .\\n133 The hotel is very central to everything and I would stay there again for its location .\\n134 Rooms were pretty standard , but it's the location which sells this place .\\n135 A nice comfortable hotel in a good location .\\n136 This hotel is in the perfect location whether you are focusing your sightseeing at the Wharf or all over town .\\n137 The hotel itself is in a perfect location for all the attractions .\\n138 Excellent location, very close to the Fisherman's Wharf that made it very convenient to do the " tourist" things .\\n139 The first thing I have to comment on is the great location .\\n140 This was my 9th trip to San Francisco but unlike prior trips I was with my in, laws and had different criteria for the trip, they wanted to be close to all the Fisherman\\u0092s Wharf action and walking distance to the main tourist attractions, this hotel was ideal and the best value we could find in the location .\\n141 very good hotel , great location, concierge extremely helpful, decor is nice and the maid service was excellent .\\n142 The location is great, 2 blocks from FW and 5, 6 blocks from really good italian food in North Beach and Chinatown is in that area as well .\\n143 We loved the location as it was convenient to everything and a short walk to many attractions .\\n144 Good location avoid restaurant would not recommend\\n145 The travel agent booked this hotel and this was the only hotel out of 10 that I did not book myself although hotel sounded ok This was part of the deal for the airfares Location is excellent , Rooms Ok Staff variable some very helpful others not so .\\n146 The Tuscan Inn is markedly less expensive, and the location is identical .\\n147 It's a Best Western , so it's not luxery, but it's a nice hotel in a great location at a great price .\\n148 Great hotel in a great location for Fisherman's Wharf\\n149 Great Location , Hotel room good also\\n150 Overall an average hotel in a great location\\n151 The location was great as we were within walking distance to just about everything .\\n152 Excellent location 2 blocks from Fishermans Wharf and 1 block from cable car .\\n153 A good hotel in a good location for all the tourist attractions if you're walking, taxi or by bus .\\n154 A masseur was giving guests a massage at the same location, not sure if there was a charge involved for that service, as there was no information about that anywhere .\\n155 The location is within walking distance of fisherman\\u0092s wharf .\\n156 We were very suprised when we got there , the location was great, just set back enough to miss the noise of the warf but within a stones throw of all the action .\\n157 The Tuscan Inn is in a great location in Fishermen's Wharf and our boys really enjoyed Pier 39 .\\n158 Great location clean rooms we enjoyed our visit .\\n159 We were a little disappointed with the location of this hotel as although it is close to Fisherman's Wharf Pier 39, it wasn't very busy in the nearby streets so we didn't feel like lingering in the restaurants before returning at night .\\n160 The location is excellent for access to the cable cars and the wharf .\\n161 Great location for San Francisco sightseeing\\n162 The location of this hotel is great if you are there to enjoy the tourist stuff of SF .\\n163 Great Location For Exploring San Francisco\\n164 The location is perfect to explore the city .\\n165 The location is great, the staff very friendly and helpful, and the room was neat and clean though a bit small .\\n166 We booked this by checking other travellers comments on Trip Advisor and were pleased with the helpfulness of the staff, the location and overall cleanliness and comfort of our room .\\n167 The location of the hotel was within easy walking distance of Fisherman's Wharf and Ghiardelli Square .\\n168 Nevertheless, I did like this hotel, the rooms, location, and most of the service and I would stay here again .\\n169 The location is fabulous for getting around the Fisherman's Wharf and the concierge, Hugo and Cliff, are fantastic and full of wonderful ideas .\\n170 Great location, if you are doing north and east San Francisco stuff .\\n171 It's in a good location by Fisherman's Wharf Pier 39 .\\n172 The location is great and accessible to all parts of the city by bus, cable car or the " F" train .\\n173 Great location in Fishermans Wharf .\\n174 This hotel can trade on its location which, although a rather ugly and unappealing area full of tacky tourist shops, predictable chain restaurants and large number of tour groups, is an excellent base to explore the city .\\n175 The Best Western Tuscan Inn is at the perfect location in San Francisco .\\n176 The location was excellent for the Whalf attractions including cruises and Tram bus tours and for the cable car into Union square .\\n177 Really good location for Fisherman's Wharf .\\n178 Great Location but not great experiance\\n179 The Tuscan Inn is in a great location if you want to do the touristy things around Fisherman's Wharf but don't expect anything grand .\\n180 The hotel is in a great location, Close to Fishermans wharf, Cable cars, ect .\\n181 Clean,friendly,and the location was perfect .\\n182 Perfect location on the edge of Fisherman's Wharf .\\n183 We especially enjoyed eating at Cesar\\u0092s on Bay Street, which is an Italian restaurant at the same location for over 50 years .\\n184 Great location thought I had seen everything\\n185 The best part of the hotel was its location .\\n186 Exellent location for Pier39, Fishermans wharf and trams etc, with a large Safeway a block away .\\n187 Excellent location near Fishermans Wharf .\\n188 But if I could get a deal like this on the same hotel, I'd go back every year as we attend the same event every year, and the location and facilities were exactly what we needed .\\n189 Location is very convenient to Fisherman's Wharf, North Beach, Russian Hill, and the Embarcadero .\\n190 We were both delighted with the friendly staff, clean rooms and very convenient location .\\n191 Location is excellent, walking distance to Fisherman Wharf and Chinatown .\\n192 Visited 23 to 26 Sep , 4 nightsGreat location within walking distance of Fisherman's Wharf .\\n193 We'd stay at the hotel again since the location, facilities and price were good .\\n194 the location is great for pier 39 and alcatraz remember to pre book if you want to go onto the rock as when we went it was completely booked up for 5 days !\\n195 location, friendly staff, beautiful rooms and comfy beds .\\n196 Overall, though, a great location if you want to be near the Wharf .\\n197 Would definately recommend this hotal as the location is perfect , only afew blocks from Fishermans Wharf .\\n198 Great location near Fisherman's Wharf and a great price for a suite albeit not a huge one !\\n199 The Fisherman's Wharf location is a bit over the top touristy .\\n200 not to mention perfect location !\\n201 So, the location was awesome .\\n202 If you want to stay near the Wharf this is a good location .\\n203 The location is great since it is only a couple blocks to Fisherman's Wharf, the ferry for Alcatraz, Pier 39, Ghiradelli Square, cable cars, bus stops, and there is a small shopping center across the street with grocery store, etc .\\n204 If you're traveling to SF for the first time and have kids with you I think this is a perfect location .\\n205 The BW Tuscan Inn is a very charming hotel with an excellent location if you want to be within a 5 minute walk to Fisherman's wharf and Pier 39 .\\n206 The Tuscan Inn was perfect for us as far as location .\\n207 The location was good if you want to be near Fisherman's Wharf .\\n208 Great location service and beer .\\n209 Probably the best feature of the Tuscan Inn is its location .\\n210 We stayed at the Tuscan Inn for 3 nights at the end of May, the hotel has a great location within walking distance to the waterfront, including attractions and great restaurants .\\n211 Our travel agent, Terri, suggested this place and said it had a great location and cozier feel than some other hotels .\\n212 The hotel is in the perfect location for Fishermans Wharf and the best activity in San Francisco BIKE THE BRIDGE .\\n213 The location of the hotel is very good .\\n214 Ask to see a few rooms before you check in, because the room size and location can vary between floors and sides .\\n215 All in all, the location was perfect , a short walk to the cable cars or bus lines, a Safeway grocery and Walgreens drugs is across the street in a parking garage, type mall, and there are small places to eat breakfast nearby plus an IHOP a few blocks over .\\n216 good location but ask for a room away from the road\\n217 good location, close to fishermans wharf, pier 39, ghiradaelli square and cable car stops to union square .\\n218 And the location is perfect for tourists .\\n219 Although there is no pool or fitness facility at location, as others have mentioned, passes are available at the front desk for $9 day for the 24 hour facility right across the street that has both gym equipment and a pool .\\n220 8 10Location 11 10Amenities :\\n221 I continue to find BW's in unique places with good property locations .\\n222 Can't beat location, Mason and North Point .\\n223 The location is mere walking distance to the wharf, cable car, and so much more .\\n224 The Tuscan Inn is in a great location, 2 blocks from the wharf, a block from the cable car, a block from the F, Line, opposite a Safeway, and next door to a nice Italian restaurant .\\n225 It has everthing you need to have a great time in a great city, location, good service, great food , comfortable rooms and a complimentary happy hour .\\n226 Location is also great, with a couple of supermarkets within a block from the hotel .\\n227 Good hotel great location friendly staff .\\n228 We found the location for few days stopover to be perfect for the top sightseeing musts .\\n229 All in all a nice little hotel in a good location in Fishermans Wharf .\\n230 Great Hotel in a Great Location\\n231 The location of the hotel is excellent , only a few minutes walk from the cable car terminal and adjoined by a large Barnes and Noble bookstore with Starbucks for whiling away any spare moments !\\n232 The room had a few annoying decorative items , , like a four, foot long round pillow carefully placed at the same location on the bed by the maid every day , , that seemed spawned by a marketing maven .\\n233 Other than the small room, the location was great and very close to all the attractions of Fisherman's Wharf .\\n234 Perfect Location Priced A Little High\\n235 The location is terrific , two blocks from Fisherman's Wharf .\\n236 It is a 2 block walk to the wharf and the location is very convenient .\\n237 While the rooms were lovely for that price they were extremely small, but the location was just perfect .\\n238 Location is fantastic , , 2, 1 2 blocks from Fisherman's Wharf, 4 blocks to Pier 39, 1, 1 2 blocks to the trolley .\\n239 The location was perfect, we could go anywhere and still feel close .\\n240 It is in a great location, the staff is always alert and courteous, the rooms are clean, the morning coffee and biscotti are a nice touch, the happy hour is a PLUS, and the price is right !\\n241 I planned a weekend getaway and thought because of the location and Hotel chain we would receive good service .\\n242 If you get a cheap rate here, have low expectations and are sound sleepers, then this is good for location to Fisherman's Wharf attractions .\\n243 Nice, medium sized hotel in a good location .\\n244 This hotel is in a great location in terms of a walking distance to key Fisherman's Wharf attractions .\\n245 The location is excellent right in the centre of fishermans wharf, a few minutes walk to all the major attractions and cable car .\\n246 The staff at check, in were nice enough, but unfortunately the concierge was not very helpful, giving us wrong information about our car hire location causing us to get 2 cab rides instead of one .\\n247 Good value hotel for the location .\\n248 The location of the hotel was fantastic it takes a couple of minutes to walk to pier 39 and is right next to the tram stop to take you into the main shopping areas .\\n249 We would recommend this location for anyone who wanted to be close to all attractions .\\n250 The location was great, just a few blocks from Fisherman's Wharf .\\n251 Again, the location was great !\\n252 The hotel is in a great location you can walk to anything in the Fisherman\\u0092s Wharf area .\\n253 We enjoyed our comfortable, clean room, as well as the excellent location .\\n254 The location was a nice surprise as the cable cars are around the corner, buses available easily .\\n255 A wonderful property in a super convenient location .\\n256 I highly recommend this property to anyone looking for a comfortable stay in a quality hotel in a great location .\\n257 Very clean room, great location, wonderful service and dog friendly .\\n258 The location could not be any better .\\n259 The room was very well appointed with quality furnishings and it was decorated in a classy and individual style, not what you normally expect from a chain hotel in a touristy location .\\n260 Great room, friendly staff, superb location , just a couple of blocks away from the hustle and bustle of Fisherman's Wharf and 2 minutes from the cable car turnaround that takes you straight to Union Square .\\n261 The locationof the Tuscan Inn is the best, right on Fishermans Wharf .\\n262 You cannot beat the location !\\n263 The location is good here, but that is all the good I can say about this place .\\n264 The location is fantastic , just a few blocks from Fisherman's Wharf, and everything is nearby .\\n265 From the hotel we walked to Fisherman's Wharf, Pier 30, The Cannery, Ghirardelli Square, Coit Tower, Lombard Street, Chinatown, and many other locations .\\n266 The only good hting was the location .\\n267 Got to hotel, disappointed in the incredibly small rooms, but location is great .\\n268 PROSThe location is wonderful .\\n269 Overall though, the location was great and the hotel was nice .\\n270 It is in a great location, the rooms are clean and comfortable and the managers wine hour is a welcome bonus .\\n271 You also can't beat the Tuscan Inn for location .\\n272 Great location at a reasonable price\\n273 The hotel location was great .\\n274 The location is great, if your an active person you can walk everywhere from this hotel, in fact we took a long run up the shore , , crissy field and accross the golden gate bridge .\\n275 We plan on visiting the city often, and we plan on staying at this location for the foreseeable future .\\n276 The rooms and building are quite nice , location is excellent .\\n277 great location and reasonably priced\\n278 The location is perfect for walking to most attractions .\\n279 Big, clean comfortable room and a great location .\\n280 great rooms fantastic location and great service !\\n281 The best feature of this hotel is location, location, location .\\n282 Great Hotel and brilliant location near Fishermans Wharf\\n283 The staff were helpful, it was in a great location, and was very charming .\\n284 We would probably stay here again, as the location is also good .\\n285 Great hotel, great staff, great location not any problems what so ever .\\n286 You can't beat the location with a stick, but the " suite" was awfully small .\\n287 the staff was very friendly and the location is great .\\n288 The location is 1st class , a few minutes from the Wharf and all its attractions , and close to a Safeways Supermarket and handily placed for buses , trams and cable cars .\\n289 The location is perfect for the first, time visitor and Fisherman's Wharf has a lot of nice things to do and places to eat .\\n290 The best thing was the location, close walk to the wharf and other places .\\n291 Location is perfect for Fisherman's Wharf and adjoining areas .\\n292 The room was a good size and the location, being just a couple of blocks from the Wharf was excellent .\\n293 It is very convenient to Fisherman's Wharf and you can easily get to any other locations in the city via the Muni system .\\n294 Great location,close to everything .\\n295 Hotel is nice and clean, in a very convenient location, and the staff is friendly and helpful .\\n296 Great location for Fisherman's Wharf and a hotel with a homely, personal touch .\\n297 Lovely hotel and excellent location .\\n298 Overall though a top hotel in an excellent location .\\n299 We thought the location was excellent, , attractions in San Francisco are not all in one spot, so no hotel will be adjacent to everything you want to see .\\n300 Nice hotel close to the action however, I did not like the location , while it was close to the Wharf, the area of the hotel was seedy .\\n301 The location could NOT be better , we were 2 blocks from the Wharf !\\n302 Hotel could not have been in a better location , , can't be beat !\\n303 Courteous, responsive service and a great location !\\n304 The location was excellent, so close to all the touristy things .\\n305 The service was good, the wine service each evening was very nice next to the fireplace, and the location was awesome !\\n306 Comfortable hotel in very good location for ferries and Pier 39 .\\n307 Yes, the rooms were small for the money paid but the location was wonderful .\\n308 OK hotel,very small and tight room, nice lobby and good location if you want to be by all the tourists that get drawn to the wharf, the best part of the hotel, the restaurant downstairs on the corner, a little pricey but good breakfeasts and dinners .\\n309 if you want to be more center city, check out other locations in a different area .\\n310 The staff was friendly and helpful, the beds were comfortable, the rooms were clean, and the location was convenient .\\n311 The location was perfect for a walk to the wharf and North Beach .\\n312 A superb location, reasonable price, easy access to all the main sights and transit lines to get around the city .\\n313 Friendly Staff Great Location !\\n314 Location is great, very close to the wharf, easy walk to pier 39, less than a block's walk to the Cable Cars .\\n315 The location of the hotel provides easy walks to numerous area attractions .\\n316 The location is perfect, right near the Wharf and lots of restaraunts shops .\\n317 All in all, a fantastic hotel and a great location .\\n318 We loved the location and were able to walk to take a trolley to all of our desired local destinations .\\n319 Great location nice atmosphere !\\n320 The location is terrific, away from the city hassle but within walking distance to many attractions .\\n321 It was smaller than we were used to, but the location made up for it .\\n322 In addition, it is location, location, location .\\n323 That said, the location is marvelous .\\n324 If you are looking for a great location, I would recommend this hotel .\\n325 Great Place Even better location\\n326 It was a very convenient location to Pier 39 and the trolley cars .\\n327 Value location and they remember your name\\n328 It's location is fantastic if you want to get to the Ballpark, to the cable car, on and off the freeway, to the wharf, etc .\\n329 Decent suite OK price great location\",\n \" Great location for tube and we crammed in a fair amount of sightseeing in a short time .\\n0 All in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n1 Great Price Terrific Location .\\n2 The location is absolutely wonderful .\\n3 Our main focus before booking was looking for a low price with good location .\\n4 Very Good Value , Excellent Location .\\n5 The location is ideal for travel all over the city via the Underground .\\n6 Excellent hotel in prime location .\\n7 Good Location Horrible Service Disgusting Procedures .\\n8 First and foremost, the good, yes it has good location, a block away from Gloucester Road Tube Station .\\n9 The convenient location and competitive rates finally sold us on a repeat visit .\\n10 The location of this hotel is it's best feature , two blocks from the tube on lines that run to most major attractions .\\n11 The saving grace of this hotel, is the friendly staff and its location in Kensington .\\n12 The positives were the location, a block from the Gloucster Rd .\\n13 The public areas are fine if bland, the rooms comfortable if slightly cramped, the location good for tube and bus but just a little 'distant' .\\n14 Its saving grace is its location .\\n15 The location is excellent , near to the Tube and walking distance of a lot of attractions .\\n16 Turned out to be this excellent property in a prime location .\\n17 Location could not have been better with the Gloucester Road tube station just a few minutes' walk from the hotel .\\n18 Bottom line is that I would definitely return to this property for its comfort and convenient location .\\n19 Great Location clean good place to stay !\\n20 Overall, I would recommend this hotel to friends, and would probably stay here again, because it was such a great location and clean .\\n21 Even better is the hotel's location , literally a two, minute walk around the corner and you're at the Gloucester Road Tube Station and a host of small shops, pubs and eateries .\\n22 Great stay friendly service great location .\\n23 I would say this is a better than standard HI and the location just can't be beat .\\n24 I am giving a 'very good' based on staff, rates,and location .\\n25 We liked the location and decided to stay again .\\n26 The location close to a tube station and a grocery store is ideal .\\n27 average hotel in a good location .\\n28 This hotel is in a good location .\\n29 If you want a reasonably priced place to stay in London in a convenient location, then this is a good choice !\\n30 Excellent Hotel Excellent location Would definately stay again !\\n31 In London its often hard to find good location and good customer service in the same place , The Holiday Inn Kensington Forum did that for me and I couldn't ask for more .\\n32 It's rated 4, stars, but I also stayed at an equivalently rated Marriott while in London, and a 3, star Holiday Inn Express in Scotland, and the service and rooms were much better at the other locations .\\n33 great hotel in a lovely location .\\n34 Excellent location next to Gloucester Road tube station that has 3 train lines making getting around London really easy .\\n35 Good location one excellent concierge but problems .\\n36 The location of the hotel is really good .\\n37 Great Location for Sightseeing .\\n38 Efficient hotel with a good location .\\n39 The location is a block away from the underground station on the Picadilly Line direct from Heathrow Airport .\\n40 Excellent Hotel , Great Location .\\n41 Good Location New Room Bad Service .\\n42 The hotel was a great location just 1 block from Tube, Grocery Stores, Pharmacy and 2 blocks from Natural History and Victoria Albert Museums .\\n43 Convenient location not 4, star room and services but OK .\\n44 Great location but definitely NOT a 4 star hotel .\\n45 LOCATION , this hotel is located around the block from the Gloucester tube station and a few ATM machines .\\n46 Great location but is it really 4 star ?\\n47 , Great location , Very good selection of food for breakfast buffet .\\n48 The location was only a five minute walk from the Gloucester Road Tube stop .\\n49 Great location, near Gloucester Road tube station, handy cluster of cafes, shops, couple of pubs, plus supermarket in the station complex .\\n50 For the price and location, this was a very great hotel .\\n51 Good location clean and comfortable .\\n52 Great location but not sure it's worth the money .\\n53 What you are really paying for at this hotel is location and in hotel restaurants .\\n54 Fantastic location very close to the tube and buses .\\n55 It was a pretty good value and in a good location .\\n56 We wanted something more spacious, but this hotel had extremely convenient location and good reviews, so we decided to stay there .\\n57 The positives, great location, just a few minutes from a tube station which makes touring easy and with a travelcard taking midday breaks is easy .\\n58 Apart from the location, the hotel was really not up to standard .\\n59 It is a great location, the rooms are a bit basic, but clean and we actually got a pretty good view this time .\\n60 excellent location friendly staff .\\n61 went for a city break with the family hotel good location harrods 20 mins walk,royal albert hall 10 mins,and under ground around the corner,plenty to see and do around hotel .\\n62 One good aspect of this hotel was the location, it is about 2 blocks to the tube station, shopping and eating .\\n63 Not too easy to find rooms for more than two people in London unless you compromise on a few things, such as cost, location etc .\\n64 Location is not very good since one has to travel by tube to shop or sightsee .\\n65 The location to the Gloucester Road tube station was very handy .\\n66 We chose it due to its location i .\\n67 Great location for first time traveller .\\n68 When I approached one stewardess, she assured me that her airline used Holiday Inn Kensington Forum on a regular basis because of its location .\\n69 Hotel was super average nothing great about it at all except the location .\\n70 Since everyone starts with the good that I agree with , great location, very clean, I'll state the not, so good .\\n71 One of the best features of this hotel is the LOCATION .\\n72 The hotel's location is perfect for sightseeing and shopping and the Tube .\\n73 Location great but hotel dated .\\n74 Tower block hotel in fantastic location near good shops, bars and restaurants .\\n75 The positives about the place are the views from the windows if you have an upper floor room, and the location next to Gloucester Road tube station and a small shopping area .\\n76 For a little extra money, the soon to be Crowne Plaza over the road offers far better service yet with the same great location\\n77 Nice hotel with great location for transportation .\\n78 We've stayed at this hotel before and it's always been a great choice for it's location, cleanliness and staff .\\n79 very good location, next to underground station, very near to city center .\\n80 Convenient location Great Concierge service .\\n81 It isn't the most central location but I found it easy enough to get into London .\\n82 I would definitely stay here again for the location and the great customer service .\\n83 Great location and above average rooms .\\n84 For the price and the location I thought this place was great .\\n85 The location is just around the corner from the tube, Boots and Waitrose right next door, close to many restaurants including fast food if you like .\\n86 Its location is probably the first thing worth mentioning, being a 10 minutes walk from the natural history museum, a 15 minutes walk from beautiful Hyde Park and just behind the corner of the Gloucester Road underground station .\\n87 Even otherwise, no matter if it's going to cost you a bit more, I'd still recommend it, considering its location and overall standards .\\n88 There was a lot of road noise, but this is only to be expected, given the location .\\n89 Location is great, 5 mins walk to the Natural History Museum, 15 to Kensington High St and 2 mins to the tube and in a high room you can see for miles .\\n90 Location was excellent with close proximity to tube station We will definitely stau here again , good value\\n91 Great location for the tube and bus !\\n92 Also it is perfect for the Gloucester Road tube station with direct trains to Heathrow airport terminals,very good location turn right as you exit the station the hotels a 3 minute walk on your right hand side .\\n93 Location is very close to Gloucester Road Tube so easy to get into central london for the tourist sites .\\n94 Some positives are that it is in a good location for the tube .\\n95 It's a great location , literally a minute's walk to Gloucester Road tube station, 5 mins walk to the Victoria Albert Museum and the British Science Museum .\\n96 But for the price, and the favourable location, we were content .\\n97 pleasant hotel very good location .\\n98 Great location for all London has too offer .\\n99 The hotel is in a very good location for touring London .\\n100 Clean rooms, great location, close to the Gloucester Tube entrance .\\n101 The one standout is location , , it's only about a block from the Gloucester Rd tube station, which is on the Picadilly line that connects to Heathrow, so being on the west side of London, it's a shorter ride to and from aiport and a very short walk to your hotel with no changes, and then you are close to public transport for the rest of your stay .\\n102 Good hotel for the price nice location .\\n103 No noise problems and a nice, convenient location .\\n104 Perfect Location and Excellent Hotel .\\n105 Room , clean, good size, everything you need is in the room including the coolerLocation , within every attractions, short walk or you can take the double decker just across the street .\\n106 Great location , good value place to stay .\\n107 The Holiday Inn Kensington Forum benefits from a fantastic location, right next to Gloucester Road Tube or to Paddington Station for the Heathrow Express .\\n108 Believe me, the location alone is worth the stay .\\n109 The location is fantastic near Gloucester Station which was very handy for all our needs in transport !\\n110 The breakfast we had 1 morning was to say the least quite incredible there was so much variety, there was also no complaint in this area with the staff they were right on the ball helpfulThis hotel while being high rise had some low moments for us as we felt some areas were really lacking but the hotels location is superb and staff like Peter did try and make your stay worth while .\\n111 The location is South West London and a healthy but doable walk from landmarks like the Museum of Natural History, Albert's Hall, Kensington Gardens, and Harrods .\\n112 LOCATIONA block from Gloucester Road Tube which is conveniently on the Piccadilly, District Circle lines .\\n113 Other reviewers are right, the entrance is in a bizarre location but once you figure it out, it's fine .\\n114 Nice clean rooms, good value, and average location near a tube station, but the rooms directing towards the main street outside are all VERY noisy .\\n115 Terrific location wonderful staff excellent pub !\\n116 This was our first trip to London and we found the location to be excellent .\\n117 Lovely hotel, terrific location, wonderful helpful staff, immaculately clean rooms .\\n118 Great location, 1 min from Gloucester Tube .\\n119 Excellent location good value .\\n120 Excellent location in the nice and relatively quiet area 100m from Tube station and shops restaurants .\\n121 The hotel's location is the best thing about it , near the tube stop, museums and Kensington High Street .\\n122 For our purposes, the hotel was perfectly adequate , the location was good and the room was clean and quiet .\\n123 Good location but need upgrade .\\n124 I really love the location of this hotel .\\n125 But again, the location could justify charging that price .\\n126 The hotel is very nice and the location is excellent .\\n127 If you're looking for a no, frills hotel that is all about location and price, this is your place .\\n128 All, in, all this hotel was a great choice for the price and location .\\n129 The Holiday Inn Kensington Forum has a fantastic location for a city break in London .\\n130 The best thing was the location .\\n131 Good location ,near the tube .\\n132 Good price location but no thrills .\\n133 The location is great , very close to Gloucester Road Tube, with Waitrose supermarket, coffee shops and restaurants nearby .\\n134 Great value and awesome location .\\n135 Instead you get attractively appointed, decent, sized rooms , AC that works, a modern bathroom, plumbing that doesn't gurgle and bang in the night, iron and board, bathrobe and slippers, lots of TV channels and a location that can hardly be bettered .\\n136 The location is terrific for museum, going and the Royal Albedrt Hall is an easy walk away if you enjoy concerts .\\n137 Great Location Nice Rooms Friendly Staff .\\n138 Great location service questionable .\\n139 Like other reviews, the location of the hotel is great, seconds around the corner from the tube .\\n140 Location wise, the tube station is just around the bend and key restaurants Bugis St .\\n141 Great location, close to the Underground and several excellent Pubs .\\n142 Everything was clean, the staff were very friendly and helpful and the location was excellent, all at a relatively cheap cost .\\n143 Location can't be beat, right on bus lines, next to tube station .\\n144 A nice hotel a resonable rate and a great location .\\n145 Location of hotel is great, next to Gloucester Road tube, close to museums, short hike to Buckingham Palace etc .\\n146 Location is the only thing it has going for it .\\n147 Great location, okay value and what you would expect .\\n148 On the positive side the location of Holiday Inn Forum was very handy for a conference I was attending .\\n149 The location is superb with the tube and bus stops literally steps away .\\n150 Nice location by Glouchester tube stop .\\n151 The best part about the hotel is the great location in Kensington .\\n152 Great Location and great business hotel .\\n153 Holiday Inn Kensington Forum is a perfect no fuss business hotel with fantastic location .\\n154 Great location pub in the ground floor .\\n155 Having never been to London, I found it easy to get around to places of interest from this location .\\n156 great location great breakfast !\\n157 Great location , we did what others have descibed and turned along Cromwell road and went to the other Holiday Inn in error when we first arrived .\\n158 This was my second stay at this location in the past one year .\\n159 The hotel is in an excellent location only a short walk to Gloucester Rd .\\n160 The location of the hotel is excellent, in a very nice area right next to the Gloucester Road tube station and direct on the picadilly line from Kings cross .\\n161 We thought this was a great value for such a great location .\\n162 Great location for vacationer .\\n163 The hotel was good and in a great location .\\n164 You cannot beat the location !\\n165 Coming from Cardiff, the location was perfect, as it was straight off the M4 and a short drive on the A4 before reaching the hotel .\\n166 it's just a great location, period .\\n167 This hotel provided that and a great location to boot !\\n168 the hotel is in a good location .\\n169 Convenient Location for Tourists .\\n170 Great location close to Gloucester Road tube stop .\\n171 Would definitely recommend this hotel if only for the fair price I got on priceline combined with the great, convenient location, which made it easy to get to all the touristy sites in London .\\n172 Convenient to Gloucester Road tube station, , location could not have been better .\\n173 Great location with cafes, restaurants and grocery stores all around .\\n174 All in all a clean room, great location near hyde park and all the stuff in kensington chelea, near tube station , quiet area .\\n175 Great location clean and quiet .\\n176 Location is excellent to the tube stations .\\n177 The good thing about this hotel is its location, you are a 10 minute walk from Harrods and \\u00a313 taxi ride to Covent Garden which will take you past all the tourist attractions :\\n178 Loved the location as it's only a 1, minute walk from the Gloucester Road tube station .\\n179 I like this hotel due to its location, but the management need to get a grip .\\n180 Its in an easy location from the tube, just two minutes walk .\\n181 The hotel has an unbeatable location in a very nice part of South Kensington , only 1 block from the Gloucester Road station .\\n182 The location of the hotel is fine and actually the hotel is not extremely bad but it is extremely EXPENSIVE .\\n183 We've stayed in London a lot and booked this hotel for one night due to a number of factors , the location, the price the availibility of a room to accomodate three adults .\\n184 The hotel itself is truly in a great location , on the same road as the major London museums it took a leisurely 5, 10 minutes to stroll to the wonderful Natural History Museum a further 5, 10 minutes up the road to Harrods .\\n185 If we hadn't experienced a problem with the a c I would have rated my overall stay here 5 5 for value, location, comfort, etc .\\n186 Location itself is great, but everything else is terrible .\\n187 don t stay here unless if the Kensington location is important to you .\\n188 Geat location, clean, relatively quiet inside the rooms, somewhat confortable .\\n189 The main reasons are location and the quality of the air conditioning .\\n190 Yes, the standard rooms are small for two people and, yes, they seem to have a lot of trainee staff at the front desk, who struggle sometimes with the language, and yes some of the rooms are affected by traffic noise, but for a good location and a no, frills room provider, it is hard to beat .\\n191 Clean rooms, bustling lobby, GREAT location .\\n192 I will NOT recommend this location .\\n193 I travelled during the off, season in January to London, this was my first stay at this location and I would definitely consider doing so again .\\n194 Less than a five minute walk from the tube station and within walking distance to the Museum of Natural History, really a good location .\\n195 , , The one thing this hotel has it going for it is the location .\\n196 With a kid and a stroller, this definitely is a very convenient location .\\n197 Cromwell is a pretty posh and popular location .\\n198 A fine hotel and great location .\\n199 We could not have been happier with the location or the room for the price .\\n200 Great location indifferent service .\\n201 This being our first ever visit to UK, must say the location of the hotel, just 2min walk from Glousceter Rd tube stn was a great advantage as even during the weekend, Piccadely line remained open, though distict and central lines had some restrictions on a c of maintainence etc .\\n202 Good value and excellent location .\\n203 Booking through Priceline led me to the Holiday Inn Kensington Forum which was inexpensive, in a great location, and clean and comfortable .\\n204 The location of the hotel is great because it's about a block from the Gloucester Road Tube Station which is on several Tube lines .\\n205 In short, the location of the hotel made travel around London and getting to train stations to go out of London incredibly easy .\\n206 Overall, we felt this hotel was in a convenient location and a good deal for a London hotel .\\n207 As other reviewers mentioned, good location and lots around to do eat see enjoy .\\n208 Nice hotel with great location .\\n209 The location is excellent, just a half a block from the Glouster Rd .\\n210 Also, the tour bus most likely will not drop you off at your hotel after the tour, but rather at Victoria Station or some location nearest your hotel as the bus driver can get .\\n211 Also, the close location of the gloucester road tube stop is great for getting around all of london .\\n212 Great location , a couple of minutes walk from Gloucester Rd underground station, and shops, restaurants, internet cafe etc\\n213 Great location but don't bring the car !\\n214 The location is great however, only 5 mins walk from the Gloucester Road tube and 10 mins walk to the South Kensington museums, Albert Hall, etc .\\n215 The hotel is in an ok location , close the the Gloucester Rd tube station .\\n216 The location of the hotel was great .\\n217 Otherwise, really great location with the refrige being key .\\n218 This is our 2nd time at the Kensington Forum and love the location .\\n219 Location was great come out of tube station, take first turn right and walk 150 yards you're there !\\n220 Location was great , close to tube stop .\\n221 The location of the hotel was excellent, a 5 min stroll from Gloucester Road tube, next to tesco express and a large supermarket just around the corner .\\n222 The location is perfect, very central and very near the subway .\\n223 However the location was great with the underground and good restaurants nearby .\\n224 One of the nicest features about this hotel is the location .\\n225 So many employees, a wonderful location, an impressive building .\\n226 Well, after all, as I said, great location, great view, NOTHING ELSE !\\n227 On a positive note the location is great and the overworked staff did their best however if visiting London their are definitely better options such as the NH which is just around the corner .\\n228 Perfect location, right around the corner from the tube .\\n229 Our parents who are 55, 70 were able to wonder around the entire city by themselves due to the ideal location of this hotel .\\n230 Nothing fancy but we were quite happy with the location of the hotel, just like most who have stayed at the hotel before .\\n231 Overall, we found the hotel only good for location and decent room if somewhat cold just like the weather was in London then .\\n232 The breakfasts were excellent and the location is great for viewing London by bus, on foot and by tube , which is just at the end of the road .\\n233 Great Location, Very Clean Miami FL .\\n234 The location in the Kensington area could not have been better, the area is safe, nice and fairly quiet .\\n235 A Great Location, Friendly And Polite Staff, First Class Breakfast And Rooms As Described Above Will Have Me Returning Again And Again .\\n236 Very convenient location for Gloucester Road tube .\\n237 The location was excellent with a number of good eating options locally and Garfunkels and Ask Pizza located in a complex within a very short walking distance for kids who want something easy .\\n238 brilliant, behind tube station, near local stores, restaurant, posh area, near kensington park, great central location yet quiet enough in a cul, de, sac location .\\n239 flaw location of main entrance, big signs and big flags on main street but enter from the back, tiny miserable unwelcoming cheap entrance design, confusing to first time visitors .\\n240 the only reason to choose this hotel is its location, for other aspects, not up to standard for its price .\\n241 The Forum Holiday is a big high rise and right across the street, is another Holiday Inn, albeit it much smaller which tends to confuse people looking for that 2nd location hotel .\\n242 Great Location and Hotel for the Money .\\n243 The location in South Kensington is excellent as the Gloucester Road tube station is just around the corner and is served by 3 main lines, , District, Circle and Piccadilly .\\n244 Can't say enough about the price, quality, location and convenience of this hotel and area .\\n245 Good points excellent location really very close to the tube and the tube is on good lines so not lots of changing .\\n246 The location is in a good location near the tube and only a few minutes by cab to central London .\\n247 Although in some ways I would have preferred a smaller, more authentic English hotel, we really couldn't beat the combination of price and location .\\n248 Location is good if you plan on taking the tube .\\n249 Would recommend the Holiday Inn Kensington Forum for location, price , and cleanliness .\\n250 Decent rooms and good location .\\n251 Stayed at this hotel, for one night, as the location was ideal for our night out at the Royal Albert Hall .\\n252 As also said before, location is excellent, very near the tube stations, plenty of delis and eating places nearby and a supermarkets for any snacks we wanted for the room .\\n253 Location is great, hotel is wonderful, and price is right, it really is hard to beat right now .\\n254 good location great deal on priceline .\\n255 This hotel is in a very convenient location, just a block and a half from the Gloucester Road tube station .\\n256 Comfortable room with large bed but limited space as is often the case with London hotels, but I found the location excellent .\\n257 Stayed between Xmas and New Years and the room, location, etc were what to expect for the price I paid .\\n258 The location was great too as it was next to the tube .\\n259 Excellent location but rooms far too hot .\\n260 hotel but would stay again if the price was right due to the excellent location .\\n261 Good value in a good location .\\n262 The location was ideal for getting around London .\\n263 Which leads us to , location, this hotel's best feature .\\n264 Stay here , you won't regret it, great price , great location .\\n265 The Hotel location was absolutely perfect for sightseeing and shopping .\\n266 Overall, for the money, location, and for the piece of mind knowing that its going to be clean and comfortable, look no further .\\n267 Perfectly adequate excellent location .\\n268 THe location was great, just aroung the corner from the tube .\\n269 But we also didn't give them any hard times, so they didn't have to fake anything , The location of the hotel is just perfect .\\n270 As everyone mentions, the location was perfect for sightseeing .\\n271 , very clean, quiet, bathrooms appear to have been updated recentlyThe hotel location is great .\\n272 The location is fab , near the Gloucester underground station and the Waitrose grocery store .\\n273 Excellent location shame about the service !\\n274 Fantastic location and local amenities i .\\n275 The location is great and the Tube station is very close .\\n276 good hotel for the price and location .\\n277 Apart from that, the staff were friendly and the location is great .\\n278 The location is incredibly convenient, with lots of restaurants and easily walkable to the tube .\\n279 The single thing to recommend this hotel is the location, which is excellent .\\n280 The location is EXCELLENT, just round the corner from the subway .\\n281 Friendly helpful staff, clean and comfortable rooms and not to mention its great location .\\n282 This hotel is in a very good location , tube, buses, restaurants, shopping and museums all within very easy walking distance .\\n283 All in all, if you do not mind giving up the Euopean atmosphere, the Holiday Inn gives you a comfortable stay with the most convenient location .\\n284 Location was great being only a few yards from the Gloucester Road tube on Piccadilly, Circle and District lines and was therefore an ideal base for our sight seeing visit .\\n285 Great location and can't beat the price and the comfort !\\n286 Since this location is the designated layover site for American Airlines, there were tons of pilots and flight attendants everywhere, but that added to the familiar feeling of having Americans around .\\n287 Pleasant staff, clean hotel, comfortable beds, with a great location .\\n288 Good Price Great Location Would definately stay there again !\\n289 Anyway it may not have the charm or history of other hotels in London, but for the price location we would visit again .\\n290 Excellent location clean but small .\\n291 The best feature of this hotel is it's location .\\n292 The location is perfect with many everything you need just outside the door including a great French patisserie and coffee shop .\\n293 Best part of all is the location, loved the Gloucester Road tube station nearby and the South Kensington area in general, very safe to walk around in any time day or night .\\n294 Gloucester Road tube station is at the westernmost side of zone 1, making it a perfect location between the airport and central London .\\n295 The location of the hotel is superb , 2 minutes walk from Gloucester Road tube .\\n296 Location is hard to beat though .\\n297 The hotel was clean, the beds were comfortable and the location was great .\\n298 Maybe I'm being a little harsh so if you can get this hotel at a good rate it is probably just about worth it, as it has an excellent location .\\n299 Awesome location comfortable rooms .\\n300 Great service and perfect location !\\n301 I would definately recommed this hotel to anyone as it is unbeatable for price and location in London .\\n302 I wanted a good location, above all else, and this hotel fills that need .\\n303 For a similarly good location , you can stay at the London Hilton Metropole for the same price and receive much better service .\\n304 It's a great location and the rooms are nice and clean and yes, a bit small but definately NOT tiny .\\n305 It's a great location VERY near the Gloucester Rd tube stop .\\n306 Perfect if you are going to see the sights in London, , great location to get around from, , right downtown .\\n307 A decent hotel with a great location .\\n308 The raves about the location are well deserved .\\n309 it's a solid property, with an amazing location !\\n310 Again the location just can't be beat !\\n311 Great Location , Just fine for our stay .\\n312 Very convenient location one block from Gloucester Road tube station .\\n313 It is in a very good location for catching the tube or the Hop On Hop Off bus tour .\\n314 The hotel caters to airline personnel, cruise tourists, and is a good choice for someone that wants to have a safe location .\\n315 Good location if you want to be near the Piccadilly line to Heathrow , but otherwise very average .\\n316 Solid Deal in a Great Location .\\n317 Excellent Hotel Excellent Location !\\n318 Location wise it is a 5 min walk to the tube and you are on the circle, district and picadilly line .\\n319 The location is great though to get to the Tube and sites around West london and i got a good rate for the room .\\n320 The top feature of The Holiday Inn Kensington Forum is its location, in a superb area of London that's clean, safe and interesting .\\n321 Not impressed at all and will not stay again despite good location .\\n322 But it's great value for money, great location, pleasant staff, good food, and we'll be staying there again .\\n323 We thought this modern, efficient hotel was excellent value for such a great location in the heart of London .\\n324 Great location great breakfast bathrooms tiny .\\n325 The location of the hotel is, as stated earlier, absolutely fine and well within walking distance of the V A, Natural History Museum, Science Museum and Hyde Park .\\n326 The location can't be beat , , a two, minute walk from the Gloucester Road tube stop .\\n327 Great location, close to a tube station with a 24 hour Tesco metro nearby .\\n328 Mother was very pleased with the location and convenience .\\n329 GREAT location and bargain internet price !\\n330 The rooms are a standard European size but they are kept spotlessly clean and the hotel couldn't be in a better location .\\n331 The location of the hotel was brilliant , really nice area .\\n332 Still, if you're just looking for a cheap place to lay your head, the Holiday Inn Kensington Forum is a great location .\\n333 The location is fantastic, , you're literally around the corner from the Tube station there's a Sainsbury's supermarket right above the aforesaid Tube station .\\n334 Another plus is its location , convenient to the tube, museums, shops, etc .\\n335 This was our second stay stay at this hotel based on it's location .\\n336 b basis Hotel huge , 900 rooms Buffet breakfast good for a buffet This is a well run hotel with a great location for the metro Rooms a bit on the small side but I would stay again\\n337 The location is also good because it is literally 150 footsteps from Gloucester Road Underground Station .\\n338 I have stayed in a few hotels in London while touring but it would be difficult to find a better location in London for the tourist class who is looking for value, efficiency and cleanliness .\\n339 The location and American standards are nice touches .\\n340 The location was perfect, just a minute from the Gloucester Rd .\\n341 We were easily able to navigate the city from this location .\\n342 The hotel is clean, modern, and in an excellent location .\\n343 But we would definitely stay again because of the hotel's location .\\n344 Aside from that, the location is great and the furnishings were modern and very comfortable .\\n345 Excellent location and service .\\n346 The location is excellent, just a short walk from the Gloucester Road tube station and in a lovely neighborhood .\\n347 Overall an above average hotel based on location and price but not one for a romantic get, away !\\n348 Location is fantastic , both on bus line and underground, with many useful stores on Gloucester Rd .\\n349 This is a good basic hotel which has a terrific location .\\n350 , checked us in at 11 am after a transatlantic flight, room larger than average, compared to our continental Europe travel, location, location, location .\\n351 The location is right next to the Picadilly line tube stop, so it is very convenient to get around town and also to the airport .\\n352 Great location, grocery store open 24 hours within 5 mins walk and friendly international staff, will stay here again .\\n353 Great location , but executive room not worth it !\\n354 We enjoyed our trip to London , and the location for the Holiday Inn Kensington Forum was terrific .\\n355 I do recommend the hotel , it was clean, excellent location, there was ice on the top floor along with one microwave, etc .\\n356 Right off of the Piccadilly and Circle tube lines, the location is excellent .\\n357 It is a relatively new hotel, clean and has a great location which is close to the underground with 3 connecting lines, it gives you an advantage to go anywhere without changing lots of trains .\\n358 Fantastic location right next to Gloucester Rd tube station .\\n359 Excellent location service cleanliness and price at the Holiday Inn Kensington Forum .\\n360 All in all great location , nice restaurants nearby, nicely pitched service .\\n361 Speaking of the tube, the location really is great 1 block away !\\n362 The location of the hotel is excellent .\\n363 Like others, I liked the location with restaurants, Glouster tube station, small grocery stores, , , and internet cafes within easy walking distance .\\n364 The location of the hotel is excellent , one block from the tube Gloucester Rd and the surrounding neighborhood is fantastic , take a walk from High Street Kensington to the hotel , I'd love to live there !\\n365 Great Hotel Great Location Great Value !\\n366 The biggest advantage of this hotel is it's excellent location just off of Gloucester Road in Kensington, with the Undergroud one block away, along with several nice restaurants and pubs in the area .\\n367 Although the location is a bit removed from the West End, it is only a block away from the Gloucester Road underground, with three train lines that will take you almost anywhere in the city in 15 minutes or less .\\n368 great location good but large tourist hotel .\\n369 The location is great and very convenient .\\n370 The location is great but there are many hotels in the same area so I might try out others but would certainly consider coming back .\\n371 Can't beat the location, rooms, value and view !\\n372 Good Value Nice Hotel Fantastic Location .\\n373 Holiday Inn KF has a location that cannot be beat .\\n374 this is definitely the location you want .\\n375 Great location loved the hotel .\\n376 The tube station is right there and the location is great for getting around London .\\n377 You could not beat the location or the price .\\n378 The price is moderate for the service and the location .\\n379 I will say this hotel is in a wonderful location, right across from the gloucester tube station and only a stop or two away from Notting hill, Harrods, and Kensington High street .\\n380 Location is so convienent to the tube and grocery .\\n381 Other than room size, we were very happy with the hotel, especially its location .\\n382 Overall good hotel and very good location close to the tube .\\n383 The hotel has a great location with easy access to most of London's tourist sites .\\n384 The room is a tad small but is super clean and great location .\\n385 The price, the space, the location and the service were the exactly right thing we wanted .\\n386 Yes I do stay here a lot and as such, guess that I get extra special treatment but it is in a great location with the tube within a 2 min walk surrounded by places to eat and drink and far enough out of central London to be quiet but you can still be in the west end in 15 minutes .\\n387 GREAT LOCATION COMFORTABLE HOTEL .\\n388 Outstanding location, even an internet cafe nearby .\\n389 the hotel is in a GREAT location .\\n390 Great location, freshly renovated, very small rooms, anonymous hotel, acceptable service .\\n391 The location couldn't be better in my opinion .\\n392 Price and location can't be beat .\\n393 As said by others, an absolutely excellent location, on tube lines that will get you to just about anywhere .\\n394 The location could not have been better with being so close to the Underground station and near good restaurants, grocery stores, post office, pharmacy, Internet cafe .\\n395 The hotel is set in an absolutely ideal location, offers great rates, and excellent conceirge .\\n396 Great location, one block from the Gloucester Tube station with a number of acceptable restaurants in the area within walking distance .\\n397 Best location and unbeatable price !\\n398 This is an awesome location right near the Gloucester Road tube stop .\\n399 Definitely stay here if you are on a budget , and even if not, it's still nice and the location is really the best !\\n400 A true bargain in the London hotel market, and a very convenient location adjacent to the Gloucester road underground station .\\n401 Excellent location but a couple of problems .\\n402 The location is excellent being a few minutes walk from Gloucester Road tube station with its good connection to Heathrow airport and to central London .\\n403 Great choice in a great location .\\n404 The location could not be better , one block from the intersection of Cromwell and Gloucester Roads, with the Glouster Road tube stop .\\n405 I say fortunate because the location was perfect for my needs as a first, timer .\\n406 This is definitely a modern hotel, no English charm here, but the location and the price can't be beat .\\n407 The location could not be better and best of all it was so clean .\\n408 Everything worked well, was in good condition and the room was quiet in spite of the hotel's busy location .\\n409 Service was great and the location of the hotel was very convenient .\\n410 Great room fabulous price wonderful location !\",\n \" All in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n0 Great Price Terrific Location .\\n1 Our main focus before booking was looking for a low price with good location .\\n2 All for the bargain price off \\u00a3 250 for 2 nights including return rail to North Wales .\\n3 Explore the area and you will find plenty of pubs where you can eat for a reasonable price .\\n4 Half expected a noisy room by the elevator for the bargain price we paid, but instead got a 17th floor room with awesome city view .\\n5 The price we paid for our rooms was reasonable .\\n6 I got this hotel on price line for a 4 night stay with my boyfriend for our anniversary, for about \\u00a380 a night inc taxes, however after reading reviews about this hotel I was very worried about staying here .\\n7 Breakfast is ok, but not worth paying for if it's not included in your room price .\\n8 If you're looking for a clean place to rest your head at a decent price and want flexibility to check in or out as you please, this is a good place for you .\\n9 All in all, it was a decent hotel, but I think I may try somewhere else next time purely just to see what else is available at the same kind of price .\\n10 We ate breakfast at the hotel a couple of days and thought it was overprice for the quality of food .\\n11 For the price and location, this was a very great hotel .\\n12 Price was unbeatable, just 79 pounds night .\\n13 We got this for $75 a night, which is a lot cheaper than any listed price we could find .\\n14 Our breakfasts and one dinner meal were included in our price .\\n15 One day late and I paid the same price for a better room in HI Kensington, the supposedly better classed HI nearby .\\n16 If you need a hotel with services like access to a computer or a concierge who can do more than give directions and order full price tickets to events then don't stay here .\\n17 \\\\the staff is very friendlyi had found a really nice price and for this money this hotel was incredible .\\n18 For the price and the location I thought this place was great .\\n19 Good pub nearby with wonderful breakfasts and meals at a good price .\\n20 As previous reviewers have said, there's a variety of shops nearby and breakfast of a better quality and price can be bought there .\\n21 and fully intend to come back again , if the price is right .\\n22 I booked this one as none of my favourites were available and I was amazed at the lowish price offered .\\n23 Very happy with the hotel for the price .\\n24 Overall for the price I think it was extremely good value .\\n25 The biggest disappointment was the price of Internet .\\n26 However, if you are looking for a comprehensive hotel experience, I'm sure there are plenty of better hotels available for the same price in the city .\\n27 But there are much better hotels to choose from for the same price and at least you get some good service and respect from staff .\\n28 Great Hotel for a great price .\\n29 I used priceline' name your own price and my bid of a $100 night was exepted for a Sunday and a Monday night .\\n30 Good hotel for the price nice location .\\n31 It's nicer than certain other hotels you'd get in the same price range on Priceline and all in all was nice .\\n32 I wouldn't say it stands out particularly, but if you're looking for a reliable, convenient, comfortable place in London, this is a great place to stay , , especially if you can get it at a good price on Priceline or another site like that .\\n33 Nothing that spectacular to justify the price .\\n34 It's an okay hotel, and I don't mind staying there again if I get it for a cheap price through Priceline .\\n35 Restaurant , make sure to try Thai and Singapore restaurants , delicious and good price .\\n36 But again, the location could justify charging that price .\\n37 Thought that we would be looked after given its rating and the price paid .\\n38 The price was exceptional for the Kensington area, and as many reviewers have mentioned, it is a two or three minute walk to the Gloucester tube station .\\n39 All, in, all this hotel was a great choice for the price and location .\\n40 I booked this hotel via Holiday inn ,2 nights for the price off 1 .\\n41 Good price location but no thrills .\\n42 Got decent price on Hotwire as well .\\n43 Overall, for the price , it is a pretty good deal .\\n44 Good price through ExpediaHotel in general is in good shapeTips :\\n45 I would not stay at this Holiday Inn again unless the price was halved, because there are simply too many places offering better value in London .\\n46 Breakfast was appalling, plenty of it, you certainly won\\u0092t starve, but the quality was awful considering the price paid .\\n47 I was shown an executive room if i wanted to upgrade, for the price of 35 pounds a night .\\n48 All in all a pleasant stay for a good price .\\n49 Although the menu is limited it was very good and a reasonable price .\\n50 In particular, there was a nice Indian run coffee breakfast restaurant across the street from the tube stop on Gloucester Road that served a good English breakfast at a decent price .\\n51 Would definitely recommend this hotel if only for the fair price I got on priceline combined with the great, convenient location, which made it easy to get to all the touristy sites in London .\\n52 Staff very friendly and I always worry when booking through priceline that I will get the worst rooms because the price was so good but got a great room on the 16th floor facing the London Eye .\\n53 Just make sure you eat as much as you can for the price you have paid .\\n54 I would recommendeating out as the evening food is frozen re, heat type and for the price you are paying it is not simply worth it .\\n55 However, the first price that they charged me was too much so I had to get a refund then be charged the correct amount for a standard room .\\n56 , smallish roomsOld style bar pubNo ventilation on a smoking floorIt's not worth the hotel web, site price of \\u00a3160 for STD room .\\n57 In short it's a good hotel if you get the price off lastminute .\\n58 com and not the hotel web, site price of \\u00a3160 .\\n59 We've stayed in London a lot and booked this hotel for one night due to a number of factors , the location, the price the availibility of a room to accomodate three adults .\\n60 Another word of warning when booking through the Holiday Inn website , VAT was NOT included in the price at the time of booking until you actually processed the booking and paid for the room , this is apparently now normal for many London hotels which I'd never experienced before , we ended up paying \\u00a317 more per night than I'd expected .\\n61 Despite the above problems I would recommend a stay here, price dependant .\\n62 Bought the room for about 1 2 price using Hotwire .\\n63 Don't buy the bottled water from the hotel , go to the supermarket and get it for half the price !\\n64 However, a continental breakfast was included in the price and had a fairly large selection .\\n65 We could not have been happier with the location or the room for the price .\\n66 The bathroom is tiny but at least there is a bathroom attached to the room in a lot of hotels that I looked at online in the same price range, bathrooms were not en suite .\\n67 I would stay here again if the price was right .\\n68 the only reason to choose this hotel is its location, for other aspects, not up to standard for its price .\\n69 In sum, we wouldn't pay rack rate for this hotel, but at a reduced price it's an efficient, functional place to stay in London .\\n70 I would not pay rack rate for a room here, but it is quite attractive at a discounted price .\\n71 00 which is an affordable price for a hotel in the posh area of Kensington .\\n72 Hotel was clean, convenient to tubes, internet cafes, and local dining of all price ranges and styles .\\n73 Also got a good price for the room thro priceline about 47 pounds per night, hotel very clean and well run .\\n74 All in all I would recommend and would stay again if the price was right !\\n75 I had prepaid for the room on Hotwire good price at $120 .\\n76 If you are just looking for basic lodging at a good price in London, this is the place .\\n77 Although in some ways I would have preferred a smaller, more authentic English hotel, we really couldn't beat the combination of price and location .\\n78 If you're from the US, think 2, 3X the average price when you convert to US dollars .\\n79 Would recommend the Holiday Inn Kensington Forum for location, price , and cleanliness .\\n80 Location is great, hotel is wonderful, and price is right, it really is hard to beat right now .\\n81 Our amazing deal from priceline did not include breakfast, but there were many places in the neighborhood to grab breakfast for a reasonable price before heading out for the day .\\n82 Stayed between Xmas and New Years and the room, location, etc were what to expect for the price I paid .\\n83 My friend and I had one pancakes and syrup, two orange juices, one tea, and one smoked salmon and scrambled egg with english muffin for \\u00a38 in total , the same price as one discounted breakfast at the hotel !\\n84 So often I have booked a hotel at a price only to be disappointed with my choice on arrival .\\n85 hotel but would stay again if the price was right due to the excellent location .\\n86 The bags were located in the closet, but no price list .\\n87 I could have bought a new pair of jeans for that price .\\n88 All in all it was just what we expected based on the price and would stay here again .\\n89 Stay here , you won't regret it, great price , great location .\\n90 The shower pressure was a bit low but that's the price you pay for the top floor and it was well worth it , Instead of minibar there was an empty fridge which came quite handy for our own beverages, I doubt they would have milk in their minibar , Tea and coffee making facilites and iron with board were a great bonus to what we had expected from our room .\\n91 The only downsize of this hotel I see in the cost of breakfast, with price of more than \\u00a315 for full English breakfast or \\u00a310 if booked in advance .\\n92 Our Hotwire price did not include breakfast, but several restaurants were nearby, and the hotel had a reasonable coffee crossaint deal .\\n93 Reserved this hotel through Hotwire and got a price of $90 night .\\n94 That's a good price even though the room was tiny, however, when it came to the continental breakfast, the hotel would not permit us to partake of same, telling us that because we reserved through Hotwire, we were ineligible for the breakfast .\\n95 Good if you don't pay retail price .\\n96 Overall, this hotel is okay if you're on a budget or get a good deal through a discount site, but definitely NOT worth paying retail price for .\\n97 good hotel for the price and location .\\n98 Great location and can't beat the price and the comfort !\\n99 Good Price Great Location Would definately stay there again !\\n100 Anyway it may not have the charm or history of other hotels in London, but for the price location we would visit again .\\n101 We didn't eat at the hotel , there were some great cafe's just around the block with great food at a much better price .\\n102 I would definately recommed this hotel to anyone as it is unbeatable for price and location in London .\\n103 It was a bargain price for the hotel and it was great .\\n104 For a similarly good location , you can stay at the London Hilton Metropole for the same price and receive much better service .\\n105 The room was small, the beds were hard, but a great value for the price we paid .\\n106 GREAT location and bargain internet price !\\n107 There is little difference in the price and when we return to London in three weeks I have booked the Millennium in preference to the Forum .\\n108 Although this was about the same price as the local bars etc .\\n109 All in all I would definitly recommend this hotel to anyone wanting a pleasant stay in London, in a nice area, at a good price !\\n110 We have just stayed in the Kensington Forum and have to say that it is the best hotel we have stayed in in London for the price .\\n111 Our one night stay was arranged by the cruise line so I can't comment on the price .\\n112 A very good value for the price .\\n113 Overall an above average hotel based on location and price but not one for a romantic get, away !\\n114 Got this at a great price via priceline and at first was worried about Holiday Inn, as usually don't care too much for this chain in the U .\\n115 Considering the horrible exchange rate GBP USD at the time we were in London, I believe the price was fair .\\n116 I\\u0092m pretty sure the driver took the most direct route from the hotel, so not sure why the difference in price .\\n117 We stayed 5 nights in a room whose price was second lowest .\\n118 Excellent location service cleanliness and price at the Holiday Inn Kensington Forum .\\n119 Even though this price doesn't include breakfast it was still a great value .\\n120 The Kensington Forum is about as close to an American style hotel as one can reasonably hope to find in London at a reasonable price .\\n121 The continental breakfast which was included in the price was very nice and served in the dining room, a pleasant time before dashing off around the city .\\n122 You could not beat the location or the price .\\n123 The price is moderate for the service and the location .\\n124 The price was a real bargain as the published price at the hotel was 210 pounds !\\n125 The quality was very good and the price was reasonable .\\n126 Excellent hotel excellent price .\\n127 Can't beat the price of $75 per night through Priceline .\\n128 One of the better places I've stayed in London for the price .\\n129 Hard to find better at this price .\\n130 00 Pounds, hotel guests get it at the amazing price of 15 .\\n131 For that price you get a glass of champagne, half a lobster and a wonderful hot and cold buffet .\\n132 Price and location can't be beat .\\n133 The price for triple cost me 76 pounds at the height of the tourist season .\\n134 The price was right, and we were even told by an English tour guide that we had gotten a very good deal .\\n135 Continental breakfast was included in the price of our room package that we purchased through Northwest Airlines, but the breakfast room on the second floor was a bit of a feeding trough .\\n136 Best location and unbeatable price !\\n137 We had terrific price per room and seems hard to beat .\\n138 There is a great supermarket and some restaurants pubs , we ate one night at Ask , which is a small chain of reasonable price .\\n139 This is definitely a modern hotel, no English charm here, but the location and the price can't be beat .\\n140 After initial angst of getting a room, after a NY, London flight, I settled for a twin and not a double bedded room, 17th floor , small but very comfortable room, windows do open, bathroom new , staff fine and concierge area knowledgeable and openly interested and helpful, the hotel really tries, dont nit pick small things, dont pay more than $120 max and if you want to at least check out other reliable hotels, there are many shockers at all price ranges, do your research !\\n141 Great room fabulous price wonderful location !\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 1,\n \"samples\": [\n 4\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 101 + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.cluster import KMeans\n", + "\n", + "# 3개의 집합으로 군집화\n", + "km_cluster = KMeans(n_clusters=3, max_iter=10000, random_state=0)\n", + "km_cluster.fit(feature_vect)\n", + "cluster_label = km_cluster.labels_\n", + "\n", + "\n", + "# 소속 클러스터를 cluster_label 컬럼으로 할당하고 cluster_label 값으로 정렬\n", + "document_df['cluster_label'] = cluster_label\n", + "document_df.sort_values(by='cluster_label')" + ], + "metadata": { + "id": "z9gZ_XrQ8I9j", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "868b0faf-22aa-4cf7-d61d-0ef514726332" + }, + "execution_count": 102, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " filename \\\n", + "1 speed_garmin_nuvi_255W_gps \n", + "3 speed_garmin_nuvi_255W_gps \n", + "10 free_bestwestern_hotel_sfo \n", + "18 satellite_garmin_nuvi_255W_gps \n", + "25 directions_garmin_nuvi_255W_gps \n", + ".. ... \n", + "81 location_bestwestern_hotel_sfo \n", + "85 food_swissotel_chicago \n", + "86 comfort_toyota_camry_2007 \n", + "98 service_bestwestern_hotel_sfo \n", + "97 rooms_bestwestern_hotel_sfo \n", + "\n", + " opinion_text \\\n", + "1 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "3 Another feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ... \n", + "10 The wine reception is a great idea as it is nice to meet other travellers and great having access to the free Internet access in our room .\\n0 They also have a computer available with free internet which is a nice bonus but I didn't find that out till the day before we left but was still able to get on there to check our flight to Vegas the next day .\\n1 ... \n", + "18 It's fast to acquire satellites .\\n0 If you've ever had a Brand X GPS take you on some strange route that adds 20 minutes to your trip, has you turn the wrong way down a one way road, tell you to turn AFTER you've passed the street, frequently loses the satellite signal, or has old maps missing streets, you know how important this stuff is .\\n1 ... \n", + "25 You also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but no... \n", + ".. ... \n", + "81 Good Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 ... \n", + "85 The food for our event was delicious .\\n0 ... \n", + "86 Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ... \n", + "98 Both of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 ... \n", + "97 Great Location , Nice Rooms , H... \n", + "\n", + " cluster_label \n", + "1 0 \n", + "3 0 \n", + "10 0 \n", + "18 0 \n", + "25 0 \n", + ".. ... \n", + "81 2 \n", + "85 2 \n", + "86 2 \n", + "98 2 \n", + "97 2 \n", + "\n", + "[102 rows x 3 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
filenameopinion_textcluster_label
1speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...0
3speed_garmin_nuvi_255W_gpsAnother feature on the 255w is a display of the posted speed limit on the road which you are currently on right above your current displayed speed .\\n0 I found myself not even looking at my car speedometer as I could easily see my current speed and the speed limit of my route at a glance .\\n1 ...0
10free_bestwestern_hotel_sfoThe wine reception is a great idea as it is nice to meet other travellers and great having access to the free Internet access in our room .\\n0 They also have a computer available with free internet which is a nice bonus but I didn't find that out till the day before we left but was still able to get on there to check our flight to Vegas the next day .\\n1 ...0
18satellite_garmin_nuvi_255W_gpsIt's fast to acquire satellites .\\n0 If you've ever had a Brand X GPS take you on some strange route that adds 20 minutes to your trip, has you turn the wrong way down a one way road, tell you to turn AFTER you've passed the street, frequently loses the satellite signal, or has old maps missing streets, you know how important this stuff is .\\n1 ...0
25directions_garmin_nuvi_255W_gpsYou also get upscale features like spoken directions including street names and programmable POIs .\\n0 I used to hesitate to go out of my directions but no...0
............
81location_bestwestern_hotel_sfoGood Value good location , ideal choice .\\n0 Great Location , Nice Rooms , Helpless Concierge\\n1 ...2
85food_swissotel_chicagoThe food for our event was delicious .\\n0 ...2
86comfort_toyota_camry_2007Ride seems comfortable and gas mileage fairly good averaging 26 city and 30 open road .\\n0 Seats are fine, in fact of all the smaller sedans this is the most comfortable I found for the price as I am 6', 2 and 250# .\\n1 Great gas mileage and comfortable on long trips ...2
98service_bestwestern_hotel_sfoBoth of us having worked in tourism for over 14 years were very disappointed at the level of service provided by this gentleman .\\n0 The service was good, very friendly staff and we loved the free wine reception each night .\\n1 ...2
97rooms_bestwestern_hotel_sfoGreat Location , Nice Rooms , H...2
\n", + "

102 rows × 3 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"document_df\",\n \"rows\": 102,\n \"fields\": [\n {\n \"column\": \"filename\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 51,\n \"samples\": [\n \"parking_bestwestern_hotel_sfo\",\n \"location_holiday_inn_london\",\n \"price_holiday_inn_london\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"opinion_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 51,\n \"samples\": [\n \" Parking was expensive but I think this is common for San Fran .\\n0 there is a fee for parking but well worth it seeing no where to park if you do have a car .\\n1 The parking was free, which was great, and the hotel was conveniently located for public transport, and local attractions .\\n2 As for in, and, out parking, I have seen a lot of San Francisco with no car at all .\\n3 They have a parking garage, but they make you leave your vehicle for them to park and then if you want to take a drive later, you have to wait for the staff to get it .\\n4 There is no real parking space, so I had to pull up in front of the hotel in a small space .\\n5 There was valet parking at a cost of $42 .\\n6 Rooms are very comfortable and we were charged $15 for parking our motorcycle in the garage .\\n7 Our ONLY complaint was one doorman valet wasn't thrilled about us parking the car at the front \\n8 Parking is easier then you might realize .\\n9 There is a parking ramp across the street that is MUCH cheaper then hotel parking .\\n10 Our room rate was all in order \\u0096 we\\u0092d booked a TravelZoo special, and the front desk had the right rate, and the right parking discount .\\n11 Of course you have the added thrill of paying over $40 a night for parking and whatever your chiropractor bill is when you are done with the beds .\\n12 I found a great mid week deal that included a discount on parking .\\n13 On the other hand, the valet parking attendant bell people were very friendly .\\n14 Parking is expensive, Rooms are on the small side .\\n15 However, parking is $30 night and valet only, which becomes a pain .\\n16 Only other downer was $38 per night for valet parking .\\n17 room was quiet, clean with good beds but very very smallnot a cheap hotelvalit parking was to much expencive but oke its the location\\n18 Parking is crazy expensive, we drove up from LA so we had a car , but otherwise, you really don't need it .\\n19 Parking is expensive and everything is very much within walking distance .\\n20 Valet parking is, in my view, unreasonably high at $38 per night, but again we knew this before we arrived so can't really complain .\\n21 As most hotels in the city, parking is expensive so unless you really need a vehicle it\\u0092s cheaper to just buy a MUNI Passport during your stay .\\n22 The hotel does have parking, but it is expensive and hard to get around the city while driving .\\n23 The parking was steep , so if I had to do it again I would have parked 1 2 block north for about half of that .\\n24 Parking at $45 a night was outrageous, but probably worth it to keep your car safe .\\n25 We did not have a car, hotel parking is expensive .\\n26 The valet parking was very convenient and seemed secure as it is attached to the hotel .\\n27 A lot of hotel parking garages lots are not on the same premises as the hotel in the area .\\n28 First, the biggest " gotcha" is the mandatory valet parking .\\n29 Not trying to bad mouth the Tuscan, it is a nice place to stay, and if you're not put off by the valet parking, you shouldn't be too disappointed .\\n30 Valet parking for $40 per night seems a bit steep,but at least the service was efficient and quick .\\n31 The prize for vallet parking is steep but I think you can expect that anywhere you go in San Francisco .\\n32 Valet parking was $45 per night with tax, but that includes in and out privileges and my car was there whenever I needed it .\\n33 Watch out for steep parking rates of about $45 per night .\\n34 This total includes the taxes and tips for mandatory valet parking .\\n35 Aside from the parking rate, you won't be disappointed .\\n36 The other thing that I found disappointing was I can't remember the exact details but something like the charge they quote for parking was even more than that because there was some sort of a tax .\\n37 Onsite parking is available .\\n38 I called before we ever arrived to inquire about it and was told that parking was no problem at all .\\n39 I guess calling to inquire about parking while giving them our name and reservation dates didn't warrant the clerk to inform us that we should make a reservation for our car also .\\n40 Valet parking is provided at $36 day which was, I thought, excessive .\\n41 Walgreens has same souvenirs the airport shops do for 1 2 $Do not rent a car, waste of time, money, no parking !\\n42 The valet parking was overpriced, the service was terrible, and the coffe was cold .\\n43 At the hotel, it is valet only parking .\\n44 Check for Internet deals and don't pay for their parking .\\n45 I do think that if you are staying at a hotel you should not have to pay for parking .\\n46 The hotel, located a few blocks from Fisherman's Wharf as well as Ghiardelli Square, has a nice Italian theme that carries into the lobby as well as the uniforms for the parking valets .\\n47 Speaking of parking, you're going to have to pay and it's going to have to be valet service, as there are no free self park lots that are part of the hotel .\\n48 Not only is it pricey at $36 day, but having nothing but valet parking means you have no access to your car unless you have one of the valets fetch it from the lot for you .\\n49 Although our room was indeed non, smoking and we had a king size bed we ended up on the 3rd floor and our room, facing Mason Street, overlooked a concrete multi, story parking lot although if you stood at the window you could see the Coit Tower which was a nicer view !\\n50 Several have mentioned the charge for parking .\\n51 It really does save if you can get a deal with free parking, but the fee is not out of line .\\n52 Valet parking was $36 a day, but we're not complaining because other SF wharf hotels have charged us a similar fee even without the valet service .\\n53 Another irritant was the crazy parking fees for the hotel .\\n54 They do a good job and are a heck of a lot cheaper than a cab and you won\\u0092t have to mess with the parking fees .\\n55 When I got a GREAT deal $99 INCLUDING parking !\\n56 The great thing for us was the free parking .\\n57 Normally parking is $36 a night so getting that thrown in was a fantastic steal .\\n58 We stayed at the BW Tuscan Inn only because they were offering a great winter deal , $99 for a room with king, size bed and free parking .\\n59 Overall, we would recommend this place to friends, especially if they are able to get a good discount and free parking .\\n60 Nice rooms, a bit on the smaller side, but parking right at the hotel .\\n61 staff were helpful although the valet parking and the laundry costs were extremely expensive .\\n62 They allowed this, so we only had to pay the regular parking fee of the hotel .\\n63 Way too much money to pay for parking, but that is the way it is in San Francisco .\\n64 You don't need a car because parking is a nightmare .\\n65 all these hotels charge parking fees .\\n66 Parking at the hotel is expensive at $32 plus tax per night but the up side is that you have in out privilages .\\n67 Parking in the city is a royal pain !\\n68 Although the parking charge is steep, it seems to be the market price in San Francisco, or as the locals like to call it :\\n69 I notice on other reviews the high cost of parking which we didn't have to consider as we were advised you do not need a car to get around SF, and this is quite true .\\n70 All in all, the location was perfect , a short walk to the cable cars or bus lines, a Safeway grocery and Walgreens drugs is across the street in a parking garage, type mall, and there are small places to eat breakfast nearby plus an IHOP a few blocks over .\\n71 Parking at the hotel was a hefty $32 per day with unlimited in and out privileges .\\n72 Parking is an issue in SF so either pay the $30 .\\n73 In addition, the valet parking is apparently handled by an outside contractor, and turned out to be considerably more expensive than we had been told , $35 day , which seemed very high .\\n74 Because of the exhorbitant $29 valet parking fee, we only rented a car for Sonoma and Napa for one day .\\n75 You'll be having fun while some other poor sod is looking for a parking space that isn't there .\\n76 30 am, we discovered that the parking garage next door would not be open until 7 , 7 :\\n77 I thought the $29 per day parking was ridiculous, but I hear that's the standard in SF .\\n78 Upon arriving, there was a very long and confusing to do with the valet parking , we hadn't gotten our luggage out of th car and the valet wanted the keys .\\n79 There was a fee of $29 per day for the parking .\\n80 Valet parking attendant was no better .\\n81 paid $161 plus tax along with a $20 parking fee .\\n82 As far as parking is concerned, we were shell, shocked at what most of the hotels charge for parking\\u0097up to $40 night .\\n83 The Tuscan is $29 night, but if you search for a package rate on their web site, you may get parking included in your room rate .\\n84 And, conveniently, there is a Safeway and a drug store hidden in the parking garage across the street .\\n85 We didnt have or need a car so we didnt have to deal with parking a car I believe it is $30 a day, , par for the city .\\n86 It is located 2 blocks from the wharf which was outstanding considering parking is hard to come by .\\n87 Note to those with a car, overnight valet parking is $26 but right next door the car park is $15 and it takes about 30 seconds to get from your car back to the hotel , why pay $26 ?\\n88 Parking was $26 day , free valet with on and off priv .\\n89 Make sure you realize that you pay for parking .\\n90 00 for valet parking, but that was okay .\\n91 I was aupset, since my $89 night room had gone to $138 night between the parking and the pet charge .\\n92 We didn't pull our car out of the parking garage the whole time we were there .\\n93 Parking is not cheap, check before you go .\\n94 Parking was only $10 with AAA rate .\\n95 Hotel parking is now $23 a night .\",\n \" Great location for tube and we crammed in a fair amount of sightseeing in a short time .\\n0 All in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n1 Great Price Terrific Location .\\n2 The location is absolutely wonderful .\\n3 Our main focus before booking was looking for a low price with good location .\\n4 Very Good Value , Excellent Location .\\n5 The location is ideal for travel all over the city via the Underground .\\n6 Excellent hotel in prime location .\\n7 Good Location Horrible Service Disgusting Procedures .\\n8 First and foremost, the good, yes it has good location, a block away from Gloucester Road Tube Station .\\n9 The convenient location and competitive rates finally sold us on a repeat visit .\\n10 The location of this hotel is it's best feature , two blocks from the tube on lines that run to most major attractions .\\n11 The saving grace of this hotel, is the friendly staff and its location in Kensington .\\n12 The positives were the location, a block from the Gloucster Rd .\\n13 The public areas are fine if bland, the rooms comfortable if slightly cramped, the location good for tube and bus but just a little 'distant' .\\n14 Its saving grace is its location .\\n15 The location is excellent , near to the Tube and walking distance of a lot of attractions .\\n16 Turned out to be this excellent property in a prime location .\\n17 Location could not have been better with the Gloucester Road tube station just a few minutes' walk from the hotel .\\n18 Bottom line is that I would definitely return to this property for its comfort and convenient location .\\n19 Great Location clean good place to stay !\\n20 Overall, I would recommend this hotel to friends, and would probably stay here again, because it was such a great location and clean .\\n21 Even better is the hotel's location , literally a two, minute walk around the corner and you're at the Gloucester Road Tube Station and a host of small shops, pubs and eateries .\\n22 Great stay friendly service great location .\\n23 I would say this is a better than standard HI and the location just can't be beat .\\n24 I am giving a 'very good' based on staff, rates,and location .\\n25 We liked the location and decided to stay again .\\n26 The location close to a tube station and a grocery store is ideal .\\n27 average hotel in a good location .\\n28 This hotel is in a good location .\\n29 If you want a reasonably priced place to stay in London in a convenient location, then this is a good choice !\\n30 Excellent Hotel Excellent location Would definately stay again !\\n31 In London its often hard to find good location and good customer service in the same place , The Holiday Inn Kensington Forum did that for me and I couldn't ask for more .\\n32 It's rated 4, stars, but I also stayed at an equivalently rated Marriott while in London, and a 3, star Holiday Inn Express in Scotland, and the service and rooms were much better at the other locations .\\n33 great hotel in a lovely location .\\n34 Excellent location next to Gloucester Road tube station that has 3 train lines making getting around London really easy .\\n35 Good location one excellent concierge but problems .\\n36 The location of the hotel is really good .\\n37 Great Location for Sightseeing .\\n38 Efficient hotel with a good location .\\n39 The location is a block away from the underground station on the Picadilly Line direct from Heathrow Airport .\\n40 Excellent Hotel , Great Location .\\n41 Good Location New Room Bad Service .\\n42 The hotel was a great location just 1 block from Tube, Grocery Stores, Pharmacy and 2 blocks from Natural History and Victoria Albert Museums .\\n43 Convenient location not 4, star room and services but OK .\\n44 Great location but definitely NOT a 4 star hotel .\\n45 LOCATION , this hotel is located around the block from the Gloucester tube station and a few ATM machines .\\n46 Great location but is it really 4 star ?\\n47 , Great location , Very good selection of food for breakfast buffet .\\n48 The location was only a five minute walk from the Gloucester Road Tube stop .\\n49 Great location, near Gloucester Road tube station, handy cluster of cafes, shops, couple of pubs, plus supermarket in the station complex .\\n50 For the price and location, this was a very great hotel .\\n51 Good location clean and comfortable .\\n52 Great location but not sure it's worth the money .\\n53 What you are really paying for at this hotel is location and in hotel restaurants .\\n54 Fantastic location very close to the tube and buses .\\n55 It was a pretty good value and in a good location .\\n56 We wanted something more spacious, but this hotel had extremely convenient location and good reviews, so we decided to stay there .\\n57 The positives, great location, just a few minutes from a tube station which makes touring easy and with a travelcard taking midday breaks is easy .\\n58 Apart from the location, the hotel was really not up to standard .\\n59 It is a great location, the rooms are a bit basic, but clean and we actually got a pretty good view this time .\\n60 excellent location friendly staff .\\n61 went for a city break with the family hotel good location harrods 20 mins walk,royal albert hall 10 mins,and under ground around the corner,plenty to see and do around hotel .\\n62 One good aspect of this hotel was the location, it is about 2 blocks to the tube station, shopping and eating .\\n63 Not too easy to find rooms for more than two people in London unless you compromise on a few things, such as cost, location etc .\\n64 Location is not very good since one has to travel by tube to shop or sightsee .\\n65 The location to the Gloucester Road tube station was very handy .\\n66 We chose it due to its location i .\\n67 Great location for first time traveller .\\n68 When I approached one stewardess, she assured me that her airline used Holiday Inn Kensington Forum on a regular basis because of its location .\\n69 Hotel was super average nothing great about it at all except the location .\\n70 Since everyone starts with the good that I agree with , great location, very clean, I'll state the not, so good .\\n71 One of the best features of this hotel is the LOCATION .\\n72 The hotel's location is perfect for sightseeing and shopping and the Tube .\\n73 Location great but hotel dated .\\n74 Tower block hotel in fantastic location near good shops, bars and restaurants .\\n75 The positives about the place are the views from the windows if you have an upper floor room, and the location next to Gloucester Road tube station and a small shopping area .\\n76 For a little extra money, the soon to be Crowne Plaza over the road offers far better service yet with the same great location\\n77 Nice hotel with great location for transportation .\\n78 We've stayed at this hotel before and it's always been a great choice for it's location, cleanliness and staff .\\n79 very good location, next to underground station, very near to city center .\\n80 Convenient location Great Concierge service .\\n81 It isn't the most central location but I found it easy enough to get into London .\\n82 I would definitely stay here again for the location and the great customer service .\\n83 Great location and above average rooms .\\n84 For the price and the location I thought this place was great .\\n85 The location is just around the corner from the tube, Boots and Waitrose right next door, close to many restaurants including fast food if you like .\\n86 Its location is probably the first thing worth mentioning, being a 10 minutes walk from the natural history museum, a 15 minutes walk from beautiful Hyde Park and just behind the corner of the Gloucester Road underground station .\\n87 Even otherwise, no matter if it's going to cost you a bit more, I'd still recommend it, considering its location and overall standards .\\n88 There was a lot of road noise, but this is only to be expected, given the location .\\n89 Location is great, 5 mins walk to the Natural History Museum, 15 to Kensington High St and 2 mins to the tube and in a high room you can see for miles .\\n90 Location was excellent with close proximity to tube station We will definitely stau here again , good value\\n91 Great location for the tube and bus !\\n92 Also it is perfect for the Gloucester Road tube station with direct trains to Heathrow airport terminals,very good location turn right as you exit the station the hotels a 3 minute walk on your right hand side .\\n93 Location is very close to Gloucester Road Tube so easy to get into central london for the tourist sites .\\n94 Some positives are that it is in a good location for the tube .\\n95 It's a great location , literally a minute's walk to Gloucester Road tube station, 5 mins walk to the Victoria Albert Museum and the British Science Museum .\\n96 But for the price, and the favourable location, we were content .\\n97 pleasant hotel very good location .\\n98 Great location for all London has too offer .\\n99 The hotel is in a very good location for touring London .\\n100 Clean rooms, great location, close to the Gloucester Tube entrance .\\n101 The one standout is location , , it's only about a block from the Gloucester Rd tube station, which is on the Picadilly line that connects to Heathrow, so being on the west side of London, it's a shorter ride to and from aiport and a very short walk to your hotel with no changes, and then you are close to public transport for the rest of your stay .\\n102 Good hotel for the price nice location .\\n103 No noise problems and a nice, convenient location .\\n104 Perfect Location and Excellent Hotel .\\n105 Room , clean, good size, everything you need is in the room including the coolerLocation , within every attractions, short walk or you can take the double decker just across the street .\\n106 Great location , good value place to stay .\\n107 The Holiday Inn Kensington Forum benefits from a fantastic location, right next to Gloucester Road Tube or to Paddington Station for the Heathrow Express .\\n108 Believe me, the location alone is worth the stay .\\n109 The location is fantastic near Gloucester Station which was very handy for all our needs in transport !\\n110 The breakfast we had 1 morning was to say the least quite incredible there was so much variety, there was also no complaint in this area with the staff they were right on the ball helpfulThis hotel while being high rise had some low moments for us as we felt some areas were really lacking but the hotels location is superb and staff like Peter did try and make your stay worth while .\\n111 The location is South West London and a healthy but doable walk from landmarks like the Museum of Natural History, Albert's Hall, Kensington Gardens, and Harrods .\\n112 LOCATIONA block from Gloucester Road Tube which is conveniently on the Piccadilly, District Circle lines .\\n113 Other reviewers are right, the entrance is in a bizarre location but once you figure it out, it's fine .\\n114 Nice clean rooms, good value, and average location near a tube station, but the rooms directing towards the main street outside are all VERY noisy .\\n115 Terrific location wonderful staff excellent pub !\\n116 This was our first trip to London and we found the location to be excellent .\\n117 Lovely hotel, terrific location, wonderful helpful staff, immaculately clean rooms .\\n118 Great location, 1 min from Gloucester Tube .\\n119 Excellent location good value .\\n120 Excellent location in the nice and relatively quiet area 100m from Tube station and shops restaurants .\\n121 The hotel's location is the best thing about it , near the tube stop, museums and Kensington High Street .\\n122 For our purposes, the hotel was perfectly adequate , the location was good and the room was clean and quiet .\\n123 Good location but need upgrade .\\n124 I really love the location of this hotel .\\n125 But again, the location could justify charging that price .\\n126 The hotel is very nice and the location is excellent .\\n127 If you're looking for a no, frills hotel that is all about location and price, this is your place .\\n128 All, in, all this hotel was a great choice for the price and location .\\n129 The Holiday Inn Kensington Forum has a fantastic location for a city break in London .\\n130 The best thing was the location .\\n131 Good location ,near the tube .\\n132 Good price location but no thrills .\\n133 The location is great , very close to Gloucester Road Tube, with Waitrose supermarket, coffee shops and restaurants nearby .\\n134 Great value and awesome location .\\n135 Instead you get attractively appointed, decent, sized rooms , AC that works, a modern bathroom, plumbing that doesn't gurgle and bang in the night, iron and board, bathrobe and slippers, lots of TV channels and a location that can hardly be bettered .\\n136 The location is terrific for museum, going and the Royal Albedrt Hall is an easy walk away if you enjoy concerts .\\n137 Great Location Nice Rooms Friendly Staff .\\n138 Great location service questionable .\\n139 Like other reviews, the location of the hotel is great, seconds around the corner from the tube .\\n140 Location wise, the tube station is just around the bend and key restaurants Bugis St .\\n141 Great location, close to the Underground and several excellent Pubs .\\n142 Everything was clean, the staff were very friendly and helpful and the location was excellent, all at a relatively cheap cost .\\n143 Location can't be beat, right on bus lines, next to tube station .\\n144 A nice hotel a resonable rate and a great location .\\n145 Location of hotel is great, next to Gloucester Road tube, close to museums, short hike to Buckingham Palace etc .\\n146 Location is the only thing it has going for it .\\n147 Great location, okay value and what you would expect .\\n148 On the positive side the location of Holiday Inn Forum was very handy for a conference I was attending .\\n149 The location is superb with the tube and bus stops literally steps away .\\n150 Nice location by Glouchester tube stop .\\n151 The best part about the hotel is the great location in Kensington .\\n152 Great Location and great business hotel .\\n153 Holiday Inn Kensington Forum is a perfect no fuss business hotel with fantastic location .\\n154 Great location pub in the ground floor .\\n155 Having never been to London, I found it easy to get around to places of interest from this location .\\n156 great location great breakfast !\\n157 Great location , we did what others have descibed and turned along Cromwell road and went to the other Holiday Inn in error when we first arrived .\\n158 This was my second stay at this location in the past one year .\\n159 The hotel is in an excellent location only a short walk to Gloucester Rd .\\n160 The location of the hotel is excellent, in a very nice area right next to the Gloucester Road tube station and direct on the picadilly line from Kings cross .\\n161 We thought this was a great value for such a great location .\\n162 Great location for vacationer .\\n163 The hotel was good and in a great location .\\n164 You cannot beat the location !\\n165 Coming from Cardiff, the location was perfect, as it was straight off the M4 and a short drive on the A4 before reaching the hotel .\\n166 it's just a great location, period .\\n167 This hotel provided that and a great location to boot !\\n168 the hotel is in a good location .\\n169 Convenient Location for Tourists .\\n170 Great location close to Gloucester Road tube stop .\\n171 Would definitely recommend this hotel if only for the fair price I got on priceline combined with the great, convenient location, which made it easy to get to all the touristy sites in London .\\n172 Convenient to Gloucester Road tube station, , location could not have been better .\\n173 Great location with cafes, restaurants and grocery stores all around .\\n174 All in all a clean room, great location near hyde park and all the stuff in kensington chelea, near tube station , quiet area .\\n175 Great location clean and quiet .\\n176 Location is excellent to the tube stations .\\n177 The good thing about this hotel is its location, you are a 10 minute walk from Harrods and \\u00a313 taxi ride to Covent Garden which will take you past all the tourist attractions :\\n178 Loved the location as it's only a 1, minute walk from the Gloucester Road tube station .\\n179 I like this hotel due to its location, but the management need to get a grip .\\n180 Its in an easy location from the tube, just two minutes walk .\\n181 The hotel has an unbeatable location in a very nice part of South Kensington , only 1 block from the Gloucester Road station .\\n182 The location of the hotel is fine and actually the hotel is not extremely bad but it is extremely EXPENSIVE .\\n183 We've stayed in London a lot and booked this hotel for one night due to a number of factors , the location, the price the availibility of a room to accomodate three adults .\\n184 The hotel itself is truly in a great location , on the same road as the major London museums it took a leisurely 5, 10 minutes to stroll to the wonderful Natural History Museum a further 5, 10 minutes up the road to Harrods .\\n185 If we hadn't experienced a problem with the a c I would have rated my overall stay here 5 5 for value, location, comfort, etc .\\n186 Location itself is great, but everything else is terrible .\\n187 don t stay here unless if the Kensington location is important to you .\\n188 Geat location, clean, relatively quiet inside the rooms, somewhat confortable .\\n189 The main reasons are location and the quality of the air conditioning .\\n190 Yes, the standard rooms are small for two people and, yes, they seem to have a lot of trainee staff at the front desk, who struggle sometimes with the language, and yes some of the rooms are affected by traffic noise, but for a good location and a no, frills room provider, it is hard to beat .\\n191 Clean rooms, bustling lobby, GREAT location .\\n192 I will NOT recommend this location .\\n193 I travelled during the off, season in January to London, this was my first stay at this location and I would definitely consider doing so again .\\n194 Less than a five minute walk from the tube station and within walking distance to the Museum of Natural History, really a good location .\\n195 , , The one thing this hotel has it going for it is the location .\\n196 With a kid and a stroller, this definitely is a very convenient location .\\n197 Cromwell is a pretty posh and popular location .\\n198 A fine hotel and great location .\\n199 We could not have been happier with the location or the room for the price .\\n200 Great location indifferent service .\\n201 This being our first ever visit to UK, must say the location of the hotel, just 2min walk from Glousceter Rd tube stn was a great advantage as even during the weekend, Piccadely line remained open, though distict and central lines had some restrictions on a c of maintainence etc .\\n202 Good value and excellent location .\\n203 Booking through Priceline led me to the Holiday Inn Kensington Forum which was inexpensive, in a great location, and clean and comfortable .\\n204 The location of the hotel is great because it's about a block from the Gloucester Road Tube Station which is on several Tube lines .\\n205 In short, the location of the hotel made travel around London and getting to train stations to go out of London incredibly easy .\\n206 Overall, we felt this hotel was in a convenient location and a good deal for a London hotel .\\n207 As other reviewers mentioned, good location and lots around to do eat see enjoy .\\n208 Nice hotel with great location .\\n209 The location is excellent, just a half a block from the Glouster Rd .\\n210 Also, the tour bus most likely will not drop you off at your hotel after the tour, but rather at Victoria Station or some location nearest your hotel as the bus driver can get .\\n211 Also, the close location of the gloucester road tube stop is great for getting around all of london .\\n212 Great location , a couple of minutes walk from Gloucester Rd underground station, and shops, restaurants, internet cafe etc\\n213 Great location but don't bring the car !\\n214 The location is great however, only 5 mins walk from the Gloucester Road tube and 10 mins walk to the South Kensington museums, Albert Hall, etc .\\n215 The hotel is in an ok location , close the the Gloucester Rd tube station .\\n216 The location of the hotel was great .\\n217 Otherwise, really great location with the refrige being key .\\n218 This is our 2nd time at the Kensington Forum and love the location .\\n219 Location was great come out of tube station, take first turn right and walk 150 yards you're there !\\n220 Location was great , close to tube stop .\\n221 The location of the hotel was excellent, a 5 min stroll from Gloucester Road tube, next to tesco express and a large supermarket just around the corner .\\n222 The location is perfect, very central and very near the subway .\\n223 However the location was great with the underground and good restaurants nearby .\\n224 One of the nicest features about this hotel is the location .\\n225 So many employees, a wonderful location, an impressive building .\\n226 Well, after all, as I said, great location, great view, NOTHING ELSE !\\n227 On a positive note the location is great and the overworked staff did their best however if visiting London their are definitely better options such as the NH which is just around the corner .\\n228 Perfect location, right around the corner from the tube .\\n229 Our parents who are 55, 70 were able to wonder around the entire city by themselves due to the ideal location of this hotel .\\n230 Nothing fancy but we were quite happy with the location of the hotel, just like most who have stayed at the hotel before .\\n231 Overall, we found the hotel only good for location and decent room if somewhat cold just like the weather was in London then .\\n232 The breakfasts were excellent and the location is great for viewing London by bus, on foot and by tube , which is just at the end of the road .\\n233 Great Location, Very Clean Miami FL .\\n234 The location in the Kensington area could not have been better, the area is safe, nice and fairly quiet .\\n235 A Great Location, Friendly And Polite Staff, First Class Breakfast And Rooms As Described Above Will Have Me Returning Again And Again .\\n236 Very convenient location for Gloucester Road tube .\\n237 The location was excellent with a number of good eating options locally and Garfunkels and Ask Pizza located in a complex within a very short walking distance for kids who want something easy .\\n238 brilliant, behind tube station, near local stores, restaurant, posh area, near kensington park, great central location yet quiet enough in a cul, de, sac location .\\n239 flaw location of main entrance, big signs and big flags on main street but enter from the back, tiny miserable unwelcoming cheap entrance design, confusing to first time visitors .\\n240 the only reason to choose this hotel is its location, for other aspects, not up to standard for its price .\\n241 The Forum Holiday is a big high rise and right across the street, is another Holiday Inn, albeit it much smaller which tends to confuse people looking for that 2nd location hotel .\\n242 Great Location and Hotel for the Money .\\n243 The location in South Kensington is excellent as the Gloucester Road tube station is just around the corner and is served by 3 main lines, , District, Circle and Piccadilly .\\n244 Can't say enough about the price, quality, location and convenience of this hotel and area .\\n245 Good points excellent location really very close to the tube and the tube is on good lines so not lots of changing .\\n246 The location is in a good location near the tube and only a few minutes by cab to central London .\\n247 Although in some ways I would have preferred a smaller, more authentic English hotel, we really couldn't beat the combination of price and location .\\n248 Location is good if you plan on taking the tube .\\n249 Would recommend the Holiday Inn Kensington Forum for location, price , and cleanliness .\\n250 Decent rooms and good location .\\n251 Stayed at this hotel, for one night, as the location was ideal for our night out at the Royal Albert Hall .\\n252 As also said before, location is excellent, very near the tube stations, plenty of delis and eating places nearby and a supermarkets for any snacks we wanted for the room .\\n253 Location is great, hotel is wonderful, and price is right, it really is hard to beat right now .\\n254 good location great deal on priceline .\\n255 This hotel is in a very convenient location, just a block and a half from the Gloucester Road tube station .\\n256 Comfortable room with large bed but limited space as is often the case with London hotels, but I found the location excellent .\\n257 Stayed between Xmas and New Years and the room, location, etc were what to expect for the price I paid .\\n258 The location was great too as it was next to the tube .\\n259 Excellent location but rooms far too hot .\\n260 hotel but would stay again if the price was right due to the excellent location .\\n261 Good value in a good location .\\n262 The location was ideal for getting around London .\\n263 Which leads us to , location, this hotel's best feature .\\n264 Stay here , you won't regret it, great price , great location .\\n265 The Hotel location was absolutely perfect for sightseeing and shopping .\\n266 Overall, for the money, location, and for the piece of mind knowing that its going to be clean and comfortable, look no further .\\n267 Perfectly adequate excellent location .\\n268 THe location was great, just aroung the corner from the tube .\\n269 But we also didn't give them any hard times, so they didn't have to fake anything , The location of the hotel is just perfect .\\n270 As everyone mentions, the location was perfect for sightseeing .\\n271 , very clean, quiet, bathrooms appear to have been updated recentlyThe hotel location is great .\\n272 The location is fab , near the Gloucester underground station and the Waitrose grocery store .\\n273 Excellent location shame about the service !\\n274 Fantastic location and local amenities i .\\n275 The location is great and the Tube station is very close .\\n276 good hotel for the price and location .\\n277 Apart from that, the staff were friendly and the location is great .\\n278 The location is incredibly convenient, with lots of restaurants and easily walkable to the tube .\\n279 The single thing to recommend this hotel is the location, which is excellent .\\n280 The location is EXCELLENT, just round the corner from the subway .\\n281 Friendly helpful staff, clean and comfortable rooms and not to mention its great location .\\n282 This hotel is in a very good location , tube, buses, restaurants, shopping and museums all within very easy walking distance .\\n283 All in all, if you do not mind giving up the Euopean atmosphere, the Holiday Inn gives you a comfortable stay with the most convenient location .\\n284 Location was great being only a few yards from the Gloucester Road tube on Piccadilly, Circle and District lines and was therefore an ideal base for our sight seeing visit .\\n285 Great location and can't beat the price and the comfort !\\n286 Since this location is the designated layover site for American Airlines, there were tons of pilots and flight attendants everywhere, but that added to the familiar feeling of having Americans around .\\n287 Pleasant staff, clean hotel, comfortable beds, with a great location .\\n288 Good Price Great Location Would definately stay there again !\\n289 Anyway it may not have the charm or history of other hotels in London, but for the price location we would visit again .\\n290 Excellent location clean but small .\\n291 The best feature of this hotel is it's location .\\n292 The location is perfect with many everything you need just outside the door including a great French patisserie and coffee shop .\\n293 Best part of all is the location, loved the Gloucester Road tube station nearby and the South Kensington area in general, very safe to walk around in any time day or night .\\n294 Gloucester Road tube station is at the westernmost side of zone 1, making it a perfect location between the airport and central London .\\n295 The location of the hotel is superb , 2 minutes walk from Gloucester Road tube .\\n296 Location is hard to beat though .\\n297 The hotel was clean, the beds were comfortable and the location was great .\\n298 Maybe I'm being a little harsh so if you can get this hotel at a good rate it is probably just about worth it, as it has an excellent location .\\n299 Awesome location comfortable rooms .\\n300 Great service and perfect location !\\n301 I would definately recommed this hotel to anyone as it is unbeatable for price and location in London .\\n302 I wanted a good location, above all else, and this hotel fills that need .\\n303 For a similarly good location , you can stay at the London Hilton Metropole for the same price and receive much better service .\\n304 It's a great location and the rooms are nice and clean and yes, a bit small but definately NOT tiny .\\n305 It's a great location VERY near the Gloucester Rd tube stop .\\n306 Perfect if you are going to see the sights in London, , great location to get around from, , right downtown .\\n307 A decent hotel with a great location .\\n308 The raves about the location are well deserved .\\n309 it's a solid property, with an amazing location !\\n310 Again the location just can't be beat !\\n311 Great Location , Just fine for our stay .\\n312 Very convenient location one block from Gloucester Road tube station .\\n313 It is in a very good location for catching the tube or the Hop On Hop Off bus tour .\\n314 The hotel caters to airline personnel, cruise tourists, and is a good choice for someone that wants to have a safe location .\\n315 Good location if you want to be near the Piccadilly line to Heathrow , but otherwise very average .\\n316 Solid Deal in a Great Location .\\n317 Excellent Hotel Excellent Location !\\n318 Location wise it is a 5 min walk to the tube and you are on the circle, district and picadilly line .\\n319 The location is great though to get to the Tube and sites around West london and i got a good rate for the room .\\n320 The top feature of The Holiday Inn Kensington Forum is its location, in a superb area of London that's clean, safe and interesting .\\n321 Not impressed at all and will not stay again despite good location .\\n322 But it's great value for money, great location, pleasant staff, good food, and we'll be staying there again .\\n323 We thought this modern, efficient hotel was excellent value for such a great location in the heart of London .\\n324 Great location great breakfast bathrooms tiny .\\n325 The location of the hotel is, as stated earlier, absolutely fine and well within walking distance of the V A, Natural History Museum, Science Museum and Hyde Park .\\n326 The location can't be beat , , a two, minute walk from the Gloucester Road tube stop .\\n327 Great location, close to a tube station with a 24 hour Tesco metro nearby .\\n328 Mother was very pleased with the location and convenience .\\n329 GREAT location and bargain internet price !\\n330 The rooms are a standard European size but they are kept spotlessly clean and the hotel couldn't be in a better location .\\n331 The location of the hotel was brilliant , really nice area .\\n332 Still, if you're just looking for a cheap place to lay your head, the Holiday Inn Kensington Forum is a great location .\\n333 The location is fantastic, , you're literally around the corner from the Tube station there's a Sainsbury's supermarket right above the aforesaid Tube station .\\n334 Another plus is its location , convenient to the tube, museums, shops, etc .\\n335 This was our second stay stay at this hotel based on it's location .\\n336 b basis Hotel huge , 900 rooms Buffet breakfast good for a buffet This is a well run hotel with a great location for the metro Rooms a bit on the small side but I would stay again\\n337 The location is also good because it is literally 150 footsteps from Gloucester Road Underground Station .\\n338 I have stayed in a few hotels in London while touring but it would be difficult to find a better location in London for the tourist class who is looking for value, efficiency and cleanliness .\\n339 The location and American standards are nice touches .\\n340 The location was perfect, just a minute from the Gloucester Rd .\\n341 We were easily able to navigate the city from this location .\\n342 The hotel is clean, modern, and in an excellent location .\\n343 But we would definitely stay again because of the hotel's location .\\n344 Aside from that, the location is great and the furnishings were modern and very comfortable .\\n345 Excellent location and service .\\n346 The location is excellent, just a short walk from the Gloucester Road tube station and in a lovely neighborhood .\\n347 Overall an above average hotel based on location and price but not one for a romantic get, away !\\n348 Location is fantastic , both on bus line and underground, with many useful stores on Gloucester Rd .\\n349 This is a good basic hotel which has a terrific location .\\n350 , checked us in at 11 am after a transatlantic flight, room larger than average, compared to our continental Europe travel, location, location, location .\\n351 The location is right next to the Picadilly line tube stop, so it is very convenient to get around town and also to the airport .\\n352 Great location, grocery store open 24 hours within 5 mins walk and friendly international staff, will stay here again .\\n353 Great location , but executive room not worth it !\\n354 We enjoyed our trip to London , and the location for the Holiday Inn Kensington Forum was terrific .\\n355 I do recommend the hotel , it was clean, excellent location, there was ice on the top floor along with one microwave, etc .\\n356 Right off of the Piccadilly and Circle tube lines, the location is excellent .\\n357 It is a relatively new hotel, clean and has a great location which is close to the underground with 3 connecting lines, it gives you an advantage to go anywhere without changing lots of trains .\\n358 Fantastic location right next to Gloucester Rd tube station .\\n359 Excellent location service cleanliness and price at the Holiday Inn Kensington Forum .\\n360 All in all great location , nice restaurants nearby, nicely pitched service .\\n361 Speaking of the tube, the location really is great 1 block away !\\n362 The location of the hotel is excellent .\\n363 Like others, I liked the location with restaurants, Glouster tube station, small grocery stores, , , and internet cafes within easy walking distance .\\n364 The location of the hotel is excellent , one block from the tube Gloucester Rd and the surrounding neighborhood is fantastic , take a walk from High Street Kensington to the hotel , I'd love to live there !\\n365 Great Hotel Great Location Great Value !\\n366 The biggest advantage of this hotel is it's excellent location just off of Gloucester Road in Kensington, with the Undergroud one block away, along with several nice restaurants and pubs in the area .\\n367 Although the location is a bit removed from the West End, it is only a block away from the Gloucester Road underground, with three train lines that will take you almost anywhere in the city in 15 minutes or less .\\n368 great location good but large tourist hotel .\\n369 The location is great and very convenient .\\n370 The location is great but there are many hotels in the same area so I might try out others but would certainly consider coming back .\\n371 Can't beat the location, rooms, value and view !\\n372 Good Value Nice Hotel Fantastic Location .\\n373 Holiday Inn KF has a location that cannot be beat .\\n374 this is definitely the location you want .\\n375 Great location loved the hotel .\\n376 The tube station is right there and the location is great for getting around London .\\n377 You could not beat the location or the price .\\n378 The price is moderate for the service and the location .\\n379 I will say this hotel is in a wonderful location, right across from the gloucester tube station and only a stop or two away from Notting hill, Harrods, and Kensington High street .\\n380 Location is so convienent to the tube and grocery .\\n381 Other than room size, we were very happy with the hotel, especially its location .\\n382 Overall good hotel and very good location close to the tube .\\n383 The hotel has a great location with easy access to most of London's tourist sites .\\n384 The room is a tad small but is super clean and great location .\\n385 The price, the space, the location and the service were the exactly right thing we wanted .\\n386 Yes I do stay here a lot and as such, guess that I get extra special treatment but it is in a great location with the tube within a 2 min walk surrounded by places to eat and drink and far enough out of central London to be quiet but you can still be in the west end in 15 minutes .\\n387 GREAT LOCATION COMFORTABLE HOTEL .\\n388 Outstanding location, even an internet cafe nearby .\\n389 the hotel is in a GREAT location .\\n390 Great location, freshly renovated, very small rooms, anonymous hotel, acceptable service .\\n391 The location couldn't be better in my opinion .\\n392 Price and location can't be beat .\\n393 As said by others, an absolutely excellent location, on tube lines that will get you to just about anywhere .\\n394 The location could not have been better with being so close to the Underground station and near good restaurants, grocery stores, post office, pharmacy, Internet cafe .\\n395 The hotel is set in an absolutely ideal location, offers great rates, and excellent conceirge .\\n396 Great location, one block from the Gloucester Tube station with a number of acceptable restaurants in the area within walking distance .\\n397 Best location and unbeatable price !\\n398 This is an awesome location right near the Gloucester Road tube stop .\\n399 Definitely stay here if you are on a budget , and even if not, it's still nice and the location is really the best !\\n400 A true bargain in the London hotel market, and a very convenient location adjacent to the Gloucester road underground station .\\n401 Excellent location but a couple of problems .\\n402 The location is excellent being a few minutes walk from Gloucester Road tube station with its good connection to Heathrow airport and to central London .\\n403 Great choice in a great location .\\n404 The location could not be better , one block from the intersection of Cromwell and Gloucester Roads, with the Glouster Road tube stop .\\n405 I say fortunate because the location was perfect for my needs as a first, timer .\\n406 This is definitely a modern hotel, no English charm here, but the location and the price can't be beat .\\n407 The location could not be better and best of all it was so clean .\\n408 Everything worked well, was in good condition and the room was quiet in spite of the hotel's busy location .\\n409 Service was great and the location of the hotel was very convenient .\\n410 Great room fabulous price wonderful location !\",\n \" All in all, a normal chain hotel on a nice location , I will be back if I do not find anthing closer to Picadilly for a better price .\\n0 Great Price Terrific Location .\\n1 Our main focus before booking was looking for a low price with good location .\\n2 All for the bargain price off \\u00a3 250 for 2 nights including return rail to North Wales .\\n3 Explore the area and you will find plenty of pubs where you can eat for a reasonable price .\\n4 Half expected a noisy room by the elevator for the bargain price we paid, but instead got a 17th floor room with awesome city view .\\n5 The price we paid for our rooms was reasonable .\\n6 I got this hotel on price line for a 4 night stay with my boyfriend for our anniversary, for about \\u00a380 a night inc taxes, however after reading reviews about this hotel I was very worried about staying here .\\n7 Breakfast is ok, but not worth paying for if it's not included in your room price .\\n8 If you're looking for a clean place to rest your head at a decent price and want flexibility to check in or out as you please, this is a good place for you .\\n9 All in all, it was a decent hotel, but I think I may try somewhere else next time purely just to see what else is available at the same kind of price .\\n10 We ate breakfast at the hotel a couple of days and thought it was overprice for the quality of food .\\n11 For the price and location, this was a very great hotel .\\n12 Price was unbeatable, just 79 pounds night .\\n13 We got this for $75 a night, which is a lot cheaper than any listed price we could find .\\n14 Our breakfasts and one dinner meal were included in our price .\\n15 One day late and I paid the same price for a better room in HI Kensington, the supposedly better classed HI nearby .\\n16 If you need a hotel with services like access to a computer or a concierge who can do more than give directions and order full price tickets to events then don't stay here .\\n17 \\\\the staff is very friendlyi had found a really nice price and for this money this hotel was incredible .\\n18 For the price and the location I thought this place was great .\\n19 Good pub nearby with wonderful breakfasts and meals at a good price .\\n20 As previous reviewers have said, there's a variety of shops nearby and breakfast of a better quality and price can be bought there .\\n21 and fully intend to come back again , if the price is right .\\n22 I booked this one as none of my favourites were available and I was amazed at the lowish price offered .\\n23 Very happy with the hotel for the price .\\n24 Overall for the price I think it was extremely good value .\\n25 The biggest disappointment was the price of Internet .\\n26 However, if you are looking for a comprehensive hotel experience, I'm sure there are plenty of better hotels available for the same price in the city .\\n27 But there are much better hotels to choose from for the same price and at least you get some good service and respect from staff .\\n28 Great Hotel for a great price .\\n29 I used priceline' name your own price and my bid of a $100 night was exepted for a Sunday and a Monday night .\\n30 Good hotel for the price nice location .\\n31 It's nicer than certain other hotels you'd get in the same price range on Priceline and all in all was nice .\\n32 I wouldn't say it stands out particularly, but if you're looking for a reliable, convenient, comfortable place in London, this is a great place to stay , , especially if you can get it at a good price on Priceline or another site like that .\\n33 Nothing that spectacular to justify the price .\\n34 It's an okay hotel, and I don't mind staying there again if I get it for a cheap price through Priceline .\\n35 Restaurant , make sure to try Thai and Singapore restaurants , delicious and good price .\\n36 But again, the location could justify charging that price .\\n37 Thought that we would be looked after given its rating and the price paid .\\n38 The price was exceptional for the Kensington area, and as many reviewers have mentioned, it is a two or three minute walk to the Gloucester tube station .\\n39 All, in, all this hotel was a great choice for the price and location .\\n40 I booked this hotel via Holiday inn ,2 nights for the price off 1 .\\n41 Good price location but no thrills .\\n42 Got decent price on Hotwire as well .\\n43 Overall, for the price , it is a pretty good deal .\\n44 Good price through ExpediaHotel in general is in good shapeTips :\\n45 I would not stay at this Holiday Inn again unless the price was halved, because there are simply too many places offering better value in London .\\n46 Breakfast was appalling, plenty of it, you certainly won\\u0092t starve, but the quality was awful considering the price paid .\\n47 I was shown an executive room if i wanted to upgrade, for the price of 35 pounds a night .\\n48 All in all a pleasant stay for a good price .\\n49 Although the menu is limited it was very good and a reasonable price .\\n50 In particular, there was a nice Indian run coffee breakfast restaurant across the street from the tube stop on Gloucester Road that served a good English breakfast at a decent price .\\n51 Would definitely recommend this hotel if only for the fair price I got on priceline combined with the great, convenient location, which made it easy to get to all the touristy sites in London .\\n52 Staff very friendly and I always worry when booking through priceline that I will get the worst rooms because the price was so good but got a great room on the 16th floor facing the London Eye .\\n53 Just make sure you eat as much as you can for the price you have paid .\\n54 I would recommendeating out as the evening food is frozen re, heat type and for the price you are paying it is not simply worth it .\\n55 However, the first price that they charged me was too much so I had to get a refund then be charged the correct amount for a standard room .\\n56 , smallish roomsOld style bar pubNo ventilation on a smoking floorIt's not worth the hotel web, site price of \\u00a3160 for STD room .\\n57 In short it's a good hotel if you get the price off lastminute .\\n58 com and not the hotel web, site price of \\u00a3160 .\\n59 We've stayed in London a lot and booked this hotel for one night due to a number of factors , the location, the price the availibility of a room to accomodate three adults .\\n60 Another word of warning when booking through the Holiday Inn website , VAT was NOT included in the price at the time of booking until you actually processed the booking and paid for the room , this is apparently now normal for many London hotels which I'd never experienced before , we ended up paying \\u00a317 more per night than I'd expected .\\n61 Despite the above problems I would recommend a stay here, price dependant .\\n62 Bought the room for about 1 2 price using Hotwire .\\n63 Don't buy the bottled water from the hotel , go to the supermarket and get it for half the price !\\n64 However, a continental breakfast was included in the price and had a fairly large selection .\\n65 We could not have been happier with the location or the room for the price .\\n66 The bathroom is tiny but at least there is a bathroom attached to the room in a lot of hotels that I looked at online in the same price range, bathrooms were not en suite .\\n67 I would stay here again if the price was right .\\n68 the only reason to choose this hotel is its location, for other aspects, not up to standard for its price .\\n69 In sum, we wouldn't pay rack rate for this hotel, but at a reduced price it's an efficient, functional place to stay in London .\\n70 I would not pay rack rate for a room here, but it is quite attractive at a discounted price .\\n71 00 which is an affordable price for a hotel in the posh area of Kensington .\\n72 Hotel was clean, convenient to tubes, internet cafes, and local dining of all price ranges and styles .\\n73 Also got a good price for the room thro priceline about 47 pounds per night, hotel very clean and well run .\\n74 All in all I would recommend and would stay again if the price was right !\\n75 I had prepaid for the room on Hotwire good price at $120 .\\n76 If you are just looking for basic lodging at a good price in London, this is the place .\\n77 Although in some ways I would have preferred a smaller, more authentic English hotel, we really couldn't beat the combination of price and location .\\n78 If you're from the US, think 2, 3X the average price when you convert to US dollars .\\n79 Would recommend the Holiday Inn Kensington Forum for location, price , and cleanliness .\\n80 Location is great, hotel is wonderful, and price is right, it really is hard to beat right now .\\n81 Our amazing deal from priceline did not include breakfast, but there were many places in the neighborhood to grab breakfast for a reasonable price before heading out for the day .\\n82 Stayed between Xmas and New Years and the room, location, etc were what to expect for the price I paid .\\n83 My friend and I had one pancakes and syrup, two orange juices, one tea, and one smoked salmon and scrambled egg with english muffin for \\u00a38 in total , the same price as one discounted breakfast at the hotel !\\n84 So often I have booked a hotel at a price only to be disappointed with my choice on arrival .\\n85 hotel but would stay again if the price was right due to the excellent location .\\n86 The bags were located in the closet, but no price list .\\n87 I could have bought a new pair of jeans for that price .\\n88 All in all it was just what we expected based on the price and would stay here again .\\n89 Stay here , you won't regret it, great price , great location .\\n90 The shower pressure was a bit low but that's the price you pay for the top floor and it was well worth it , Instead of minibar there was an empty fridge which came quite handy for our own beverages, I doubt they would have milk in their minibar , Tea and coffee making facilites and iron with board were a great bonus to what we had expected from our room .\\n91 The only downsize of this hotel I see in the cost of breakfast, with price of more than \\u00a315 for full English breakfast or \\u00a310 if booked in advance .\\n92 Our Hotwire price did not include breakfast, but several restaurants were nearby, and the hotel had a reasonable coffee crossaint deal .\\n93 Reserved this hotel through Hotwire and got a price of $90 night .\\n94 That's a good price even though the room was tiny, however, when it came to the continental breakfast, the hotel would not permit us to partake of same, telling us that because we reserved through Hotwire, we were ineligible for the breakfast .\\n95 Good if you don't pay retail price .\\n96 Overall, this hotel is okay if you're on a budget or get a good deal through a discount site, but definitely NOT worth paying retail price for .\\n97 good hotel for the price and location .\\n98 Great location and can't beat the price and the comfort !\\n99 Good Price Great Location Would definately stay there again !\\n100 Anyway it may not have the charm or history of other hotels in London, but for the price location we would visit again .\\n101 We didn't eat at the hotel , there were some great cafe's just around the block with great food at a much better price .\\n102 I would definately recommed this hotel to anyone as it is unbeatable for price and location in London .\\n103 It was a bargain price for the hotel and it was great .\\n104 For a similarly good location , you can stay at the London Hilton Metropole for the same price and receive much better service .\\n105 The room was small, the beds were hard, but a great value for the price we paid .\\n106 GREAT location and bargain internet price !\\n107 There is little difference in the price and when we return to London in three weeks I have booked the Millennium in preference to the Forum .\\n108 Although this was about the same price as the local bars etc .\\n109 All in all I would definitly recommend this hotel to anyone wanting a pleasant stay in London, in a nice area, at a good price !\\n110 We have just stayed in the Kensington Forum and have to say that it is the best hotel we have stayed in in London for the price .\\n111 Our one night stay was arranged by the cruise line so I can't comment on the price .\\n112 A very good value for the price .\\n113 Overall an above average hotel based on location and price but not one for a romantic get, away !\\n114 Got this at a great price via priceline and at first was worried about Holiday Inn, as usually don't care too much for this chain in the U .\\n115 Considering the horrible exchange rate GBP USD at the time we were in London, I believe the price was fair .\\n116 I\\u0092m pretty sure the driver took the most direct route from the hotel, so not sure why the difference in price .\\n117 We stayed 5 nights in a room whose price was second lowest .\\n118 Excellent location service cleanliness and price at the Holiday Inn Kensington Forum .\\n119 Even though this price doesn't include breakfast it was still a great value .\\n120 The Kensington Forum is about as close to an American style hotel as one can reasonably hope to find in London at a reasonable price .\\n121 The continental breakfast which was included in the price was very nice and served in the dining room, a pleasant time before dashing off around the city .\\n122 You could not beat the location or the price .\\n123 The price is moderate for the service and the location .\\n124 The price was a real bargain as the published price at the hotel was 210 pounds !\\n125 The quality was very good and the price was reasonable .\\n126 Excellent hotel excellent price .\\n127 Can't beat the price of $75 per night through Priceline .\\n128 One of the better places I've stayed in London for the price .\\n129 Hard to find better at this price .\\n130 00 Pounds, hotel guests get it at the amazing price of 15 .\\n131 For that price you get a glass of champagne, half a lobster and a wonderful hot and cold buffet .\\n132 Price and location can't be beat .\\n133 The price for triple cost me 76 pounds at the height of the tourist season .\\n134 The price was right, and we were even told by an English tour guide that we had gotten a very good deal .\\n135 Continental breakfast was included in the price of our room package that we purchased through Northwest Airlines, but the breakfast room on the second floor was a bit of a feeding trough .\\n136 Best location and unbeatable price !\\n137 We had terrific price per room and seems hard to beat .\\n138 There is a great supermarket and some restaurants pubs , we ate one night at Ask , which is a small chain of reasonable price .\\n139 This is definitely a modern hotel, no English charm here, but the location and the price can't be beat .\\n140 After initial angst of getting a room, after a NY, London flight, I settled for a twin and not a double bedded room, 17th floor , small but very comfortable room, windows do open, bathroom new , staff fine and concierge area knowledgeable and openly interested and helpful, the hotel really tries, dont nit pick small things, dont pay more than $120 max and if you want to at least check out other reliable hotels, there are many shockers at all price ranges, do your research !\\n141 Great room fabulous price wonderful location !\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cluster_label\",\n \"properties\": {\n \"dtype\": \"int32\",\n \"num_unique_values\": 3,\n \"samples\": [\n 0,\n 1,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 102 + } + ] + }, + { + "cell_type": "code", + "source": [ + "cluster_centers = km_cluster.cluster_centers_\n", + "print('cluster_centers shape :',cluster_centers.shape)\n", + "print(cluster_centers)" + ], + "metadata": { + "id": "KpJD51FW8I_w", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c2c68d7c-d717-4613-9db0-89d360b13b3d" + }, + "execution_count": 103, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "cluster_centers shape : (3, 4610)\n", + "[[0.00858908 0. 0. ... 0.01533606 0. 0. ]\n", + " [0.00905105 0. 0. ... 0.00250991 0. 0. ]\n", + " [0.00112301 0.00099043 0.00109661 ... 0. 0.00115204 0.00091017]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# 군집별 top n 핵심단어, 그 단어의 중심 위치 상대값, 대상 파일명들을 반환함.\n", + "def get_cluster_details(cluster_model, cluster_data, feature_names, clusters_num, top_n_features=10):\n", + " cluster_details = {}\n", + "\n", + " # cluster_centers array 의 값이 큰 순으로 정렬된 index 값을 반환\n", + " # 군집 중심점(centroid)별 할당된 word 피처들의 거리값이 큰 순으로 값을 구하기 위함.\n", + " centroid_feature_ordered_ind = cluster_model.cluster_centers_.argsort()[:,::-1]\n", + "\n", + " #개별 군집별로 iteration하면서 핵심단어, 그 단어의 중심 위치 상대값, 대상 파일명 입력\n", + " for cluster_num in range(clusters_num):\n", + " # 개별 군집별 정보를 담을 데이터 초기화.\n", + " cluster_details[cluster_num] = {}\n", + " cluster_details[cluster_num]['cluster'] = cluster_num\n", + "\n", + " # cluster_centers_.argsort()[:,::-1] 로 구한 index 를 이용하여 top n 피처 단어를 구함.\n", + " top_feature_indexes = centroid_feature_ordered_ind[cluster_num, :top_n_features]\n", + " top_features = [ feature_names[ind] for ind in top_feature_indexes ]\n", + "\n", + " # top_feature_indexes를 이용해 해당 피처 단어의 중심 위치 상댓값 구함\n", + " top_feature_values = cluster_model.cluster_centers_[cluster_num, top_feature_indexes].tolist()\n", + "\n", + " # cluster_details 딕셔너리 객체에 개별 군집별 핵심 단어와 중심위치 상대값, 그리고 해당 파일명 입력\n", + " cluster_details[cluster_num]['top_features'] = top_features\n", + " cluster_details[cluster_num]['top_features_value'] = top_feature_values\n", + " filenames = cluster_data[cluster_data['cluster_label'] == cluster_num]['filename']\n", + " filenames = filenames.values.tolist()\n", + " cluster_details[cluster_num]['filenames'] = filenames\n", + "\n", + " return cluster_details\n" + ], + "metadata": { + "id": "c3SlMden8JB-" + }, + "execution_count": 104, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def print_cluster_details(cluster_details):\n", + " for cluster_num, cluster_detail in cluster_details.items():\n", + " print('####### Cluster {0}'.format(cluster_num))\n", + " print('Top features:', cluster_detail['top_features'])\n", + " print('Reviews 파일명 :',cluster_detail['filenames'][:7])\n", + " print('==================================================')\n" + ], + "metadata": { + "id": "O1dgdHcX8JFN" + }, + "execution_count": 105, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "feature_names = tfidf_vect.get_feature_names_out()\n", + "\n", + "cluster_details = get_cluster_details(cluster_model=km_cluster, cluster_data=document_df,\\\n", + " feature_names=feature_names, clusters_num=3, top_n_features=10 )\n", + "print_cluster_details(cluster_details)" + ], + "metadata": { + "id": "5szjgS3a8JHp", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2130625c-0049-4e2a-92f5-b97c77049650" + }, + "execution_count": 123, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "####### Cluster 0\n", + "Top features: ['direction', 'map', 'voice', 'screen', 'speed limit', 'accurate', 'satellite', 'speed', 'limit', 'update']\n", + "Reviews 파일명 : ['speed_garmin_nuvi_255W_gps', 'speed_garmin_nuvi_255W_gps', 'free_bestwestern_hotel_sfo', 'satellite_garmin_nuvi_255W_gps', 'directions_garmin_nuvi_255W_gps', 'screen_garmin_nuvi_255W_gps', 'directions_garmin_nuvi_255W_gps']\n", + "==================================================\n", + "####### Cluster 1\n", + "Top features: ['battery', 'screen', 'battery life', 'keyboard', 'life', 'kindle', 'video', 'size', 'page', 'button']\n", + "Reviews 파일명 : ['screen_ipod_nano_8gb', 'features_windows7', 'buttons_amazon_kindle', 'battery-life_ipod_nano_8gb', 'battery-life_netbook_1005ha', 'battery-life_netbook_1005ha', 'price_amazon_kindle']\n", + "==================================================\n", + "####### Cluster 2\n", + "Top features: ['room', 'hotel', 'service', 'staff', 'interior', 'food', 'location', 'seat', 'mileage', 'comfortable']\n", + "Reviews 파일명 : ['interior_toyota_camry_2007', 'rooms_swissotel_chicago', 'comfort_toyota_camry_2007', 'parking_bestwestern_hotel_sfo', 'staff_swissotel_chicago', 'service_holiday_inn_london', 'rooms_swissotel_chicago']\n", + "==================================================\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import sklearn\n", + "print(sklearn.__version__)" + ], + "metadata": { + "id": "4lrY4_en8JKL", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "91b70c57-dbb0-49a0-c2ac-977c72bab463" + }, + "execution_count": 107, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1.6.1\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import numpy as np\n", + "\n", + "def cos_similarity(v1, v2):\n", + " dot_product = np.dot(v1, v2)\n", + " l2_norm = (np.sqrt(sum(np.square(v1))) * np.sqrt(sum(np.square(v2))))\n", + " similarity = dot_product / l2_norm\n", + "\n", + " return similarity\n" + ], + "metadata": { + "id": "iPWuxf3P8W8E" + }, + "execution_count": 108, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "\n", + "doc_list = ['if you take the blue pill, the story ends' ,\n", + " 'if you take the red pill, you stay in Wonderland',\n", + " 'if you take the red pill, I show you how deep the rabbit hole goes']\n", + "\n", + "tfidf_vect_simple = TfidfVectorizer()\n", + "feature_vect_simple = tfidf_vect_simple.fit_transform(doc_list)\n", + "print(feature_vect_simple.shape)" + ], + "metadata": { + "id": "DfnvCGTH8W-h", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "82287f3d-427e-494c-a4dd-4f88032da4b8" + }, + "execution_count": 109, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "(3, 18)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# TFidfVectorizer로 transform()한 결과는 Sparse Matrix이므로 Dense Matrix로 변환.\n", + "feature_vect_dense = feature_vect_simple.todense()\n", + "\n", + "#첫번째 문장과 두번째 문장의 feature vector 추출\n", + "vect1 = np.array(feature_vect_dense[0]).reshape(-1,)\n", + "vect2 = np.array(feature_vect_dense[1]).reshape(-1,)\n", + "\n", + "#첫번째 문장과 두번째 문장의 feature vector로 두개 문장의 Cosine 유사도 추출\n", + "similarity_simple = cos_similarity(vect1, vect2 )\n", + "print('문장 1, 문장 2 Cosine 유사도: {0:.3f}'.format(similarity_simple))\n" + ], + "metadata": { + "id": "4of3ZE8H8XAa", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b6a88517-77d0-4904-e005-3b70d7160d11" + }, + "execution_count": 110, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "문장 1, 문장 2 Cosine 유사도: 0.402\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "vect1 = np.array(feature_vect_dense[0]).reshape(-1,)\n", + "vect3 = np.array(feature_vect_dense[2]).reshape(-1,)\n", + "similarity_simple = cos_similarity(vect1, vect3 )\n", + "print('문장 1, 문장 3 Cosine 유사도: {0:.3f}'.format(similarity_simple))\n", + "\n", + "vect2 = np.array(feature_vect_dense[1]).reshape(-1,)\n", + "vect3 = np.array(feature_vect_dense[2]).reshape(-1,)\n", + "similarity_simple = cos_similarity(vect2, vect3 )\n", + "print('문장 2, 문장 3 Cosine 유사도: {0:.3f}'.format(similarity_simple))" + ], + "metadata": { + "id": "u1PQpcC38XCX", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "cbb1c1f0-10e7-4f52-c5cb-b63d23c83a5d" + }, + "execution_count": 111, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "문장 1, 문장 3 Cosine 유사도: 0.404\n", + "문장 2, 문장 3 Cosine 유사도: 0.456\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics.pairwise import cosine_similarity\n", + "\n", + "similarity_simple_pair = cosine_similarity(feature_vect_simple[0] , feature_vect_simple)\n", + "print(similarity_simple_pair)\n" + ], + "metadata": { + "id": "wQodiSHv8XEx", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "96640d1b-5f46-403b-dec7-f955d9108f4f" + }, + "execution_count": 112, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1. 0.40207758 0.40425045]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics.pairwise import cosine_similarity\n", + "\n", + "similarity_simple_pair = cosine_similarity(feature_vect_simple[0] , feature_vect_simple[1:])\n", + "print(similarity_simple_pair)" + ], + "metadata": { + "id": "6yB_pWee8XG2", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "bdb9fc9d-0c89-4e6e-ece2-c5ec567e907c" + }, + "execution_count": 113, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[0.40207758 0.40425045]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "similarity_simple_pair = cosine_similarity(feature_vect_simple , feature_vect_simple)\n", + "print(similarity_simple_pair)\n", + "print('shape:',similarity_simple_pair.shape)" + ], + "metadata": { + "id": "RgcFviTD8XIn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a39db959-cd4f-4d06-dd59-cecf89a68f97" + }, + "execution_count": 114, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1. 0.40207758 0.40425045]\n", + " [0.40207758 1. 0.45647296]\n", + " [0.40425045 0.45647296 1. ]]\n", + "shape: (3, 3)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from nltk.stem import WordNetLemmatizer\n", + "import nltk\n", + "import string\n", + "\n", + "remove_punct_dict = dict((ord(punct), None) for punct in string.punctuation)\n", + "lemmar = WordNetLemmatizer()\n", + "\n", + "# 입력으로 들어온 token단어들에 대해서 lemmatization 어근 변환.\n", + "def LemTokens(tokens):\n", + " return [lemmar.lemmatize(token) for token in tokens]\n", + "\n", + "# TfidfVectorizer 객체 생성 시 tokenizer인자로 해당 함수를 설정하여 lemmatization 적용\n", + "# 입력으로 문장을 받아서 stop words 제거-> 소문자 변환 -> 단어 토큰화 -> lemmatization 어근 변환.\n", + "def LemNormalize(text):\n", + " return LemTokens(nltk.word_tokenize(text.lower().translate(remove_punct_dict)))" + ], + "metadata": { + "id": "frClwgfs8XKb" + }, + "execution_count": 115, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import glob, os\n", + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "pd.set_option('display.max_colwidth', 700)\n", + "\n", + "# 업로드한 파일들은 모두 /content에 저장됨\n", + "path = '/content'\n", + "all_files = glob.glob(os.path.join(path, \"*.data\"))\n", + "filename_list = []\n", + "opinion_text = []\n", + "\n", + "for file_ in all_files:\n", + " # 파일을 table 형식으로 읽을 수 있을 때\n", + " try:\n", + " df = pd.read_table(file_, index_col=None, header=0, encoding='latin1')\n", + " content = df.to_string()\n", + " except:\n", + " # 파일이 표 형식이 아니면 그냥 텍스트로 읽기\n", + " with open(file_, encoding='latin1') as f:\n", + " content = f.read()\n", + " filename_ = file_.split('/')[-1]\n", + " filename = filename_.split('.')[0]\n", + " filename_list.append(filename)\n", + " opinion_text.append(content)\n", + "\n", + "document_df = pd.DataFrame({'filename': filename_list, 'opinion_text': opinion_text})\n", + "\n", + "tfidf_vect = TfidfVectorizer(tokenizer=LemNormalize, stop_words='english' , \\\n", + " ngram_range=(1,2), min_df=0.05, max_df=0.85 )\n", + "feature_vect = tfidf_vect.fit_transform(document_df['opinion_text'])\n", + "\n", + "km_cluster = KMeans(n_clusters=3, max_iter=10000, random_state=0)\n", + "km_cluster.fit(feature_vect)\n", + "cluster_label = km_cluster.labels_\n", + "cluster_centers = km_cluster.cluster_centers_\n", + "document_df['cluster_label'] = cluster_label\n" + ], + "metadata": { + "id": "kjemm8jr1UHu" + }, + "execution_count": 119, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics.pairwise import cosine_similarity\n", + "\n", + "# cluster_label=2인 데이터는 호텔로 클러스터링된 데이터임. DataFrame에서 해당 Index를 추출\n", + "hotel_indexes = document_df[document_df['cluster_label']==2].index\n", + "print('호텔로 클러스터링 된 문서들의 DataFrame Index:', hotel_indexes)\n", + "\n", + "# 호텔로 클러스터링된 데이터 중 첫번째 문서를 추출하여 파일명 표시.\n", + "comparison_docname = document_df.iloc[hotel_indexes[0]]['filename']\n", + "print('##### 비교 기준 문서명 ',comparison_docname,' 와 타 문서 유사도######')\n", + "\n", + "''' document_df에서 추출한 Index 객체를 feature_vect로 입력하여 호텔 클러스터링된 feature_vect 추출\n", + "이를 이용하여 호텔로 클러스터링된 문서 중 첫번째 문서와 다른 문서간의 코사인 유사도 측정.'''\n", + "similarity_pair = cosine_similarity(feature_vect[hotel_indexes[0]] , feature_vect[hotel_indexes])\n", + "print(similarity_pair)\n" + ], + "metadata": { + "id": "xrh9hFv78XO6", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5e760a1a-1c6e-4886-ca76-27bc5bb79bd6" + }, + "execution_count": 120, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "호텔로 클러스터링 된 문서들의 DataFrame Index: Index([ 0, 2, 4, 5, 6, 11, 12, 13, 14, 15, 17, 19, 23, 26, 27, 29, 31, 32,\n", + " 33, 34, 35, 36, 39, 40, 41, 43, 45, 47, 48, 49, 50, 52, 53, 56, 57, 58,\n", + " 61, 63, 66, 67, 68, 69, 71, 78, 79, 81, 82, 85, 86, 95, 97, 98],\n", + " dtype='int64')\n", + "##### 비교 기준 문서명 interior_toyota_camry_2007 와 타 문서 유사도######\n", + "[[1. 0.03514439 0.27806853 0.01604357 0.00896711 0.01693995\n", + " 0.03514439 0.02785844 0.06061944 0.25919097 0.01505358 0.01457674\n", + " 0.0094297 0.00828266 0.02413097 0.01528842 0.03667727 0.00884942\n", + " 0.20454454 0.11424159 0.01356376 0.00896711 0.00884942 0.02169188\n", + " 0.01356376 0.11424159 0.06061944 1. 0.02413097 0.92795466\n", + " 0.02169188 0.01505358 0.01604357 0.01405917 0.01405917 0.0125491\n", + " 0.08765973 0.13920666 0.20454454 0.92795466 0.13920666 0.08765973\n", + " 0.25919097 0.01693995 0.01457674 0.01528842 0.03667727 0.00828266\n", + " 0.27806853 0.0094297 0.02785844 0.0125491 ]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import seaborn as sns\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "# argsort()를 이용하여 앞예제의 첫번째 문서와 타 문서간 유사도가 큰 순으로 정렬한 인덱스 반환하되 자기 자신은 제외.\n", + "sorted_index = similarity_pair.argsort()[:,::-1]\n", + "sorted_index = sorted_index[:, 1:]\n", + "\n", + "# 유사도가 큰 순으로 hotel_indexes를 추출하여 재 정렬.\n", + "hotel_sorted_indexes = hotel_indexes[sorted_index.reshape(-1)]\n", + "\n", + "# 유사도가 큰 순으로 유사도 값을 재정렬하되 자기 자신은 제외\n", + "hotel_1_sim_value = np.sort(similarity_pair.reshape(-1))[::-1]\n", + "hotel_1_sim_value = hotel_1_sim_value[1:]\n", + "\n", + "# 유사도가 큰 순으로 정렬된 Index와 유사도값을 이용하여 파일명과 유사도값을 Seaborn 막대 그래프로 시각화\n", + "hotel_1_sim_df = pd.DataFrame()\n", + "hotel_1_sim_df['filename'] = document_df.iloc[hotel_sorted_indexes]['filename']\n", + "hotel_1_sim_df['similarity'] = hotel_1_sim_value\n", + "\n", + "fig1 = plt.gcf()\n", + "sns.barplot(x='similarity', y='filename',data=hotel_1_sim_df)\n", + "plt.title(comparison_docname)\n", + "fig1.savefig('p553_hotel.tif', format='tif', dpi=300, bbox_inches='tight')" + ], + "metadata": { + "id": "3nBfNYBC8XRU", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 492 + }, + "outputId": "88976df6-7c65-44e0-930e-33326a49065b" + }, + "execution_count": 121, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "from google.colab import files\n", + "uploaded = files.upload()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 149 + }, + "id": "1mq0dJpb7qPA", + "outputId": "ea17f096-cdde-4779-bf0e-7c33ab9320e5" + }, + "execution_count": 128, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Saving ratings_train.txt to ratings_train.txt\n", + "Saving ratings_test.txt to ratings_test.txt\n", + "Saving ratings.txt to ratings.txt\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "\n", + "train_df = pd.read_csv('ratings_train.txt', sep='\\t')\n", + "train_df.head(3)" + ], + "metadata": { + "id": "nAjFkWVK8JMR", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "outputId": "d109591a-5ffc-4929-c2c1-1d70eea1c573" + }, + "execution_count": 129, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " id document label\n", + "0 9976970 아 더빙.. 진짜 짜증나네요 목소리 0\n", + "1 3819312 흠...포스터보고 초딩영화줄....오버연기조차 가볍지 않구나 1\n", + "2 10265843 너무재밓었다그래서보는것을추천한다 0" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
iddocumentlabel
09976970아 더빙.. 진짜 짜증나네요 목소리0
13819312흠...포스터보고 초딩영화줄....오버연기조차 가볍지 않구나1
210265843너무재밓었다그래서보는것을추천한다0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "train_df" + } + }, + "metadata": {}, + "execution_count": 129 + } + ] + }, + { + "cell_type": "code", + "source": [ + "train_df['label'].value_counts( )" + ], + "metadata": { + "id": "f86FuJph8XVv", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 178 + }, + "outputId": "b735889b-50f7-41ee-ae83-2b5d9451bae1" + }, + "execution_count": 130, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "label\n", + "0 75173\n", + "1 74827\n", + "Name: count, dtype: int64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
label
075173
174827
\n", + "

" + ] + }, + "metadata": {}, + "execution_count": 130 + } + ] + }, + { + "cell_type": "code", + "source": [ + "import re\n", + "\n", + "train_df = train_df.fillna(' ')\n", + "# 정규 표현식을 이용하여 숫자를 공백으로 변경(정규 표현식으로 \\d 는 숫자를 의미함.)\n", + "train_df['document'] = train_df['document'].apply( lambda x : re.sub(r\"\\d+\", \" \", x) )\n", + "\n", + "# 테스트 데이터 셋을 로딩하고 동일하게 Null 및 숫자를 공백으로 변환\n", + "test_df = pd.read_csv('ratings_test.txt', sep='\\t')\n", + "test_df = test_df.fillna(' ')\n", + "test_df['document'] = test_df['document'].apply( lambda x : re.sub(r\"\\d+\", \" \", x) )\n", + "\n", + "# id 칼럼 삭제 수행\n", + "train_df.drop('id', axis=1, inplace=True)\n", + "test_df.drop('id', axis=1, inplace=True)\n" + ], + "metadata": { + "id": "STHfCpFh2Kcz" + }, + "execution_count": 131, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!pip install konlpy" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zF7D0uRk8gSJ", + "outputId": "65cc84a4-b05f-4d75-821f-947db31a7fb8" + }, + "execution_count": 135, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting konlpy\n", + " Downloading konlpy-0.6.0-py2.py3-none-any.whl.metadata (1.9 kB)\n", + "Collecting JPype1>=0.7.0 (from konlpy)\n", + " Downloading jpype1-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n", + "Requirement already satisfied: lxml>=4.1.0 in /usr/local/lib/python3.11/dist-packages (from konlpy) (5.4.0)\n", + "Requirement already satisfied: numpy>=1.6 in /usr/local/lib/python3.11/dist-packages (from konlpy) (2.0.2)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from JPype1>=0.7.0->konlpy) (24.2)\n", + "Downloading konlpy-0.6.0-py2.py3-none-any.whl (19.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m19.4/19.4 MB\u001b[0m \u001b[31m62.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading jpype1-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (494 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m494.1/494.1 kB\u001b[0m \u001b[31m27.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: JPype1, konlpy\n", + "Successfully installed JPype1-1.5.2 konlpy-0.6.0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from konlpy.tag import Okt\n", + "\n", + "okt = Okt()\n", + "def tw_tokenizer(text):\n", + " tokens_ko = okt.morphs(text)\n", + " return tokens_ko" + ], + "metadata": { + "id": "wtNd7Jtu2Kep" + }, + "execution_count": 136, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.model_selection import GridSearchCV\n", + "\n", + "# Twitter 객체의 morphs( ) 객체를 이용한 tokenizer를 사용. ngram_range는 (1,2)\n", + "tfidf_vect = TfidfVectorizer(tokenizer=tw_tokenizer, ngram_range=(1,2), min_df=3, max_df=0.9)\n", + "tfidf_vect.fit(train_df['document'])\n", + "tfidf_matrix_train = tfidf_vect.transform(train_df['document'])" + ], + "metadata": { + "id": "TFVts9hK2KgJ" + }, + "execution_count": 137, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Logistic Regression 을 이용하여 감성 분석 Classification 수행.\n", + "lg_clf = LogisticRegression(random_state=0, solver='liblinear')\n", + "\n", + "# Parameter C 최적화를 위해 GridSearchCV 를 이용.\n", + "params = { 'C': [1 ,3.5, 4.5, 5.5, 10 ] }\n", + "grid_cv = GridSearchCV(lg_clf , param_grid=params , cv=3 ,scoring='accuracy', verbose=1 )\n", + "grid_cv.fit(tfidf_matrix_train , train_df['label'] )\n", + "print(grid_cv.best_params_ , round(grid_cv.best_score_,4))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tl_zV_Xa2Kh6", + "outputId": "f8b9f501-d2ba-43b3-93a5-096de58aaa40" + }, + "execution_count": 138, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Fitting 3 folds for each of 5 candidates, totalling 15 fits\n", + "{'C': 3.5} 0.8593\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics import accuracy_score\n", + "\n", + "# 학습 데이터를 적용한 TfidfVectorizer를 이용하여 테스트 데이터를 TF-IDF 값으로 Feature 변환함.\n", + "tfidf_matrix_test = tfidf_vect.transform(test_df['document'])\n", + "\n", + "# classifier 는 GridSearchCV에서 최적 파라미터로 학습된 classifier를 그대로 이용\n", + "best_estimator = grid_cv.best_estimator_\n", + "preds = best_estimator.predict(tfidf_matrix_test)\n", + "\n", + "print('Logistic Regression 정확도: ',accuracy_score(test_df['label'],preds))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "o34v_5o62Kju", + "outputId": "e6b6ce70-1ef0-4a81-cace-dabac91d8fdd" + }, + "execution_count": 139, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Logistic Regression 정확도: 0.86172\n" + ] + } + ] + } + ] +} \ No newline at end of file