{ "cells": [ { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.010558, "end_time": "2020-11-11T19:35:45.556765", "exception": false, "start_time": "2020-11-11T19:35:45.546207", "status": "completed" }, "tags": [] }, "source": [ "# Topic Modeling" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:45.574431Z", "iopub.status.busy": "2020-11-11T19:35:45.573676Z", "iopub.status.idle": "2020-11-11T19:35:46.191686Z", "shell.execute_reply": "2020-11-11T19:35:46.192136Z" }, "papermill": { "duration": 0.628707, "end_time": "2020-11-11T19:35:46.192377", "exception": false, "start_time": "2020-11-11T19:35:45.563670", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:46.210066Z", "iopub.status.busy": "2020-11-11T19:35:46.209014Z", "iopub.status.idle": "2020-11-11T19:35:47.469660Z", "shell.execute_reply": "2020-11-11T19:35:47.470105Z" }, "papermill": { "duration": 1.270277, "end_time": "2020-11-11T19:35:47.470298", "exception": false, "start_time": "2020-11-11T19:35:46.200021", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "from data_describe.text.topic_modeling import topic_model" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:47.488273Z", "iopub.status.busy": "2020-11-11T19:35:47.487406Z", "iopub.status.idle": "2020-11-11T19:35:47.815155Z", "shell.execute_reply": "2020-11-11T19:35:47.815585Z" }, "papermill": { "duration": 0.340094, "end_time": "2020-11-11T19:35:47.815778", "exception": false, "start_time": "2020-11-11T19:35:47.475684", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "from sklearn.datasets import fetch_20newsgroups\n", "categories = ['alt.atheism']\n", "newsgroups_train = fetch_20newsgroups(subset='train', categories=categories)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:47.832912Z", "iopub.status.busy": "2020-11-11T19:35:47.831828Z", "iopub.status.idle": "2020-11-11T19:35:47.834585Z", "shell.execute_reply": "2020-11-11T19:35:47.835419Z" }, "papermill": { "duration": 0.014291, "end_time": "2020-11-11T19:35:47.835700", "exception": false, "start_time": "2020-11-11T19:35:47.821409", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "df = pd.DataFrame({\"text\": newsgroups_train['data']})" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:47.857449Z", "iopub.status.busy": "2020-11-11T19:35:47.856585Z", "iopub.status.idle": "2020-11-11T19:35:47.863031Z", "shell.execute_reply": "2020-11-11T19:35:47.863725Z" }, "papermill": { "duration": 0.020762, "end_time": "2020-11-11T19:35:47.863997", "exception": false, "start_time": "2020-11-11T19:35:47.843235", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
text
0From: darice@yoyo.cc.monash.edu.au (Fred Rice)...
1From: chrisb@tafe.sa.edu.au (Chris BELL)\\nSubj...
2Subject: Re: The Inimitable Rushdie\\nFrom: kma...
3From: timmbake@mcl.ucsb.edu (Bake Timmons)\\nSu...
4From: I3150101@dbstu1.rz.tu-bs.de (Benedikt Ro...
\n", "
" ], "text/plain": [ " text\n", "0 From: darice@yoyo.cc.monash.edu.au (Fred Rice)...\n", "1 From: chrisb@tafe.sa.edu.au (Chris BELL)\\nSubj...\n", "2 Subject: Re: The Inimitable Rushdie\\nFrom: kma...\n", "3 From: timmbake@mcl.ucsb.edu (Bake Timmons)\\nSu...\n", "4 From: I3150101@dbstu1.rz.tu-bs.de (Benedikt Ro..." ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.011584, "end_time": "2020-11-11T19:35:47.887013", "exception": false, "start_time": "2020-11-11T19:35:47.875429", "status": "completed" }, "tags": [] }, "source": [ "## Explicitly providing number of topics" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:47.910115Z", "iopub.status.busy": "2020-11-11T19:35:47.908989Z", "iopub.status.idle": "2020-11-11T19:35:49.848353Z", "shell.execute_reply": "2020-11-11T19:35:49.848764Z" }, "papermill": { "duration": 1.953953, "end_time": "2020-11-11T19:35:49.848963", "exception": false, "start_time": "2020-11-11T19:35:47.895010", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Topic 1Topic 1 Coefficient ValueTopic 2Topic 2 Coefficient Value
Term 1|>0.017|>0.010
Term 2>>0.013God0.007
Term 3:0.013-0.005
Term 4God0.005evidence0.004
Term 5-0.004:0.004
Term 6atheists0.004moral0.004
Term 7those0.004our0.004
Term 8|0.004these0.004
Term 9A0.003Jesus0.003
Term 10had0.003them0.003
\n", "
" ], "text/plain": [ " Topic 1 Topic 1 Coefficient Value Topic 2 \\\n", "Term 1 |> 0.017 |> \n", "Term 2 >> 0.013 God \n", "Term 3 : 0.013 - \n", "Term 4 God 0.005 evidence \n", "Term 5 - 0.004 : \n", "Term 6 atheists 0.004 moral \n", "Term 7 those 0.004 our \n", "Term 8 | 0.004 these \n", "Term 9 A 0.003 Jesus \n", "Term 10 had 0.003 them \n", "\n", " Topic 2 Coefficient Value \n", "Term 1 0.010 \n", "Term 2 0.007 \n", "Term 3 0.005 \n", "Term 4 0.004 \n", "Term 5 0.004 \n", "Term 6 0.004 \n", "Term 7 0.004 \n", "Term 8 0.004 \n", "Term 9 0.003 \n", "Term 10 0.003 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lda_model = topic_model(df.text, num_topics=2)\n", "lda_model" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.007942, "end_time": "2020-11-11T19:35:49.863121", "exception": false, "start_time": "2020-11-11T19:35:49.855179", "status": "completed" }, "tags": [] }, "source": [ "## Guess optimal number of topics and show elbow plot" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:49.964159Z", "iopub.status.busy": "2020-11-11T19:35:49.920117Z", "iopub.status.idle": "2020-11-11T19:35:54.628146Z", "shell.execute_reply": "2020-11-11T19:35:54.628543Z" }, "papermill": { "duration": 4.759244, "end_time": "2020-11-11T19:35:54.628726", "exception": false, "start_time": "2020-11-11T19:35:49.869482", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Fitting topic model: 100%|██████████| 3/3 [00:04<00:00, 1.48s/it]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 9.64 s, sys: 260 ms, total: 9.9 s\n", "Wall time: 4.73 s\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Topic 1Topic 1 Coefficient ValueTopic 2Topic 2 Coefficient ValueTopic 3Topic 3 Coefficient ValueTopic 4Topic 4 Coefficient Value
Term 1>>0.019God0.009|>0.042:0.014
Term 2:0.009-0.006:0.010>>0.008
Term 3|>0.006argument0.005-0.005God0.006
Term 4-0.005evidence0.004God0.005them0.005
Term 5atheists0.005our0.004|0.005evidence0.004
Term 6God0.004moral0.004(Jon0.005Jesus0.004
Term 7had0.004these0.004Livesey)0.004our0.004
Term 8those0.004Islamic0.004moral0.004those0.004
Term 9its0.004had0.004livesey@solntze.wpd.sgi.com0.004these0.003
Term 10A0.004For0.004it.0.004read0.003
\n", "
" ], "text/plain": [ " Topic 1 Topic 1 Coefficient Value Topic 2 \\\n", "Term 1 >> 0.019 God \n", "Term 2 : 0.009 - \n", "Term 3 |> 0.006 argument \n", "Term 4 - 0.005 evidence \n", "Term 5 atheists 0.005 our \n", "Term 6 God 0.004 moral \n", "Term 7 had 0.004 these \n", "Term 8 those 0.004 Islamic \n", "Term 9 its 0.004 had \n", "Term 10 A 0.004 For \n", "\n", " Topic 2 Coefficient Value Topic 3 \\\n", "Term 1 0.009 |> \n", "Term 2 0.006 : \n", "Term 3 0.005 - \n", "Term 4 0.004 God \n", "Term 5 0.004 | \n", "Term 6 0.004 (Jon \n", "Term 7 0.004 Livesey) \n", "Term 8 0.004 moral \n", "Term 9 0.004 livesey@solntze.wpd.sgi.com \n", "Term 10 0.004 it. \n", "\n", " Topic 3 Coefficient Value Topic 4 Topic 4 Coefficient Value \n", "Term 1 0.042 : 0.014 \n", "Term 2 0.010 >> 0.008 \n", "Term 3 0.005 God 0.006 \n", "Term 4 0.005 them 0.005 \n", "Term 5 0.005 evidence 0.004 \n", "Term 6 0.005 Jesus 0.004 \n", "Term 7 0.004 our 0.004 \n", "Term 8 0.004 those 0.004 \n", "Term 9 0.004 these 0.003 \n", "Term 10 0.004 read 0.003 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "lda_model = topic_model(df.text, num_topics=None, min_topics=2, max_topics=4)\n", "lda_model" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2020-11-11T19:35:54.650188Z", "iopub.status.busy": "2020-11-11T19:35:54.649590Z", "iopub.status.idle": "2020-11-11T19:35:54.859040Z", "shell.execute_reply": "2020-11-11T19:35:54.859423Z" }, "papermill": { "duration": 0.222289, "end_time": "2020-11-11T19:35:54.859598", "exception": false, "start_time": "2020-11-11T19:35:54.637309", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lda_model.elbow_plot()" ] } ], "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.7.7" }, "papermill": { "default_parameters": {}, "duration": 11.01568, "end_time": "2020-11-11T19:35:55.384671", "environment_variables": {}, "exception": null, "input_path": "/Users/richardtruong-chau/Projects/data-describe/examples/Topic_Modeling.ipynb", "output_path": "/Users/richardtruong-chau/Projects/data-describe/examples/Topic_Modeling.ipynb", "parameters": {}, "start_time": "2020-11-11T19:35:44.368991", "version": "2.2.0" } }, "nbformat": 4, "nbformat_minor": 4 }