{"id":19608099,"url":"https://github.com/jfilter/german-lemmatizer","last_synced_at":"2025-04-27T20:32:41.200Z","repository":{"id":50119780,"uuid":"188598601","full_name":"jfilter/german-lemmatizer","owner":"jfilter","description":"✂️ Python package (using a Docker image under the hood) to lemmatize German texts.","archived":false,"fork":false,"pushed_at":"2022-12-09T05:18:31.000Z","size":98,"stargazers_count":7,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-25T07:51:27.307Z","etag":null,"topics":["german","lemmatization","lemmatizer","natural-language-processing","nlp","python"],"latest_commit_sha":null,"homepage":"","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/jfilter.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}},"created_at":"2019-05-25T18:13:52.000Z","updated_at":"2024-06-04T21:12:05.000Z","dependencies_parsed_at":"2023-01-25T16:45:08.746Z","dependency_job_id":null,"html_url":"https://github.com/jfilter/german-lemmatizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfilter%2Fgerman-lemmatizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfilter%2Fgerman-lemmatizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfilter%2Fgerman-lemmatizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfilter%2Fgerman-lemmatizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jfilter","download_url":"https://codeload.github.com/jfilter/german-lemmatizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251204614,"owners_count":21552252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["german","lemmatization","lemmatizer","natural-language-processing","nlp","python"],"created_at":"2024-11-11T10:14:08.669Z","updated_at":"2025-04-27T20:32:40.901Z","avatar_url":"https://github.com/jfilter.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"matt-artz-353291-unsplash.jpg\" alt=\"Scissors\"\u003e\n\u003c/div\u003e\n\n# German Lemmatizer\n\nA Python package (using a Docker image under the hood) to [lemmatize](https://en.wikipedia.org/wiki/Lemmatisation) German texts.\n\nBuilt upon:\n\n-   [IWNLP](https://github.com/Liebeck/spacy-iwnlp) uses the crowd-generated token tables on [de.wikitionary](https://de.wiktionary.org/).\n-   [GermaLemma](https://github.com/WZBSocialScienceCenter/germalemma): Looks up lemmas in the [TIGER Corpus](http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/) and uses [Pattern](https://www.clips.uantwerpen.be/pattern) as a fallback for some rule-based lemmatizations.\n\nIt works as follows. First [spaCy](https://spacy.io/) tags the token with POS. Then `German Lemmatizer` looks up lemmas on IWNLP and GermanLemma. If they disagree, choose the one from IWNLP. If they agree or only one tool finds it, take it. Try to preserve the casing of the original token.\n\nYou may want to use underlying Docker image: [german-lemmatizer-docker](https://github.com/jfilter/german-lemmatizer-docker)\n\n## Installation\n\n1. Install [Docker](https://docs.docker.com/).\n2. `pip install german-lemmatizer`\n\n## Usage\n\n1. Read and accept the [license terms of the TIGER Corpus](http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/license/htmlicense.html) (free to use for non-commercial purposes).\n2. Make sure the Docker daemons runs.\n3. Write some Python code\n\n```python\nfrom german_lemmatizer import lemmatize\n\nlemmatize(\n    ['Johannes war ein guter Schüler', 'Sabiene sang zahlreiche Lieder'],\n    working_dir='*',\n    chunk_size=10000,\n    n_jobs=1,\n    escape=False,\n    remove_stop=False)\n```\n\nThe list of texts is split into chunks (`chunk_size`) and processed in parallel (`n_jobs`).\n\nEnable the `escape` parameter if your text contains newslines. `remove_stop` removes stopwords as defined by spaCy.\n\n## License\n\nMIT.\n\n## Sponsoring\n\nThis work was created as part of a [project](https://github.com/jfilter/ptf) that was funded by the German [Federal Ministry of Education and Research](https://www.bmbf.de/en/index.html).\n\n\u003cimg src=\"./bmbf_funded.svg\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfilter%2Fgerman-lemmatizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjfilter%2Fgerman-lemmatizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfilter%2Fgerman-lemmatizer/lists"}