{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd \n",
    "\n",
    "def get_data(path):\n",
    "    if path.lower().endswith(\".csv\"):\n",
    "        df = pd.read_csv(path)\n",
    "    elif path.lower().endswith(\".xlsx\"):\n",
    "        df = pd.read_excel(path, sheet_name=None)['Sheet1']\n",
    "    return df\n",
    "\n",
    "df = get_data('van_ban_khieu_dam.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Hôm nay ngày đẹp trời. Long tâm trạng cực kỳ v...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Long làm việc chiều tối mới về. Không biết sao...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>– Alo anh yêu à! Em nghe nè! Có chuyện gì khôn...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Long nhớ vợ quá! Mới gọi chút cũng chả đỡ nhớ,...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>– Long ngày nào cũng gọi nói nhảm vậy đó hả? –...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Long hoảng hốt tôi đang nghe gì thế này, hình ...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>– Phụt! Em nói thật đi, cái gì, nãy em nói tý ...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Long cảm giác hơi choáng. Rõ ràng là giọng Lin...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>– Bú chim anh đi! – Giong nam lại cất lên… – D...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Long cảm thấy cơn ghen tuông nổi lên, cơn tức ...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                text  label\n",
       "0  Hôm nay ngày đẹp trời. Long tâm trạng cực kỳ v...    NaN\n",
       "1  Long làm việc chiều tối mới về. Không biết sao...    NaN\n",
       "2  – Alo anh yêu à! Em nghe nè! Có chuyện gì khôn...    NaN\n",
       "3  Long nhớ vợ quá! Mới gọi chút cũng chả đỡ nhớ,...    NaN\n",
       "4  – Long ngày nào cũng gọi nói nhảm vậy đó hả? –...    NaN\n",
       "5  Long hoảng hốt tôi đang nghe gì thế này, hình ...    NaN\n",
       "6  – Phụt! Em nói thật đi, cái gì, nãy em nói tý ...    NaN\n",
       "7  Long cảm giác hơi choáng. Rõ ràng là giọng Lin...    NaN\n",
       "8  – Bú chim anh đi! – Giong nam lại cất lên… – D...    NaN\n",
       "9  Long cảm thấy cơn ghen tuông nổi lên, cơn tức ...    NaN"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['địt', 'xuất tinh', 'dương vật', 'âm đạo', 'dâm thủy', 'lồn', 'cặc', 'buồi', 'đụ', 'xoa vú', 'nứng', 'cặp mông', 'làm tình', 'mông', 'hậu môn', 'bú chim', 'chim to', 'nhấp liên tục', 'con cu', 'tử cung', 'bím', 'hột le', 'đầu vú', 'bầu vú', 'nắc liên tục', 'núm vú', 'âm hộ', 'bú vú', 'cặp nhũ hoa', 'cặp vú', 'bóp chặt cu', 'truyensex', 'vào háng']\n"
     ]
    }
   ],
   "source": [
    "sex_words = []\n",
    "with open(\"tu_khieu_dam.txt\", 'r') as f:\n",
    "    for line in f:\n",
    "        sex_words.append(line.replace('\\n', ''))\n",
    "print(sex_words)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_3229728/1826687499.py:4: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value 'khieu_dam' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[index, 'label'] = 'khieu_dam'\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>text</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Hôm nay ngày đẹp trời. Long tâm trạng cực kỳ v...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Long làm việc chiều tối mới về. Không biết sao...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>– Alo anh yêu à! Em nghe nè! Có chuyện gì khôn...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Long nhớ vợ quá! Mới gọi chút cũng chả đỡ nhớ,...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>– Long ngày nào cũng gọi nói nhảm vậy đó hả? –...</td>\n",
       "      <td>khieu_dam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Long hoảng hốt tôi đang nghe gì thế này, hình ...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>– Phụt! Em nói thật đi, cái gì, nãy em nói tý ...</td>\n",
       "      <td>khieu_dam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Long cảm giác hơi choáng. Rõ ràng là giọng Lin...</td>\n",
       "      <td>khieu_dam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>– Bú chim anh đi! – Giong nam lại cất lên… – D...</td>\n",
       "      <td>khieu_dam</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Long cảm thấy cơn ghen tuông nổi lên, cơn tức ...</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                text      label\n",
       "0  Hôm nay ngày đẹp trời. Long tâm trạng cực kỳ v...        NaN\n",
       "1  Long làm việc chiều tối mới về. Không biết sao...        NaN\n",
       "2  – Alo anh yêu à! Em nghe nè! Có chuyện gì khôn...        NaN\n",
       "3  Long nhớ vợ quá! Mới gọi chút cũng chả đỡ nhớ,...        NaN\n",
       "4  – Long ngày nào cũng gọi nói nhảm vậy đó hả? –...  khieu_dam\n",
       "5  Long hoảng hốt tôi đang nghe gì thế này, hình ...        NaN\n",
       "6  – Phụt! Em nói thật đi, cái gì, nãy em nói tý ...  khieu_dam\n",
       "7  Long cảm giác hơi choáng. Rõ ràng là giọng Lin...  khieu_dam\n",
       "8  – Bú chim anh đi! – Giong nam lại cất lên… – D...  khieu_dam\n",
       "9  Long cảm thấy cơn ghen tuông nổi lên, cơn tức ...        NaN"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for index, row in df.iloc[0:].iterrows():\n",
    "    for word in sex_words:\n",
    "        if word in row['text'].lower():\n",
    "            df.loc[index, 'label'] = 'khieu_dam'\n",
    "            continue\n",
    "\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3658\n"
     ]
    }
   ],
   "source": [
    "label_count = df['label'].value_counts().get('khieu_dam', 0)\n",
    "print(label_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_excel(\"van_ban_khieu_dam_processed.xlsx\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "bert",
   "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.10.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
