{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/spherical-text-embedding","title":"Spherical Text Embedding","arxiv_id":"1911.01196","date":"2019-11-04","proceeding":"NeurIPS 2019 12","authors":["Yu Meng","Jiaxin Huang","Guangyuan Wang","Chao Zhang","Honglei Zhuang","Lance Kaplan","Jiawei Han"],"abstract":"Unsupervised text embedding has shown great power in a wide range of NLP tasks. While text embeddings are typically learned in the Euclidean space, directional similarity is often more effective in tasks such as word similarity and document clustering, which creates a gap between the training stage and usage stage of text embedding. To close this gap, we propose a spherical generative model based on which unsupervised word and paragraph embeddings are jointly learned. To learn text embeddings in the spherical space, we develop an efficient optimization algorithm with convergence guarantee based on Riemannian optimization. Our model enjoys high efficiency and achieves state-of-the-art performances on various text embedding tasks including word similarity and document clustering.","url_abs":"https://arxiv.org/abs/1911.01196v1","url_pdf":"https://arxiv.org/pdf/1911.01196v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"spherical-text-embedding","repo_url":"https://github.com/yumeng5/Spherical-Text-Embedding","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"riemannian-optimization","task_name":"Riemannian optimization"},{"task_slug":"word-similarity","task_name":"Word Similarity"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.01196","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.01196"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yumeng5/Spherical-Text-Embedding","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"unverified":6},"by_repo_kind":{"official":{"samples":7,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"7722c58b6cc84546","entry":"get_emb","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"sim.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/sim.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7722c58b6cc84546"}},{"code_sha256_prefix":"51e4b4e3733b049a","entry":"calc_rep","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"classify.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/classify.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"51e4b4e3733b049a"}},{"code_sha256_prefix":"6e31cede20493692","entry":"calc_sim","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"sim.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/sim.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6e31cede20493692"}},{"code_sha256_prefix":"5a4a5ef8f4fb8c07","entry":"cluster_doc","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"cluster.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/cluster.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5a4a5ef8f4fb8c07"}},{"code_sha256_prefix":"c152449a72ec7914","entry":"get_emb","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"classify.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/classify.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c152449a72ec7914"}},{"code_sha256_prefix":"c7b2ce173ca52b69","entry":"read_label","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"classify.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/classify.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c7b2ce173ca52b69"}},{"code_sha256_prefix":"a41d2616cf1563f3","entry":"read_sim_test","repo":"yumeng5/Spherical-Text-Embedding","repo_kind":"official","path":"sim.py","file_url":"https://github.com/yumeng5/Spherical-Text-Embedding/blob/HEAD/sim.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a41d2616cf1563f3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}