{"adoption": {"forks": 137, "observed_at": "2026-08-28T04:03:20.593474+00:00", "stars": 1041}, "canonical_url": "https://ross.abutalabs.com/products/mmsa", "card": {"archived": false, "artifact_type": "framework", "description": "MMSA is a unified framework for Multimodal Sentiment Analysis.", "domain": ["machine-learning", "deep-learning", "data-science"], "enriched": true, "function": ["machine-learning", "nlp", "audio-processing", "cli"], "health_score": 21, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["thuiar/MMSA"], "name": "thuiar/MMSA", "platform": ["python", "cli", "windows"], "pushed_at": "2025-01-15T15:38:10+00:00", "repo": "thuiar/MMSA", "stars": 1041, "tags": ["multimodal-sentiment-analysis", "sentiment-analysis", "mosi", "mosei", "ch-sims", "research-framework", "pytorch", "natural-language-processing", "linux", "macos"], "topics": ["multimodal-sentiment-analysis", "multi-task-learning", "dataset", "framework"], "urls": [], "use_cases": ["train and compare multimodal sentiment analysis models", "run sentiment experiments on MOSI MOSEI or CH-SIMS datasets", "benchmark MSA models in a unified framework", "tune hyperparameters for multimodal sentiment models", "extract custom multimodal features for sentiment analysis", "reproduce research results for multimodal sentiment models"], "what_it_is": "MMSA is a unified Python framework for multimodal sentiment analysis, supporting 15 MSA models and datasets like MOSI, MOSEI, and CH-SIMS. It offers both a Python API and command-line tool for training, testing, and benchmarking models with customizable multimodal features.", "when_to_avoid": ["you need general-purpose sentiment analysis on plain text only", "you need production deployment of a sentiment model rather than research experimentation", "your data is not one of the supported multimodal formats"], "when_to_choose": ["you need a unified interface to train and compare multiple MSA models", "you want to experiment with standard multimodal sentiment datasets", "you need both Python API and CLI access for experiments", "you want reproducible baselines for multimodal sentiment research"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mmsa", "repo": "thuiar/MMSA", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:20.593474+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:02:59.589061+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "170e9ad97365c82ed6085a9a5b3a9ac84cef244eebf627ed48ac3402f861b740", "fetched_at": "2026-08-28T04:03:20.593474+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thuiar/MMSA"}, {"content_hash": "0e953002e3ebe60ccd510fa0ed86da8871e06f5faded0f4be264d76b9001128b", "fetched_at": "2026-08-29T13:04:19.761488+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mmsa/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 1, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2325, "days_push": 595, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}