From ddeeb1274c996b6992e11f7cbe7ca44c776f6daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Novotn=C3=BD?= Date: Mon, 1 Mar 2021 07:31:33 +0100 Subject: [PATCH] Point WordEmbeddingSimilarityIndex documentation to gensim.similarities (#3003) * Remove deprecated init_sims from run_wmd.py * Add missing cross-links between soft cosine measure classes * Add normalized parameter to SoftCosineSimilarity * Point WordEmbeddingSimilarityIndex documentation to gensim.similarities * Add run_scm.py * Redirect documentation of SCM and WMD to Gallery * Run run_scm.py * Add sphx_glr_run_scm_thumb.png * Add sphx_glr_run_scm_001.png * Use anonymous references in the documentation --- docs/notebooks/soft_cosine_benchmark.ipynb | 2 +- docs/notebooks/soft_cosine_tutorial.ipynb | 4 +- docs/src/auto_examples/howtos/run_doc.ipynb | 6 +- docs/src/auto_examples/howtos/run_doc.py | 2 +- docs/src/auto_examples/howtos/run_doc.py.md5 | 2 +- docs/src/auto_examples/howtos/run_doc.rst | 31 +- .../howtos/sg_execution_times.rst | 15 +- docs/src/auto_examples/index.rst | 120 +++---- .../tutorials/images/sphx_glr_run_scm_001.png | Bin 0 -> 31727 bytes .../tutorials/images/sphx_glr_run_wmd_001.png | Bin 14951 -> 31931 bytes .../images/thumb/sphx_glr_run_scm_thumb.png | Bin 0 -> 16270 bytes .../images/thumb/sphx_glr_run_wmd_thumb.png | Bin 16911 -> 17172 bytes .../src/auto_examples/tutorials/run_scm.ipynb | 176 ++++++++++ docs/src/auto_examples/tutorials/run_scm.py | 153 +++++++++ .../auto_examples/tutorials/run_scm.py.md5 | 1 + docs/src/auto_examples/tutorials/run_scm.rst | 313 ++++++++++++++++++ .../src/auto_examples/tutorials/run_wmd.ipynb | 24 +- docs/src/auto_examples/tutorials/run_wmd.py | 31 +- .../auto_examples/tutorials/run_wmd.py.md5 | 2 +- docs/src/auto_examples/tutorials/run_wmd.rst | 138 +++----- .../tutorials/sg_execution_times.rst | 22 +- docs/src/gallery/tutorials/run_scm.py | 153 +++++++++ docs/src/gallery/tutorials/run_wmd.py | 31 +- docs/src/gallery/tutorials/scm-hello.png | Bin 0 -> 296469 bytes gensim/similarities/docsim.py | 30 +- gensim/similarities/termsim.py | 22 +- 26 files changed, 970 insertions(+), 308 deletions(-) create mode 100644 docs/src/auto_examples/tutorials/images/sphx_glr_run_scm_001.png create mode 100644 docs/src/auto_examples/tutorials/images/thumb/sphx_glr_run_scm_thumb.png create mode 100644 docs/src/auto_examples/tutorials/run_scm.ipynb create mode 100644 docs/src/auto_examples/tutorials/run_scm.py create mode 100644 docs/src/auto_examples/tutorials/run_scm.py.md5 create mode 100644 docs/src/auto_examples/tutorials/run_scm.rst create mode 100644 docs/src/gallery/tutorials/run_scm.py create mode 100644 docs/src/gallery/tutorials/scm-hello.png diff --git a/docs/notebooks/soft_cosine_benchmark.ipynb b/docs/notebooks/soft_cosine_benchmark.ipynb index 9421b84c17..55673248d6 100644 --- a/docs/notebooks/soft_cosine_benchmark.ipynb +++ b/docs/notebooks/soft_cosine_benchmark.ipynb @@ -58,7 +58,7 @@ "from gensim.similarities import SparseTermSimilarityMatrix\n", "from gensim.similarities import UniformTermSimilarityIndex\n", "from gensim.similarities import LevenshteinSimilarityIndex\n", - "from gensim.models import WordEmbeddingSimilarityIndex\n", + "from gensim.similarities import WordEmbeddingSimilarityIndex\n", "from gensim.utils import simple_preprocess\n", "\n", "RANDOM_SEED = 12345\n", diff --git a/docs/notebooks/soft_cosine_tutorial.ipynb b/docs/notebooks/soft_cosine_tutorial.ipynb index aadbecf6a5..4c7fceb1df 100644 --- a/docs/notebooks/soft_cosine_tutorial.ipynb +++ b/docs/notebooks/soft_cosine_tutorial.ipynb @@ -143,8 +143,8 @@ "%%time\n", "import gensim.downloader as api\n", "\n", - "from gensim.models import WordEmbeddingSimilarityIndex\n", "from gensim.similarities import SparseTermSimilarityMatrix\n", + "from gensim.similarities import WordEmbeddingSimilarityIndex\n", "\n", "w2v_model = api.load(\"glove-wiki-gigaword-50\")\n", "similarity_index = WordEmbeddingSimilarityIndex(w2v_model)\n", @@ -296,7 +296,7 @@ "from gensim.corpora import Dictionary\n", "from gensim.models import TfidfModel\n", "from gensim.models import Word2Vec\n", - "from gensim.models import WordEmbeddingSimilarityIndex\n", + "from gensim.similarities import WordEmbeddingSimilarityIndex\n", "from gensim.similarities import SparseTermSimilarityMatrix\n", "\n", "dictionary = Dictionary(corpus)\n", diff --git a/docs/src/auto_examples/howtos/run_doc.ipynb b/docs/src/auto_examples/howtos/run_doc.ipynb index 48820b593a..7d3be48ac2 100644 --- a/docs/src/auto_examples/howtos/run_doc.ipynb +++ b/docs/src/auto_examples/howtos/run_doc.ipynb @@ -15,7 +15,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\nHow to Author Gensim Documentation\n==================================\n\nHow to author documentation for Gensim.\n\n" + "\nHow to Author Gensim Documentation\n==================================\n\nHow to author documentation for Gensim.\n" ] }, { @@ -54,7 +54,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Authoring Workflow\n------------------\n\nThere are several ways to author documentation.\nThe simplest and most straightforward is to author your ``script.py`` from scratch.\nYou'll have the following cycle:\n\n1. Make changes\n2. Run ``python script.py``\n3. Check standard output, standard error and return code\n4. If everything works well, stop.\n5. Otherwise, go back to step 1).\n\nIf the above is not your cup of tea, you can also author your documentation as a Jupyter notebook.\nThis is a more flexible approach that enables you to tweak parts of the documentation and re-run them as necessary.\n\nOnce you're happy with the notebook, convert it to a script.py.\nThere's a helpful `script `__ that will do it for you.\nTo use it::\n\n python to_python.py < notebook.ipynb > script.py\n\nYou may have to touch up the resulting ``script.py``.\nMore specifically:\n\n- Update the title\n- Update the description\n- Fix any issues that the markdown-to-RST converter could not deal with\n\nOnce your script.py works, put it in a suitable subdirectory.\nPlease don't include your original Jupyter notebook in the repository - we won't be using it.\n\n" + "Authoring Workflow\n------------------\n\nThere are several ways to author documentation.\nThe simplest and most straightforward is to author your ``script.py`` from scratch.\nYou'll have the following cycle:\n\n1. Make changes\n2. Run ``python script.py``\n3. Check standard output, standard error and return code\n4. If everything works well, stop.\n5. Otherwise, go back to step 1).\n\nIf the above is not your cup of tea, you can also author your documentation as a Jupyter notebook.\nThis is a more flexible approach that enables you to tweak parts of the documentation and re-run them as necessary.\n\nOnce you're happy with the notebook, convert it to a script.py.\nThere's a helpful `script `__ that will do it for you.\nTo use it::\n\n python to_python.py < notebook.ipynb > script.py\n\nYou may have to touch up the resulting ``script.py``.\nMore specifically:\n\n- Update the title\n- Update the description\n- Fix any issues that the markdown-to-RST converter could not deal with\n\nOnce your script.py works, put it in a suitable subdirectory.\nPlease don't include your original Jupyter notebook in the repository - we won't be using it.\n\n" ] }, { @@ -81,7 +81,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.5" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/docs/src/auto_examples/howtos/run_doc.py b/docs/src/auto_examples/howtos/run_doc.py index 7e07ab74bd..15e870f1be 100644 --- a/docs/src/auto_examples/howtos/run_doc.py +++ b/docs/src/auto_examples/howtos/run_doc.py @@ -111,7 +111,7 @@ # This is a more flexible approach that enables you to tweak parts of the documentation and re-run them as necessary. # # Once you're happy with the notebook, convert it to a script.py. -# There's a helpful `script `__ that will do it for you. +# There's a helpful `script `__ that will do it for you. # To use it:: # # python to_python.py < notebook.ipynb > script.py diff --git a/docs/src/auto_examples/howtos/run_doc.py.md5 b/docs/src/auto_examples/howtos/run_doc.py.md5 index d81fe9d241..979aa0eb5e 100644 --- a/docs/src/auto_examples/howtos/run_doc.py.md5 +++ b/docs/src/auto_examples/howtos/run_doc.py.md5 @@ -1 +1 @@ -b3db0b66859316de13e1a36fa6181657 \ No newline at end of file +512a76ce743dd12482d21784a76b60fe \ No newline at end of file diff --git a/docs/src/auto_examples/howtos/run_doc.rst b/docs/src/auto_examples/howtos/run_doc.rst index 88d1904295..c763ca1de0 100644 --- a/docs/src/auto_examples/howtos/run_doc.rst +++ b/docs/src/auto_examples/howtos/run_doc.rst @@ -1,12 +1,10 @@ -.. only:: html - - .. note:: - :class: sphx-glr-download-link-note +.. note:: + :class: sphx-glr-download-link-note - Click :ref:`here ` to download the full example code - .. rst-class:: sphx-glr-example-title + Click :ref:`here ` to download the full example code +.. rst-class:: sphx-glr-example-title - .. _sphx_glr_auto_examples_howtos_run_doc.py: +.. _sphx_glr_auto_examples_howtos_run_doc.py: How to Author Gensim Documentation @@ -80,15 +78,6 @@ At the very top, you need a docstring describing what your script does. -.. rst-class:: sphx-glr-script-out - - Out: - - .. code-block:: none - - - '\nTitle\n=====\n\nBrief description.\n' - The title is what will show up in the gallery. @@ -135,7 +124,7 @@ If the above is not your cup of tea, you can also author your documentation as a This is a more flexible approach that enables you to tweak parts of the documentation and re-run them as necessary. Once you're happy with the notebook, convert it to a script.py. -There's a helpful `script `__ that will do it for you. +There's a helpful `script `__ that will do it for you. To use it:: python to_python.py < notebook.ipynb > script.py @@ -207,9 +196,9 @@ At that stage, give yourself a pat on the back: you're done! .. rst-class:: sphx-glr-timing - **Total running time of the script:** ( 0 minutes 0.112 seconds) + **Total running time of the script:** ( 0 minutes 1.226 seconds) -**Estimated memory usage:** 6 MB +**Estimated memory usage:** 9 MB .. _sphx_glr_download_auto_examples_howtos_run_doc.py: @@ -222,13 +211,13 @@ At that stage, give yourself a pat on the back: you're done! - .. container:: sphx-glr-download sphx-glr-download-python + .. container:: sphx-glr-download :download:`Download Python source code: run_doc.py ` - .. container:: sphx-glr-download sphx-glr-download-jupyter + .. container:: sphx-glr-download :download:`Download Jupyter notebook: run_doc.ipynb ` diff --git a/docs/src/auto_examples/howtos/sg_execution_times.rst b/docs/src/auto_examples/howtos/sg_execution_times.rst index 628fe13c1f..ec9ea90bd7 100644 --- a/docs/src/auto_examples/howtos/sg_execution_times.rst +++ b/docs/src/auto_examples/howtos/sg_execution_times.rst @@ -5,14 +5,9 @@ Computation times ================= -**52:12.903** total execution time for **auto_examples_howtos** files: +**00:01.226** total execution time for **auto_examples_howtos** files: -+----------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_howtos_run_doc2vec_imdb.py` (``run_doc2vec_imdb.py``) | 52:12.903 | 3494.0 MB | -+----------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_howtos_run_compare_lda.py` (``run_compare_lda.py``) | 00:00.000 | 0.0 MB | -+----------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_howtos_run_doc.py` (``run_doc.py``) | 00:00.000 | 0.0 MB | -+----------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_howtos_run_downloader_api.py` (``run_downloader_api.py``) | 00:00.000 | 0.0 MB | -+----------------------------------------------------------------------------------------+-----------+-----------+ +- **00:01.226**: :ref:`sphx_glr_auto_examples_howtos_run_doc.py` (``run_doc.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_howtos_run_compare_lda.py` (``run_compare_lda.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_howtos_run_doc2vec_imdb.py` (``run_doc2vec_imdb.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_howtos_run_downloader_api.py` (``run_downloader_api.py``) diff --git a/docs/src/auto_examples/index.rst b/docs/src/auto_examples/index.rst index ca3c1ec019..1ec9276242 100644 --- a/docs/src/auto_examples/index.rst +++ b/docs/src/auto_examples/index.rst @@ -13,7 +13,7 @@ If you're thinking about contributing documentation, please see :ref:`sphx_glr_a .. raw:: html -
+
@@ -33,10 +33,9 @@ Understanding this functionality is vital for using gensim effectively. .. only:: html - .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_core_concepts_thumb.png - :alt: Core Concepts + .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_core_concepts_thumb.png - :ref:`sphx_glr_auto_examples_core_run_core_concepts.py` + :ref:`sphx_glr_auto_examples_core_run_core_concepts.py` .. raw:: html @@ -54,10 +53,9 @@ Understanding this functionality is vital for using gensim effectively. .. only:: html - .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_corpora_and_vector_spaces_thumb.png - :alt: Corpora and Vector Spaces + .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_corpora_and_vector_spaces_thumb.png - :ref:`sphx_glr_auto_examples_core_run_corpora_and_vector_spaces.py` + :ref:`sphx_glr_auto_examples_core_run_corpora_and_vector_spaces.py` .. raw:: html @@ -71,14 +69,13 @@ Understanding this functionality is vital for using gensim effectively. .. raw:: html -
+
.. only:: html - .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_topics_and_transformations_thumb.png - :alt: Topics and Transformations + .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_topics_and_transformations_thumb.png - :ref:`sphx_glr_auto_examples_core_run_topics_and_transformations.py` + :ref:`sphx_glr_auto_examples_core_run_topics_and_transformations.py` .. raw:: html @@ -92,14 +89,13 @@ Understanding this functionality is vital for using gensim effectively. .. raw:: html -
+
.. only:: html - .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_similarity_queries_thumb.png - :alt: Similarity Queries + .. figure:: /auto_examples/core/images/thumb/sphx_glr_run_similarity_queries_thumb.png - :ref:`sphx_glr_auto_examples_core_run_similarity_queries.py` + :ref:`sphx_glr_auto_examples_core_run_similarity_queries.py` .. raw:: html @@ -112,7 +108,7 @@ Understanding this functionality is vital for using gensim effectively. /auto_examples/core/run_similarity_queries .. raw:: html -
+
@@ -131,10 +127,9 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod .. only:: html - .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_word2vec_thumb.png - :alt: Word2Vec Model + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_word2vec_thumb.png - :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` + :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` .. raw:: html @@ -152,10 +147,9 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod .. only:: html - .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_doc2vec_lee_thumb.png - :alt: Doc2Vec Model + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_doc2vec_lee_thumb.png - :ref:`sphx_glr_auto_examples_tutorials_run_doc2vec_lee.py` + :ref:`sphx_glr_auto_examples_tutorials_run_doc2vec_lee.py` .. raw:: html @@ -169,14 +163,13 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod .. raw:: html -
+
.. only:: html - .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_fasttext_thumb.png - :alt: FastText Model + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_fasttext_thumb.png - :ref:`sphx_glr_auto_examples_tutorials_run_fasttext.py` + :ref:`sphx_glr_auto_examples_tutorials_run_fasttext.py` .. raw:: html @@ -190,14 +183,13 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod .. raw:: html -
+
.. only:: html - .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_annoy_thumb.png - :alt: Fast Similarity Queries with Annoy and Word2Vec + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_annoy_thumb.png - :ref:`sphx_glr_auto_examples_tutorials_run_annoy.py` + :ref:`sphx_glr_auto_examples_tutorials_run_annoy.py` .. raw:: html @@ -215,10 +207,9 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod .. only:: html - .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_lda_thumb.png - :alt: LDA Model + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_lda_thumb.png - :ref:`sphx_glr_auto_examples_tutorials_run_lda.py` + :ref:`sphx_glr_auto_examples_tutorials_run_lda.py` .. raw:: html @@ -236,10 +227,9 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod .. only:: html - .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_wmd_thumb.png - :alt: Word Mover's Distance + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_wmd_thumb.png - :ref:`sphx_glr_auto_examples_tutorials_run_wmd.py` + :ref:`sphx_glr_auto_examples_tutorials_run_wmd.py` .. raw:: html @@ -250,9 +240,29 @@ Learning-oriented lessons that introduce a particular gensim feature, e.g. a mod :hidden: /auto_examples/tutorials/run_wmd + +.. raw:: html + +
+ +.. only:: html + + .. figure:: /auto_examples/tutorials/images/thumb/sphx_glr_run_scm_thumb.png + + :ref:`sphx_glr_auto_examples_tutorials_run_scm.py` + +.. raw:: html + +
+ + +.. toctree:: + :hidden: + + /auto_examples/tutorials/run_scm .. raw:: html -
+
@@ -267,14 +277,13 @@ These **goal-oriented guides** demonstrate how to **solve a specific problem** u .. raw:: html -
+
.. only:: html - .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_downloader_api_thumb.png - :alt: How to download pre-trained models and corpora + .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_downloader_api_thumb.png - :ref:`sphx_glr_auto_examples_howtos_run_downloader_api.py` + :ref:`sphx_glr_auto_examples_howtos_run_downloader_api.py` .. raw:: html @@ -288,14 +297,13 @@ These **goal-oriented guides** demonstrate how to **solve a specific problem** u .. raw:: html -
+
.. only:: html - .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_doc_thumb.png - :alt: How to Author Gensim Documentation + .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_doc_thumb.png - :ref:`sphx_glr_auto_examples_howtos_run_doc.py` + :ref:`sphx_glr_auto_examples_howtos_run_doc.py` .. raw:: html @@ -313,10 +321,9 @@ These **goal-oriented guides** demonstrate how to **solve a specific problem** u .. only:: html - .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_doc2vec_imdb_thumb.png - :alt: How to reproduce the doc2vec 'Paragraph Vector' paper + .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_doc2vec_imdb_thumb.png - :ref:`sphx_glr_auto_examples_howtos_run_doc2vec_imdb.py` + :ref:`sphx_glr_auto_examples_howtos_run_doc2vec_imdb.py` .. raw:: html @@ -334,10 +341,9 @@ These **goal-oriented guides** demonstrate how to **solve a specific problem** u .. only:: html - .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_compare_lda_thumb.png - :alt: How to Compare LDA Models + .. figure:: /auto_examples/howtos/images/thumb/sphx_glr_run_compare_lda_thumb.png - :ref:`sphx_glr_auto_examples_howtos_run_compare_lda.py` + :ref:`sphx_glr_auto_examples_howtos_run_compare_lda.py` .. raw:: html @@ -350,7 +356,7 @@ These **goal-oriented guides** demonstrate how to **solve a specific problem** u /auto_examples/howtos/run_compare_lda .. raw:: html -
+
@@ -393,7 +399,7 @@ Blog posts, tutorial videos, hackathons and other useful Gensim resources, from .. raw:: html -
+
@@ -403,15 +409,15 @@ Blog posts, tutorial videos, hackathons and other useful Gensim resources, from :class: sphx-glr-footer-gallery - .. container:: sphx-glr-download sphx-glr-download-python + .. container:: sphx-glr-download - :download:`Download all examples in Python source code: auto_examples_python.zip ` + :download:`Download all examples in Python source code: auto_examples_python.zip ` - .. container:: sphx-glr-download sphx-glr-download-jupyter + .. container:: sphx-glr-download - :download:`Download all examples in Jupyter notebooks: auto_examples_jupyter.zip ` + :download:`Download all examples in Jupyter notebooks: auto_examples_jupyter.zip ` .. only:: html diff --git a/docs/src/auto_examples/tutorials/images/sphx_glr_run_scm_001.png b/docs/src/auto_examples/tutorials/images/sphx_glr_run_scm_001.png new file mode 100644 index 0000000000000000000000000000000000000000..327697506e1ee9908fb0f5d2e85c26db8335546f GIT binary patch literal 31727 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 F{|n>cW(fcQ diff --git a/docs/src/auto_examples/tutorials/images/thumb/sphx_glr_run_scm_thumb.png b/docs/src/auto_examples/tutorials/images/thumb/sphx_glr_run_scm_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a9fbd4b1f1ece2124d3f7ea717781f2da45610 GIT binary patch literal 16270 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 C>q{2^ literal 0 HcmV?d00001 diff --git a/docs/src/auto_examples/tutorials/images/thumb/sphx_glr_run_wmd_thumb.png b/docs/src/auto_examples/tutorials/images/thumb/sphx_glr_run_wmd_thumb.png index 78c25f381ec81818979cbaf460841e04f7421275..381d4a9d592148dda9d9dd0066687d998ad6059c 100644 GIT binary patch literal 17172 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 diff --git a/docs/src/auto_examples/tutorials/run_scm.ipynb b/docs/src/auto_examples/tutorials/run_scm.ipynb new file mode 100644 index 0000000000..91fb6f86bd --- /dev/null +++ b/docs/src/auto_examples/tutorials/run_scm.ipynb @@ -0,0 +1,176 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\nSoft Cosine Measure\n===================\n\nDemonstrates using Gensim's implemenation of the SCM.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Soft Cosine Measure (SCM) is a promising new tool in machine learning that\nallows us to submit a query and return the most relevant documents. This\ntutorial introduces SCM and shows how you can compute the SCM similarities\nbetween two documents using the ``inner_product`` method.\n\nSoft Cosine Measure basics\n--------------------------\n\nSoft Cosine Measure (SCM) is a method that allows us to assess the similarity\nbetween two documents in a meaningful way, even when they have no words in\ncommon. It uses a measure of similarity between words, which can be derived\n[2] using [word2vec][] [4] vector embeddings of words. It has been shown to\noutperform many of the state-of-the-art methods in the semantic text\nsimilarity task in the context of community question answering [2].\n\n\nSCM is illustrated below for two very similar sentences. The sentences have\nno words in common, but by modeling synonymy, SCM is able to accurately\nmeasure the similarity between the two sentences. The method also uses the\nbag-of-words vector representation of the documents (simply put, the word's\nfrequencies in the documents). The intution behind the method is that we\ncompute standard cosine similarity assuming that the document vectors are\nexpressed in a non-orthogonal basis, where the angle between two basis\nvectors is derived from the angle between the word2vec embeddings of the\ncorresponding words.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\nimport matplotlib.image as mpimg\nimg = mpimg.imread('scm-hello.png')\nimgplot = plt.imshow(img)\nplt.axis('off')\nplt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This method was perhaps first introduced in the article \u201cSoft Measure and\nSoft Cosine Measure: Measure of Features in Vector Space Model\u201d by Grigori\nSidorov, Alexander Gelbukh, Helena Gomez-Adorno, and David Pinto.\n\nIn this tutorial, we will learn how to use Gensim's SCM functionality, which\nconsists of the ``inner_product`` method for one-off computation, and the\n``SoftCosineSimilarity`` class for corpus-based similarity queries.\n\n.. Important::\n If you use Gensim's SCM functionality, please consider citing [1], [2] and [3].\n\nComputing the Soft Cosine Measure\n---------------------------------\nTo use SCM, you need some existing word embeddings.\nYou could train your own Word2Vec model, but that is beyond the scope of this tutorial\n(check out `sphx_glr_auto_examples_tutorials_run_word2vec.py` if you're interested).\nFor this tutorial, we'll be using an existing Word2Vec model.\n\nLet's take some sentences to compute the distance between.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Initialize logging.\nimport logging\nlogging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)\n\nsentence_obama = 'Obama speaks to the media in Illinois'\nsentence_president = 'The president greets the press in Chicago'\nsentence_orange = 'Oranges are my favorite fruit'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first two sentences sentences have very similar content, and as such the\nSCM should be high. By contrast, the third sentence is unrelated to the first\ntwo and the SCM should be low.\n\nBefore we compute the SCM, we want to remove stopwords (\"the\", \"to\", etc.),\nas these do not contribute a lot to the information in the sentences.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Import and download stopwords from NLTK.\nfrom nltk.corpus import stopwords\nfrom nltk import download\ndownload('stopwords') # Download stopwords list.\nstop_words = stopwords.words('english')\n\ndef preprocess(sentence):\n return [w for w in sentence.lower().split() if w not in stop_words]\n\nsentence_obama = preprocess(sentence_obama)\nsentence_president = preprocess(sentence_president)\nsentence_orange = preprocess(sentence_orange)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build a dictionary and a TF-IDF model, and we will convert the\nsentences to the bag-of-words format.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from gensim.corpora import Dictionary\ndocuments = [sentence_obama, sentence_president, sentence_orange]\ndictionary = Dictionary(documents)\n\nsentence_obama = dictionary.doc2bow(sentence_obama)\nsentence_president = dictionary.doc2bow(sentence_president)\nsentence_orange = dictionary.doc2bow(sentence_orange)\n\nfrom gensim.models import TfidfModel\ndocuments = [sentence_obama, sentence_president, sentence_orange]\ntfidf = TfidfModel(documents)\n\nsentence_obama = tfidf[sentence_obama]\nsentence_president = tfidf[sentence_president]\nsentence_orange = tfidf[sentence_orange]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, as mentioned earlier, we will be using some downloaded pre-trained\nembeddings. We load these into a Gensim Word2Vec model class and we build\na term similarity mextrix using the embeddings.\n\n.. Important::\n The embeddings we have chosen here require a lot of memory.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import gensim.downloader as api\nmodel = api.load('word2vec-google-news-300')\n\nfrom gensim.similarities import SparseTermSimilarityMatrix, WordEmbeddingSimilarityIndex\ntermsim_index = WordEmbeddingSimilarityIndex(model)\ntermsim_matrix = SparseTermSimilarityMatrix(termsim_index, dictionary, tfidf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So let's compute SCM using the ``inner_product`` method.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "similarity = termsim_matrix.inner_product(sentence_obama, sentence_president, normalized=(True, True))\nprint('similarity = %.4f' % similarity)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's try the same thing with two completely unrelated sentences.\nNotice that the similarity is smaller.\n\n\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "similarity = termsim_matrix.inner_product(sentence_obama, sentence_orange, normalized=(True, True))\nprint('similarity = %.4f' % similarity)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "References\n----------\n\n1. Grigori Sidorov et al. *Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model*, 2014.\n2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine Semantic Similarity between Questions for Community Question Answering, 2017.\n3. V\u00edt Novotn\u00fd. *Implementation Notes for the Soft Cosine Measure*, 2018.\n4. Tom\u00e1\u0161 Mikolov et al. Efficient Estimation of Word Representations in Vector Space, 2013.\n\n\n" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/docs/src/auto_examples/tutorials/run_scm.py b/docs/src/auto_examples/tutorials/run_scm.py new file mode 100644 index 0000000000..d57c9f6a1e --- /dev/null +++ b/docs/src/auto_examples/tutorials/run_scm.py @@ -0,0 +1,153 @@ +r""" +Soft Cosine Measure +=================== + +Demonstrates using Gensim's implemenation of the SCM. + +""" + +############################################################################### +# Soft Cosine Measure (SCM) is a promising new tool in machine learning that +# allows us to submit a query and return the most relevant documents. This +# tutorial introduces SCM and shows how you can compute the SCM similarities +# between two documents using the ``inner_product`` method. +# +# Soft Cosine Measure basics +# -------------------------- +# +# Soft Cosine Measure (SCM) is a method that allows us to assess the similarity +# between two documents in a meaningful way, even when they have no words in +# common. It uses a measure of similarity between words, which can be derived +# [2] using [word2vec][] [4] vector embeddings of words. It has been shown to +# outperform many of the state-of-the-art methods in the semantic text +# similarity task in the context of community question answering [2]. +# +# +# SCM is illustrated below for two very similar sentences. The sentences have +# no words in common, but by modeling synonymy, SCM is able to accurately +# measure the similarity between the two sentences. The method also uses the +# bag-of-words vector representation of the documents (simply put, the word's +# frequencies in the documents). The intution behind the method is that we +# compute standard cosine similarity assuming that the document vectors are +# expressed in a non-orthogonal basis, where the angle between two basis +# vectors is derived from the angle between the word2vec embeddings of the +# corresponding words. +# + +import matplotlib.pyplot as plt +import matplotlib.image as mpimg +img = mpimg.imread('scm-hello.png') +imgplot = plt.imshow(img) +plt.axis('off') +plt.show() + +############################################################################### +# This method was perhaps first introduced in the article “Soft Measure and +# Soft Cosine Measure: Measure of Features in Vector Space Model” by Grigori +# Sidorov, Alexander Gelbukh, Helena Gomez-Adorno, and David Pinto. +# +# In this tutorial, we will learn how to use Gensim's SCM functionality, which +# consists of the ``inner_product`` method for one-off computation, and the +# ``SoftCosineSimilarity`` class for corpus-based similarity queries. +# +# .. Important:: +# If you use Gensim's SCM functionality, please consider citing [1], [2] and [3]. +# +# Computing the Soft Cosine Measure +# --------------------------------- +# To use SCM, you need some existing word embeddings. +# You could train your own Word2Vec model, but that is beyond the scope of this tutorial +# (check out :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` if you're interested). +# For this tutorial, we'll be using an existing Word2Vec model. +# +# Let's take some sentences to compute the distance between. +# + +# Initialize logging. +import logging +logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + +sentence_obama = 'Obama speaks to the media in Illinois' +sentence_president = 'The president greets the press in Chicago' +sentence_orange = 'Oranges are my favorite fruit' + +############################################################################### +# The first two sentences sentences have very similar content, and as such the +# SCM should be high. By contrast, the third sentence is unrelated to the first +# two and the SCM should be low. +# +# Before we compute the SCM, we want to remove stopwords ("the", "to", etc.), +# as these do not contribute a lot to the information in the sentences. +# + +# Import and download stopwords from NLTK. +from nltk.corpus import stopwords +from nltk import download +download('stopwords') # Download stopwords list. +stop_words = stopwords.words('english') + +def preprocess(sentence): + return [w for w in sentence.lower().split() if w not in stop_words] + +sentence_obama = preprocess(sentence_obama) +sentence_president = preprocess(sentence_president) +sentence_orange = preprocess(sentence_orange) + +############################################################################### +# Next, we will build a dictionary and a TF-IDF model, and we will convert the +# sentences to the bag-of-words format. +# +from gensim.corpora import Dictionary +documents = [sentence_obama, sentence_president, sentence_orange] +dictionary = Dictionary(documents) + +sentence_obama = dictionary.doc2bow(sentence_obama) +sentence_president = dictionary.doc2bow(sentence_president) +sentence_orange = dictionary.doc2bow(sentence_orange) + +from gensim.models import TfidfModel +documents = [sentence_obama, sentence_president, sentence_orange] +tfidf = TfidfModel(documents) + +sentence_obama = tfidf[sentence_obama] +sentence_president = tfidf[sentence_president] +sentence_orange = tfidf[sentence_orange] + +############################################################################### +# Now, as mentioned earlier, we will be using some downloaded pre-trained +# embeddings. We load these into a Gensim Word2Vec model class and we build +# a term similarity mextrix using the embeddings. +# +# .. Important:: +# The embeddings we have chosen here require a lot of memory. +# +import gensim.downloader as api +model = api.load('word2vec-google-news-300') + +from gensim.similarities import SparseTermSimilarityMatrix, WordEmbeddingSimilarityIndex +termsim_index = WordEmbeddingSimilarityIndex(model) +termsim_matrix = SparseTermSimilarityMatrix(termsim_index, dictionary, tfidf) + +############################################################################### +# So let's compute SCM using the ``inner_product`` method. +# +similarity = termsim_matrix.inner_product(sentence_obama, sentence_president, normalized=(True, True)) +print('similarity = %.4f' % similarity) + +############################################################################### +# Let's try the same thing with two completely unrelated sentences. +# Notice that the similarity is smaller. +# +similarity = termsim_matrix.inner_product(sentence_obama, sentence_orange, normalized=(True, True)) +print('similarity = %.4f' % similarity) + +############################################################################### +# +# References +# ---------- +# +# 1. Grigori Sidorov et al. *Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model*, 2014. +# 2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine Semantic Similarity between Questions for Community Question Answering, 2017. +# 3. Vít Novotný. *Implementation Notes for the Soft Cosine Measure*, 2018. +# 4. Tomáš Mikolov et al. Efficient Estimation of Word Representations in Vector Space, 2013. +# diff --git a/docs/src/auto_examples/tutorials/run_scm.py.md5 b/docs/src/auto_examples/tutorials/run_scm.py.md5 new file mode 100644 index 0000000000..c6a7a736cb --- /dev/null +++ b/docs/src/auto_examples/tutorials/run_scm.py.md5 @@ -0,0 +1 @@ +0bbd28e31784997fb257771856183106 \ No newline at end of file diff --git a/docs/src/auto_examples/tutorials/run_scm.rst b/docs/src/auto_examples/tutorials/run_scm.rst new file mode 100644 index 0000000000..ee5bd4fc6c --- /dev/null +++ b/docs/src/auto_examples/tutorials/run_scm.rst @@ -0,0 +1,313 @@ +.. note:: + :class: sphx-glr-download-link-note + + Click :ref:`here ` to download the full example code +.. rst-class:: sphx-glr-example-title + +.. _sphx_glr_auto_examples_tutorials_run_scm.py: + + +Soft Cosine Measure +=================== + +Demonstrates using Gensim's implemenation of the SCM. + +Soft Cosine Measure (SCM) is a promising new tool in machine learning that +allows us to submit a query and return the most relevant documents. This +tutorial introduces SCM and shows how you can compute the SCM similarities +between two documents using the ``inner_product`` method. + +Soft Cosine Measure basics +-------------------------- + +Soft Cosine Measure (SCM) is a method that allows us to assess the similarity +between two documents in a meaningful way, even when they have no words in +common. It uses a measure of similarity between words, which can be derived +[2] using [word2vec][] [4] vector embeddings of words. It has been shown to +outperform many of the state-of-the-art methods in the semantic text +similarity task in the context of community question answering [2]. + + +SCM is illustrated below for two very similar sentences. The sentences have +no words in common, but by modeling synonymy, SCM is able to accurately +measure the similarity between the two sentences. The method also uses the +bag-of-words vector representation of the documents (simply put, the word's +frequencies in the documents). The intution behind the method is that we +compute standard cosine similarity assuming that the document vectors are +expressed in a non-orthogonal basis, where the angle between two basis +vectors is derived from the angle between the word2vec embeddings of the +corresponding words. + + + +.. code-block:: default + + + import matplotlib.pyplot as plt + import matplotlib.image as mpimg + img = mpimg.imread('scm-hello.png') + imgplot = plt.imshow(img) + plt.axis('off') + plt.show() + + + + +.. image:: /auto_examples/tutorials/images/sphx_glr_run_scm_001.png + :class: sphx-glr-single-img + + + + +This method was perhaps first introduced in the article “Soft Measure and +Soft Cosine Measure: Measure of Features in Vector Space Model” by Grigori +Sidorov, Alexander Gelbukh, Helena Gomez-Adorno, and David Pinto. + +In this tutorial, we will learn how to use Gensim's SCM functionality, which +consists of the ``inner_product`` method for one-off computation, and the +``SoftCosineSimilarity`` class for corpus-based similarity queries. + +.. Important:: + If you use Gensim's SCM functionality, please consider citing [1], [2] and [3]. + +Computing the Soft Cosine Measure +--------------------------------- +To use SCM, you need some existing word embeddings. +You could train your own Word2Vec model, but that is beyond the scope of this tutorial +(check out :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` if you're interested). +For this tutorial, we'll be using an existing Word2Vec model. + +Let's take some sentences to compute the distance between. + + + +.. code-block:: default + + + # Initialize logging. + import logging + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + + sentence_obama = 'Obama speaks to the media in Illinois' + sentence_president = 'The president greets the press in Chicago' + sentence_orange = 'Oranges are my favorite fruit' + + + + + + + +The first two sentences sentences have very similar content, and as such the +SCM should be high. By contrast, the third sentence is unrelated to the first +two and the SCM should be low. + +Before we compute the SCM, we want to remove stopwords ("the", "to", etc.), +as these do not contribute a lot to the information in the sentences. + + + +.. code-block:: default + + + # Import and download stopwords from NLTK. + from nltk.corpus import stopwords + from nltk import download + download('stopwords') # Download stopwords list. + stop_words = stopwords.words('english') + + def preprocess(sentence): + return [w for w in sentence.lower().split() if w not in stop_words] + + sentence_obama = preprocess(sentence_obama) + sentence_president = preprocess(sentence_president) + sentence_orange = preprocess(sentence_orange) + + + + + +.. rst-class:: sphx-glr-script-out + + Out: + + .. code-block:: none + + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/feature_extraction/image.py:167: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + dtype=np.int): + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:30: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + method='lar', copy_X=True, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:167: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + method='lar', copy_X=True, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:284: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_Gram=True, verbose=0, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:862: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_X=True, fit_path=True, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1101: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_X=True, fit_path=True, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1127: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, positive=False): + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1362: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + max_n_alphas=1000, n_jobs=None, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1602: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + max_n_alphas=1000, n_jobs=None, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1738: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_X=True, positive=False): + [nltk_data] Downloading package stopwords to /home/witiko/nltk_data... + [nltk_data] Package stopwords is already up-to-date! + + + +Next, we will build a dictionary and a TF-IDF model, and we will convert the +sentences to the bag-of-words format. + + + +.. code-block:: default + + from gensim.corpora import Dictionary + documents = [sentence_obama, sentence_president, sentence_orange] + dictionary = Dictionary(documents) + + sentence_obama = dictionary.doc2bow(sentence_obama) + sentence_president = dictionary.doc2bow(sentence_president) + sentence_orange = dictionary.doc2bow(sentence_orange) + + from gensim.models import TfidfModel + documents = [sentence_obama, sentence_president, sentence_orange] + tfidf = TfidfModel(documents) + + sentence_obama = tfidf[sentence_obama] + sentence_president = tfidf[sentence_president] + sentence_orange = tfidf[sentence_orange] + + + + + + + +Now, as mentioned earlier, we will be using some downloaded pre-trained +embeddings. We load these into a Gensim Word2Vec model class and we build +a term similarity mextrix using the embeddings. + +.. Important:: + The embeddings we have chosen here require a lot of memory. + + + +.. code-block:: default + + import gensim.downloader as api + model = api.load('word2vec-google-news-300') + + from gensim.similarities import SparseTermSimilarityMatrix, WordEmbeddingSimilarityIndex + termsim_index = WordEmbeddingSimilarityIndex(model) + termsim_matrix = SparseTermSimilarityMatrix(termsim_index, dictionary, tfidf) + + + + + + + +So let's compute SCM using the ``inner_product`` method. + + + +.. code-block:: default + + similarity = termsim_matrix.inner_product(sentence_obama, sentence_president, normalized=(True, True)) + print('similarity = %.4f' % similarity) + + + + + +.. rst-class:: sphx-glr-script-out + + Out: + + .. code-block:: none + + similarity = 0.2575 + + + +Let's try the same thing with two completely unrelated sentences. +Notice that the similarity is smaller. + + + +.. code-block:: default + + similarity = termsim_matrix.inner_product(sentence_obama, sentence_orange, normalized=(True, True)) + print('similarity = %.4f' % similarity) + + + + + +.. rst-class:: sphx-glr-script-out + + Out: + + .. code-block:: none + + similarity = 0.0000 + + + +References +---------- + +1. Grigori Sidorov et al. *Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model*, 2014. +2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine Semantic Similarity between Questions for Community Question Answering, 2017. +3. Vít Novotný. *Implementation Notes for the Soft Cosine Measure*, 2018. +4. Tomáš Mikolov et al. Efficient Estimation of Word Representations in Vector Space, 2013. + + + +.. rst-class:: sphx-glr-timing + + **Total running time of the script:** ( 0 minutes 56.707 seconds) + +**Estimated memory usage:** 7701 MB + + +.. _sphx_glr_download_auto_examples_tutorials_run_scm.py: + + +.. only :: html + + .. container:: sphx-glr-footer + :class: sphx-glr-footer-example + + + + .. container:: sphx-glr-download + + :download:`Download Python source code: run_scm.py ` + + + + .. container:: sphx-glr-download + + :download:`Download Jupyter notebook: run_scm.ipynb ` + + +.. only:: html + + .. rst-class:: sphx-glr-signature + + `Gallery generated by Sphinx-Gallery `_ diff --git a/docs/src/auto_examples/tutorials/run_wmd.ipynb b/docs/src/auto_examples/tutorials/run_wmd.ipynb index bb80fc3bab..99711a9278 100644 --- a/docs/src/auto_examples/tutorials/run_wmd.ipynb +++ b/docs/src/auto_examples/tutorials/run_wmd.ipynb @@ -15,7 +15,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\nWord Mover's Distance\n=====================\n\nDemonstrates using Gensim's implemenation of the WMD.\n\n\n" + "\nWord Mover's Distance\n=====================\n\nDemonstrates using Gensim's implemenation of the WMD.\n" ] }, { @@ -130,25 +130,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Normalizing word2vec vectors\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nWhen using the ``wmdistance`` method, it is beneficial to normalize the\nword2vec vectors first, so they all have equal length. To do this, simply\ncall ``model.init_sims(replace=True)`` and Gensim will take care of that for\nyou.\n\nUsually, one measures the distance between two Word2Vec vectors using the\ncosine distance (see `cosine similarity\n`_), which measures the\nangle between vectors. WMD, on the other hand, uses the Euclidean distance.\nThe Euclidean distance between two vectors might be large because their\nlengths differ, but the cosine distance is small because the angle between\nthem is small; we can mitigate some of this by normalizing the vectors.\n\n.. Important::\n Note that normalizing the vectors can take some time, especially if you have\n a large vocabulary and/or large vectors.\n\n\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "model.init_sims(replace=True) # Normalizes the vectors in the word2vec class.\n\ndistance = model.wmdistance(sentence_obama, sentence_president) # Compute WMD as normal.\nprint('distance: %r' % distance)\n\ndistance = model.wmdistance(sentence_obama, sentence_orange)\nprint('distance = %.4f' % distance)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "References\n----------\n\n1. Ofir Pele and Michael Werman, *A linear time histogram metric for improved SIFT matching*, 2008.\n2. Ofir Pele and Michael Werman, *Fast and robust earth mover's distances*, 2009.\n3. Matt Kusner et al. *From Embeddings To Document Distances*, 2015.\n4. Thomas Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013.\n\n\n" + "References\n----------\n\n1. Ofir Pele and Michael Werman, *A linear time histogram metric for improved SIFT matching*, 2008.\n2. Ofir Pele and Michael Werman, *Fast and robust earth mover's distances*, 2009.\n3. Matt Kusner et al. *From Embeddings To Document Distances*, 2015.\n4. Tom\u00e1\u0161 Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013.\n\n\n" ] } ], @@ -168,7 +150,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.5" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/docs/src/auto_examples/tutorials/run_wmd.py b/docs/src/auto_examples/tutorials/run_wmd.py index ac471848b2..06e263063a 100644 --- a/docs/src/auto_examples/tutorials/run_wmd.py +++ b/docs/src/auto_examples/tutorials/run_wmd.py @@ -114,35 +114,6 @@ def preprocess(sentence): distance = model.wmdistance(sentence_obama, sentence_orange) print('distance = %.4f' % distance) -############################################################################### -# Normalizing word2vec vectors -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# When using the ``wmdistance`` method, it is beneficial to normalize the -# word2vec vectors first, so they all have equal length. To do this, simply -# call ``model.init_sims(replace=True)`` and Gensim will take care of that for -# you. -# -# Usually, one measures the distance between two Word2Vec vectors using the -# cosine distance (see `cosine similarity -# `_), which measures the -# angle between vectors. WMD, on the other hand, uses the Euclidean distance. -# The Euclidean distance between two vectors might be large because their -# lengths differ, but the cosine distance is small because the angle between -# them is small; we can mitigate some of this by normalizing the vectors. -# -# .. Important:: -# Note that normalizing the vectors can take some time, especially if you have -# a large vocabulary and/or large vectors. -# -model.init_sims(replace=True) # Normalizes the vectors in the word2vec class. - -distance = model.wmdistance(sentence_obama, sentence_president) # Compute WMD as normal. -print('distance: %r' % distance) - -distance = model.wmdistance(sentence_obama, sentence_orange) -print('distance = %.4f' % distance) - ############################################################################### # References # ---------- @@ -150,5 +121,5 @@ def preprocess(sentence): # 1. Ofir Pele and Michael Werman, *A linear time histogram metric for improved SIFT matching*, 2008. # 2. Ofir Pele and Michael Werman, *Fast and robust earth mover's distances*, 2009. # 3. Matt Kusner et al. *From Embeddings To Document Distances*, 2015. -# 4. Thomas Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013. +# 4. Tomáš Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013. # diff --git a/docs/src/auto_examples/tutorials/run_wmd.py.md5 b/docs/src/auto_examples/tutorials/run_wmd.py.md5 index da8b056d38..382c5b9954 100644 --- a/docs/src/auto_examples/tutorials/run_wmd.py.md5 +++ b/docs/src/auto_examples/tutorials/run_wmd.py.md5 @@ -1 +1 @@ -3885f6df5a8f72a6d5dd1336c54560a4 \ No newline at end of file +45521a352637a0f53e62f3e19e61fc07 \ No newline at end of file diff --git a/docs/src/auto_examples/tutorials/run_wmd.rst b/docs/src/auto_examples/tutorials/run_wmd.rst index a5117f11ac..cc62e120dd 100644 --- a/docs/src/auto_examples/tutorials/run_wmd.rst +++ b/docs/src/auto_examples/tutorials/run_wmd.rst @@ -1,12 +1,10 @@ -.. only:: html - - .. note:: - :class: sphx-glr-download-link-note +.. note:: + :class: sphx-glr-download-link-note - Click :ref:`here ` to download the full example code - .. rst-class:: sphx-glr-example-title + Click :ref:`here ` to download the full example code +.. rst-class:: sphx-glr-example-title - .. _sphx_glr_auto_examples_tutorials_run_wmd.py: +.. _sphx_glr_auto_examples_tutorials_run_wmd.py: Word Mover's Distance @@ -14,7 +12,6 @@ Word Mover's Distance Demonstrates using Gensim's implemenation of the WMD. - Word Mover's Distance (WMD) is a promising new tool in machine learning that allows us to submit a query and return the most relevant documents. This tutorial introduces WMD and shows how you can compute the WMD distance @@ -57,20 +54,9 @@ distribution of document 1 to the distribution of document 2. .. image:: /auto_examples/tutorials/images/sphx_glr_run_wmd_001.png - :alt: run wmd :class: sphx-glr-single-img -.. rst-class:: sphx-glr-script-out - - Out: - - .. code-block:: none - - /Volumes/work/workspace/vew/gensim3.6/lib/python3.6/site-packages/matplotlib/figure.py:445: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. - % get_backend()) - - This method was introduced in the article "From Word Embeddings To Document @@ -114,7 +100,6 @@ Let's take some sentences to compute the distance between. - These sentences have very similar content, and as such the WMD should be low. Before we compute the WMD, we want to remove stopwords ("the", "to", etc.), as these do not contribute a lot to the information in the sentences. @@ -146,13 +131,41 @@ as these do not contribute a lot to the information in the sentences. .. code-block:: none - [nltk_data] Downloading package stopwords to - [nltk_data] /Users/kofola3/nltk_data... + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/feature_extraction/image.py:167: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + dtype=np.int): + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:30: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + method='lar', copy_X=True, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:167: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + method='lar', copy_X=True, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:284: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_Gram=True, verbose=0, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:862: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_X=True, fit_path=True, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1101: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_X=True, fit_path=True, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1127: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, positive=False): + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1362: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + max_n_alphas=1000, n_jobs=None, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1602: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + max_n_alphas=1000, n_jobs=None, eps=np.finfo(np.float).eps, + /home/witiko/.virtualenvs/gensim4/lib/python3.7/site-packages/sklearn/linear_model/least_angle.py:1738: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. + Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations + eps=np.finfo(np.float).eps, copy_X=True, positive=False): + [nltk_data] Downloading package stopwords to /home/witiko/nltk_data... [nltk_data] Package stopwords is already up-to-date! - Now, as mentioned earlier, we will be using some downloaded pre-trained embeddings. We load these into a Gensim Word2Vec model class. @@ -170,16 +183,6 @@ embeddings. We load these into a Gensim Word2Vec model class. -.. rst-class:: sphx-glr-script-out - - Out: - - .. code-block:: none - - 2020-09-30 19:33:05,053 : INFO : loading projection weights from /Users/kofola3/gensim-data/word2vec-google-news-300/word2vec-google-news-300.gz - 2020-09-30 19:34:10,211 : INFO : loaded (3000000, 300) matrix from /Users/kofola3/gensim-data/word2vec-google-news-300/word2vec-google-news-300.gz - - So let's compute WMD using the ``wmdistance`` method. @@ -201,13 +204,10 @@ So let's compute WMD using the ``wmdistance`` method. .. code-block:: none - 2020-09-30 19:34:11,705 : INFO : adding document #0 to Dictionary(0 unique tokens: []) - 2020-09-30 19:34:11,707 : INFO : built Dictionary(8 unique tokens: ['illinois', 'media', 'obama', 'speaks', 'chicago']...) from 2 documents (total 8 corpus positions) distance = 1.0175 - Let's try the same thing with two completely unrelated sentences. Notice that the distance is larger. @@ -228,81 +228,25 @@ Let's try the same thing with two completely unrelated sentences. Notice that th .. code-block:: none - 2020-09-30 19:34:23,254 : INFO : adding document #0 to Dictionary(0 unique tokens: []) - 2020-09-30 19:34:23,256 : INFO : built Dictionary(7 unique tokens: ['illinois', 'media', 'obama', 'speaks', 'favorite']...) from 2 documents (total 7 corpus positions) - distance = 1.3663 - - - - -Normalizing word2vec vectors -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When using the ``wmdistance`` method, it is beneficial to normalize the -word2vec vectors first, so they all have equal length. To do this, simply -call ``model.init_sims(replace=True)`` and Gensim will take care of that for -you. - -Usually, one measures the distance between two Word2Vec vectors using the -cosine distance (see `cosine similarity -`_), which measures the -angle between vectors. WMD, on the other hand, uses the Euclidean distance. -The Euclidean distance between two vectors might be large because their -lengths differ, but the cosine distance is small because the angle between -them is small; we can mitigate some of this by normalizing the vectors. - -.. Important:: - Note that normalizing the vectors can take some time, especially if you have - a large vocabulary and/or large vectors. - - - -.. code-block:: default - - model.init_sims(replace=True) # Normalizes the vectors in the word2vec class. - - distance = model.wmdistance(sentence_obama, sentence_president) # Compute WMD as normal. - print('distance: %r' % distance) - - distance = model.wmdistance(sentence_obama, sentence_orange) - print('distance = %.4f' % distance) - - - - - -.. rst-class:: sphx-glr-script-out - - Out: - - .. code-block:: none - - 2020-09-30 19:34:23,443 : WARNING : destructive init_sims(replace=True) deprecated & no longer required for space-efficiency - 2020-09-30 19:34:27,347 : INFO : adding document #0 to Dictionary(0 unique tokens: []) - 2020-09-30 19:34:27,348 : INFO : built Dictionary(8 unique tokens: ['illinois', 'media', 'obama', 'speaks', 'chicago']...) from 2 documents (total 8 corpus positions) - distance: 1.0174646259300113 - 2020-09-30 19:34:27,353 : INFO : adding document #0 to Dictionary(0 unique tokens: []) - 2020-09-30 19:34:27,353 : INFO : built Dictionary(7 unique tokens: ['illinois', 'media', 'obama', 'speaks', 'favorite']...) from 2 documents (total 7 corpus positions) distance = 1.3663 - References ---------- 1. Ofir Pele and Michael Werman, *A linear time histogram metric for improved SIFT matching*, 2008. 2. Ofir Pele and Michael Werman, *Fast and robust earth mover's distances*, 2009. 3. Matt Kusner et al. *From Embeddings To Document Distances*, 2015. -4. Thomas Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013. +4. Tomáš Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013. .. rst-class:: sphx-glr-timing - **Total running time of the script:** ( 1 minutes 25.936 seconds) + **Total running time of the script:** ( 0 minutes 55.983 seconds) -**Estimated memory usage:** 7158 MB +**Estimated memory usage:** 7537 MB .. _sphx_glr_download_auto_examples_tutorials_run_wmd.py: @@ -315,13 +259,13 @@ References - .. container:: sphx-glr-download sphx-glr-download-python + .. container:: sphx-glr-download :download:`Download Python source code: run_wmd.py ` - .. container:: sphx-glr-download sphx-glr-download-jupyter + .. container:: sphx-glr-download :download:`Download Jupyter notebook: run_wmd.ipynb ` diff --git a/docs/src/auto_examples/tutorials/sg_execution_times.rst b/docs/src/auto_examples/tutorials/sg_execution_times.rst index 7003c2957e..4757a47562 100644 --- a/docs/src/auto_examples/tutorials/sg_execution_times.rst +++ b/docs/src/auto_examples/tutorials/sg_execution_times.rst @@ -5,18 +5,12 @@ Computation times ================= -**11:26.674** total execution time for **auto_examples_tutorials** files: +**00:56.707** total execution time for **auto_examples_tutorials** files: -+-------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` (``run_word2vec.py``) | 11:26.674 | 7177.5 MB | -+-------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_tutorials_run_annoy.py` (``run_annoy.py``) | 00:00.000 | 0.0 MB | -+-------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_tutorials_run_doc2vec_lee.py` (``run_doc2vec_lee.py``) | 00:00.000 | 0.0 MB | -+-------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_tutorials_run_fasttext.py` (``run_fasttext.py``) | 00:00.000 | 0.0 MB | -+-------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_tutorials_run_lda.py` (``run_lda.py``) | 00:00.000 | 0.0 MB | -+-------------------------------------------------------------------------------------+-----------+-----------+ -| :ref:`sphx_glr_auto_examples_tutorials_run_wmd.py` (``run_wmd.py``) | 00:00.000 | 0.0 MB | -+-------------------------------------------------------------------------------------+-----------+-----------+ +- **00:56.707**: :ref:`sphx_glr_auto_examples_tutorials_run_scm.py` (``run_scm.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_tutorials_run_annoy.py` (``run_annoy.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_tutorials_run_doc2vec_lee.py` (``run_doc2vec_lee.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_tutorials_run_fasttext.py` (``run_fasttext.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_tutorials_run_lda.py` (``run_lda.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_tutorials_run_wmd.py` (``run_wmd.py``) +- **00:00.000**: :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` (``run_word2vec.py``) diff --git a/docs/src/gallery/tutorials/run_scm.py b/docs/src/gallery/tutorials/run_scm.py new file mode 100644 index 0000000000..d57c9f6a1e --- /dev/null +++ b/docs/src/gallery/tutorials/run_scm.py @@ -0,0 +1,153 @@ +r""" +Soft Cosine Measure +=================== + +Demonstrates using Gensim's implemenation of the SCM. + +""" + +############################################################################### +# Soft Cosine Measure (SCM) is a promising new tool in machine learning that +# allows us to submit a query and return the most relevant documents. This +# tutorial introduces SCM and shows how you can compute the SCM similarities +# between two documents using the ``inner_product`` method. +# +# Soft Cosine Measure basics +# -------------------------- +# +# Soft Cosine Measure (SCM) is a method that allows us to assess the similarity +# between two documents in a meaningful way, even when they have no words in +# common. It uses a measure of similarity between words, which can be derived +# [2] using [word2vec][] [4] vector embeddings of words. It has been shown to +# outperform many of the state-of-the-art methods in the semantic text +# similarity task in the context of community question answering [2]. +# +# +# SCM is illustrated below for two very similar sentences. The sentences have +# no words in common, but by modeling synonymy, SCM is able to accurately +# measure the similarity between the two sentences. The method also uses the +# bag-of-words vector representation of the documents (simply put, the word's +# frequencies in the documents). The intution behind the method is that we +# compute standard cosine similarity assuming that the document vectors are +# expressed in a non-orthogonal basis, where the angle between two basis +# vectors is derived from the angle between the word2vec embeddings of the +# corresponding words. +# + +import matplotlib.pyplot as plt +import matplotlib.image as mpimg +img = mpimg.imread('scm-hello.png') +imgplot = plt.imshow(img) +plt.axis('off') +plt.show() + +############################################################################### +# This method was perhaps first introduced in the article “Soft Measure and +# Soft Cosine Measure: Measure of Features in Vector Space Model” by Grigori +# Sidorov, Alexander Gelbukh, Helena Gomez-Adorno, and David Pinto. +# +# In this tutorial, we will learn how to use Gensim's SCM functionality, which +# consists of the ``inner_product`` method for one-off computation, and the +# ``SoftCosineSimilarity`` class for corpus-based similarity queries. +# +# .. Important:: +# If you use Gensim's SCM functionality, please consider citing [1], [2] and [3]. +# +# Computing the Soft Cosine Measure +# --------------------------------- +# To use SCM, you need some existing word embeddings. +# You could train your own Word2Vec model, but that is beyond the scope of this tutorial +# (check out :ref:`sphx_glr_auto_examples_tutorials_run_word2vec.py` if you're interested). +# For this tutorial, we'll be using an existing Word2Vec model. +# +# Let's take some sentences to compute the distance between. +# + +# Initialize logging. +import logging +logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + +sentence_obama = 'Obama speaks to the media in Illinois' +sentence_president = 'The president greets the press in Chicago' +sentence_orange = 'Oranges are my favorite fruit' + +############################################################################### +# The first two sentences sentences have very similar content, and as such the +# SCM should be high. By contrast, the third sentence is unrelated to the first +# two and the SCM should be low. +# +# Before we compute the SCM, we want to remove stopwords ("the", "to", etc.), +# as these do not contribute a lot to the information in the sentences. +# + +# Import and download stopwords from NLTK. +from nltk.corpus import stopwords +from nltk import download +download('stopwords') # Download stopwords list. +stop_words = stopwords.words('english') + +def preprocess(sentence): + return [w for w in sentence.lower().split() if w not in stop_words] + +sentence_obama = preprocess(sentence_obama) +sentence_president = preprocess(sentence_president) +sentence_orange = preprocess(sentence_orange) + +############################################################################### +# Next, we will build a dictionary and a TF-IDF model, and we will convert the +# sentences to the bag-of-words format. +# +from gensim.corpora import Dictionary +documents = [sentence_obama, sentence_president, sentence_orange] +dictionary = Dictionary(documents) + +sentence_obama = dictionary.doc2bow(sentence_obama) +sentence_president = dictionary.doc2bow(sentence_president) +sentence_orange = dictionary.doc2bow(sentence_orange) + +from gensim.models import TfidfModel +documents = [sentence_obama, sentence_president, sentence_orange] +tfidf = TfidfModel(documents) + +sentence_obama = tfidf[sentence_obama] +sentence_president = tfidf[sentence_president] +sentence_orange = tfidf[sentence_orange] + +############################################################################### +# Now, as mentioned earlier, we will be using some downloaded pre-trained +# embeddings. We load these into a Gensim Word2Vec model class and we build +# a term similarity mextrix using the embeddings. +# +# .. Important:: +# The embeddings we have chosen here require a lot of memory. +# +import gensim.downloader as api +model = api.load('word2vec-google-news-300') + +from gensim.similarities import SparseTermSimilarityMatrix, WordEmbeddingSimilarityIndex +termsim_index = WordEmbeddingSimilarityIndex(model) +termsim_matrix = SparseTermSimilarityMatrix(termsim_index, dictionary, tfidf) + +############################################################################### +# So let's compute SCM using the ``inner_product`` method. +# +similarity = termsim_matrix.inner_product(sentence_obama, sentence_president, normalized=(True, True)) +print('similarity = %.4f' % similarity) + +############################################################################### +# Let's try the same thing with two completely unrelated sentences. +# Notice that the similarity is smaller. +# +similarity = termsim_matrix.inner_product(sentence_obama, sentence_orange, normalized=(True, True)) +print('similarity = %.4f' % similarity) + +############################################################################### +# +# References +# ---------- +# +# 1. Grigori Sidorov et al. *Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model*, 2014. +# 2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine Semantic Similarity between Questions for Community Question Answering, 2017. +# 3. Vít Novotný. *Implementation Notes for the Soft Cosine Measure*, 2018. +# 4. Tomáš Mikolov et al. Efficient Estimation of Word Representations in Vector Space, 2013. +# diff --git a/docs/src/gallery/tutorials/run_wmd.py b/docs/src/gallery/tutorials/run_wmd.py index ac471848b2..06e263063a 100644 --- a/docs/src/gallery/tutorials/run_wmd.py +++ b/docs/src/gallery/tutorials/run_wmd.py @@ -114,35 +114,6 @@ def preprocess(sentence): distance = model.wmdistance(sentence_obama, sentence_orange) print('distance = %.4f' % distance) -############################################################################### -# Normalizing word2vec vectors -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -# -# When using the ``wmdistance`` method, it is beneficial to normalize the -# word2vec vectors first, so they all have equal length. To do this, simply -# call ``model.init_sims(replace=True)`` and Gensim will take care of that for -# you. -# -# Usually, one measures the distance between two Word2Vec vectors using the -# cosine distance (see `cosine similarity -# `_), which measures the -# angle between vectors. WMD, on the other hand, uses the Euclidean distance. -# The Euclidean distance between two vectors might be large because their -# lengths differ, but the cosine distance is small because the angle between -# them is small; we can mitigate some of this by normalizing the vectors. -# -# .. Important:: -# Note that normalizing the vectors can take some time, especially if you have -# a large vocabulary and/or large vectors. -# -model.init_sims(replace=True) # Normalizes the vectors in the word2vec class. - -distance = model.wmdistance(sentence_obama, sentence_president) # Compute WMD as normal. -print('distance: %r' % distance) - -distance = model.wmdistance(sentence_obama, sentence_orange) -print('distance = %.4f' % distance) - ############################################################################### # References # ---------- @@ -150,5 +121,5 @@ def preprocess(sentence): # 1. Ofir Pele and Michael Werman, *A linear time histogram metric for improved SIFT matching*, 2008. # 2. Ofir Pele and Michael Werman, *Fast and robust earth mover's distances*, 2009. # 3. Matt Kusner et al. *From Embeddings To Document Distances*, 2015. -# 4. Thomas Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013. +# 4. Tomáš Mikolov et al. *Efficient Estimation of Word Representations in Vector Space*, 2013. # diff --git a/docs/src/gallery/tutorials/scm-hello.png b/docs/src/gallery/tutorials/scm-hello.png new file mode 100644 index 0000000000000000000000000000000000000000..d87eac9ffffeaf54afde323368df29d3274f4f29 GIT binary patch literal 296469 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 T@W#k34Kgc)z2d+%` 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 z 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 U*=?yyq@~JADoSKMdiMJN0d5KY8~^|S literal 0 HcmV?d00001 diff --git a/gensim/similarities/docsim.py b/gensim/similarities/docsim.py index bce59620b7..4dd0528f50 100755 --- a/gensim/similarities/docsim.py +++ b/gensim/similarities/docsim.py @@ -887,8 +887,9 @@ class SoftCosineSimilarity(interfaces.SimilarityABC): >>> from gensim.test.utils import common_texts >>> from gensim.corpora import Dictionary - >>> from gensim.models import Word2Vec, WordEmbeddingSimilarityIndex + >>> from gensim.models import Word2Vec >>> from gensim.similarities import SoftCosineSimilarity, SparseTermSimilarityMatrix + >>> from gensim.similarities import WordEmbeddingSimilarityIndex >>> >>> model = Word2Vec(common_texts, vector_size=20, min_count=1) # train word-vectors >>> termsim_index = WordEmbeddingSimilarityIndex(model.wv) @@ -900,12 +901,11 @@ class SoftCosineSimilarity(interfaces.SimilarityABC): >>> query = 'graph trees computer'.split() # make a query >>> sims = docsim_index[dictionary.doc2bow(query)] # calculate similarity of query to each doc from bow_corpus - Check out `Tutorial Notebook - `_ + Check out `the Gallery `__ for more examples. """ - def __init__(self, corpus, similarity_matrix, num_best=None, chunksize=256): + def __init__(self, corpus, similarity_matrix, num_best=None, chunksize=256, normalized=(True, True)): """ Parameters @@ -918,14 +918,20 @@ def __init__(self, corpus, similarity_matrix, num_best=None, chunksize=256): The number of results to retrieve for a query, if None - return similarities with all elements from corpus. chunksize: int, optional Size of one corpus chunk. + normalized : tuple of {True, False, 'maintain'}, optional + First/second value specifies whether the query/document vectors in the inner product + will be L2-normalized (True; corresponds to the soft cosine similarity measure; default), + maintain their L2-norm during change of basis ('maintain'; corresponds to query + expansion with partial membership), or kept as-is (False; + corresponds to query expansion). See Also -------- - :class:`gensim.similarities.SparseTermSimilarityMatrix` - A sparse term similarity matrix build using a term similarity index. - :class:`gensim.similarities.LevenshteinSimilarityIndex` + :class:`~gensim.similarities.termsim.SparseTermSimilarityMatrix` + A sparse term similarity matrix built using a term similarity index. + :class:`~gensim.similarities.termsim.LevenshteinSimilarityIndex` A term similarity index that computes Levenshtein similarities between terms. - :class:`gensim.models.WordEmbeddingSimilarityIndex` + :class:`~gensim.similarities.termsim.WordEmbeddingSimilarityIndex` A term similarity index that computes cosine similarities between word embeddings. """ @@ -934,6 +940,7 @@ def __init__(self, corpus, similarity_matrix, num_best=None, chunksize=256): self.corpus = corpus self.num_best = num_best self.chunksize = chunksize + self.normalized = normalized # Normalization of features is undesirable, since soft cosine similarity requires special # normalization using the similarity matrix. Therefore, we would just be normalizing twice, @@ -970,7 +977,7 @@ def get_similarities(self, query): is_corpus, query = utils.is_corpus(query) if not is_corpus and isinstance(query, numpy.ndarray): query = [self.corpus[i] for i in query] # convert document indexes to actual documents - result = self.similarity_matrix.inner_product(query, self.corpus, normalized=(True, True)) + result = self.similarity_matrix.inner_product(query, self.corpus, normalized=self.normalized) if scipy.sparse.issparse(result): return numpy.asarray(result.todense()) @@ -985,9 +992,8 @@ def __str__(self): class WmdSimilarity(interfaces.SimilarityABC): """Compute negative WMD similarity against a corpus of documents. - See :class:`~gensim.models.keyedvectors.KeyedVectors` for more information. - Also, tutorial `notebook - `_ for more examples. + Check out `the Gallery `__ + for more examples. When using this code, please consider citing the following papers: diff --git a/gensim/similarities/termsim.py b/gensim/similarities/termsim.py index c047587339..8f39e9b36c 100644 --- a/gensim/similarities/termsim.py +++ b/gensim/similarities/termsim.py @@ -35,7 +35,7 @@ class TermSimilarityIndex(SaveLoad): See Also -------- :class:`~gensim.similarities.termsim.SparseTermSimilarityMatrix` - Build a term similarity matrix and compute the Soft Cosine Measure. + A sparse term similarity matrix built using a term similarity index. """ def most_similar(self, term, topn=10): @@ -79,7 +79,7 @@ class UniformTermSimilarityIndex(TermSimilarityIndex): See Also -------- :class:`~gensim.similarities.termsim.SparseTermSimilarityMatrix` - Build a term similarity matrix and compute the Soft Cosine Measure. + A sparse term similarity matrix built using a term similarity index. Notes ----- @@ -120,7 +120,7 @@ class WordEmbeddingSimilarityIndex(TermSimilarityIndex): See Also -------- :class:`~gensim.similarities.termsim.SparseTermSimilarityMatrix` - Build a term similarity matrix and compute the Soft Cosine Measure. + A sparse term similarity matrix built using a term similarity index. """ def __init__(self, keyedvectors, threshold=0.0, exponent=2.0, kwargs=None): @@ -405,8 +405,8 @@ class SparseTermSimilarityMatrix(SaveLoad): -------- >>> from gensim.test.utils import common_texts >>> from gensim.corpora import Dictionary - >>> from gensim.models import Word2Vec, WordEmbeddingSimilarityIndex - >>> from gensim.similarities import SoftCosineSimilarity, SparseTermSimilarityMatrix + >>> from gensim.models import Word2Vec + >>> from gensim.similarities import SoftCosineSimilarity, SparseTermSimilarityMatrix, WordEmbeddingSimilarityIndex >>> from gensim.similarities.index import AnnoyIndexer >>> from scikits.sparse.cholmod import cholesky >>> @@ -423,8 +423,7 @@ class SparseTermSimilarityMatrix(SaveLoad): >>> >>> word_embeddings = cholesky(similarity_matrix.matrix).L() # obtain word embeddings from similarity matrix - Check out `Tutorial Notebook - `_ + Check out `the Gallery `_ for more examples. Parameters @@ -468,6 +467,15 @@ class SparseTermSimilarityMatrix(SaveLoad): ValueError If `dictionary` is empty. + See Also + -------- + :class:`~gensim.similarities.docsim.SoftCosineSimilarity` + A document similarity index using the soft cosine similarity over the term similarity matrix. + :class:`~gensim.similarities.termsim.LevenshteinSimilarityIndex` + A term similarity index that computes Levenshtein similarities between terms. + :class:`~gensim.similarities.termsim.WordEmbeddingSimilarityIndex` + A term similarity index that computes cosine similarities between word embeddings. + """ def __init__(self, source, dictionary=None, tfidf=None, symmetric=True, dominant=False, nonzero_limit=100, dtype=np.float32):