{"adoption": {"forks": 340, "observed_at": "2026-08-28T04:07:05.509470+00:00", "stars": 2628}, "canonical_url": "https://ross.abutalabs.com/products/harvesttext", "card": {"archived": false, "artifact_type": "library", "description": "文本挖掘和预处理工具（文本清洗、新词发现、情感分析、实体识别链接、关键词抽取、知识抽取、句法分析等），无监督或弱监督方法", "domain": ["text-editors", "data-science"], "enriched": true, "function": ["nlp", "parser", "search-engine", "data-science"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["blmoistawinde/HarvestText"], "name": "blmoistawinde/HarvestText", "platform": ["python", "cross-platform"], "pushed_at": "2024-05-13T08:00:37+00:00", "repo": "blmoistawinde/HarvestText", "stars": 2628, "tags": ["chinese-nlp", "entity-linking", "new-word-discovery", "sentiment-analysis", "text-summarization", "keyword-extraction", "dependency-parsing", "unsupervised", "text-cleaning", "knowledge-extraction", "natural-language-processing"], "topics": ["nlp", "sentiment-analysis", "new-word-discovery", "unsupervised", "text-summarization", "named-entity-recognition", "dependency-parser", "text-segmentation", "text-cleaning", "pyhanlp", "harvesttext", "keyword-extraction", "gitee"], "urls": [], "use_cases": ["find new words and slang in Chinese social media text", "link entity aliases and abbreviations to canonical names", "analyze sentiment of comments and posts", "extract keywords and summarize documents", "build a social network from a novel by tracking character co-occurrence", "extract fact triples from sentences via dependency parsing", "clean URLs, emails, and special symbols from web text", "segment long unsegmented text automatically"], "what_it_is": "HarvestText is a Python library for Chinese text mining and preprocessing using unsupervised or weakly supervised methods. It integrates domain knowledge such as entity types and aliases to support tasks like entity linking, sentiment analysis, new word discovery, keyword extraction, dependency parsing, and simple knowledge graph QA.", "when_to_avoid": ["you need state-of-the-art supervised NER or parsing accuracy", "your primary language is English (support is limited)", "you need a production-grade knowledge graph QA system"], "when_to_choose": ["you need lightweight unsupervised Chinese NLP preprocessing without training data", "you want to combine domain dictionaries and entity aliases with segmentation", "you are doing exploratory analysis of Chinese novels, forums, or specialized literature"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/harvesttext", "repo": "blmoistawinde/HarvestText", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/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:07:05.509470+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.509470+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:19:42.516544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b199f7dfc7544e8d9a1b0312a601ab44fe4f85b7494f269f1c063d0f6624286", "fetched_at": "2026-08-28T04:07:05.509470+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blmoistawinde/HarvestText"}, {"content_hash": "6f08d891b49397cabf6784738ca7771b6846a9d00b61d29fb9775ad73e2da0f2", "fetched_at": "2026-08-29T10:02:35.424623+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/harvesttext/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 2844, "days_push": 842, "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}}