{"id":19056834,"url":"https://github.com/andrianllmm/tagalog-stemmer","last_synced_at":"2026-06-21T15:31:01.193Z","repository":{"id":252386778,"uuid":"840278235","full_name":"andrianllmm/tagalog-stemmer","owner":"andrianllmm","description":"A Python library for Tagalog word stemming","archived":false,"fork":false,"pushed_at":"2025-06-22T17:24:01.000Z","size":156,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-12T15:18:35.268Z","etag":null,"topics":["language-processing","nlp","stemmer","tagalog"],"latest_commit_sha":null,"homepage":"https://andrianllmm.github.io/projects/tglstemmer","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrianllmm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-09T10:53:57.000Z","updated_at":"2025-06-22T17:24:04.000Z","dependencies_parsed_at":"2025-06-22T18:18:26.047Z","dependency_job_id":"2af20027-41cd-4f02-b966-9620c709176e","html_url":"https://github.com/andrianllmm/tagalog-stemmer","commit_stats":null,"previous_names":["andrianllmm/tagalog-stemmer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andrianllmm/tagalog-stemmer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrianllmm%2Ftagalog-stemmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrianllmm%2Ftagalog-stemmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrianllmm%2Ftagalog-stemmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrianllmm%2Ftagalog-stemmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrianllmm","download_url":"https://codeload.github.com/andrianllmm/tagalog-stemmer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrianllmm%2Ftagalog-stemmer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34616509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["language-processing","nlp","stemmer","tagalog"],"created_at":"2024-11-08T23:52:03.741Z","updated_at":"2026-06-21T15:31:01.186Z","avatar_url":"https://github.com/andrianllmm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TglStemmer\n\n**A Python library for Tagalog word stemming**\n\n## About\n\nTglStemmer is a library that finds the root form of\n\u003ca href=\"https://www.ethnologue.com/language/tgl\" target=\"_blank\"\u003eTagalog\u003c/a\u003e\nwords. It works on inflected words, even those with mixed Tagalog-English\n(Taglish) terms or those not found in dictionaries. It removes affixes, reduces\nrepeated syllables, and applies transformation rules to find possible root\nforms. These are filtered using a list of valid words and conditions. The best\nroot is then chosen based on how much was changed during the process.\n\n## Installation\n\n```sh\npip install git+https://github.com/andrianllmm/tagalog-stemmer.git@main\n```\n\n## Usage\n\nTglStemmer acts as a standalone library that can be imported via\n`from tglstemmer import stemmer`.\n\nUse `get_stem` to get the root of a word. This takes a word and returns its stem\nas a `Stem` object (basically a string with affixes, reduplication,\ntransformations, etc. as additional attributes).\n\n```python\nstem = stemmer.get_stem(\"nagsulat\")\nprint(stem)\n# Output: 'sulat'\n```\n\nSince `get_stem` returns a `Stem` object, the properties used in the stemming\nprocess can be accessed as attributes.\n\n```python\nprefix = stem.pre\nprint(prefix)\n# Output: 'nag'\n\nsuffix = stem.suf\nprint(suffix)\n# Output: None\n```\n\nUse `get_stems()` to get the root of each word in a text. This takes a text and\nreturns the stem of each word as a list of `Stem` objects.\n\n```python\nstems = stemmer.get_stems(\"nagsulat, binasa, at punitin\")\nprint(stems)\n# Output: ['sulat', 'basa', 'at', 'punit']\n```\n\nUse `get_stem_candidates` to get all the stem candidates of a word. This takes a\nword and returns the possible stems as a list of `Stem` objects. This is helpful\nfor loose checking considering candidate selection is not perfect.\n\n```python\ncandidates = stemmer.get_stem_candidates(\"pinakamahusay't\")\nprint(candidates)\n# Output: ['husay', 'mahusay', 'pinakamahusay']\n```\n\n## Accuracy\n\nThe accuracy was tested using a list of stems and their corresponding\ninflections. The list is manually derived from the examples from the book\n[Balarila ng Wikang Pambansa (Santos, 1939)](https://tl.wikipedia.org/wiki/Balarila_ng_Wikang_Pambansa),\nparticularly in sections \"Palabuuan ng mga Salita\" (pp. 28-34) and \"Mga Sangkap\nng Pananalita\" (pp. 35-37). This is not a \"gold\" standard dataset but is chosen\nfor testing as the book provides varied examples of inflections during its\ndiscussion about the process of affixation. Each inflection was stemmed by\nTglStemmer and then compared to the original stem. The test included 266\nstem-inflection pairs.\n\n| Metric              | Value  |\n| ------------------- | ------ |\n| Accuracy            | 75.19% |\n| Correct Attempts    | 200    |\n| Incorrect Attempts  | 66     |\n| Understemming Avg   | 0.69   |\n| Overstemming Avg    | 0.12   |\n| Understemming Total | 184    |\n| Overstemming Total  | 33     |\n\n## Contributing\n\nContributions are welcome! To get started:\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a pull request\n\n## Issues\n\nFound a bug or issue? Report it on the\n[issues page](https://github.com/andrianllmm/tagalog-stemmer/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrianllmm%2Ftagalog-stemmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrianllmm%2Ftagalog-stemmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrianllmm%2Ftagalog-stemmer/lists"}