{"id":13413550,"url":"https://github.com/goodsign/snowball","last_synced_at":"2025-12-24T17:09:35.948Z","repository":{"id":5893195,"uuid":"7111548","full_name":"goodsign/snowball","owner":"goodsign","description":"Cgo binding for Snowball C library","archived":false,"fork":false,"pushed_at":"2017-06-27T08:13:41.000Z","size":224,"stargazers_count":38,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-25T05:24:18.873Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goodsign.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-11T12:42:19.000Z","updated_at":"2024-06-26T03:49:25.000Z","dependencies_parsed_at":"2022-09-08T06:30:39.010Z","dependency_job_id":null,"html_url":"https://github.com/goodsign/snowball","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/goodsign/snowball","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodsign%2Fsnowball","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodsign%2Fsnowball/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodsign%2Fsnowball/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodsign%2Fsnowball/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goodsign","download_url":"https://codeload.github.com/goodsign/snowball/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodsign%2Fsnowball/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28005408,"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","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"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":[],"created_at":"2024-07-30T20:01:42.981Z","updated_at":"2025-12-24T17:09:35.902Z","avatar_url":"https://github.com/goodsign.png","language":"C","readme":"Description\n====\n\nSnowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality. For more detailed info see http://snowball.tartarus.org/\n\nInstalling\n====\n\n```\ngo get github.com/goodsign/snowball\ngo test github.com/goodsign/snowball (Must PASS)\n```\n\nDone! Use it in your go files. (import 'github.com/goodsign/snowball')\n\nUsage\n====\n\n```go\n  stemmer, err := NewWordStemmer(algorithm, encoding)\n  \n  if nil != err {\n    /*...handle error...*/\n  }\n  defer stemmer.Close() \n\n  wordStem, err := stemmer.Stem(word)\n  if nil != err {\n    /*...handle error...*/\n  }\n\n  /* Use wordStem */\n\n```\nUsage notes\n-----------\n\nAccording to Snowball documentation:\n\n```\nCreating a stemmer is a relatively expensive operation - the expected\nusage pattern is that a new stemmer is created when needed, used\nto stem many words, and deleted after some time.\n```\n\nAlgorithms \u0026 encodings\n----\n\nFile **modules.txt** contains all the main algorithms for each language, in UTF-8, and also with\nthe most commonly used encoding.\n\n```\nLanguage        Encodings               Algorithms\n\ndanish          UTF_8,ISO_8859_1        danish,da,dan\ndutch           UTF_8,ISO_8859_1        dutch,nl,dut,nld\nenglish         UTF_8,ISO_8859_1        english,en,eng\nfinnish         UTF_8,ISO_8859_1        finnish,fi,fin\nfrench          UTF_8,ISO_8859_1        french,fr,fre,fra\ngerman          UTF_8,ISO_8859_1        german,de,ger,deu\nhungarian       UTF_8,ISO_8859_1        hungarian,hu,hun\nitalian         UTF_8,ISO_8859_1        italian,it,ita\nnorwegian       UTF_8,ISO_8859_1        norwegian,no,nor\nportuguese      UTF_8,ISO_8859_1        portuguese,pt,por\nromanian        UTF_8,ISO_8859_2        romanian,ro,rum,ron\nrussian         UTF_8,KOI8_R            russian,ru,rus\nspanish         UTF_8,ISO_8859_1        spanish,es,esl,spa\nswedish         UTF_8,ISO_8859_1        swedish,sv,swe\nturkish         UTF_8                   turkish,tr,tur\n```\n\nThread-safety\n====\n\nThe original Snowball documentation says:\n\n```\nStemmers are re-entrant, but not threadsafe.  In other words, if\nyou wish to access the same stemmer object from multiple threads,\nyou must ensure that all access is protected by a mutex or similar\ndevice.\n```\n\nThus this Go wrapper uses **sync.Mutex** for each stem operation, so it is thread safe.\n\nSnowball Licence\n==========\n\nThe Snowball library is released under the [BSD Licence](http://opensource.org/licenses/bsd-license.php)\n\nLicence\n==========\n\nThe goodsign/snowball binding is released under the [BSD Licence](http://opensource.org/licenses/bsd-license.php)\n\n[LICENCE file](https://github.com/goodsign/libtextcat/blob/master/LICENCE)","funding_links":[],"categories":["Natural Language Processing","自然语言处理","Relational Databases","Bot Building","Microsoft Office","\u003cspan id=\"自然语言处理-natural-language-processing\"\u003e自然语言处理 Natural Language Processing\u003c/span\u003e"],"sub_categories":["Morphological Analyzers","形态分析","Strings","Uncategorized","暂未分类","Advanced Console UIs","交流","暂未分类这些库被放在这里是因为其他类别似乎都不适合。","\u003cspan id=\"高级控制台用户界面-advanced-console-uis\"\u003e高级控制台用户界面 Advanced Console UIs\u003c/span\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodsign%2Fsnowball","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodsign%2Fsnowball","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodsign%2Fsnowball/lists"}