{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Topic Modeling" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from data_describe.text.topic_modeling import topic_model" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "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": {}, "outputs": [], "source": [ "df = pd.DataFrame({\"text\": newsgroups_train['data']})" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "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": {}, "source": [ "## Explicitly providing number of topics" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "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.025>>0.014
Term 2:0.009:0.010
Term 3-0.005God0.006
Term 4God0.005|0.004
Term 5much0.004them0.004
Term 6those0.004had0.004
Term 7way0.003|>0.004
Term 8time0.003-0.004
Term 9atheists0.003these0.004
Term 10may0.003atheists0.004
\n", "
" ], "text/plain": [ " Topic 1 Topic 1 Coefficient Value Topic 2 \\\n", "Term 1 |> 0.025 >> \n", "Term 2 : 0.009 : \n", "Term 3 - 0.005 God \n", "Term 4 God 0.005 | \n", "Term 5 much 0.004 them \n", "Term 6 those 0.004 had \n", "Term 7 way 0.003 |> \n", "Term 8 time 0.003 - \n", "Term 9 atheists 0.003 these \n", "Term 10 may 0.003 atheists \n", "\n", " Topic 2 Coefficient Value \n", "Term 1 0.014 \n", "Term 2 0.010 \n", "Term 3 0.006 \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.004 \n", "Term 10 0.004 " ] }, "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": {}, "source": [ "## Guess optimal number of topics and show elbow plot" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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 ValueTopic 5Topic 5 Coefficient ValueTopic 6Topic 6 Coefficient ValueTopic 7Topic 7 Coefficient ValueTopic 8Topic 8 Coefficient Value
Term 1>>0.008God0.010:0.031>>0.013|>0.021>>0.010|>0.071>>0.026
Term 2had0.006|0.008-0.007God0.008system0.006evidence0.005:0.016Jesus0.007
Term 3|0.005-0.007God0.006atheists0.005Schneider)0.006am0.005>>0.007God0.006
Term 4-0.005atheists0.005also0.005those0.005keith@cco.caltech.edu0.006objective0.004Livesey)0.007them0.006
Term 5God0.005those0.005Islamic0.005moral0.005am0.005world0.004(Jon0.006things0.006
Term 6evidence0.004For0.005our0.004religious0.005Allan0.005read0.004livesey@solntze.wpd.sgi.com0.006atheists0.005
Term 7time0.004Islam0.004A0.004-0.004Institute0.004take0.004God0.005evidence0.004
Term 8it.0.004religion0.004may0.004our0.004objective0.004|>0.004them0.004it.0.004
Term 9We0.004>>0.004Islam0.004way0.004these0.004almost0.004moral0.004-0.004
Term 10|>0.004way0.004much0.003may0.004keith0.004atheists0.003A0.004They0.004
\n", "
" ], "text/plain": [ " Topic 1 Topic 1 Coefficient Value Topic 2 \\\n", "Term 1 >> 0.008 God \n", "Term 2 had 0.006 | \n", "Term 3 | 0.005 - \n", "Term 4 - 0.005 atheists \n", "Term 5 God 0.005 those \n", "Term 6 evidence 0.004 For \n", "Term 7 time 0.004 Islam \n", "Term 8 it. 0.004 religion \n", "Term 9 We 0.004 >> \n", "Term 10 |> 0.004 way \n", "\n", " Topic 2 Coefficient Value Topic 3 Topic 3 Coefficient Value \\\n", "Term 1 0.010 : 0.031 \n", "Term 2 0.008 - 0.007 \n", "Term 3 0.007 God 0.006 \n", "Term 4 0.005 also 0.005 \n", "Term 5 0.005 Islamic 0.005 \n", "Term 6 0.005 our 0.004 \n", "Term 7 0.004 A 0.004 \n", "Term 8 0.004 may 0.004 \n", "Term 9 0.004 Islam 0.004 \n", "Term 10 0.004 much 0.003 \n", "\n", " Topic 4 Topic 4 Coefficient Value Topic 5 \\\n", "Term 1 >> 0.013 |> \n", "Term 2 God 0.008 system \n", "Term 3 atheists 0.005 Schneider) \n", "Term 4 those 0.005 keith@cco.caltech.edu \n", "Term 5 moral 0.005 am \n", "Term 6 religious 0.005 Allan \n", "Term 7 - 0.004 Institute \n", "Term 8 our 0.004 objective \n", "Term 9 way 0.004 these \n", "Term 10 may 0.004 keith \n", "\n", " Topic 5 Coefficient Value Topic 6 Topic 6 Coefficient Value \\\n", "Term 1 0.021 >> 0.010 \n", "Term 2 0.006 evidence 0.005 \n", "Term 3 0.006 am 0.005 \n", "Term 4 0.006 objective 0.004 \n", "Term 5 0.005 world 0.004 \n", "Term 6 0.005 read 0.004 \n", "Term 7 0.004 take 0.004 \n", "Term 8 0.004 |> 0.004 \n", "Term 9 0.004 almost 0.004 \n", "Term 10 0.004 atheists 0.003 \n", "\n", " Topic 7 Topic 7 Coefficient Value Topic 8 \\\n", "Term 1 |> 0.071 >> \n", "Term 2 : 0.016 Jesus \n", "Term 3 >> 0.007 God \n", "Term 4 Livesey) 0.007 them \n", "Term 5 (Jon 0.006 things \n", "Term 6 livesey@solntze.wpd.sgi.com 0.006 atheists \n", "Term 7 God 0.005 evidence \n", "Term 8 them 0.004 it. \n", "Term 9 moral 0.004 - \n", "Term 10 A 0.004 They \n", "\n", " Topic 8 Coefficient Value \n", "Term 1 0.026 \n", "Term 2 0.007 \n", "Term 3 0.006 \n", "Term 4 0.006 \n", "Term 5 0.006 \n", "Term 6 0.005 \n", "Term 7 0.004 \n", "Term 8 0.004 \n", "Term 9 0.004 \n", "Term 10 0.004 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lda_model = topic_model(df.text, num_topics=None)\n", "lda_model" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\n", "DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working\n" ] }, { "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" } }, "nbformat": 4, "nbformat_minor": 4 }