{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "from collections import defaultdict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "import lzma\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "import string\n",
    "exclist = string.punctuation + string.digits\n",
    "table_ = str.maketrans('', '', exclist)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "urlsf_subset10-213_data.xz\n",
      "urlsf_subset10-962_data.xz\n",
      "urlsf_subset10-260_data.xz\n",
      "urlsf_subset10-450_data.xz\n",
      "urlsf_subset10-342_data.xz\n",
      "urlsf_subset10-277_data.xz\n",
      "urlsf_subset10-640_data.xz\n",
      "urlsf_subset10-796_data.xz\n",
      "urlsf_subset10-778_data.xz\n",
      "urlsf_subset10-795_data.xz\n",
      "urlsf_subset10-952_data.xz\n",
      "urlsf_subset10-164_data.xz\n",
      "urlsf_subset10-135_data.xz\n",
      "urlsf_subset10-959_data.xz\n",
      "urlsf_subset10-177_data.xz\n",
      "urlsf_subset10-846_data.xz\n",
      "urlsf_subset10-995_data.xz\n",
      "urlsf_subset10-781_data.xz\n",
      "urlsf_subset10-195_data.xz\n",
      "urlsf_subset10-659_data.xz\n",
      "urlsf_subset10-752_data.xz\n",
      "urlsf_subset10-777_data.xz\n",
      "urlsf_subset10-627_data.xz\n",
      "urlsf_subset10-460_data.xz\n",
      "urlsf_subset10-509_data.xz\n",
      "urlsf_subset10-428_data.xz\n",
      "urlsf_subset10-736_data.xz\n",
      "urlsf_subset10-168_data.xz\n",
      "urlsf_subset10-772_data.xz\n",
      "urlsf_subset10-872_data.xz\n",
      "urlsf_subset10-999_data.xz\n",
      "urlsf_subset10-793_data.xz\n",
      "urlsf_subset10-344_data.xz\n",
      "urlsf_subset10-457_data.xz\n",
      "urlsf_subset10-888_data.xz\n",
      "urlsf_subset10-226_data.xz\n",
      "urlsf_subset10-886_data.xz\n",
      "urlsf_subset10-236_data.xz\n",
      "urlsf_subset10-396_data.xz\n",
      "urlsf_subset10-745_data.xz\n",
      "urlsf_subset10-656_data.xz\n",
      "urlsf_subset10-233_data.xz\n",
      "urlsf_subset10-727_data.xz\n",
      "urlsf_subset10-803_data.xz\n",
      "urlsf_subset10-111_data.xz\n",
      "urlsf_subset10-166_data.xz\n",
      "urlsf_subset10-577_data.xz\n",
      "urlsf_subset10-475_data.xz\n",
      "urlsf_subset10-203_data.xz\n",
      "urlsf_subset10-519_data.xz\n",
      "urlsf_subset10-438_data.xz\n",
      "urlsf_subset10-582_data.xz\n",
      "urlsf_subset10-833_data.xz\n",
      "urlsf_subset10-383_data.xz\n",
      "urlsf_subset10-139_data.xz\n",
      "urlsf_subset10-112_data.xz\n",
      "urlsf_subset10-607_data.xz\n",
      "urlsf_subset10-183_data.xz\n",
      "urlsf_subset10-819_data.xz\n",
      "urlsf_subset10-875_data.xz\n",
      "urlsf_subset10-464_data.xz\n",
      "urlsf_subset10-987_data.xz\n",
      "urlsf_subset10-940_data.xz\n",
      "urlsf_subset10-698_data.xz\n",
      "urlsf_subset10-360_data.xz\n",
      "urlsf_subset10-804_data.xz\n",
      "urlsf_subset10-74_data.xz\n",
      "urlsf_subset10-837_data.xz\n",
      "urlsf_subset10-557_data.xz\n",
      "urlsf_subset10-599_data.xz\n",
      "urlsf_subset10-525_data.xz\n",
      "urlsf_subset10-570_data.xz\n",
      "urlsf_subset10-171_data.xz\n",
      "urlsf_subset10-589_data.xz\n",
      "urlsf_subset10-275_data.xz\n",
      "urlsf_subset10-951_data.xz\n",
      "urlsf_subset10-91_data.xz\n",
      "urlsf_subset10-364_data.xz\n",
      "urlsf_subset10-539_data.xz\n",
      "urlsf_subset10-544_data.xz\n",
      "urlsf_subset10-663_data.xz\n",
      "urlsf_subset10-350_data.xz\n",
      "urlsf_subset10-435_data.xz\n",
      "urlsf_subset10-596_data.xz\n",
      "urlsf_subset10-400_data.xz\n",
      "urlsf_subset10-165_data.xz\n",
      "urlsf_subset10-420_data.xz\n",
      "urlsf_subset10-679_data.xz\n",
      "urlsf_subset10-998_data.xz\n",
      "urlsf_subset10-949_data.xz\n",
      "urlsf_subset10-635_data.xz\n",
      "urlsf_subset10-197_data.xz\n",
      "urlsf_subset10-838_data.xz\n",
      "urlsf_subset10-994_data.xz\n",
      "urlsf_subset10-575_data.xz\n",
      "urlsf_subset10-458_data.xz\n",
      "urlsf_subset10-134_data.xz\n",
      "urlsf_subset10-776_data.xz\n",
      "urlsf_subset10-316_data.xz\n",
      "urlsf_subset10-11_data.xz\n",
      "urlsf_subset10-973_data.xz\n",
      "urlsf_subset10-788_data.xz\n",
      "urlsf_subset10-209_data.xz\n",
      "urlsf_subset10-839_data.xz\n",
      "urlsf_subset10-31_data.xz\n",
      "urlsf_subset10-647_data.xz\n",
      "urlsf_subset10-480_data.xz\n",
      "urlsf_subset10-218_data.xz\n",
      "urlsf_subset10-131_data.xz\n",
      "urlsf_subset10-722_data.xz\n",
      "urlsf_subset10-958_data.xz\n",
      "urlsf_subset10-587_data.xz\n",
      "urlsf_subset10-707_data.xz\n",
      "urlsf_subset10-657_data.xz\n",
      "urlsf_subset10-229_data.xz\n",
      "urlsf_subset10-484_data.xz\n",
      "urlsf_subset10-253_data.xz\n",
      "urlsf_subset10-271_data.xz\n",
      "urlsf_subset10-983_data.xz\n",
      "urlsf_subset10-574_data.xz\n",
      "urlsf_subset10-315_data.xz\n",
      "urlsf_subset10-482_data.xz\n",
      "urlsf_subset10-26_data.xz\n",
      "urlsf_subset10-5_data.xz\n",
      "urlsf_subset10-326_data.xz\n",
      "urlsf_subset10-78_data.xz\n",
      "urlsf_subset10-812_data.xz\n",
      "urlsf_subset10-960_data.xz\n",
      "urlsf_subset10-94_data.xz\n",
      "urlsf_subset10-248_data.xz\n",
      "urlsf_subset10-85_data.xz\n",
      "urlsf_subset10-967_data.xz\n",
      "urlsf_subset10-191_data.xz\n",
      "urlsf_subset10-538_data.xz\n",
      "urlsf_subset10-710_data.xz\n",
      "urlsf_subset10-723_data.xz\n",
      "urlsf_subset10-881_data.xz\n",
      "urlsf_subset10-6_data.xz\n",
      "urlsf_subset10-733_data.xz\n",
      "urlsf_subset10-534_data.xz\n",
      "urlsf_subset10-926_data.xz\n",
      "urlsf_subset10-986_data.xz\n",
      "urlsf_subset10-477_data.xz\n",
      "urlsf_subset10-220_data.xz\n",
      "urlsf_subset10-909_data.xz\n",
      "urlsf_subset10-178_data.xz\n",
      "urlsf_subset10-866_data.xz\n",
      "urlsf_subset10-255_data.xz\n",
      "urlsf_subset10-45_data.xz\n",
      "urlsf_subset10-330_data.xz\n",
      "urlsf_subset10-944_data.xz\n",
      "urlsf_subset10-455_data.xz\n",
      "urlsf_subset10-991_data.xz\n",
      "urlsf_subset10-874_data.xz\n",
      "urlsf_subset10-368_data.xz\n",
      "urlsf_subset10-732_data.xz\n",
      "urlsf_subset10-367_data.xz\n",
      "urlsf_subset10-637_data.xz\n",
      "urlsf_subset10-382_data.xz\n",
      "urlsf_subset10-473_data.xz\n",
      "urlsf_subset10-21_data.xz\n",
      "urlsf_subset10-72_data.xz\n",
      "urlsf_subset10-158_data.xz\n",
      "urlsf_subset10-585_data.xz\n",
      "urlsf_subset10-306_data.xz\n",
      "urlsf_subset10-320_data.xz\n",
      "urlsf_subset10-170_data.xz\n",
      "urlsf_subset10-900_data.xz\n",
      "urlsf_subset10-433_data.xz\n",
      "urlsf_subset10-867_data.xz\n",
      "urlsf_subset10-832_data.xz\n",
      "urlsf_subset10-612_data.xz\n",
      "urlsf_subset10-758_data.xz\n",
      "urlsf_subset10-54_data.xz\n",
      "urlsf_subset10-327_data.xz\n",
      "urlsf_subset10-694_data.xz\n",
      "urlsf_subset10-670_data.xz\n",
      "urlsf_subset10-572_data.xz\n",
      "urlsf_subset10-687_data.xz\n",
      "urlsf_subset10-296_data.xz\n",
      "urlsf_subset10-721_data.xz\n",
      "urlsf_subset10-675_data.xz\n",
      "urlsf_subset10-975_data.xz\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-89-02acf4ab7a62>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m     13\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;34m'\\x00'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mw\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     14\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m                 \u001b[0mbigrams\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m' '\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     16\u001b[0m                 \u001b[0mtrigrams\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m' '\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     17\u001b[0m                 \u001b[0mdocSet\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mbigrams\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mtrigrams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m<ipython-input-89-02acf4ab7a62>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m     13\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;34m'\\x00'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mw\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     14\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m                 \u001b[0mbigrams\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m' '\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     16\u001b[0m                 \u001b[0mtrigrams\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m' '\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdoc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     17\u001b[0m                 \u001b[0mdocSet\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdoc\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mbigrams\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mtrigrams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "directory = 'webtext/openwebtext/'\n",
    "nDocs = 0\n",
    "df = defaultdict(int)\n",
    "for x in os.listdir(directory):\n",
    "    print(x)\n",
    "    f = lzma.open(directory + x, 'rb')\n",
    "    s = f.read().decode('utf-8')\n",
    "    s = s.translate(table_)\n",
    "    f.close()\n",
    "    doc = []\n",
    "    for w in s.split():\n",
    "        w = w.lower()\n",
    "        if '\\x00' in w:\n",
    "            if len(doc):\n",
    "                bigrams = [' '.join(a) for a in list(zip(doc[:-1],doc[1:]))]\n",
    "                trigrams = [' '.join(a) for a in list(zip(doc[:-2],doc[1:-1],doc[2:]))]\n",
    "                docSet = set(doc + bigrams + trigrams)\n",
    "                for v in docSet:\n",
    "                    df[v] += 1\n",
    "                doc = []\n",
    "                nDocs += 1\n",
    "        else:\n",
    "            doc.append(w)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "70726"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nDocs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[('mean', 'squared', 'error')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = open('detex.txt')\n",
    "s = f.read()\n",
    "s = s.lower()\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [],
   "source": [
    "words = []\n",
    "for w in s.split():\n",
    "    if 'sec:' in w:\n",
    "        continue\n",
    "    if 'eq:' in w:\n",
    "        continue\n",
    "    if 'chap:' in w:\n",
    "        continue\n",
    "    \n",
    "    w = w.translate(table_)\n",
    "    words.append(w)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "tf = defaultdict(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": [
    "bigrams = [' '.join(a) for a in list(zip(words[:-1],words[1:]))]\n",
    "trigrams = [' '.join(a) for a in list(zip(words[:-2],words[1:-1],words[2:]))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [],
   "source": [
    "for ng in words + bigrams + trigrams:\n",
    "    tf[ng] += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "tfidfList = []\n",
    "tfidfDict = {}\n",
    "for ng in tf:\n",
    "    tfidf = tf[ng] * math.log(nDocs / (1 + df[ng]), 2)\n",
    "    tfidfList.append((tfidf, ng))\n",
    "    tfidfDict[ng] = tfidf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [],
   "source": [
    "tfidfList.sort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "117614"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(tfidfList)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(32.21990609936823, 'optimization proceeds'),\n",
       " (32.21990609936823, 'optimization schemes'),\n",
       " (32.21990609936823, 'optimizerapplygradientszipgradients'),\n",
       " (32.21990609936823,\n",
       "  'optimizerapplygradientszipgradients modeltrainablevariables'),\n",
       " (32.21990609936823, 'optimizing model'),\n",
       " (32.21990609936823, 'optimizing model accuracy'),\n",
       " (32.21990609936823, 'option in sklearn'),\n",
       " (32.21990609936823, 'or  of'),\n",
       " (32.21990609936823, 'or amplify biases'),\n",
       " (32.21990609936823, 'or categorical features'),\n",
       " (32.21990609936823, 'or classification scenarios'),\n",
       " (32.21990609936823, 'or coldstart'),\n",
       " (32.21990609936823, 'or cool start'),\n",
       " (32.21990609936823, 'or dimensionality'),\n",
       " (32.21990609936823, 'or dimensionality reduction'),\n",
       " (32.21990609936823, 'or dislike an'),\n",
       " (32.21990609936823, 'or equivalently a'),\n",
       " (32.21990609936823, 'or extreme content'),\n",
       " (32.21990609936823, 'or items may'),\n",
       " (32.21990609936823, 'or matrices'),\n",
       " (32.21990609936823, 'or periodic'),\n",
       " (32.21990609936823, 'or purchased are'),\n",
       " (32.21990609936823, 'or sideinformation'),\n",
       " (32.21990609936823, 'oriented view'),\n",
       " (32.21990609936823, 'oriented view of'),\n",
       " (32.21990609936823, 'other personalized'),\n",
       " (32.21990609936823, 'other reranking'),\n",
       " (32.21990609936823, 'other sequential models'),\n",
       " (32.21990609936823, 'other similarity functions'),\n",
       " (32.21990609936823, 'other temporal'),\n",
       " (32.21990609936823, 'other than building'),\n",
       " (32.21990609936823, 'other than fashion'),\n",
       " (32.21990609936823, 'ought to mean'),\n",
       " (32.21990609936823, 'our bagofwords'),\n",
       " (32.21990609936823, 'our bagofwords model'),\n",
       " (32.21990609936823, 'our beer review'),\n",
       " (32.21990609936823, 'our feature matrix'),\n",
       " (32.21990609936823, 'our feature vector'),\n",
       " (32.21990609936823, 'our goal might'),\n",
       " (32.21990609936823, 'our heldout'),\n",
       " (32.21990609936823, 'our heldout data'),\n",
       " (32.21990609936823, 'our interaction data'),\n",
       " (32.21990609936823, 'our interaction matrix'),\n",
       " (32.21990609936823, 'our labels would'),\n",
       " (32.21990609936823, 'our latent item'),\n",
       " (32.21990609936823, 'our models predictions'),\n",
       " (32.21990609936823, 'our motivating example'),\n",
       " (32.21990609936823, 'our regressionbased'),\n",
       " (32.21990609936823, 'our regressionbased approaches'),\n",
       " (32.21990609936823, 'our representation possibly'),\n",
       " (32.21990609936823, 'our residuals'),\n",
       " (32.21990609936823, 'our similarity function'),\n",
       " (32.21990609936823, 'our tokenized'),\n",
       " (32.21990609936823, 'our tokenized reviews'),\n",
       " (32.21990609936823, 'our training data'),\n",
       " (32.21990609936823, 'our training set'),\n",
       " (32.21990609936823, 'our vector of'),\n",
       " (32.21990609936823, 'output variable '),\n",
       " (32.21990609936823, 'output variables for'),\n",
       " (32.21990609936823, 'outputs of an'),\n",
       " (32.21990609936823, 'over all items'),\n",
       " (32.21990609936823, 'over all users'),\n",
       " (32.21990609936823, 'over item terms'),\n",
       " (32.21990609936823, 'overall characteristics'),\n",
       " (32.21990609936823, 'overall item popularity'),\n",
       " (32.21990609936823, 'overall problem setting'),\n",
       " (32.21990609936823, 'overestimation unfairness'),\n",
       " (32.21990609936823, 'overfitting as'),\n",
       " (32.21990609936823, 'overlapping interaction'),\n",
       " (32.21990609936823, 'overpredictions'),\n",
       " (32.21990609936823, 'overrepresented finally'),\n",
       " (32.21990609936823, 'overrepresented finally they'),\n",
       " (32.21990609936823, 'overrepresented group'),\n",
       " (32.21990609936823, 'p '),\n",
       " (32.21990609936823, 'pagerank or'),\n",
       " (32.21990609936823, 'pagerank or hits'),\n",
       " (32.21990609936823, 'pairs of books'),\n",
       " (32.21990609936823, 'pairwise interactions among'),\n",
       " (32.21990609936823, 'pairwise preference'),\n",
       " (32.21990609936823, 'paper discusses'),\n",
       " (32.21990609936823, 'paper discusses the'),\n",
       " (32.21990609936823, 'paradigm of conversation'),\n",
       " (32.21990609936823, 'parameter '),\n",
       " (32.21990609936823, 'parameter distribution'),\n",
       " (32.21990609936823, 'parameter vector'),\n",
       " (32.21990609936823, 'parameters are learned'),\n",
       " (32.21990609936823, 'parameters describing'),\n",
       " (32.21990609936823, 'parameters describing a'),\n",
       " (32.21990609936823, 'parameters per'),\n",
       " (32.21990609936823, 'parametric functions'),\n",
       " (32.21990609936823, 'particular item '),\n",
       " (32.21990609936823, 'particular label'),\n",
       " (32.21990609936823, 'particular query'),\n",
       " (32.21990609936823, 'pattern discovery'),\n",
       " (32.21990609936823, 'patterns or incorporate'),\n",
       " (32.21990609936823, 'paucity of interaction'),\n",
       " (32.21990609936823, 'pearson similarities'),\n",
       " (32.21990609936823, 'penalty than mispredicting'),\n",
       " (32.21990609936823, 'perceived serendipity is'),\n",
       " (32.21990609936823, 'perceptron to'),\n",
       " (32.21990609936823, 'perceptronbased'),\n",
       " (32.21990609936823, 'perceptronbased recommendation'),\n",
       " (32.21990609936823, 'performance of recommender'),\n",
       " (32.21990609936823, 'periodic data with'),\n",
       " (32.21990609936823, 'periodic effects'),\n",
       " (32.21990609936823, 'personal term'),\n",
       " (32.21990609936823, 'personalization as we'),\n",
       " (32.21990609936823, 'personalization has'),\n",
       " (32.21990609936823, 'personalization is critical'),\n",
       " (32.21990609936823, 'personalization like'),\n",
       " (32.21990609936823, 'personalize generative'),\n",
       " (32.21990609936823, 'personalize generative models'),\n",
       " (32.21990609936823, 'personalized approaches'),\n",
       " (32.21990609936823, 'personalized document'),\n",
       " (32.21990609936823, 'personalized document retrieval'),\n",
       " (32.21990609936823, 'personalized generative'),\n",
       " (32.21990609936823, 'personalized generative models'),\n",
       " (32.21990609936823, 'personalized image search'),\n",
       " (32.21990609936823, 'personalized language generation'),\n",
       " (32.21990609936823, 'personalized or'),\n",
       " (32.21990609936823, 'personalized predictions'),\n",
       " (32.21990609936823, 'personalized ranking bpr'),\n",
       " (32.21990609936823, 'personalized ranking much'),\n",
       " (32.21990609936823, 'personalized recipe'),\n",
       " (32.21990609936823, 'personalized recipes'),\n",
       " (32.21990609936823, 'personalized sequence'),\n",
       " (32.21990609936823, 'personalized sequence models'),\n",
       " (32.21990609936823, 'personalized several'),\n",
       " (32.21990609936823, 'personalized visual'),\n",
       " (32.21990609936823, 'perspective of users'),\n",
       " (32.21990609936823, 'pgii'),\n",
       " (32.21990609936823, 'picture figcosinepdf'),\n",
       " (32.21990609936823, 'picture figgendervlengthbarpdf'),\n",
       " (32.21990609936823, 'picture figpearsonpdf'),\n",
       " (32.21990609936823, 'plot is shown'),\n",
       " (32.21990609936823, 'point in opposite'),\n",
       " (32.21990609936823, 'point processes'),\n",
       " (32.21990609936823, 'pointofinterest recommendation'),\n",
       " (32.21990609936823, 'polynomial functions as'),\n",
       " (32.21990609936823, 'popular ngrams'),\n",
       " (32.21990609936823, 'popular words'),\n",
       " (32.21990609936823, 'popularity etc'),\n",
       " (32.21990609936823, 'popularity user'),\n",
       " (32.21990609936823, 'positive items higher'),\n",
       " (32.21990609936823, 'positive rate '),\n",
       " (32.21990609936823, 'positive review for'),\n",
       " (32.21990609936823, 'positively labeled'),\n",
       " (32.21990609936823, 'positivelylabeled'),\n",
       " (32.21990609936823, 'positivelylabeled items'),\n",
       " (32.21990609936823, 'positives  i'),\n",
       " (32.21990609936823, 'positiveslabeled'),\n",
       " (32.21990609936823, 'possible modeling'),\n",
       " (32.21990609936823, 'potentially capture'),\n",
       " (32.21990609936823, 'practice when deploying'),\n",
       " (32.21990609936823, 'precision  '),\n",
       " (32.21990609936823, 'precision measures'),\n",
       " (32.21990609936823, 'precision recall'),\n",
       " (32.21990609936823, 'precision recall curve'),\n",
       " (32.21990609936823, 'predict interactions'),\n",
       " (32.21990609936823, 'predict labels'),\n",
       " (32.21990609936823, 'predict labels from'),\n",
       " (32.21990609936823, 'predict ratings in'),\n",
       " (32.21990609936823, 'predict ratings more'),\n",
       " (32.21990609936823, 'predict the rating'),\n",
       " (32.21990609936823, 'predict using a'),\n",
       " (32.21990609936823, 'predicted ratings on'),\n",
       " (32.21990609936823, 'predicting which'),\n",
       " (32.21990609936823, 'predicting which items'),\n",
       " (32.21990609936823, 'prediction consider'),\n",
       " (32.21990609936823, 'prediction for a'),\n",
       " (32.21990609936823, 'prediction should'),\n",
       " (32.21990609936823, 'prediction should be'),\n",
       " (32.21990609936823, 'prediction task'),\n",
       " (32.21990609936823, 'prediction tasks'),\n",
       " (32.21990609936823, 'predictions  modpredictx'),\n",
       " (32.21990609936823, 'predictions either'),\n",
       " (32.21990609936823, 'predictions either by'),\n",
       " (32.21990609936823, 'predictions in settings'),\n",
       " (32.21990609936823, 'predictions of our'),\n",
       " (32.21990609936823, 'predictions or recommendations'),\n",
       " (32.21990609936823, 'predictions that is'),\n",
       " (32.21990609936823, 'predictions using'),\n",
       " (32.21990609936823, 'predictive ie'),\n",
       " (32.21990609936823, 'predictive of users'),\n",
       " (32.21990609936823, 'predictive tasks'),\n",
       " (32.21990609936823, 'predictor ie'),\n",
       " (32.21990609936823, 'predictor that estimates'),\n",
       " (32.21990609936823, 'predictself u'),\n",
       " (32.21990609936823, 'predictself u i'),\n",
       " (32.21990609936823, 'predictself x'),\n",
       " (32.21990609936823, 'predictself x return'),\n",
       " (32.21990609936823, 'predominant interest'),\n",
       " (32.21990609936823, 'preference dynamics and'),\n",
       " (32.21990609936823, 'preferences should be'),\n",
       " (32.21990609936823, 'preferences toward visual'),\n",
       " (32.21990609936823, 'previous chapters in'),\n",
       " (32.21990609936823, 'previous interactions the'),\n",
       " (32.21990609936823, 'previous item the'),\n",
       " (32.21990609936823, 'previous items with'),\n",
       " (32.21990609936823, 'previous observation'),\n",
       " (32.21990609936823, 'previous one ie'),\n",
       " (32.21990609936823, 'previously interacted'),\n",
       " (32.21990609936823, 'previously interacted with'),\n",
       " (32.21990609936823, 'price and preference'),\n",
       " (32.21990609936823, 'price brand'),\n",
       " (32.21990609936823, 'price cause users'),\n",
       " (32.21990609936823, 'price constraints'),\n",
       " (32.21990609936823, 'price eg'),\n",
       " (32.21990609936823, 'price features'),\n",
       " (32.21990609936823, 'price has on'),\n",
       " (32.21990609936823, 'price is associated'),\n",
       " (32.21990609936823, 'price sensitivity and'),\n",
       " (32.21990609936823, 'price variability'),\n",
       " (32.21990609936823, 'principal dimensions'),\n",
       " (32.21990609936823, 'principal dimensions that'),\n",
       " (32.21990609936823, 'principle of translation'),\n",
       " (32.21990609936823, 'principle this project'),\n",
       " (32.21990609936823, 'probabilities between items'),\n",
       " (32.21990609936823, 'probabilities via'),\n",
       " (32.21990609936823, 'probabilities via a'),\n",
       " (32.21990609936823, 'probability with a'),\n",
       " (32.21990609936823, 'problem of recommending'),\n",
       " (32.21990609936823, 'problem setting'),\n",
       " (32.21990609936823, 'procedures above'),\n",
       " (32.21990609936823, 'process the timestamp'),\n",
       " (32.21990609936823, 'product and cosine'),\n",
       " (32.21990609936823, 'product between item'),\n",
       " (32.21990609936823, 'products as in'),\n",
       " (32.21990609936823, 'project  a'),\n",
       " (32.21990609936823, 'project  consist'),\n",
       " (32.21990609936823, 'project  consists'),\n",
       " (32.21990609936823, 'project  taxicab'),\n",
       " (32.21990609936823, 'project well explore'),\n",
       " (32.21990609936823, 'projects and '),\n",
       " (32.21990609936823, 'projects projects and'),\n",
       " (32.21990609936823, 'projects the images'),\n",
       " (32.21990609936823, 'promotion strategies'),\n",
       " (32.21990609936823, 'prone to overfitting'),\n",
       " (32.21990609936823, 'properties of items'),\n",
       " (32.21990609936823, 'proves critical'),\n",
       " (32.21990609936823, 'prui'),\n",
       " (32.21990609936823, 'pseudoinverse as'),\n",
       " (32.21990609936823, 'pt '),\n",
       " (32.21990609936823, 'pt  start'),\n",
       " (32.21990609936823, 'ptshorten'),\n",
       " (32.21990609936823, 'ptshorten '),\n",
       " (32.21990609936823, 'ptshorten  pt'),\n",
       " (32.21990609936823, 'purchased both items'),\n",
       " (32.21990609936823, 'purchases clicks'),\n",
       " (32.21990609936823, 'purchases ratings'),\n",
       " (32.21990609936823, 'purely on interaction'),\n",
       " (32.21990609936823, 'pyi'),\n",
       " (32.21990609936823, 'pyi '),\n",
       " (32.21990609936823, 'pyi  xi'),\n",
       " (32.21990609936823, 'pytorch'),\n",
       " (32.21990609936823, 'quality or effectiveness'),\n",
       " (32.21990609936823, 'quantity given'),\n",
       " (32.21990609936823, 'quantity given a'),\n",
       " (32.21990609936823, 'quantity prediction'),\n",
       " (32.21990609936823, 'quantity prediction is'),\n",
       " (32.21990609936823, 'query and document'),\n",
       " (32.21990609936823, 'query features'),\n",
       " (32.21990609936823, 'query item this'),\n",
       " (32.21990609936823, 'query refinement'),\n",
       " (32.21990609936823, 'quickly build working'),\n",
       " (32.21990609936823, 'r in residuals'),\n",
       " (32.21990609936823, 'random walker will'),\n",
       " (32.21990609936823, 'random walks on'),\n",
       " (32.21990609936823, 'randomchoiceitems'),\n",
       " (32.21990609936823, 'randomchoicey'),\n",
       " (32.21990609936823, 'randomly chosen pairs'),\n",
       " (32.21990609936823, 'rank is defined'),\n",
       " (32.21990609936823, 'ranked as qualified'),\n",
       " (32.21990609936823, 'ranked lists'),\n",
       " (32.21990609936823, 'ranked lists of'),\n",
       " (32.21990609936823, 'ranking bpr'),\n",
       " (32.21990609936823, 'ranking framework from'),\n",
       " (32.21990609936823, 'ranking loss'),\n",
       " (32.21990609936823, 'ranking performance'),\n",
       " (32.21990609936823, 'ranks positive'),\n",
       " (32.21990609936823, 'ranks positive items'),\n",
       " (32.21990609936823, 'rankui'),\n",
       " (32.21990609936823, 'rankui '),\n",
       " (32.21990609936823, 'rankui  rankuj'),\n",
       " (32.21990609936823, 'rankuj'),\n",
       " (32.21990609936823, 'rankuj '),\n",
       " (32.21990609936823, 'rated by each'),\n",
       " (32.21990609936823, 'rated or interacted'),\n",
       " (32.21990609936823, 'rated them '),\n",
       " (32.21990609936823, 'rather than estimating'),\n",
       " (32.21990609936823, 'rather than minimizing'),\n",
       " (32.21990609936823, 'rating  '),\n",
       " (32.21990609936823, 'rating increases by'),\n",
       " (32.21990609936823, 'rating of '),\n",
       " (32.21990609936823, 'rating patterns'),\n",
       " (32.21990609936823, 'rating prediction as'),\n",
       " (32.21990609936823, 'rating prediction in'),\n",
       " (32.21990609936823, 'rating using'),\n",
       " (32.21990609936823, 'ratingdictui  ibar'),\n",
       " (32.21990609936823, 'ratings and purchases'),\n",
       " (32.21990609936823, 'ratings appear'),\n",
       " (32.21990609936823, 'ratings appear to'),\n",
       " (32.21990609936823, 'ratings etc'),\n",
       " (32.21990609936823, 'ratings implement'),\n",
       " (32.21990609936823, 'ratings implement a'),\n",
       " (32.21990609936823, 'ratings more accurately'),\n",
       " (32.21990609936823, 'ratings of '),\n",
       " (32.21990609936823, 'ratings than '),\n",
       " (32.21990609936823, 'ratings that user'),\n",
       " (32.21990609936823, 'ratings trend'),\n",
       " (32.21990609936823, 'realisticlooking reviews'),\n",
       " (32.21990609936823, 'realvalued labels'),\n",
       " (32.21990609936823, 'reasonable coverage'),\n",
       " (32.21990609936823, 'reasonable coverage of'),\n",
       " (32.21990609936823, 'recall  '),\n",
       " (32.21990609936823, 'recall  precision'),\n",
       " (32.21990609936823, 'recall curve'),\n",
       " (32.21990609936823, 'recall measures'),\n",
       " (32.21990609936823, 'receive recommendations that'),\n",
       " (32.21990609936823, 'receives recommendations'),\n",
       " (32.21990609936823, 'recent values'),\n",
       " (32.21990609936823, 'reciprocal rank is'),\n",
       " (32.21990609936823, 'recommend related'),\n",
       " (32.21990609936823, 'recommendation although'),\n",
       " (32.21990609936823, 'recommendation and personalized'),\n",
       " (32.21990609936823, 'recommendation approach'),\n",
       " (32.21990609936823, 'recommendation approach we'),\n",
       " (32.21990609936823, 'recommendation approaches in'),\n",
       " (32.21990609936823, 'recommendation approaches we'),\n",
       " (32.21990609936823, 'recommendation as we'),\n",
       " (32.21990609936823, 'recommendation consider'),\n",
       " (32.21990609936823, 'recommendation data'),\n",
       " (32.21990609936823, 'recommendation datasets'),\n",
       " (32.21990609936823, 'recommendation finally'),\n",
       " (32.21990609936823, 'recommendation ie'),\n",
       " (32.21990609936823, 'recommendation in locationbased'),\n",
       " (32.21990609936823, 'recommendation just as'),\n",
       " (32.21990609936823, 'recommendation methods'),\n",
       " (32.21990609936823, 'recommendation on amazon'),\n",
       " (32.21990609936823, 'recommendation pipeline'),\n",
       " (32.21990609936823, 'recommendation problems in'),\n",
       " (32.21990609936823, 'recommendation problems involving'),\n",
       " (32.21990609936823, 'recommendation problems the'),\n",
       " (32.21990609936823, 'recommendation scenario'),\n",
       " (32.21990609936823, 'recommendation scenarios it'),\n",
       " (32.21990609936823, 'recommendation setting we'),\n",
       " (32.21990609936823, 'recommendation settings that'),\n",
       " (32.21990609936823, 'recommendation settings the'),\n",
       " (32.21990609936823, 'recommendation such'),\n",
       " (32.21990609936823, 'recommendation such as'),\n",
       " (32.21990609936823, 'recommendation systems for'),\n",
       " (32.21990609936823, 'recommendation technology'),\n",
       " (32.21990609936823, 'recommendation though'),\n",
       " (32.21990609936823, 'recommendation utility'),\n",
       " (32.21990609936823, 'recommendation versus'),\n",
       " (32.21990609936823, 'recommendation via'),\n",
       " (32.21990609936823, 'recommendation where recommendations'),\n",
       " (32.21990609936823, 'recommendation while'),\n",
       " (32.21990609936823, 'recommendations drive'),\n",
       " (32.21990609936823, 'recommendations generated by'),\n",
       " (32.21990609936823, 'recommendations in which'),\n",
       " (32.21990609936823, 'recommendations might'),\n",
       " (32.21990609936823, 'recommendations on youtube'),\n",
       " (32.21990609936823, 'recommendations whereas'),\n",
       " (32.21990609936823, 'recommended items such'),\n",
       " (32.21990609936823, 'recommended movies with'),\n",
       " (32.21990609936823, 'recommender and'),\n",
       " (32.21990609936823, 'recommender system although'),\n",
       " (32.21990609936823, 'recommender system or'),\n",
       " (32.21990609936823, 'recommender system should'),\n",
       " (32.21990609936823, 'recommender system so'),\n",
       " (32.21990609936823, 'recommender system to'),\n",
       " (32.21990609936823, 'recommender systems '),\n",
       " (32.21990609936823, 'recommender systems based'),\n",
       " (32.21990609936823, 'recommender systems have'),\n",
       " (32.21990609936823, 'recommender systems including'),\n",
       " (32.21990609936823, 'recommender systems may'),\n",
       " (32.21990609936823, 'recommender systems on'),\n",
       " (32.21990609936823, 'recommender systems our'),\n",
       " (32.21990609936823, 'recommender systems several'),\n",
       " (32.21990609936823, 'recommender systems so'),\n",
       " (32.21990609936823, 'recommender systems weve'),\n",
       " (32.21990609936823, 'recommender systems with'),\n",
       " (32.21990609936823, 'recommender we'),\n",
       " (32.21990609936823, 'recommenders based'),\n",
       " (32.21990609936823, 'recommenders based on'),\n",
       " (32.21990609936823, 'recommenders following'),\n",
       " (32.21990609936823, 'recommenders is'),\n",
       " (32.21990609936823, 'recommenders is that'),\n",
       " (32.21990609936823, 'recommenders that'),\n",
       " (32.21990609936823, 'recommenders we'),\n",
       " (32.21990609936823, 'recommending ads'),\n",
       " (32.21990609936823, 'recommending compatible'),\n",
       " (32.21990609936823, 'record cleaning'),\n",
       " (32.21990609936823, 'record cleaning brush'),\n",
       " (32.21990609936823, 'rectangleitems'),\n",
       " (32.21990609936823, 'rectangleitems '),\n",
       " (32.21990609936823, 'rectangleitems  iin'),\n",
       " (32.21990609936823, 'rectangleusers'),\n",
       " (32.21990609936823, 'rectangleusers '),\n",
       " (32.21990609936823, 'rectangleusers  iin'),\n",
       " (32.21990609936823, 'recurrent networkbased'),\n",
       " (32.21990609936823, 'recurrent networks for'),\n",
       " (32.21990609936823, 'recurrent networks in'),\n",
       " (32.21990609936823, 'recurrent networks to'),\n",
       " (32.21990609936823, 'refer to for'),\n",
       " (32.21990609936823, 'reflect the preferences'),\n",
       " (32.21990609936823, 'regard two'),\n",
       " (32.21990609936823, 'regard users'),\n",
       " (32.21990609936823, 'regard users as'),\n",
       " (32.21990609936823, 'regressing on'),\n",
       " (32.21990609936823, 'regression algorithms'),\n",
       " (32.21990609936823, 'regression eg'),\n",
       " (32.21990609936823, 'regression task'),\n",
       " (32.21990609936823, 'regression when'),\n",
       " (32.21990609936823, 'regressionbased'),\n",
       " (32.21990609936823, 'regressionbased approaches'),\n",
       " (32.21990609936823, 'regularization approach'),\n",
       " (32.21990609936823, 'regularization hyperparameter '),\n",
       " (32.21990609936823, 'regularization in'),\n",
       " (32.21990609936823, 'regularization strength '),\n",
       " (32.21990609936823, 'regularized linear'),\n",
       " (32.21990609936823, 'regularized linear regression'),\n",
       " (32.21990609936823, 'regularized model'),\n",
       " (32.21990609936823, 'regularizer as'),\n",
       " (32.21990609936823, 'regularizer as in'),\n",
       " (32.21990609936823, 'regularizer ie'),\n",
       " (32.21990609936823, 'regularizer to'),\n",
       " (32.21990609936823, 'regularizer will'),\n",
       " (32.21990609936823, 'related items eg'),\n",
       " (32.21990609936823, 'related notion of'),\n",
       " (32.21990609936823, 'relationship between precision'),\n",
       " (32.21990609936823, 'relationships among items'),\n",
       " (32.21990609936823, 'relationships among words'),\n",
       " (32.21990609936823, 'relationships automatically'),\n",
       " (32.21990609936823, 'relationships eg'),\n",
       " (32.21990609936823, 'relevance function'),\n",
       " (32.21990609936823, 'relevance functions'),\n",
       " (32.21990609936823, 'relevance ranker'),\n",
       " (32.21990609936823, 'relevance with diversity'),\n",
       " (32.21990609936823, 'relevant items among'),\n",
       " (32.21990609936823, 'relevant items retrieved'),\n",
       " (32.21990609936823, 'relevant results should'),\n",
       " (32.21990609936823, 'relevant to predicting'),\n",
       " (32.21990609936823, 'relevant webpages or'),\n",
       " (32.21990609936823, 'remove capitalization'),\n",
       " (32.21990609936823, 'removing punctuation'),\n",
       " (32.21990609936823, 'representation possibly'),\n",
       " (32.21990609936823, 'representations  and'),\n",
       " (32.21990609936823, 'representations for recommendation'),\n",
       " (32.21990609936823, 'representations from text'),\n",
       " (32.21990609936823, 'representations give'),\n",
       " (32.21990609936823, 'representations give us'),\n",
       " (32.21990609936823, 'representations ie'),\n",
       " (32.21990609936823, 'representations in this'),\n",
       " (32.21990609936823, 'representations of audio'),\n",
       " (32.21990609936823, 'representations of interactions'),\n",
       " (32.21990609936823, 'representations to describe'),\n",
       " (32.21990609936823, 'representations via'),\n",
       " (32.21990609936823, 'representations will be'),\n",
       " (32.21990609936823, 'represented as sequences'),\n",
       " (32.21990609936823, 'represented as sets'),\n",
       " (32.21990609936823, 'represented via'),\n",
       " (32.21990609936823, 'representing items'),\n",
       " (32.21990609936823, 'represents the probability'),\n",
       " (32.21990609936823, 'rerank'),\n",
       " (32.21990609936823, 'reranking approaches'),\n",
       " (32.21990609936823, 'residuals  modelpredictx'),\n",
       " (32.21990609936823, 'residuals follow a'),\n",
       " (32.21990609936823, 'residuals followed'),\n",
       " (32.21990609936823, 'residuals followed a'),\n",
       " (32.21990609936823, 'retrain the model'),\n",
       " (32.21990609936823, 'retrieval as we'),\n",
       " (32.21990609936823, 'retrieval techniques'),\n",
       " (32.21990609936823, 'retrieve relevant items'),\n",
       " (32.21990609936823, 'retrieve similar'),\n",
       " (32.21990609936823, 'retrieved results'),\n",
       " (32.21990609936823, 'return  return'),\n",
       " (32.21990609936823, 'return p'),\n",
       " (32.21990609936823, 'return tfmathlogtfmathsigmoidselfc'),\n",
       " (32.21990609936823, 'return tfmathlogtfmathsigmoidselfc '),\n",
       " (32.21990609936823, 'returned among'),\n",
       " (32.21990609936823, 'returned among the'),\n",
       " (32.21990609936823, 'review length beer'),\n",
       " (32.21990609936823, 'review length ie'),\n",
       " (32.21990609936823, 'review length in'),\n",
       " (32.21990609936823, 'review lengths'),\n",
       " (32.21990609936823, 'review lengths as'),\n",
       " (32.21990609936823, 'review topics'),\n",
       " (32.21990609936823, 'reviews are intended'),\n",
       " (32.21990609936823, 'reviews are often'),\n",
       " (32.21990609936823, 'reviews are used'),\n",
       " (32.21990609936823, 'reviews from amazon'),\n",
       " (32.21990609936823, 'reviews given'),\n",
       " (32.21990609936823, 'reviews of fantasy'),\n",
       " (32.21990609936823, 'reviews should be'),\n",
       " (32.21990609936823, 'revisit these topics'),\n",
       " (32.21990609936823, 'rg '),\n",
       " (32.21990609936823, 'rgneg'),\n",
       " (32.21990609936823, 'rnn cell'),\n",
       " (32.21990609936823, 'rnn cells'),\n",
       " (32.21990609936823, 'rnnbased'),\n",
       " (32.21990609936823, 'role of temporal'),\n",
       " (32.21990609936823, 'rss  sumr'),\n",
       " (32.21990609936823, 'ru wri'),\n",
       " (32.21990609936823, 's labelright'),\n",
       " (32.21990609936823, 's labelright '),\n",
       " (32.21990609936823, 's ratings'),\n",
       " (32.21990609936823, 'sake of visualizing'),\n",
       " (32.21990609936823, 'same data that'),\n",
       " (32.21990609936823, 'same items but'),\n",
       " (32.21990609936823, 'sample realisticlooking'),\n",
       " (32.21990609936823, 'sample realisticlooking reviews'),\n",
       " (32.21990609936823, 'sampled from a'),\n",
       " (32.21990609936823, 'sampled negative'),\n",
       " (32.21990609936823, 'sampled negative item'),\n",
       " (32.21990609936823, 'samplei samplej'),\n",
       " (32.21990609936823, 'samples eg you'),\n",
       " (32.21990609936823, 'sampleu samplei samplej'),\n",
       " (32.21990609936823, 'sampling negative'),\n",
       " (32.21990609936823, 'saw in ie'),\n",
       " (32.21990609936823, 'saw when developing'),\n",
       " (32.21990609936823, 'say '),\n",
       " (32.21990609936823, 'scenarios well'),\n",
       " (32.21990609936823, 'scene image that'),\n",
       " (32.21990609936823, 'score '),\n",
       " (32.21990609936823, 'score associated'),\n",
       " (32.21990609936823, 'score associated with'),\n",
       " (32.21990609936823, 'scores ie '),\n",
       " (32.21990609936823, 'search ie'),\n",
       " (32.21990609936823, 'search or retrieval'),\n",
       " (32.21990609936823, 'seasonal trends'),\n",
       " (32.21990609936823, 'seeks to incorporate'),\n",
       " (32.21990609936823, 'seem somewhat arbitrary'),\n",
       " (32.21990609936823, 'seen during training'),\n",
       " (32.21990609936823, 'select a dataset'),\n",
       " (32.21990609936823, 'select a model'),\n",
       " (32.21990609936823, 'select items that'),\n",
       " (32.21990609936823, 'selfalpha'),\n",
       " (32.21990609936823, 'selfalpha '),\n",
       " (32.21990609936823, 'selfbetai'),\n",
       " (32.21990609936823, 'selfbetai '),\n",
       " (32.21990609936823, 'selfbetai  tfvariabletfrandomnormallenitemidsstddev'),\n",
       " (32.21990609936823, 'selfbetaii'),\n",
       " (32.21990609936823, 'selfbetaii '),\n",
       " (32.21990609936823, 'selfbetaii  tftensordotselfgammauu'),\n",
       " (32.21990609936823, 'selfe  tfvariabletfrandomnormalfeatdimstyledimstddev'),\n",
       " (32.21990609936823, 'selfe s'),\n",
       " (32.21990609936823, 'selfe s '),\n",
       " (32.21990609936823, 'selfgammai'),\n",
       " (32.21990609936823, 'selfgammai '),\n",
       " (32.21990609936823, 'selfgammai  tfvariabletfrandomnormallenitemidskstddev'),\n",
       " (32.21990609936823, 'selfgammaii'),\n",
       " (32.21990609936823, 'selfgammaii '),\n",
       " (32.21990609936823, 'selfgammaii  return'),\n",
       " (32.21990609936823, 'selfgammau'),\n",
       " (32.21990609936823, 'selfgammau '),\n",
       " (32.21990609936823, 'selfgammau  tfvariabletfrandomnormallenuseridskstddev'),\n",
       " (32.21990609936823, 'selfscoresampleu'),\n",
       " (32.21990609936823, 'semantic representations'),\n",
       " (32.21990609936823, 'sensitivity and price'),\n",
       " (32.21990609936823, 'separate embeddings for'),\n",
       " (32.21990609936823, 'sequence of interactions'),\n",
       " (32.21990609936823, 'sequence of tokens'),\n",
       " (32.21990609936823, 'sequences of items'),\n",
       " (32.21990609936823, 'sequential model'),\n",
       " (32.21990609936823, 'sequential patterns'),\n",
       " (32.21990609936823, 'sequential recommendation in'),\n",
       " (32.21990609936823, 'sequential recommendation problems'),\n",
       " (32.21990609936823, 'sequential recommender systems'),\n",
       " (32.21990609936823, 'sequential songs'),\n",
       " (32.21990609936823, 'sequential songs in'),\n",
       " (32.21990609936823, 'serendipity via'),\n",
       " (32.21990609936823, 'sessionbased recommendation'),\n",
       " (32.21990609936823, 'sessionbased temporal'),\n",
       " (32.21990609936823, 'sessionbased temporal graph'),\n",
       " (32.21990609936823, 'sessiontoitem'),\n",
       " (32.21990609936823, 'set '),\n",
       " (32.21990609936823, 'set and matrix'),\n",
       " (32.21990609936823, 'set as in'),\n",
       " (32.21990609936823, 'set consisting'),\n",
       " (32.21990609936823, 'set consisting of'),\n",
       " (32.21990609936823, 'set of labels'),\n",
       " (32.21990609936823, 'set of observed'),\n",
       " (32.21990609936823, 'set representation'),\n",
       " (32.21990609936823, 'sets below'),\n",
       " (32.21990609936823, 'sets or matrices'),\n",
       " (32.21990609936823, 'setting of grocery'),\n",
       " (32.21990609936823, 'settings involving natural'),\n",
       " (32.21990609936823, 'settings like image'),\n",
       " (32.21990609936823, 'settings where users'),\n",
       " (32.21990609936823, 'settings where we'),\n",
       " (32.21990609936823, 'several approaches have'),\n",
       " (32.21990609936823, 'several settings in'),\n",
       " (32.21990609936823, 'several tunable'),\n",
       " (32.21990609936823, 'shared items'),\n",
       " (32.21990609936823, 'shorten '),\n",
       " (32.21990609936823, 'shorten  ptshorten'),\n",
       " (32.21990609936823, 'should align with'),\n",
       " (32.21990609936823, 'should be weighted'),\n",
       " (32.21990609936823, 'should have high'),\n",
       " (32.21990609936823, 'shown in figcosine'),\n",
       " (32.21990609936823, 'shown in figredditresub'),\n",
       " (32.21990609936823, 'shown in figrmsentrain'),\n",
       " (32.21990609936823, 'side information in'),\n",
       " (32.21990609936823, 'side information into'),\n",
       " (32.21990609936823, 'sigmoid function see'),\n",
       " (32.21990609936823, 'significant variability'),\n",
       " (32.21990609936823, 'significant variability in'),\n",
       " (32.21990609936823, 'significant variation among'),\n",
       " (32.21990609936823, 'similar customers'),\n",
       " (32.21990609936823, 'similar dataset'),\n",
       " (32.21990609936823, 'similar items ie'),\n",
       " (32.21990609936823, 'similar to maximal'),\n",
       " (32.21990609936823, 'similarity among items'),\n",
       " (32.21990609936823, 'similarity are'),\n",
       " (32.21990609936823, 'similarity based on'),\n",
       " (32.21990609936823, 'similarity directly'),\n",
       " (32.21990609936823, 'similarity essentially'),\n",
       " (32.21990609936823, 'similarity function that'),\n",
       " (32.21990609936823, 'similarity function the'),\n",
       " (32.21990609936823, 'similarity functions based'),\n",
       " (32.21990609936823, 'similarity functions like'),\n",
       " (32.21990609936823, 'similarity is defined'),\n",
       " (32.21990609936823, 'similarity measurements'),\n",
       " (32.21990609936823, 'similarity models'),\n",
       " (32.21990609936823, 'similarity of two'),\n",
       " (32.21990609936823, 'simple approaches'),\n",
       " (32.21990609936823, 'simple heuristic'),\n",
       " (32.21990609936823, 'simple itemtoitem'),\n",
       " (32.21990609936823, 'simple memorybased'),\n",
       " (32.21990609936823, 'simple numerical'),\n",
       " (32.21990609936823, 'simple relevance'),\n",
       " (32.21990609936823, 'simple similarity'),\n",
       " (32.21990609936823, 'simple similaritybased'),\n",
       " (32.21990609936823, 'simpler models may'),\n",
       " (32.21990609936823, 'simply be thought'),\n",
       " (32.21990609936823, 'simply because such'),\n",
       " (32.21990609936823, 'since '),\n",
       " (32.21990609936823, 'since eg'),\n",
       " (32.21990609936823, 'single latent'),\n",
       " (32.21990609936823, 'single latent space'),\n",
       " (32.21990609936823, 'single overlapping'),\n",
       " (32.21990609936823, 'single overlapping interaction'),\n",
       " (32.21990609936823, 'single previous interaction'),\n",
       " (32.21990609936823, 'single rating can'),\n",
       " (32.21990609936823, 'single term per'),\n",
       " (32.21990609936823, 'sizecm'),\n",
       " (32.21990609936823,\n",
       "  'sklearnlinearmodellinearregressionfitinterceptfalse modelfitx'),\n",
       " (32.21990609936823,\n",
       "  'sklearnlinearmodellinearregressionfitinterceptfalse modelfitx y'),\n",
       " (32.21990609936823, 'skunk and'),\n",
       " (32.21990609936823, 'small dataset of'),\n",
       " (32.21990609936823, 'small errors and'),\n",
       " (32.21990609936823, 'small errors are'),\n",
       " (32.21990609936823, 'smooth function'),\n",
       " (32.21990609936823, 'so far eg'),\n",
       " (32.21990609936823, 'so that recommendations'),\n",
       " (32.21990609936823, 'socalled coldstart'),\n",
       " (32.21990609936823, 'social feedback '),\n",
       " (32.21990609936823, 'social temporal'),\n",
       " (32.21990609936823, 'solve for '),\n",
       " (32.21990609936823, 'some datasets'),\n",
       " (32.21990609936823, 'song  and'),\n",
       " (32.21990609936823, 'songs in playlists'),\n",
       " (32.21990609936823, 'sought to incorporate'),\n",
       " (32.21990609936823, 'space via '),\n",
       " (32.21990609936823, 'space via a'),\n",
       " (32.21990609936823, 'space via and'),\n",
       " (32.21990609936823, 'sparse datasets'),\n",
       " (32.21990609936823, 'sparsity issues'),\n",
       " (32.21990609936823, 'special effects may'),\n",
       " (32.21990609936823, 'specialists high'),\n",
       " (32.21990609936823, 'specialists high '),\n",
       " (32.21990609936823, 'specific dataset'),\n",
       " (32.21990609936823, 'specific semantics'),\n",
       " (32.21990609936823, 'specific semantics of'),\n",
       " (32.21990609936823, 'spline function'),\n",
       " (32.21990609936823, 'split your data'),\n",
       " (32.21990609936823, 'spot between under'),\n",
       " (32.21990609936823, 'squared distance function'),\n",
       " (32.21990609936823, 'squared error actually'),\n",
       " (32.21990609936823, 'squared error are'),\n",
       " (32.21990609936823, 'squared error as'),\n",
       " (32.21990609936823, 'squared error in'),\n",
       " (32.21990609936823, 'squared error the'),\n",
       " (32.21990609936823, 'squared error this'),\n",
       " (32.21990609936823, 'squared residuals'),\n",
       " (32.21990609936823, 'ssnodestylefillmygrey'),\n",
       " (32.21990609936823, 'standard machine learning'),\n",
       " (32.21990609936823, 'stars based'),\n",
       " (32.21990609936823, 'stars based on'),\n",
       " (32.21990609936823, 'start by comparing'),\n",
       " (32.21990609936823, 'start chaingoing'),\n",
       " (32.21990609936823, 'start chaingoing belownode'),\n",
       " (32.21990609936823, 'state  and'),\n",
       " (32.21990609936823, 'stateoftheart models'),\n",
       " (32.21990609936823, 'states that among'),\n",
       " (32.21990609936823, 'statistical dispersion'),\n",
       " (32.21990609936823, 'step '),\n",
       " (32.21990609936823, 'steps start'),\n",
       " (32.21990609936823, 'steps start by'),\n",
       " (32.21990609936823, 'stopwords are'),\n",
       " (32.21990609936823, 'straightforwardly be incorporated'),\n",
       " (32.21990609936823, 'straightforwardly be used'),\n",
       " (32.21990609936823, 'straightforwardly modified'),\n",
       " (32.21990609936823, 'straightforwardly modified to'),\n",
       " (32.21990609936823, 'straightforwardly to'),\n",
       " (32.21990609936823, 'straightforwardly we'),\n",
       " (32.21990609936823, 'strategies for recommender'),\n",
       " (32.21990609936823, 'strategies might be'),\n",
       " (32.21990609936823, 'strategies to incorporate'),\n",
       " (32.21990609936823, 'strength '),\n",
       " (32.21990609936823, 'structure among'),\n",
       " (32.21990609936823, 'structure in recommender'),\n",
       " (32.21990609936823, 'structures to store'),\n",
       " (32.21990609936823, 'studied a little'),\n",
       " (32.21990609936823, 'studied above'),\n",
       " (32.21990609936823, 'studied in here'),\n",
       " (32.21990609936823, 'study of recommendation'),\n",
       " (32.21990609936823, 'study of recommender'),\n",
       " (32.21990609936823, 'study of temporal'),\n",
       " (32.21990609936823, 'study temporal'),\n",
       " (32.21990609936823, 'study temporal recommendation'),\n",
       " (32.21990609936823, 'subtract the mean'),\n",
       " (32.21990609936823, 'successful solutions to'),\n",
       " (32.21990609936823, 'such approaches below'),\n",
       " (32.21990609936823, 'such as conversational'),\n",
       " (32.21990609936823, 'such as filter'),\n",
       " (32.21990609936823, 'such as items'),\n",
       " (32.21990609936823, 'such as recommendation'),\n",
       " (32.21990609936823, 'such as sociallyaware'),\n",
       " (32.21990609936823, 'such confounds'),\n",
       " (32.21990609936823, 'such confounds by'),\n",
       " (32.21990609936823, 'such each'),\n",
       " (32.21990609936823, 'such models have'),\n",
       " (32.21990609936823, 'such the factorization'),\n",
       " (32.21990609936823, 'such vectors'),\n",
       " (32.21990609936823, 'such vectors are'),\n",
       " (32.21990609936823, 'summation in'),\n",
       " (32.21990609936823, 'sumr for'),\n",
       " (32.21990609936823, 'sumr for r'),\n",
       " (32.21990609936823, 'sumratingdictui'),\n",
       " (32.21990609936823, 'sumratingdictui for'),\n",
       " (32.21990609936823, 'sumratingdictui for u'),\n",
       " (32.21990609936823, 'sumretrievedlabels'),\n",
       " (32.21990609936823, 'sumretrievedlabels '),\n",
       " (32.21990609936823, 'sumsims'),\n",
       " (32.21990609936823, 'supervised learning that'),\n",
       " (32.21990609936823, 'surfaced on a'),\n",
       " (32.21990609936823, 'surfaced to the'),\n",
       " (32.21990609936823, 'surprise and implicit'),\n",
       " (32.21990609936823, 'survey a few'),\n",
       " (32.21990609936823, 'survey various'),\n",
       " (32.21990609936823, 'synonyms of'),\n",
       " (32.21990609936823, 'synthetic image'),\n",
       " (32.21990609936823, 'system is trained'),\n",
       " (32.21990609936823, 'systems are applied'),\n",
       " (32.21990609936823, 'systems for personalized'),\n",
       " (32.21990609936823, 'systems several'),\n",
       " (32.21990609936823, 'systems that generate'),\n",
       " (32.21990609936823, 't rui'),\n",
       " (32.21990609936823, 't rui '),\n",
       " (32.21990609936823, 't u i'),\n",
       " (32.21990609936823, 't ui'),\n",
       " (32.21990609936823, 't ui t'),\n",
       " (32.21990609936823, 'tabdlrecexamps'),\n",
       " (32.21990609936823, 'tabsocialrec'),\n",
       " (32.21990609936823, 'tabuserfree'),\n",
       " (32.21990609936823, 'tail ie'),\n",
       " (32.21990609936823, 'take values'),\n",
       " (32.21990609936823, 'take values of'),\n",
       " (32.21990609936823, 'technique to incorporate'),\n",
       " (32.21990609936823, 'techniques based on'),\n",
       " (32.21990609936823, 'techniques for recommendation'),\n",
       " (32.21990609936823, 'techniques range'),\n",
       " (32.21990609936823, 'techniques range from'),\n",
       " (32.21990609936823, 'techniques underlying'),\n",
       " (32.21990609936823, 'temporal dynamics can'),\n",
       " (32.21990609936823, 'temporal dynamics into'),\n",
       " (32.21990609936823, 'temporal dynamics may'),\n",
       " (32.21990609936823, 'temporal dynamics the'),\n",
       " (32.21990609936823, 'temporal dynamics weve'),\n",
       " (32.21990609936823, 'temporal feature'),\n",
       " (32.21990609936823, 'temporal graph'),\n",
       " (32.21990609936823, 'temporal graph xiangtemporal'),\n",
       " (32.21990609936823, 'temporal models the'),\n",
       " (32.21990609936823, 'temporal recommendation and'),\n",
       " (32.21990609936823, 'temporally evolving bias'),\n",
       " (32.21990609936823, 'temporallyevolving data'),\n",
       " (32.21990609936823, 'tend to gradually'),\n",
       " (32.21990609936823, 'tend to yield'),\n",
       " (32.21990609936823, 'tensorflow implementation'),\n",
       " (32.21990609936823, 'tensorflow in'),\n",
       " (32.21990609936823, 'term  and'),\n",
       " (32.21990609936823, 'term  is'),\n",
       " (32.21990609936823, 'term in is'),\n",
       " (32.21990609936823, 'term represents'),\n",
       " (32.21990609936823, 'terms of cosine'),\n",
       " (32.21990609936823, 'terms of latent'),\n",
       " (32.21990609936823, 'terms of vectors'),\n",
       " (32.21990609936823, 'terms which we'),\n",
       " (32.21990609936823, 'test fractions'),\n",
       " (32.21990609936823, 'test mse'),\n",
       " (32.21990609936823, 'test mse of'),\n",
       " (32.21990609936823, 'test set is'),\n",
       " (32.21990609936823, 'test sets are'),\n",
       " (32.21990609936823, 'text as we'),\n",
       " (32.21990609936823, 'text representations'),\n",
       " (32.21990609936823, 'textblackabove  circle'),\n",
       " (32.21990609936823, 'textual data as'),\n",
       " (32.21990609936823, 'tfgradienttape'),\n",
       " (32.21990609936823, 'tfgradienttape as'),\n",
       " (32.21990609936823, 'tfgradienttape as tape'),\n",
       " (32.21990609936823, 'tfidf representations of'),\n",
       " (32.21990609936823, 'tfmathlogtfmathsigmoidselfc'),\n",
       " (32.21990609936823, 'tfmathlogtfmathsigmoidselfc '),\n",
       " (32.21990609936823, 'tfmatmulx selfe s'),\n",
       " (32.21990609936823, 'tfreducemeanselfpredictsampleuseridsu'),\n",
       " (32.21990609936823, 'tfreducemeanselfpredictsampleuseridsu for'),\n",
       " (32.21990609936823, 'tfreducemeanselfpredictsampleuseridsu for u'),\n",
       " (32.21990609936823, 'tfreducemeantfconverttotensorr'),\n",
       " (32.21990609936823, 'tfreducemeantfconverttotensorr for'),\n",
       " (32.21990609936823, 'tfreducemeantfconverttotensorr for r'),\n",
       " (32.21990609936823, 'tftensordotselfgammauu'),\n",
       " (32.21990609936823, 'tftensordotselfgammauu selfgammaii'),\n",
       " (32.21990609936823, 'tftensordotselfgammauu selfgammaii '),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormalfeatdimstyledimstddev'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenitemidskstddev'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenitemidskstddev selflamb'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenitemidskstddev selflamb '),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenitemidsstddev'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenitemidsstddev selfgammau'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenitemidsstddev selfgammau '),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenuseridskstddev'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenuseridskstddev selfgammai'),\n",
       " (32.21990609936823, 'tfvariabletfrandomnormallenuseridskstddev selfgammai '),\n",
       " (32.21990609936823, 'tfwd '),\n",
       " (32.21990609936823, 'tfwd  '),\n",
       " (32.21990609936823, 'than eg'),\n",
       " (32.21990609936823, 'than estimating'),\n",
       " (32.21990609936823, 'than minimizing'),\n",
       " (32.21990609936823, 'than mispredicting'),\n",
       " (32.21990609936823, 'than their compatibility'),\n",
       " (32.21990609936823, 'that is items'),\n",
       " (32.21990609936823, 'that is users'),\n",
       " (32.21990609936823, 'that maximally'),\n",
       " (32.21990609936823, 'that negative instances'),\n",
       " (32.21990609936823, 'that ngrams'),\n",
       " (32.21990609936823, 'that our dictionary'),\n",
       " (32.21990609936823, 'that our features'),\n",
       " (32.21990609936823, 'that personalization'),\n",
       " (32.21990609936823, 'that related items'),\n",
       " (32.21990609936823, 'that sequential'),\n",
       " (32.21990609936823, 'that serendipitous'),\n",
       " (32.21990609936823, 'that simpler models'),\n",
       " (32.21990609936823, 'that small errors'),\n",
       " (32.21990609936823, 'that the residuals'),\n",
       " (32.21990609936823, 'that user appeared'),\n",
       " (32.21990609936823, 'that users preferences'),\n",
       " (32.21990609936823, 'that while is'),\n",
       " (32.21990609936823, 'the above metrics'),\n",
       " (32.21990609936823, 'the assumption from'),\n",
       " (32.21990609936823, 'the attention mechanism'),\n",
       " (32.21990609936823, 'the autoregressive'),\n",
       " (32.21990609936823, 'the bestperforming model'),\n",
       " (32.21990609936823, 'the bias term'),\n",
       " (32.21990609936823, 'the bpr'),\n",
       " (32.21990609936823, 'the cell state'),\n",
       " (32.21990609936823, 'the classweightbalanced'),\n",
       " (32.21990609936823, 'the classweightbalanced option'),\n",
       " (32.21990609936823, 'the coefficients '),\n",
       " (32.21990609936823, 'the coldstart'),\n",
       " (32.21990609936823, 'the complex semantics'),\n",
       " (32.21990609936823, 'the compressed representation'),\n",
       " (32.21990609936823, 'the context preferences'),\n",
       " (32.21990609936823, 'the data eg'),\n",
       " (32.21990609936823, 'the dataset eg'),\n",
       " (32.21990609936823, 'the deep component'),\n",
       " (32.21990609936823, 'the derivative for'),\n",
       " (32.21990609936823, 'the determinant is'),\n",
       " (32.21990609936823, 'the deviation term'),\n",
       " (32.21990609936823, 'the dimensions that'),\n",
       " (32.21990609936823, 'the discounted cumulative'),\n",
       " (32.21990609936823, 'the discriminator is'),\n",
       " (32.21990609936823, 'the document frequency'),\n",
       " (32.21990609936823, 'the fairness metrics'),\n",
       " (32.21990609936823, 'the fairness objective'),\n",
       " (32.21990609936823, 'the fairness objectives'),\n",
       " (32.21990609936823, 'the fastfm'),\n",
       " (32.21990609936823, 'the fastfm library'),\n",
       " (32.21990609936823, 'the fitted values'),\n",
       " (32.21990609936823, 'the form '),\n",
       " (32.21990609936823, 'the form given'),\n",
       " (32.21990609936823, 'the form note'),\n",
       " (32.21990609936823, 'the gender variable'),\n",
       " (32.21990609936823, 'the general strategy'),\n",
       " (32.21990609936823, 'the heldout data'),\n",
       " (32.21990609936823, 'the highest predicted'),\n",
       " (32.21990609936823, 'the identity matrix'),\n",
       " (32.21990609936823, 'the interaction history'),\n",
       " (32.21990609936823, 'the interaction matrix'),\n",
       " (32.21990609936823, 'the item '),\n",
       " (32.21990609936823, 'the item space'),\n",
       " (32.21990609936823, 'the item vocabulary'),\n",
       " (32.21990609936823, 'the itemtoitem'),\n",
       " (32.21990609936823, 'the jaccard cosine'),\n",
       " (32.21990609936823, 'the linear models'),\n",
       " (32.21990609936823, 'the long shortterm'),\n",
       " (32.21990609936823, 'the lowdimensional representation'),\n",
       " (32.21990609936823, 'the matrix '),\n",
       " (32.21990609936823, 'the mean '),\n",
       " (32.21990609936823, 'the mean rating'),\n",
       " (32.21990609936823, 'the missing entries'),\n",
       " (32.21990609936823, 'the model eg'),\n",
       " (32.21990609936823, 'the models tendency'),\n",
       " (32.21990609936823, 'the models well'),\n",
       " (32.21990609936823, 'the models weve'),\n",
       " (32.21990609936823, 'the netflix data'),\n",
       " (32.21990609936823, 'the netflix dataset'),\n",
       " (32.21990609936823, 'the numerator in'),\n",
       " (32.21990609936823, 'the output variables'),\n",
       " (32.21990609936823, 'the overrepresented'),\n",
       " (32.21990609936823, 'the overrepresented group'),\n",
       " (32.21990609936823, 'the paper discusses'),\n",
       " (32.21990609936823, 'the personal term'),\n",
       " (32.21990609936823, 'the polynomial'),\n",
       " (32.21990609936823, 'the positive item'),\n",
       " (32.21990609936823, 'the precision recall'),\n",
       " (32.21990609936823, 'the prediction '),\n",
       " (32.21990609936823, 'the previous action'),\n",
       " (32.21990609936823, 'the principal dimensions'),\n",
       " (32.21990609936823, 'the procedures above'),\n",
       " (32.21990609936823, 'the protected feature'),\n",
       " (32.21990609936823, 'the pseudoinverse as'),\n",
       " (32.21990609936823, 'the regularization hyperparameter'),\n",
       " (32.21990609936823, 'the regularized model'),\n",
       " (32.21990609936823, 'the related notion'),\n",
       " (32.21990609936823, 'the scene image'),\n",
       " (32.21990609936823, 'the score associated'),\n",
       " (32.21990609936823, 'the sequential or'),\n",
       " (32.21990609936823, 'the settings we'),\n",
       " (32.21990609936823, 'the similaritybased'),\n",
       " (32.21990609936823, 'the specific choice'),\n",
       " (32.21990609936823, 'the specific semantics'),\n",
       " (32.21990609936823, 'the step function'),\n",
       " (32.21990609936823, 'the techniques underlying'),\n",
       " (32.21990609936823, 'the temporal models'),\n",
       " (32.21990609936823, 'the term represents'),\n",
       " (32.21990609936823, 'the tfidf'),\n",
       " (32.21990609936823, 'the timestamp for'),\n",
       " (32.21990609936823, 'the topic model'),\n",
       " (32.21990609936823, 'the training error'),\n",
       " (32.21990609936823, 'the training objective'),\n",
       " (32.21990609936823, 'the transformed data'),\n",
       " (32.21990609936823, 'the transformer architecture'),\n",
       " (32.21990609936823, 'the trust network'),\n",
       " (32.21990609936823, 'the underrepresented group'),\n",
       " (32.21990609936823, 'the user '),\n",
       " (32.21990609936823, 'the user ie'),\n",
       " (32.21990609936823, 'the users compatibility'),\n",
       " (32.21990609936823, 'the users next'),\n",
       " (32.21990609936823, 'the vectors and'),\n",
       " (32.21990609936823, 'the weighting function'),\n",
       " (32.21990609936823, 'their associated confidence'),\n",
       " (32.21990609936823, 'their interaction history'),\n",
       " (32.21990609936823, 'their interaction patterns'),\n",
       " (32.21990609936823, 'their mean squared'),\n",
       " (32.21990609936823, 'their specific approach'),\n",
       " (32.21990609936823, 'their writing styles'),\n",
       " (32.21990609936823, 'them '),\n",
       " (32.21990609936823, 'them  and'),\n",
       " (32.21990609936823, 'then to model'),\n",
       " (32.21990609936823, 'these embeddings'),\n",
       " (32.21990609936823, 'these features or'),\n",
       " (32.21990609936823, 'these latent'),\n",
       " (32.21990609936823, 'these similarity measures'),\n",
       " (32.21990609936823, 'they have interacted'),\n",
       " (32.21990609936823, 'thin every'),\n",
       " (32.21990609936823, 'thin every nodestyledrawcircle'),\n",
       " (32.21990609936823, 'this candidate set'),\n",
       " (32.21990609936823, 'this dataset as'),\n",
       " (32.21990609936823, 'this model along'),\n",
       " (32.21990609936823, 'this owes'),\n",
       " (32.21990609936823, 'this simply by'),\n",
       " (32.21990609936823, 'this user is'),\n",
       " (32.21990609936823, 'this well explore'),\n",
       " (32.21990609936823, 'those we develop'),\n",
       " (32.21990609936823, 'those weve seen'),\n",
       " (32.21990609936823, 'though alternately'),\n",
       " (32.21990609936823, 'though includes'),\n",
       " (32.21990609936823, 'though we further'),\n",
       " (32.21990609936823, 'threshold the precision'),\n",
       " (32.21990609936823, 'through simulation'),\n",
       " (32.21990609936823, 'throughout the chapter'),\n",
       " (32.21990609936823, 'ti iu'),\n",
       " (32.21990609936823, 'time '),\n",
       " (32.21990609936823, 'timestamp '),\n",
       " (32.21990609936823, 'timestamps such'),\n",
       " (32.21990609936823, 'tip amount'),\n",
       " (32.21990609936823, 'to  but')]"
      ]
     },
     "execution_count": 141,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tfidfList[-10000:-9000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "128.87962439747292"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tfidfDict['maximal marginal relevance']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = open('initial.txt', 'w')\n",
    "output = ''\n",
    "for t, w in tfidfList[::-1]:\n",
    "    if t > 30:\n",
    "        if not (w in output):\n",
    "            x.write(w + '\\n')\n",
    "            output += ' ' + w\n",
    "x.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['feature engineering']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf['samplej']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [],
   "source": [
    "initialList = \"\"\"recommender system\n",
    "latent factor model\n",
    "factorization machine\n",
    "mse / mean squared error\n",
    "regression\n",
    "logistic regression\n",
    "cold-start\n",
    "cosine similarity\n",
    "diversity\n",
    "classifier / classification\n",
    "item representations / item representation\n",
    "regularizer / regularization\n",
    "personalized ranking\n",
    "linear\n",
    "deep learning\n",
    "bayesian personalized ranking / bpr\n",
    "jaccard / jaccard similarity\n",
    "inner product\n",
    "retrieval\n",
    "fairness\n",
    "recurrent / rnn / recurrent networks / recurrent neural network\n",
    "recall\n",
    "precision\n",
    "temporal models\n",
    "accuracy\n",
    "relevance\n",
    "gender\n",
    "bag-of-words\n",
    "multilayer perceptron\n",
    "gradient\n",
    "validation / validation set\n",
    "test set\n",
    "price\n",
    "compatibility function\n",
    "item-to-item compatibility\n",
    "similarity function\n",
    "one-hot / one-hot encoding\n",
    "tensorflow\n",
    "netflix\n",
    "markov / markov chain\n",
    "side-information\n",
    "filter bubble\n",
    "residual\n",
    "training set\n",
    "line of best fit\n",
    "fpmc\n",
    "text generation\n",
    "item2vec\n",
    "word2vec\n",
    "implicit feedback\n",
    "natural language\n",
    "evaluation\n",
    "serendipity\n",
    "pairwise FIX\n",
    "model-based FIX\n",
    "memory-based FIX\n",
    "matrix factorization\n",
    "bias term\n",
    "complementary FIX\n",
    "model parameters\n",
    "visual data\n",
    "unexpectedness\n",
    "negative instances\n",
    "tf-idf FIX\n",
    "term frequency\n",
    "inverse document frequency\n",
    "sequential dynamics / sequential recommendation\n",
    "rating prediction\n",
    "fashion\n",
    "explicit feedback\n",
    "gradient descent\n",
    "goodreads\n",
    "visual features\n",
    "netflix prize\n",
    "unfairness\n",
    "validation and test\n",
    "similarity functions\n",
    "sigmoid function\n",
    "sequential models\n",
    "deep learning-based\n",
    "interaction histories\n",
    "interaction history\n",
    "inner product\n",
    "multilayer perceptron\n",
    "supervised learning\n",
    "netflix prize\n",
    "neural networks\n",
    "unigrams\n",
    "factorization machine\n",
    "one-hot encoding\n",
    "multilayer perceptrons\n",
    "word2vec\n",
    "variance\n",
    "training set\n",
    "timestamps\n",
    "dimensionality reduction\n",
    "attention mechanism\n",
    "outliers\n",
    "test set\n",
    "classifier\n",
    "auc / area under the ROC curve\n",
    "roc / receiver operator characteristic\n",
    "regularizer\n",
    "pseudoinverse\n",
    "similarity-based FIX\n",
    "pearson similarity\n",
    "learning pipeline\n",
    "historical interactions\n",
    "evaluation metrics\n",
    "cumulative gain\n",
    "factorization machine\n",
    "image features\n",
    "social connections\n",
    "linear regression\n",
    "hyperparameters\n",
    "normal distribution\n",
    "generative model\n",
    "substitutable\n",
    "bag-of-words / bag-of-words model\n",
    "amazon\n",
    "stopwords\n",
    "reranking\n",
    "mmr / maximal marginal relevance\n",
    "item-to-item similarity\n",
    "convolutional\n",
    "sentiment\n",
    "feature engineering\n",
    "dialog\n",
    "diversification\n",
    "cnn / convolutional neural network\n",
    "sparsity\n",
    "personalized health\n",
    "svd\n",
    "tensorflow\n",
    "autoencoders\n",
    "pearson similarity\n",
    "temporal dynamics\n",
    "shortterm dynamics\n",
    "text generation\n",
    "markov chains\n",
    "language models\n",
    "item-to-item recommendation\n",
    "interaction history\n",
    "extremification\n",
    "diversification techniques\n",
    "compatibility relationships\n",
    "coldstart recommendation\n",
    "calibration\n",
    "euclidean distance\n",
    "online dating\n",
    "lstm\n",
    "price\n",
    "clothing\n",
    "gaussian\n",
    "explanations\n",
    "fashion\n",
    "generative models\n",
    "outfit\n",
    "conversational\n",
    "sigmoid\n",
    "regularization\n",
    "regularized\n",
    "gini coefficient\n",
    "user-free\n",
    "sigmoid function\n",
    "temporal recommendation\n",
    "reciprocal rank / mean reciprocal rank\n",
    "mean absolute error\n",
    "goodreads\n",
    "fashion compatibility\n",
    "case studies\n",
    "bigrams\n",
    "ber / balanced error rate\n",
    "google\n",
    "long-term dynamics\n",
    "outfits\n",
    "novelty\n",
    "singular value decomposition\n",
    "reweighting\n",
    "pairwise interactions\n",
    "interpretability\n",
    "sentiment analysis\n",
    "feature matrix\n",
    "true positive\n",
    "false positive\n",
    "true negative\n",
    "false negative\n",
    "recipes\n",
    "visual signals\n",
    "visual compatibility\n",
    "vbpr / visual bayesian personalized ranking\n",
    "movielens\n",
    "logistic regressor\n",
    "interactive recommendation\n",
    "heartrate profile\n",
    "expressive deviation term\n",
    "netflix\n",
    "document frequency\n",
    "discounted cumulative gain\n",
    "conversational recommendation\n",
    "complementary item\n",
    "categorical features\n",
    "balanced error rate\n",
    "auc\n",
    "satisfaction\n",
    "amazon\n",
    "user interface\n",
    "transition probabilities\n",
    "locationbased\n",
    "bartering\n",
    "convolutional neural network\n",
    "collaborative filtering\n",
    "autoregressive\n",
    "filter bubble\n",
    "temporal variation\n",
    "diversity\n",
    "concentration\n",
    "decision trees\n",
    "visually-aware\n",
    "translation-based\n",
    "harmonic mean\n",
    "compatibility function\n",
    "bias terms\n",
    "balanced error\n",
    "bag-of-words\n",
    "temporal features\n",
    "temporal dynamics\n",
    "socially-aware recommendation\n",
    "similarity-based recommenders\n",
    "shared parameter\n",
    "sequential dynamics\n",
    "sequential data\n",
    "sequential context\n",
    "n-gram\n",
    "neural collaborative filtering\n",
    "model-based recommender systems\n",
    "item metadata\n",
    "goodreads \n",
    "fism\n",
    "fashionability\n",
    "factorized personalized markov chain\n",
    "contextual personalization\n",
    "complementary item recommendation\n",
    "compatible outfits\n",
    "click probability\n",
    "bipartite graph\n",
    "bagofwords representations\n",
    "bagofwords models\n",
    "shortterm dynamics\n",
    "ngram representation\n",
    "lstm\n",
    "attention mechanism\n",
    "abstractive\n",
    "initialization\n",
    "maximum likelihood\n",
    "topic model\n",
    "price dynamics\n",
    "netflix\n",
    "maximum likelihood estimation\n",
    "concentration effect\n",
    "autoregression\n",
    "true positive rate\n",
    "true negative rate\n",
    "false positive rate\n",
    "false negative rate\n",
    "roc curve FIX\n",
    "neighborhood-based\n",
    "long-term dynamics\n",
    "true positive\n",
    "true negative\n",
    "false positive\n",
    "false negative\n",
    "convolutional neural networks\n",
    "natural language processing\n",
    "rmse\n",
    "random walk\n",
    "gan / generative adversarial network\n",
    "online advertising\n",
    "social signals\n",
    "product images\n",
    "pagerank\n",
    "spotify\n",
    "support vector machine\n",
    "gaussian distribution\n",
    "underrepresented groups\n",
    "image data\n",
    "manifold\n",
    "yelp\n",
    "visually-aware recommendation\n",
    "visually compatible\n",
    "visual factors\n",
    "visual dynamics\n",
    "visual dimensions\n",
    "visual attributes\n",
    "validation set\n",
    "user manifold\n",
    "translation-based recommendation\n",
    "overfitting\n",
    "cumulative gain\n",
    "bagofwords model\n",
    "tfidf representations\n",
    "social bpr\n",
    "smart reply\n",
    "reranking strategies\n",
    "hyperparameter\n",
    "regularization coefficients\n",
    "recurrent networks\n",
    "random walker\n",
    "random walkbased methods\n",
    "pricee-lasticity\n",
    "price sensitivity\n",
    "outfit generation\n",
    "online news\n",
    "onehot encoding\n",
    "implicit feedback\n",
    "gradient descent\n",
    "content diversity\n",
    "item-to-item recommendation\n",
    "concept drift\n",
    "novelty\n",
    "serendipity\n",
    "nonlinear transformations\n",
    "news recommendation\n",
    "ndcg\n",
    "natural language models\n",
    "music recommendation\n",
    "model-based personalization\n",
    "local minima\n",
    "latent factor recommender\n",
    "joint embeddings\n",
    "item biases\n",
    "sklearn\n",
    "heartrate sequences\n",
    "google \n",
    "smart reply\n",
    "goodreads\n",
    "goal is then\n",
    "generative adversarial network\n",
    "filter bubbles\n",
    "sliding window\n",
    "fastfm\n",
    "demographic parity\n",
    "complementary\n",
    "compatibility\n",
    "tensorflow\n",
    "abstractive\n",
    "absolute unfairness\n",
    "value unfairness\n",
    "imputation\n",
    "gan\n",
    "tsne\n",
    "topic model\n",
    "roc curve\n",
    "social feedback\n",
    "serendipity\n",
    "sequence-to-sequence\n",
    "modcloth\n",
    "location-based social networks\n",
    "gensim\n",
    "mmr\n",
    "random walks\n",
    "linear function\n",
    "gini coefficient\n",
    "eigenvectors\n",
    "fpr\n",
    "tpr\n",
    "tnr\n",
    "fnr\n",
    "support vector machines\n",
    "fmc\n",
    "stemming\n",
    "imagenet\n",
    "diversity\n",
    "python\n",
    "seasonal\n",
    "tokenized\n",
    "extractive\n",
    "netflix\n",
    "reddit\n",
    "herding\n",
    "word2vec\n",
    "pseudoinverse\n",
    "user-to-item compatibility\n",
    "user-free personalization\n",
    "user manifolds\n",
    "unigrams\n",
    "bigrams\n",
    "fastfm\n",
    "surprise\n",
    "spline function\n",
    "session-based temporal graph\n",
    "session-based recommendation\n",
    "seasonal trends\n",
    "punctuation\n",
    "capitalization\n",
    "recommendation pipeline\n",
    "reciprocal rank\n",
    "random walker\n",
    "query refinement\n",
    "pytorch\n",
    "price sensitivity\n",
    "point-of-interest recommendation\n",
    "determinantal point processes\n",
    "hits\n",
    "fpmc\n",
    "ad recommendation\n",
    "nonlinear transformations\n",
    "neural factorization machines\n",
    "neural attentive recommendation\n",
    "narm\n",
    "memory-based recommender systems\n",
    "memory-based recommendation\n",
    "lstm cell\n",
    "locality-sensitive hashing\n",
    "kdtree\n",
    "vbpr\n",
    "group bpr is\n",
    "fvu\n",
    "r^2\n",
    "fpmc\n",
    "prme\n",
    "dateutil\n",
    "bert\n",
    "extremification\n",
    "bert4rec\n",
    "bartering\n",
    "autorec\n",
    "serendipity\n",
    "mlp\"\"\".split('\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [],
   "source": [
    "initialList.sort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "absolute unfairness\n",
      "abstractive\n",
      "abstractive\n",
      "accuracy\n",
      "ad recommendation\n",
      "amazon\n",
      "amazon\n",
      "attention mechanism\n",
      "attention mechanism\n",
      "auc\n",
      "auc / area under the ROC curve\n",
      "autoencoders\n",
      "autorec\n",
      "autoregression\n",
      "autoregressive\n",
      "bag-of-words\n",
      "bag-of-words\n",
      "bag-of-words / bag-of-words model\n",
      "bagofwords model\n",
      "bagofwords models\n",
      "bagofwords representations\n",
      "balanced error\n",
      "balanced error rate\n",
      "bartering\n",
      "bartering\n",
      "bayesian personalized ranking / bpr\n",
      "ber / balanced error rate\n",
      "bert\n",
      "bert4rec\n",
      "bias term\n",
      "bias terms\n",
      "bigrams\n",
      "bigrams\n",
      "bipartite graph\n",
      "calibration\n",
      "capitalization\n",
      "case studies\n",
      "categorical features\n",
      "classifier\n",
      "classifier / classification\n",
      "click probability\n",
      "clothing\n",
      "cnn / convolutional neural network\n",
      "cold-start\n",
      "coldstart recommendation\n",
      "collaborative filtering\n",
      "compatibility\n",
      "compatibility function\n",
      "compatibility function\n",
      "compatibility relationships\n",
      "compatible outfits\n",
      "complementary\n",
      "complementary FIX\n",
      "complementary item\n",
      "complementary item recommendation\n",
      "concentration\n",
      "concentration effect\n",
      "concept drift\n",
      "content diversity\n",
      "contextual personalization\n",
      "conversational\n",
      "conversational recommendation\n",
      "convolutional\n",
      "convolutional neural network\n",
      "convolutional neural networks\n",
      "cosine similarity\n",
      "cumulative gain\n",
      "cumulative gain\n",
      "dateutil\n",
      "decision trees\n",
      "deep learning\n",
      "deep learning-based\n",
      "demographic parity\n",
      "determinantal point processes\n",
      "dialog\n",
      "dimensionality reduction\n",
      "discounted cumulative gain\n",
      "diversification\n",
      "diversification techniques\n",
      "diversity\n",
      "diversity\n",
      "diversity\n",
      "document frequency\n",
      "eigenvectors\n",
      "euclidean distance\n",
      "evaluation\n",
      "evaluation metrics\n",
      "explanations\n",
      "explicit feedback\n",
      "expressive deviation term\n",
      "extractive\n",
      "extremification\n",
      "extremification\n",
      "factorization machine\n",
      "factorization machine\n",
      "factorization machine\n",
      "factorized personalized markov chain\n",
      "fairness\n",
      "false negative\n",
      "false negative\n",
      "false negative rate\n",
      "false positive\n",
      "false positive\n",
      "false positive rate\n",
      "fashion\n",
      "fashion\n",
      "fashion compatibility\n",
      "fashionability\n",
      "fastfm\n",
      "fastfm\n",
      "feature engineering\n",
      "feature matrix\n",
      "filter bubble\n",
      "filter bubble\n",
      "filter bubbles\n",
      "fism\n",
      "fmc\n",
      "fnr\n",
      "fpmc\n",
      "fpmc\n",
      "fpmc\n",
      "fpr\n",
      "fvu\n",
      "gan\n",
      "gan / generative adversarial network\n",
      "gaussian\n",
      "gaussian distribution\n",
      "gender\n",
      "generative adversarial network\n",
      "generative model\n",
      "generative models\n",
      "gensim\n",
      "gini coefficient\n",
      "gini coefficient\n",
      "goal is then\n",
      "goodreads\n",
      "goodreads\n",
      "goodreads\n",
      "goodreads \n",
      "google\n",
      "google \n",
      "gradient\n",
      "gradient descent\n",
      "gradient descent\n",
      "group bpr is\n",
      "harmonic mean\n",
      "heartrate profile\n",
      "heartrate sequences\n",
      "herding\n",
      "historical interactions\n",
      "hits\n",
      "hyperparameter\n",
      "hyperparameters\n",
      "image data\n",
      "image features\n",
      "imagenet\n",
      "implicit feedback\n",
      "implicit feedback\n",
      "imputation\n",
      "initialization\n",
      "inner product\n",
      "inner product\n",
      "interaction histories\n",
      "interaction history\n",
      "interaction history\n",
      "interactive recommendation\n",
      "interpretability\n",
      "inverse document frequency\n",
      "item biases\n",
      "item metadata\n",
      "item representations / item representation\n",
      "item-to-item compatibility\n",
      "item-to-item recommendation\n",
      "item-to-item recommendation\n",
      "item-to-item similarity\n",
      "item2vec\n",
      "jaccard / jaccard similarity\n",
      "joint embeddings\n",
      "kdtree\n",
      "language models\n",
      "latent factor model\n",
      "latent factor recommender\n",
      "learning pipeline\n",
      "line of best fit\n",
      "linear\n",
      "linear function\n",
      "linear regression\n",
      "local minima\n",
      "locality-sensitive hashing\n",
      "location-based social networks\n",
      "locationbased\n",
      "logistic regression\n",
      "logistic regressor\n",
      "long-term dynamics\n",
      "long-term dynamics\n",
      "lstm\n",
      "lstm\n",
      "lstm cell\n",
      "manifold\n",
      "markov / markov chain\n",
      "markov chains\n",
      "matrix factorization\n",
      "maximum likelihood\n",
      "maximum likelihood estimation\n",
      "mean absolute error\n",
      "memory-based FIX\n",
      "memory-based recommendation\n",
      "memory-based recommender systems\n",
      "mlp\n",
      "mmr\n",
      "mmr / maximal marginal relevance\n",
      "modcloth\n",
      "model parameters\n",
      "model-based FIX\n",
      "model-based personalization\n",
      "model-based recommender systems\n",
      "movielens\n",
      "mse / mean squared error\n",
      "multilayer perceptron\n",
      "multilayer perceptron\n",
      "multilayer perceptrons\n",
      "music recommendation\n",
      "n-gram\n",
      "narm\n",
      "natural language\n",
      "natural language models\n",
      "natural language processing\n",
      "ndcg\n",
      "negative instances\n",
      "neighborhood-based\n",
      "netflix\n",
      "netflix\n",
      "netflix\n",
      "netflix\n",
      "netflix prize\n",
      "netflix prize\n",
      "neural attentive recommendation\n",
      "neural collaborative filtering\n",
      "neural factorization machines\n",
      "neural networks\n",
      "news recommendation\n",
      "ngram representation\n",
      "nonlinear transformations\n",
      "nonlinear transformations\n",
      "normal distribution\n",
      "novelty\n",
      "novelty\n",
      "one-hot / one-hot encoding\n",
      "one-hot encoding\n",
      "onehot encoding\n",
      "online advertising\n",
      "online dating\n",
      "online news\n",
      "outfit\n",
      "outfit generation\n",
      "outfits\n",
      "outliers\n",
      "overfitting\n",
      "pagerank\n",
      "pairwise FIX\n",
      "pairwise interactions\n",
      "pearson similarity\n",
      "pearson similarity\n",
      "personalized health\n",
      "personalized ranking\n",
      "point-of-interest recommendation\n",
      "precision\n",
      "price\n",
      "price\n",
      "price dynamics\n",
      "price sensitivity\n",
      "price sensitivity\n",
      "pricee-lasticity\n",
      "prme\n",
      "product images\n",
      "pseudoinverse\n",
      "pseudoinverse\n",
      "punctuation\n",
      "python\n",
      "pytorch\n",
      "query refinement\n",
      "r^2\n",
      "random walk\n",
      "random walkbased methods\n",
      "random walker\n",
      "random walker\n",
      "random walks\n",
      "rating prediction\n",
      "recall\n",
      "recipes\n",
      "reciprocal rank\n",
      "reciprocal rank / mean reciprocal rank\n",
      "recommendation pipeline\n",
      "recommender system\n",
      "recurrent / rnn / recurrent networks / recurrent neural network\n",
      "recurrent networks\n",
      "reddit\n",
      "regression\n",
      "regularization\n",
      "regularization coefficients\n",
      "regularized\n",
      "regularizer\n",
      "regularizer / regularization\n",
      "relevance\n",
      "reranking\n",
      "reranking strategies\n",
      "residual\n",
      "retrieval\n",
      "reweighting\n",
      "rmse\n",
      "roc / receiver operator characteristic\n",
      "roc curve\n",
      "roc curve FIX\n",
      "satisfaction\n",
      "seasonal\n",
      "seasonal trends\n",
      "sentiment\n",
      "sentiment analysis\n",
      "sequence-to-sequence\n",
      "sequential context\n",
      "sequential data\n",
      "sequential dynamics\n",
      "sequential dynamics / sequential recommendation\n",
      "sequential models\n",
      "serendipity\n",
      "serendipity\n",
      "serendipity\n",
      "serendipity\n",
      "session-based recommendation\n",
      "session-based temporal graph\n",
      "shared parameter\n",
      "shortterm dynamics\n",
      "shortterm dynamics\n",
      "side-information\n",
      "sigmoid\n",
      "sigmoid function\n",
      "sigmoid function\n",
      "similarity function\n",
      "similarity functions\n",
      "similarity-based FIX\n",
      "similarity-based recommenders\n",
      "singular value decomposition\n",
      "sklearn\n",
      "sliding window\n",
      "smart reply\n",
      "smart reply\n",
      "social bpr\n",
      "social connections\n",
      "social feedback\n",
      "social signals\n",
      "socially-aware recommendation\n",
      "sparsity\n",
      "spline function\n",
      "spotify\n",
      "stemming\n",
      "stopwords\n",
      "substitutable\n",
      "supervised learning\n",
      "support vector machine\n",
      "support vector machines\n",
      "surprise\n",
      "svd\n",
      "temporal dynamics\n",
      "temporal dynamics\n",
      "temporal features\n",
      "temporal models\n",
      "temporal recommendation\n",
      "temporal variation\n",
      "tensorflow\n",
      "tensorflow\n",
      "tensorflow\n",
      "term frequency\n",
      "test set\n",
      "test set\n",
      "text generation\n",
      "text generation\n",
      "tf-idf FIX\n",
      "tfidf representations\n",
      "timestamps\n",
      "tnr\n",
      "tokenized\n",
      "topic model\n",
      "topic model\n",
      "tpr\n",
      "training set\n",
      "training set\n",
      "transition probabilities\n",
      "translation-based\n",
      "translation-based recommendation\n",
      "true negative\n",
      "true negative\n",
      "true negative rate\n",
      "true positive\n",
      "true positive\n",
      "true positive rate\n",
      "tsne\n",
      "underrepresented groups\n",
      "unexpectedness\n",
      "unfairness\n",
      "unigrams\n",
      "unigrams\n",
      "user interface\n",
      "user manifold\n",
      "user manifolds\n",
      "user-free\n",
      "user-free personalization\n",
      "user-to-item compatibility\n",
      "validation / validation set\n",
      "validation and test\n",
      "validation set\n",
      "value unfairness\n",
      "variance\n",
      "vbpr\n",
      "vbpr / visual bayesian personalized ranking\n",
      "visual attributes\n",
      "visual compatibility\n",
      "visual data\n",
      "visual dimensions\n",
      "visual dynamics\n",
      "visual factors\n",
      "visual features\n",
      "visual signals\n",
      "visually compatible\n",
      "visually-aware\n",
      "visually-aware recommendation\n",
      "word2vec\n",
      "word2vec\n",
      "word2vec\n",
      "yelp\n"
     ]
    }
   ],
   "source": [
    "for a in initialList:\n",
    "    print(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 183,
   "metadata": {},
   "outputs": [],
   "source": [
    "initialClean = \"\"\"absolute unfairness\n",
    "abstractive\n",
    "accuracy\n",
    "ad recommendation\n",
    "amazon\n",
    "attention mechanism\n",
    "auc / area under the ROC curve\n",
    "autoencoders\n",
    "autorec\n",
    "autoregressive / autoregression\n",
    "bag-of-words / bag-of-words model\n",
    "ber / balanced error rate\n",
    "bartering\n",
    "bayesian personalized ranking / bpr\n",
    "bert\n",
    "bert4rec\n",
    "bias term\n",
    "bigrams\n",
    "bipartite graph\n",
    "calibration\n",
    "capitalization\n",
    "case studies\n",
    "categorical features\n",
    "classifier / classification\n",
    "click probability\n",
    "clothing\n",
    "cnn / convolutional neural network\n",
    "cold-start recommendation\n",
    "collaborative filtering\n",
    "compatibility\n",
    "compatible outfits\n",
    "complementary / complementary item recommendation\n",
    "concentration\n",
    "concept drift\n",
    "content diversity\n",
    "contextual personalization\n",
    "conversational recommendation\n",
    "convolutional neural network\n",
    "cosine similarity\n",
    "cumulative gain\n",
    "dateutil\n",
    "decision trees\n",
    "deep learning\n",
    "demographic parity\n",
    "determinantal point processes\n",
    "dialog\n",
    "dimensionality reduction\n",
    "discounted cumulative gain\n",
    "diversification\n",
    "diversity\n",
    "df / document frequency\n",
    "eigenvectors\n",
    "euclidean distance\n",
    "evaluation metrics\n",
    "explanations\n",
    "explicit feedback\n",
    "expressive deviation term\n",
    "extractive\n",
    "extremification\n",
    "factorization machine\n",
    "fpmc / factorized personalized markov chain\n",
    "fairness\n",
    "false negative / fnr / false negative rate\n",
    "false positive / fpr / false positive rate\n",
    "fashion\n",
    "fashion compatibility\n",
    "fastfm\n",
    "feature engineering\n",
    "feature matrix\n",
    "filter bubble\n",
    "fism / factored item similarity model\n",
    "fmc / factorized markov chain\n",
    "fnr / false negative rate\n",
    "fpr / false positive rate\n",
    "fvu / fraction of variance unexplained\n",
    "gan / generative adversarial network\n",
    "gaussian distribution / normal distribution\n",
    "generative model\n",
    "gensim\n",
    "gini coefficient\n",
    "goodreads \n",
    "google \n",
    "gradient descent\n",
    "group bpr\n",
    "harmonic mean\n",
    "herding\n",
    "historical interactions\n",
    "hits\n",
    "hyperparameter\n",
    "image data\n",
    "image features\n",
    "imagenet\n",
    "implicit feedback\n",
    "imputation\n",
    "initialization\n",
    "inner product\n",
    "interaction history\n",
    "interactive recommendation\n",
    "interpretability\n",
    "idf / inverse document frequency\n",
    "item biases\n",
    "item metadata\n",
    "item representation\n",
    "item-to-item compatibility\n",
    "item-to-item recommendation\n",
    "item-to-item similarity\n",
    "item2vec\n",
    "jaccard / jaccard similarity\n",
    "joint embeddings\n",
    "kdtree\n",
    "language models\n",
    "latent factor model\n",
    "learning pipeline\n",
    "line of best fit\n",
    "linear function\n",
    "linear regression\n",
    "local minima\n",
    "locality-sensitive hashing\n",
    "location-based social networks\n",
    "logistic regression\n",
    "long-term dynamics\n",
    "lstm\n",
    "manifold\n",
    "markov / markov chain\n",
    "matrix factorization\n",
    "maximum likelihood estimation\n",
    "mean absolute error\n",
    "memory-based recommendation\n",
    "mlp / multilayer perceptron\n",
    "mmr / maximal marginal relevance\n",
    "modcloth\n",
    "model parameters\n",
    "model-based recommendation\n",
    "movielens\n",
    "mse / mean squared error\n",
    "music recommendation\n",
    "n-gram\n",
    "narm / neural attentive recommendation\n",
    "natural language processing\n",
    "ndcg / normalized discounted cumulative gain\n",
    "negative instances\n",
    "neighborhood-based recommendation\n",
    "netflix\n",
    "netflix prize\n",
    "neural collaborative filtering\n",
    "neural factorization machines\n",
    "neural networks\n",
    "news recommendation\n",
    "ngram representation\n",
    "nonlinear transformations\n",
    "novelty\n",
    "one-hot / one-hot encoding\n",
    "online advertising\n",
    "online dating\n",
    "online news\n",
    "outfit\n",
    "outfit generation\n",
    "outliers\n",
    "overfitting\n",
    "pagerank\n",
    "pairwise\n",
    "pearson similarity\n",
    "personalized health\n",
    "personalized ranking\n",
    "point-of-interest recommendation\n",
    "precision\n",
    "price\n",
    "price dynamics\n",
    "price sensitivity\n",
    "price-elasticity\n",
    "prme / personalized ranking metric embedding\n",
    "product images\n",
    "pseudoinverse\n",
    "python\n",
    "pytorch\n",
    "query refinement\n",
    "r^2\n",
    "random walk\n",
    "recall\n",
    "recipes\n",
    "mrr / reciprocal rank / mean reciprocal rank\n",
    "recommendation pipeline\n",
    "recurrent / rnn / recurrent network / recurrent neural network\n",
    "reddit\n",
    "regression\n",
    "regularizer / regularization\n",
    "regularization coefficient\n",
    "relevance\n",
    "re-ranking / re-ranking strategies\n",
    "residual\n",
    "retrieval\n",
    "re-weighting\n",
    "rmse / root mean squared error\n",
    "roc / roc curve / receiver operator characteristic\n",
    "satisfaction\n",
    "seasonal trends\n",
    "sentiment analysis\n",
    "sequence-to-sequence model\n",
    "sequential context\n",
    "sequential data\n",
    "sequential dynamics / sequential recommendation\n",
    "sequential models\n",
    "serendipity\n",
    "session-based recommendation\n",
    "session-based temporal graph\n",
    "shared parameter\n",
    "short-term dynamics\n",
    "side-information\n",
    "sigmoid function\n",
    "similarity function\n",
    "similarity-based recommenders\n",
    "singular value decomposition\n",
    "sklearn\n",
    "sliding window\n",
    "smart reply\n",
    "social bpr\n",
    "social connections\n",
    "social feedback\n",
    "social signals\n",
    "socially-aware recommendation\n",
    "sparsity\n",
    "spline function\n",
    "spotify\n",
    "stemming\n",
    "stopwords\n",
    "substitutable\n",
    "supervised learning\n",
    "support vector machine\n",
    "surprise\n",
    "svd / singular value decomposition\n",
    "temporal dynamics\n",
    "temporal features\n",
    "temporal models\n",
    "temporal recommendation\n",
    "temporal variation\n",
    "tensorflow\n",
    "term frequency\n",
    "test set\n",
    "text generation\n",
    "tf-idf / tf-idf representations\n",
    "true negative / tnr / true negative rate\n",
    "tokenized\n",
    "topic model\n",
    "true positive / tpr / true positive rate\n",
    "training set\n",
    "transition probabilities\n",
    "translation-based recommendation\n",
    "tsne\n",
    "underrepresented groups\n",
    "unexpectedness\n",
    "unfairness\n",
    "unigrams\n",
    "user interface\n",
    "user manifold\n",
    "user-free models\n",
    "user-free personalization\n",
    "user-to-item compatibility\n",
    "validation / validation set\n",
    "value unfairness\n",
    "variance\n",
    "vbpr / visual bayesian personalized ranking\n",
    "visual attributes\n",
    "visual compatibility\n",
    "visual data\n",
    "visual dimensions\n",
    "visual dynamics\n",
    "visual factors\n",
    "visual features\n",
    "visual signals\n",
    "visually compatible\n",
    "visually-aware recommendation\n",
    "word2vec\n",
    "yelp\"\"\".split('\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = open('main.tex', 'r')\n",
    "s = '\\n'.join([x for x in f.readlines() if not x.startswith('%')])\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 180,
   "metadata": {},
   "outputs": [],
   "source": [
    "emphs = [' '.join(x.split('}')[0].split()).lower() for x in s.split('\\emph{')[1:]]\n",
    "bfs = [' '.join(x.split('}')[0].split()).lower() for x in s.split('\\textbf{')[1:]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 181,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "size\n",
      "haven't\n",
      "maximum inner product search\n",
      "nice finger of tan head that produces a small bubble and leaves decent lacing\n",
      "what\n",
      "grouplens\n",
      "fashion images\n",
      "semantics\n",
      "precision\n",
      "median\n",
      "recommendation\n",
      "whether\n",
      "product reviews\n",
      "a lot\n",
      "prediction\n",
      "random forests\n",
      "validation set\n",
      "budget\n",
      "inverse\n",
      "locality\n",
      "twitter\n",
      "cold-start\n",
      "interact\n",
      "nothing\n",
      "attention mechanism\n",
      "last.fm\n",
      "larger quantity\n",
      "brightkite\n",
      "equal opportunity\n",
      "recall\n",
      "manifold\n",
      "likely\n",
      "user's\n",
      "subtract\n",
      "video games\n",
      "any\n",
      "cluster\n",
      "only\n",
      "fully observed\n",
      "shure m97xe high-performance magnetic phono cartridge\n",
      "always\n",
      "musical instruments\n",
      "optimizer\n",
      "future\n",
      "pairwise\n",
      "dunnhumby\n",
      "expect\n",
      "enough\n",
      "blazblue: continuum shift extend limited edition\n",
      "pooling\n",
      "autoregression\n",
      "or\n",
      "personalized machine learning\n",
      "probabilities\n",
      "imbalanced\n",
      "could\n",
      "neural factorization machines\n",
      "half\n",
      "errors\n",
      "the same as\n",
      "interaction histories\n",
      "directed\n",
      "houzz\n",
      "ratings\n",
      "static\n",
      "syntax\n",
      "generalists\n",
      "weighting\n",
      "precision recall curve\n",
      "algorithmic\n",
      "maximum likelihood estimation\n",
      "leverage user data\n",
      "amazon.com\n",
      "pagerank\n",
      "poetry\n",
      "underfit\n",
      "different\n",
      "variation among individuals\n",
      "past\n",
      "parameterized\n",
      "batches\n",
      "adam\n",
      "machine learning\n",
      "irrelevant\n",
      "concentrated\n",
      "low-dimensional manifolds\n",
      "bilinear\n",
      "for a particular user $u$\n",
      "sequence order\n",
      "none of the models we describe below learn explicit user representations\n",
      "click-through-rate\n",
      "a sipper for sure.\n",
      "autoregressive\n",
      "pointwise predictors\n",
      "self-attention\n",
      "general purpose\n",
      "surprise\n",
      "social\n",
      "herding\n",
      "sensitivity\n",
      "similar amount\n",
      "occam's razor\n",
      "bipartite matching problem\n",
      "bitter\n",
      "can\n",
      "generalist-specialist\n",
      "interpretability\n",
      "regressor\n",
      "interactions between users and items\n",
      "netflix\n",
      "gensim\n",
      "latent\n",
      "disagreement\n",
      "implicit signals\n",
      "properties\n",
      "important\n",
      "pseudoinverse\n",
      "sequence\n",
      "$p$-value\n",
      "comic book\n",
      "mixture of experts\n",
      "percentage\n",
      "correlated\n",
      "generative\n",
      "labels\n",
      "resubmissions\n",
      "symbolically\n",
      "objective\n",
      "users\n",
      "candidate set\n",
      "categories\n",
      "in-situ\n",
      "price elasticity\n",
      "amplified\n",
      "both\n",
      "completely depend\n",
      "entropy\n",
      "transition probability\n",
      "36,225\n",
      "aggregate\n",
      "novel\n",
      "predict\n",
      "conversational recommender systems\n",
      "line of best fit\n",
      "feedback\n",
      "pairwise predictors\n",
      "multi-hot\n",
      "bag-of-words\n",
      "trust\n",
      "explicit feedback\n",
      "most similar\n",
      "netflix prize\n",
      "jointly\n",
      "exploratory analysis\n",
      "segregation\n",
      "or unqualified\n",
      "generalize\n",
      "cosine similarity\n",
      "recommender systems\n",
      "recall @ $k$\n",
      "being recommended\n",
      "killzone 3\n",
      "value unfairness\n",
      "papers\n",
      "cross-elasticity\n",
      "crowd-sourcing\n",
      "encoder-decoder\n",
      "popular\n",
      "variance\n",
      "mixture\n",
      "too\n",
      "word2vec\n",
      "tensorflow\n",
      "`born in'\n",
      "user\n",
      "hits\n",
      "adwords\n",
      "collections\n",
      "miller light\n",
      "and\n",
      "librarything\n",
      "sentences,\n",
      "overfit\n",
      "topics\n",
      "linear\n",
      "behance\n",
      "want\n",
      "unlikely\n",
      "skipped\n",
      "on average\n",
      "term frequency\n",
      "musical diversity\n",
      "the maximum likelihood solution for $\\theta$ under our gaussian error model is precisely the mean squared error\n",
      "watership down\n",
      "deconvolution\n",
      "recommended\n",
      "per class\n",
      "cinematch\n",
      "tsv\n",
      "personalize\n",
      "dictionary\n",
      "shared\n",
      "consensus function\n",
      "multisided\n",
      "this place is awesome\n",
      "rate\n",
      "pipeline\n",
      "microsoft xbox music\n",
      "re-sampling\n",
      "rating\n",
      "random walk\n",
      "hasn't\n",
      "root\n",
      "search\n",
      "highest\n",
      "step\n",
      "consensus\n",
      "predictive\n",
      "zeitgeist\n",
      "text\n",
      "marketed\n",
      "most recent\n",
      "gmail\n",
      "bartering\n",
      "personalized health\n",
      "very\n",
      "classifier\n",
      "assistive\n",
      "lower\n",
      "gini coefficient\n",
      "sparse autoencoders\n",
      "reciprocal compatibility\n",
      "group recommendation\n",
      "fashionable\n",
      "sklearn\n",
      "socially-aware personalized markov chains\n",
      "multistakeholder\n",
      "aren't\n",
      "long-tail\n",
      "those topics that are capable of explaining the variation in ratings\n",
      "completely avoid\n",
      "youtube\n",
      "content\n",
      "sum of squared errors\n",
      "mutual preference\n",
      "eachmovie\n",
      "for every user\n",
      "jaccard similarity\n",
      "category\n",
      "faiss\n",
      "mistakes\n",
      "cubed\n",
      "implicit feedback\n",
      "poisson\n",
      "without\n",
      "over-estimation\n",
      "forecasting\n",
      "unlabeled\n",
      "classification\n",
      "least misery\n",
      "pours a very dark brown\n",
      "discounted\n",
      "forecast\n",
      "context window\n",
      "set-based\n",
      "$r^2$ coefficient\n",
      "recurrent neural networks\n",
      "the godfather\n",
      "relationships\n",
      "quantile\n",
      "n-gram\n",
      "a slight sweetness\n",
      "local modifications\n",
      "vice versa\n",
      "predictions\n",
      "semi-supervised learning\n",
      "one piece: pirate warriors\n",
      "aggregate diversity\n",
      "collaborative filtering\n",
      "singular value decomposition\n",
      "a great burger and fries\n",
      "shake shack\n",
      "visual bayesian personalized ranking\n",
      "clothing\n",
      "random samples\n",
      "google\n",
      "individuals\n",
      "regularized\n",
      "three\n",
      "specialists\n",
      "closed form\n",
      "error\n",
      "supervised learning\n",
      "matrix factorization\n",
      "learned\n",
      "two\n",
      "the exercises below may be conducted using any dataset that includes reviews associated with numerical ratings.\n",
      "hit rate\n",
      "reciprocal communication\n",
      "location-based social networks\n",
      "output\n",
      "latent factor models\n",
      "is recommended to somebody\n",
      "foursquare\n",
      "compatible\n",
      "endomondo\n",
      "interaction\n",
      "youtube's\n",
      "per user\n",
      "model-based\n",
      "goodfellas\n",
      "autoencoder\n",
      "yahoo\n",
      "likelihood function\n",
      "personalization\n",
      "budget constraint\n",
      "online reviews\n",
      "extractive\n",
      "mispredicted\n",
      "now\n",
      "ciao\n",
      "absolute unfairness\n",
      "efficiency\n",
      "as a function of the number of times the item appears in the training set\n",
      "regularization\n",
      "mean reciprocal rank\n",
      "sequential\n",
      "steam\n",
      "items\n",
      "topic models\n",
      "population\n",
      "$f$-test\n",
      "calibration\n",
      "one-hot\n",
      "every\n",
      "don't\n",
      "in proportion\n",
      "online\n",
      "second\n",
      "rather malty\n",
      "not\n",
      "abstractive\n",
      "all\n",
      "wide\n",
      "cell\n",
      "similar\n",
      "factorizing personalized markov chains for next-basket recommendation\n",
      "combination\n",
      "million song dataset\n",
      "likelihood\n",
      "popularity bias\n",
      "implicit feedback recommendation\n",
      "modcloth\n",
      "bud light\n",
      "textcnn\n",
      "bert\n",
      "you could use any dataset for this exercise, so long as it includes a few features.\n",
      "expertise\n",
      "deployed\n",
      "similar to\n",
      "sigmoid function\n",
      "layer\n",
      "semantic clustering\n",
      "conditionally independent\n",
      "session-based\n",
      "concept drift\n",
      "genres\n",
      "also\n",
      "social trust\n",
      "scipy\n",
      "factorization machine\n",
      "transformer\n",
      "art\n",
      "generation\n",
      "dynamic weighted majority\n",
      "pearson similarity\n",
      "citeulike\n",
      "underfitting\n",
      "balanced error rate\n",
      "independent\n",
      "translation-based recommendation\n",
      "gradient descent\n",
      "sets\n",
      "ranking\n",
      "contextual\n",
      "document frequency\n",
      "listening history\n",
      "pairs\n",
      "current\n",
      "amount\n",
      "denoising autoencoders\n",
      "maximally explain variance\n",
      "molasses, sweet maple\n",
      "spectrogram\n",
      "final fantasy x x-2 hd remaster\n",
      "a lot of malt,\n",
      "relevant\n",
      "concentration\n",
      "explaining\n",
      "validation\n",
      "stationary\n",
      "test set\n",
      "same\n",
      "previous\n",
      "transitive\n",
      "matching\n",
      "distribution\n",
      "attention mechanisms\n",
      "a good tasting beer. not bad.\n",
      "data resampling\n",
      "recurrent networks\n",
      "timestamps\n",
      "reddit.com/r/gameswap\n",
      "bing\n",
      "mixture model\n",
      "measurements\n",
      "transfomer\n",
      "feature imputation\n",
      "integer\n",
      "feature engineering\n",
      "approximation\n",
      "more similar\n",
      "full metal alchemist: the broken angel\n",
      "partial\n",
      "aggregator\n",
      "neighborhood-based\n",
      "repeat consumption\n",
      "demographic parity\n",
      "price sensitivity\n",
      "difference\n",
      "movielens\n",
      "maximal marginal relevance\n",
      "pearson correlation coefficient\n",
      "higher\n",
      "variety\n",
      "worse\n",
      "computational social science\n",
      "fastfm\n",
      "words\n",
      "user-free\n",
      "autorec-u\n",
      "explore/exploit\n",
      "equivalent\n",
      "etsy\n",
      "hyperparameter\n",
      "average\n",
      "epinions\n",
      "google local\n",
      "signed\n",
      "if all other feature values remain fixed\n",
      "satisfaction\n",
      "local\n",
      "kiva.org\n",
      "spotify\n",
      "markov chain\n",
      "meaningful\n",
      "semantic representations\n",
      "harry potter\n",
      "ratebeer.com\n",
      "unexpectedness\n",
      "relevance-oriented\n",
      "extracting features from user data\n",
      "overfitting\n",
      "memory-based\n",
      "temporal and sequential dependencies\n",
      "piels\n",
      "sparse\n",
      "probability\n",
      "seeker\n",
      "nyc taxi and limousine commission trip record data\n",
      "organizations\n",
      "yelp\n",
      "hidden\n",
      "common\n",
      "layers\n",
      "recipes\n",
      "latent spaces\n",
      "microsoft\n",
      "google news\n",
      "b0006vmbhi\n",
      "features\n",
      "negative\n",
      "vectors\n",
      "representations\n",
      "which items and which users are similar to each other\n",
      "first\n",
      "on one of the vertices of the diamond\n",
      "epochs\n",
      "session\n",
      "supervised\n",
      "molson golden\n",
      "predictive accuracy\n",
      "binary cross-entropy\n",
      "mechanical turk\n",
      "similar to you\n",
      "python\n",
      "automatically\n",
      "separate\n",
      "explainability\n",
      "utility gap\n",
      "our prediction of the rating increases by $7.243\\times 10^{-5\n",
      "shure sfg-2 stylus tracking force gauge\n",
      "distributed\n",
      "pinterest\n",
      "breakfast sandwiches are overall very filling\n",
      "musical instrument\n",
      "preferences\n",
      "after\n",
      "generative adversarial network\n",
      "absolute\n",
      "pours a dark brown, much darker than i thought it would be, rich creamy head, with light lace.\n",
      "regularizer\n",
      "user manifold\n",
      "these exercises could be completed using any dataset with users, items, and ratings\n",
      "offset\n",
      "each other\n",
      "tradesy\n",
      "random\n",
      "deep learning\n",
      "bell curve\n",
      "twice\n",
      "variation\n",
      "gowalla\n",
      "personalized ranking metric embedding\n",
      "non-complementary\n",
      "ad\n",
      "implicit\n",
      "diversity\n",
      "delicious\n",
      "real-valued\n",
      "structure\n",
      "labatt canadian ale\n",
      "bid\n",
      "hybrid\n",
      "which features are most influential in determining content popularity\n",
      "trigrams\n",
      "average (absolute) difference between frequencies\n",
      "if\n",
      "transferred\n",
      "per item\n",
      "pulp fiction\n",
      "fraction of variance unexplained\n",
      "input\n",
      "scikit-learn\n",
      "ensembling\n",
      "true positive rate\n",
      "side-information\n",
      "the most\n",
      "learn\n",
      "bookcrossing\n",
      "we specifically\n",
      "adobe\n",
      "tf-idf\n",
      "additional\n",
      "last\n",
      "receiver operating characteristic\n",
      "t-sne\n",
      "parameters\n",
      "which\n",
      "passive\n",
      "cannot\n",
      "goodreads\n",
      "monster rancher 4\n",
      "histories\n",
      "csv\n",
      "group\n",
      "autorec-i\n",
      "cumulative gain\n",
      "okapi bm-25\n",
      "coverage\n",
      "optimized\n",
      "calibrated recommendations\n",
      "personalized\n",
      "normalized\n",
      "direct\n",
      "price-elasticity\n",
      "coors extra gold\n",
      "fairness\n",
      "amazon\n",
      "precision @ $k$\n",
      "no\n",
      "the best possible rank $k$ approximation of $m$ (in terms of the mse) is found by taking the top $k$ eigenvectors/eigenvalues in $u$, $\\sigma$ and $v$\n",
      "global\n",
      "unix time\n",
      "objectives\n",
      "reviews\n",
      "item2vec\n",
      "historical\n",
      "estimate\n",
      "bigrams\n",
      "that a user might describe in a particular way\n",
      "arbitrary\n",
      "our goal of optimizing the accuracy\n",
      "among the qualified\n",
      "matching problem\n",
      "bing toolbar\n",
      "polylens\n",
      "contextually relevant\n",
      "molson canadian light\n",
      "positive\n",
      "accuracy\n",
      "insight\n",
      "personalized search\n",
      "window\n",
      "next\n",
      "logistic regression\n",
      "taste profile dataset\n",
      "wide \\& deep\n",
      "smart reply\n",
      "generate\n",
      "causal\n",
      "similarity\n",
      "google+\n",
      "free-form\n",
      "unsupervised learning\n",
      "this\n",
      "effectiveness\n",
      "one-class\n",
      "least\n",
      "engaged\n",
      "bias-only\n",
      "context\n",
      "all of the exercises in this section can be completed on any dataset involving users, items, and ratings.\n",
      "new\n",
      "linear regression\n",
      "item\n",
      "topic modeling\n",
      "history\n",
      "conversation\n",
      "reddit\n",
      "some\n",
      "`england'\n",
      "national residency matching program\n",
      "justification\n",
      "balanced\n",
      "the probability that a random walk starting on node $x$ will terminate on node $y$\n",
      "exactly\n",
      "first-order\n",
      "significance testing\n",
      "online learning\n",
      "the same category\n",
      "for you\n",
      "content aware\n",
      "self-selection\n",
      "facebook\n",
      "bookmooch.com\n",
      "shared parameter\n",
      "encoding\n",
      "model\n",
      "`alan turing'\n",
      "is trusted by\n",
      "re-ranking\n",
      "relationship\n",
      "bipartite graph\n",
      "offline\n",
      "visualizing\n",
      "discovery\n",
      "heuristics\n",
      "test\n",
      "`audioquest lp record clean brush'\n",
      "parsimony\n",
      "authors\n",
      "using any time-series dataset\n",
      "summarized the structure of the matrix\n",
      "neighborhood\n",
      "art pro audio djpre ii phono turntable preamplifier\n",
      "venues\n",
      "sparsity\n",
      "unpopular\n",
      "audio technica at120e/t standard mount phono cartridge\n",
      "damping factor\n",
      "explains variability\n",
      "utility\n",
      "expensive\n",
      "tensor\n",
      "magnitude\n",
      "regression\n",
      "criteo\n",
      "group consensus\n",
      "re-used\n",
      "sentiment analysis\n",
      "other\n",
      "understand\n",
      "specific item\n",
      "retrieval\n",
      "rossmann\n",
      "does\n",
      "anomaly detection\n",
      "in the end above average,\n",
      "single\n",
      "decreasing\n",
      "confidence scores\n",
      "change\n",
      "novelty\n",
      "ordering\n",
      "seven samurai\n",
      "recommender\n",
      "signstek [...] long-playing lp turntable stylus force scale gauge tester\n",
      "deep\n",
      "fixed length\n",
      "drama\n",
      "google's\n",
      "relevance\n",
      "under-\n",
      "friends'\n",
      "interactions\n",
      "non-\n",
      "used\n",
      "json\n",
      "angle\n"
     ]
    }
   ],
   "source": [
    "for a in list(set(emphs)) + list(set(bfs)):\n",
    "    print(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 182,
   "metadata": {},
   "outputs": [],
   "source": [
    "emphClean = \"\"\"maximum inner product search\n",
    "grouplens\n",
    "random forests\n",
    "validation set\n",
    "twitter\n",
    "attention mechanism\n",
    "last.fm\n",
    "brightkite\n",
    "equal opportunity\n",
    "recall\n",
    "manifold\n",
    "dunnhumby\n",
    "autoregression\n",
    "neural factorization machines\n",
    "houzz\n",
    "precision recall curve\n",
    "maximum likelihood estimation\n",
    "amazon\n",
    "pagerank\n",
    "underfit\n",
    "adam optimizer\n",
    "bilinear\n",
    "autoregressive\n",
    "pointwise predictors\n",
    "pairwise predictors\n",
    "self-attention\n",
    "surprise\n",
    "herding\n",
    "sensitivity\n",
    "bipartite matching problem\n",
    "interpretability\n",
    "regressor\n",
    "netflix\n",
    "gensim\n",
    "pseudoinverse\n",
    "$p$-value\n",
    "mixture of experts\n",
    "price elasticity\n",
    "conversational recommender systems\n",
    "line of best fit\n",
    "multi-hot\n",
    "bag-of-words\n",
    "trust\n",
    "explicit feedback\n",
    "netflix prize\n",
    "cosine similarity\n",
    "recall\n",
    "value unfairness\n",
    "cross-elasticity\n",
    "crowd-sourcing\n",
    "encoder-decoder\n",
    "word2vec\n",
    "tensorflow\n",
    "hits\n",
    "adwords\n",
    "librarything\n",
    "overfit\n",
    "behance\n",
    "term frequency\n",
    "cinematch\n",
    "tsv\n",
    "random walk\n",
    "personalized health\n",
    "classifier\n",
    "gini coefficient\n",
    "group recommendation\n",
    "fashionable\n",
    "sklearn\n",
    "spmc / socially-aware personalized markov chains\n",
    "long-tail\n",
    "those topics that are capable of explaining the variation in ratings\n",
    "youtube\n",
    "sse / sum of squared errors\n",
    "eachmovie\n",
    "jaccard similarity\n",
    "faiss\n",
    "least misery\n",
    "$r^2$ coefficient\n",
    "recurrent neural networks\n",
    "n-gram\n",
    "semi-supervised learning\n",
    "aggregate diversity\n",
    "collaborative filtering\n",
    "singular value decomposition\n",
    "vbpr / visual bayesian personalized ranking\n",
    "clothing\n",
    "google\n",
    "regularized\n",
    "supervised learning\n",
    "matrix factorization\n",
    "hit rate\n",
    "reciprocal communication\n",
    "location-based social networks\n",
    "latent factor models\n",
    "foursquare\n",
    "endomondo\n",
    "youtube\n",
    "model-based\n",
    "autoencoder\n",
    "yahoo\n",
    "microsoft\n",
    "likelihood function\n",
    "extractive\n",
    "ciao\n",
    "absolute unfairness\n",
    "regularization\n",
    "mrr / mean reciprocal rank\n",
    "steam\n",
    "topic models\n",
    "$f$-test\n",
    "calibration\n",
    "one-hot encoding\n",
    "abstractive\n",
    "million song dataset\n",
    "popularity bias\n",
    "implicit feedback recommendation\n",
    "modcloth\n",
    "bert\n",
    "sigmoid function\n",
    "conditional independence\n",
    "session-based\n",
    "concept drift\n",
    "genres\n",
    "social trust\n",
    "scipy\n",
    "factorization machine\n",
    "transformer\n",
    "dynamic weighted majority\n",
    "pearson similarity\n",
    "citeulike\n",
    "underfitting\n",
    "balanced error rate\n",
    "translation-based recommendation\n",
    "gradient descent\n",
    "document frequency\n",
    "denoising autoencoders\n",
    "spectrogram\n",
    "concentration\n",
    "validation\n",
    "test set\n",
    "attention mechanism\n",
    "recurrent networks\n",
    "reddit\n",
    "bing\n",
    "transfomer\n",
    "feature imputation\n",
    "feature engineering\n",
    "neighborhood-based\n",
    "demographic parity\n",
    "price sensitivity\n",
    "movielens\n",
    "mmr / maximal marginal relevance\n",
    "pearson correlation coefficient\n",
    "computational social science\n",
    "fastfm\n",
    "user-free\n",
    "autorec\n",
    "explore/exploit tradeoff\n",
    "etsy\n",
    "hyperparameter\n",
    "epinions\n",
    "google local\n",
    "satisfaction\n",
    "kiva.org\n",
    "spotify\n",
    "markov chain\n",
    "unexpectedness\n",
    "overfitting\n",
    "memory-based\n",
    "yelp\n",
    "microsoft\n",
    "google news\n",
    "mechanical turk\n",
    "python\n",
    "explainability\n",
    "utility gap\n",
    "pinterest\n",
    "generative adversarial network\n",
    "regularizer\n",
    "user manifold\n",
    "tradesy\n",
    "deep learning\n",
    "gowalla\n",
    "prme / personalized ranking metric embedding\n",
    "delicious\n",
    "trigrams\n",
    "fvu / fraction of variance unexplained\n",
    "scikit-learn\n",
    "ensembling\n",
    "true positive rate\n",
    "side-information\n",
    "bookcrossing\n",
    "adobe\n",
    "tf-idf\n",
    "receiver operating characteristic\n",
    "t-sne\n",
    "goodreads\n",
    "csv\n",
    "autorec\n",
    "cumulative gain\n",
    "okapi bm-25\n",
    "calibrated recommendations\n",
    "fairness\n",
    "amazon\n",
    "precision\n",
    "unix time\n",
    "item2vec\n",
    "bigrams\n",
    "matching problem\n",
    "bing\n",
    "polylens\n",
    "logistic regression\n",
    "taste profile dataset\n",
    "wide \\& deep learning\n",
    "smart reply\n",
    "google+\n",
    "unsupervised learning\n",
    "one-class\n",
    "linear regression\n",
    "topic modeling\n",
    "reddit\n",
    "significance testing\n",
    "online learning\n",
    "content aware\n",
    "facebook\n",
    "bookmooch.com\n",
    "re-ranking\n",
    "bipartite graph\n",
    "criteo\n",
    "sentiment analysis\n",
    "rossmann\n",
    "anomaly detection\n",
    "google\n",
    "json\n",
    "\"\"\".split('\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [],
   "source": [
    "both = initialClean + emphClean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [],
   "source": [
    "both.sort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 186,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "$f$-test\n",
      "$p$-value\n",
      "$r^2$ coefficient\n",
      "absolute unfairness\n",
      "absolute unfairness\n",
      "abstractive\n",
      "abstractive\n",
      "accuracy\n",
      "ad recommendation\n",
      "adam optimizer\n",
      "adobe\n",
      "adwords\n",
      "aggregate diversity\n",
      "amazon\n",
      "amazon\n",
      "amazon\n",
      "anomaly detection\n",
      "attention mechanism\n",
      "attention mechanism\n",
      "attention mechanism\n",
      "auc / area under the ROC curve\n",
      "autoencoder\n",
      "autoencoders\n",
      "autorec\n",
      "autorec\n",
      "autorec\n",
      "autoregression\n",
      "autoregressive\n",
      "autoregressive / autoregression\n",
      "bag-of-words\n",
      "bag-of-words / bag-of-words model\n",
      "balanced error rate\n",
      "bartering\n",
      "bayesian personalized ranking / bpr\n",
      "behance\n",
      "ber / balanced error rate\n",
      "bert\n",
      "bert\n",
      "bert4rec\n",
      "bias term\n",
      "bigrams\n",
      "bigrams\n",
      "bilinear\n",
      "bing\n",
      "bing\n",
      "bipartite graph\n",
      "bipartite graph\n",
      "bipartite matching problem\n",
      "bookcrossing\n",
      "bookmooch.com\n",
      "brightkite\n",
      "calibrated recommendations\n",
      "calibration\n",
      "calibration\n",
      "capitalization\n",
      "case studies\n",
      "categorical features\n",
      "ciao\n",
      "cinematch\n",
      "citeulike\n",
      "classifier\n",
      "classifier / classification\n",
      "click probability\n",
      "clothing\n",
      "clothing\n",
      "cnn / convolutional neural network\n",
      "cold-start recommendation\n",
      "collaborative filtering\n",
      "collaborative filtering\n",
      "compatibility\n",
      "compatible outfits\n",
      "complementary / complementary item recommendation\n",
      "computational social science\n",
      "concentration\n",
      "concentration\n",
      "concept drift\n",
      "concept drift\n",
      "conditional independence\n",
      "content aware\n",
      "content diversity\n",
      "contextual personalization\n",
      "conversational recommendation\n",
      "conversational recommender systems\n",
      "convolutional neural network\n",
      "cosine similarity\n",
      "cosine similarity\n",
      "criteo\n",
      "cross-elasticity\n",
      "crowd-sourcing\n",
      "csv\n",
      "cumulative gain\n",
      "cumulative gain\n",
      "dateutil\n",
      "decision trees\n",
      "deep learning\n",
      "deep learning\n",
      "delicious\n",
      "demographic parity\n",
      "demographic parity\n",
      "denoising autoencoders\n",
      "determinantal point processes\n",
      "df / document frequency\n",
      "dialog\n",
      "dimensionality reduction\n",
      "discounted cumulative gain\n",
      "diversification\n",
      "diversity\n",
      "document frequency\n",
      "dunnhumby\n",
      "dynamic weighted majority\n",
      "eachmovie\n",
      "eigenvectors\n",
      "encoder-decoder\n",
      "endomondo\n",
      "ensembling\n",
      "epinions\n",
      "equal opportunity\n",
      "etsy\n",
      "euclidean distance\n",
      "evaluation metrics\n",
      "explainability\n",
      "explanations\n",
      "explicit feedback\n",
      "explicit feedback\n",
      "explore/exploit tradeoff\n",
      "expressive deviation term\n",
      "extractive\n",
      "extractive\n",
      "extremification\n",
      "facebook\n",
      "factorization machine\n",
      "factorization machine\n",
      "fairness\n",
      "fairness\n",
      "faiss\n",
      "false negative / fnr / false negative rate\n",
      "false positive / fpr / false positive rate\n",
      "fashion\n",
      "fashion compatibility\n",
      "fashionable\n",
      "fastfm\n",
      "fastfm\n",
      "feature engineering\n",
      "feature engineering\n",
      "feature imputation\n",
      "feature matrix\n",
      "filter bubble\n",
      "fism / factored item similarity model\n",
      "fmc / factorized markov chain\n",
      "fnr / false negative rate\n",
      "foursquare\n",
      "fpmc / factorized personalized markov chain\n",
      "fpr / false positive rate\n",
      "fvu / fraction of variance unexplained\n",
      "fvu / fraction of variance unexplained\n",
      "gan / generative adversarial network\n",
      "gaussian distribution / normal distribution\n",
      "generative adversarial network\n",
      "generative model\n",
      "genres\n",
      "gensim\n",
      "gensim\n",
      "gini coefficient\n",
      "gini coefficient\n",
      "goodreads\n",
      "goodreads \n",
      "google\n",
      "google\n",
      "google \n",
      "google local\n",
      "google news\n",
      "google+\n",
      "gowalla\n",
      "gradient descent\n",
      "gradient descent\n",
      "group bpr\n",
      "group recommendation\n",
      "grouplens\n",
      "harmonic mean\n",
      "herding\n",
      "herding\n",
      "historical interactions\n",
      "hit rate\n",
      "hits\n",
      "hits\n",
      "houzz\n",
      "hyperparameter\n",
      "hyperparameter\n",
      "idf / inverse document frequency\n",
      "image data\n",
      "image features\n",
      "imagenet\n",
      "implicit feedback\n",
      "implicit feedback recommendation\n",
      "imputation\n",
      "initialization\n",
      "inner product\n",
      "interaction history\n",
      "interactive recommendation\n",
      "interpretability\n",
      "interpretability\n",
      "item biases\n",
      "item metadata\n",
      "item representation\n",
      "item-to-item compatibility\n",
      "item-to-item recommendation\n",
      "item-to-item similarity\n",
      "item2vec\n",
      "item2vec\n",
      "jaccard / jaccard similarity\n",
      "jaccard similarity\n",
      "joint embeddings\n",
      "json\n",
      "kdtree\n",
      "kiva.org\n",
      "language models\n",
      "last.fm\n",
      "latent factor model\n",
      "latent factor models\n",
      "learning pipeline\n",
      "least misery\n",
      "librarything\n",
      "likelihood function\n",
      "line of best fit\n",
      "line of best fit\n",
      "linear function\n",
      "linear regression\n",
      "linear regression\n",
      "local minima\n",
      "locality-sensitive hashing\n",
      "location-based social networks\n",
      "location-based social networks\n",
      "logistic regression\n",
      "logistic regression\n",
      "long-tail\n",
      "long-term dynamics\n",
      "lstm\n",
      "manifold\n",
      "manifold\n",
      "markov / markov chain\n",
      "markov chain\n",
      "matching problem\n",
      "matrix factorization\n",
      "matrix factorization\n",
      "maximum inner product search\n",
      "maximum likelihood estimation\n",
      "maximum likelihood estimation\n",
      "mean absolute error\n",
      "mechanical turk\n",
      "memory-based\n",
      "memory-based recommendation\n",
      "microsoft\n",
      "microsoft\n",
      "million song dataset\n",
      "mixture of experts\n",
      "mlp / multilayer perceptron\n",
      "mmr / maximal marginal relevance\n",
      "mmr / maximal marginal relevance\n",
      "modcloth\n",
      "modcloth\n",
      "model parameters\n",
      "model-based\n",
      "model-based recommendation\n",
      "movielens\n",
      "movielens\n",
      "mrr / mean reciprocal rank\n",
      "mrr / reciprocal rank / mean reciprocal rank\n",
      "mse / mean squared error\n",
      "multi-hot\n",
      "music recommendation\n",
      "n-gram\n",
      "n-gram\n",
      "narm / neural attentive recommendation\n",
      "natural language processing\n",
      "ndcg / normalized discounted cumulative gain\n",
      "negative instances\n",
      "neighborhood-based\n",
      "neighborhood-based recommendation\n",
      "netflix\n",
      "netflix\n",
      "netflix prize\n",
      "netflix prize\n",
      "neural collaborative filtering\n",
      "neural factorization machines\n",
      "neural factorization machines\n",
      "neural networks\n",
      "news recommendation\n",
      "ngram representation\n",
      "nonlinear transformations\n",
      "novelty\n",
      "okapi bm-25\n",
      "one-class\n",
      "one-hot / one-hot encoding\n",
      "one-hot encoding\n",
      "online advertising\n",
      "online dating\n",
      "online learning\n",
      "online news\n",
      "outfit\n",
      "outfit generation\n",
      "outliers\n",
      "overfit\n",
      "overfitting\n",
      "overfitting\n",
      "pagerank\n",
      "pagerank\n",
      "pairwise\n",
      "pairwise predictors\n",
      "pearson correlation coefficient\n",
      "pearson similarity\n",
      "pearson similarity\n",
      "personalized health\n",
      "personalized health\n",
      "personalized ranking\n",
      "pinterest\n",
      "point-of-interest recommendation\n",
      "pointwise predictors\n",
      "polylens\n",
      "popularity bias\n",
      "precision\n",
      "precision\n",
      "precision recall curve\n",
      "price\n",
      "price dynamics\n",
      "price elasticity\n",
      "price sensitivity\n",
      "price sensitivity\n",
      "price-elasticity\n",
      "prme / personalized ranking metric embedding\n",
      "prme / personalized ranking metric embedding\n",
      "product images\n",
      "pseudoinverse\n",
      "pseudoinverse\n",
      "python\n",
      "python\n",
      "pytorch\n",
      "query refinement\n",
      "r^2\n",
      "random forests\n",
      "random walk\n",
      "random walk\n",
      "re-ranking\n",
      "re-ranking / re-ranking strategies\n",
      "re-weighting\n",
      "recall\n",
      "recall\n",
      "recall\n",
      "receiver operating characteristic\n",
      "recipes\n",
      "reciprocal communication\n",
      "recommendation pipeline\n",
      "recurrent / rnn / recurrent network / recurrent neural network\n",
      "recurrent networks\n",
      "recurrent neural networks\n",
      "reddit\n",
      "reddit\n",
      "reddit\n",
      "regression\n",
      "regressor\n",
      "regularization\n",
      "regularization coefficient\n",
      "regularized\n",
      "regularizer\n",
      "regularizer / regularization\n",
      "relevance\n",
      "residual\n",
      "retrieval\n",
      "rmse / root mean squared error\n",
      "roc / roc curve / receiver operator characteristic\n",
      "rossmann\n",
      "satisfaction\n",
      "satisfaction\n",
      "scikit-learn\n",
      "scipy\n",
      "seasonal trends\n",
      "self-attention\n",
      "semi-supervised learning\n",
      "sensitivity\n",
      "sentiment analysis\n",
      "sentiment analysis\n",
      "sequence-to-sequence model\n",
      "sequential context\n",
      "sequential data\n",
      "sequential dynamics / sequential recommendation\n",
      "sequential models\n",
      "serendipity\n",
      "session-based\n",
      "session-based recommendation\n",
      "session-based temporal graph\n",
      "shared parameter\n",
      "short-term dynamics\n",
      "side-information\n",
      "side-information\n",
      "sigmoid function\n",
      "sigmoid function\n",
      "significance testing\n",
      "similarity function\n",
      "similarity-based recommenders\n",
      "singular value decomposition\n",
      "singular value decomposition\n",
      "sklearn\n",
      "sklearn\n",
      "sliding window\n",
      "smart reply\n",
      "smart reply\n",
      "social bpr\n",
      "social connections\n",
      "social feedback\n",
      "social signals\n",
      "social trust\n",
      "socially-aware recommendation\n",
      "sparsity\n",
      "spectrogram\n",
      "spline function\n",
      "spmc / socially-aware personalized markov chains\n",
      "spotify\n",
      "spotify\n",
      "sse / sum of squared errors\n",
      "steam\n",
      "stemming\n",
      "stopwords\n",
      "substitutable\n",
      "supervised learning\n",
      "supervised learning\n",
      "support vector machine\n",
      "surprise\n",
      "surprise\n",
      "svd / singular value decomposition\n",
      "t-sne\n",
      "taste profile dataset\n",
      "temporal dynamics\n",
      "temporal features\n",
      "temporal models\n",
      "temporal recommendation\n",
      "temporal variation\n",
      "tensorflow\n",
      "tensorflow\n",
      "term frequency\n",
      "term frequency\n",
      "test set\n",
      "test set\n",
      "text generation\n",
      "tf-idf\n",
      "tf-idf / tf-idf representations\n",
      "those topics that are capable of explaining the variation in ratings\n",
      "tokenized\n",
      "topic model\n",
      "topic modeling\n",
      "topic models\n",
      "tradesy\n",
      "training set\n",
      "transfomer\n",
      "transformer\n",
      "transition probabilities\n",
      "translation-based recommendation\n",
      "translation-based recommendation\n",
      "trigrams\n",
      "true negative / tnr / true negative rate\n",
      "true positive / tpr / true positive rate\n",
      "true positive rate\n",
      "trust\n",
      "tsne\n",
      "tsv\n",
      "twitter\n",
      "underfit\n",
      "underfitting\n",
      "underrepresented groups\n",
      "unexpectedness\n",
      "unexpectedness\n",
      "unfairness\n",
      "unigrams\n",
      "unix time\n",
      "unsupervised learning\n",
      "user interface\n",
      "user manifold\n",
      "user manifold\n",
      "user-free\n",
      "user-free models\n",
      "user-free personalization\n",
      "user-to-item compatibility\n",
      "utility gap\n",
      "validation\n",
      "validation / validation set\n",
      "validation set\n",
      "value unfairness\n",
      "value unfairness\n",
      "variance\n",
      "vbpr / visual bayesian personalized ranking\n",
      "vbpr / visual bayesian personalized ranking\n",
      "visual attributes\n",
      "visual compatibility\n",
      "visual data\n",
      "visual dimensions\n",
      "visual dynamics\n",
      "visual factors\n",
      "visual features\n",
      "visual signals\n",
      "visually compatible\n",
      "visually-aware recommendation\n",
      "wide \\& deep learning\n",
      "word2vec\n",
      "word2vec\n",
      "yahoo\n",
      "yelp\n",
      "yelp\n",
      "youtube\n",
      "youtube\n"
     ]
    }
   ],
   "source": [
    "for a in both:\n",
    "    print(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {},
   "outputs": [],
   "source": [
    "x1 = open('main.tex')\n",
    "x2 = open('mainclean.tex', 'w')\n",
    "for l in x1.readlines():\n",
    "    if not l.strip().startswith('%'):\n",
    "        x2.write(l)\n",
    "\n",
    "x1.close()\n",
    "x2.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
