{"id":32160781,"url":"https://github.com/vjeranc/concraft-hr","last_synced_at":"2026-02-19T02:02:40.952Z","repository":{"id":24791845,"uuid":"28205650","full_name":"vjeranc/concraft-hr","owner":"vjeranc","description":"A part-of-speech tagger for Croatian based on the concraft library.","archived":false,"fork":false,"pushed_at":"2015-04-06T16:26:06.000Z","size":180,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-07T21:36:51.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vjeranc.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":"2014-12-18T23:11:17.000Z","updated_at":"2020-05-17T16:20:53.000Z","dependencies_parsed_at":"2022-08-22T16:50:37.856Z","dependency_job_id":null,"html_url":"https://github.com/vjeranc/concraft-hr","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/vjeranc/concraft-hr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vjeranc%2Fconcraft-hr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vjeranc%2Fconcraft-hr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vjeranc%2Fconcraft-hr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vjeranc%2Fconcraft-hr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vjeranc","download_url":"https://codeload.github.com/vjeranc/concraft-hr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vjeranc%2Fconcraft-hr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29600848,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T00:59:38.239Z","status":"online","status_checked_at":"2026-02-19T02:00:07.702Z","response_time":117,"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":"2025-10-21T13:45:32.482Z","updated_at":"2026-02-19T02:02:40.944Z","avatar_url":"https://github.com/vjeranc.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Concraft-hr\n===========\n[![Build Status](https://travis-ci.org/vjeranc/concraft-hr.svg)](https://travis-ci.org/vjeranc/concraft-hr)\n\nThis package provides a morphosyntactic tagger for the Croatian language.\nIt is possible with a few tweaks to make this tagger configurable, so that it can work on any language (future work).\n\nThe tool combines the following components into a pipeline:\n* A morphosyntactic analyzer constructed using [moan][moan],\n* A morphosyntactic disambiguation library [Concraft][concraft],\n\nThe package is the result of the adaptation of the Polish tagger [Concraft-pl][concraft-pl]. All of the code (even this README) has been taken and rewritten to match the needs, but the functionality has stayed mostly the same.\n\nFor detailed documentation of the internals checkout the package on [Hackage](http://hackage.haskell.org/package/concraft-hr).\n\nInstallation\n============\n\nCheckout the [release page](https://github.com/vjeranc/concraft-hr/releases) for the needed files if you want to skip the installation process.\n\nYou will need [Glasgow Haskell Compiler (GHC)][ghc] and the [Cabal][cabal] tool to build Concraft-hr.  The easiest way to get both [GHC][ghc] and [Cabal][cabal] is to install the latest [Haskell Platform][haskell-platform].\n\nUnless you plan to use a custom preprocessing pipeline that would provide the set of possible tags for each word in a sentence you should use an already constructed analyzer from the [moan][moan] library. On the library page there is a short description of how to construct it with available data.\n\nTo install Concraft-hr from the official [Hackage repository][hackage-repo] just run:\n\n    cabal install concraft-hr\n\nThe `concraft-hr` tool will be installed in the `~/.cabal/bin` directory by default. From now on it is assumed that the executable is in the `$PATH`, otherwise, all of the `concraft-hr` commands should be prepended with `./`.\n\nIf you want to upgrade Concraft-hr to a newer version you should update the package list first:\n\n    cabal update\n    cabal install concraft-hr\n\nTo install the latest development version from github just run\n\n    cabal install\n\nfrom the `concraft-hr` toplevel directory.\n\n\nData format\n===========\n\nThere isn't any tokenization involved, it is expected that input is fully tokenized and that sentences are separated with more than one whitespace.\n\n\nTraining\n========\n\nIf you have the training material with disambiguation annotations you can train the Concraft-hr model yourself.\n\n    concraft-hr train train.plain -e eval.plain -o model.gz\n\nConcraft-hr uses the [Multext East v4][MultextEast] [morphosyntactic tagset definition](config/tagset.cfg) by default.  It will also reanalyse the input data before the actual training.  If you want to change this behaviour, use the `--tagset` and `--noana` command-line options. For many more options (training paramaters) type `--help`.\n\nConsider using [runtime system options][ghc-rts].  You can speed up processing\nby making use of multiple cores by using the `-N` option.  The `-s` option will\nproduce the runtime statistics, such as the time spent in the garbage collector.\nIf the program is spending too much time collecting garbage, you can try to\nincrease the allocation area size with the `-A` option.  If you have a big\ndataset and it doesn't fit in the computer memory, use the `--disk` flag.\nFor example, to train the model using four threads and 256M allocation area\nsize, run:\n\n    concraft-hr train train.plain -e eval.plain -o model.gz +RTS -N4 -A256M -s\n\nRun `concraft-hr train --help` to learn more about the program arguments and\npossible training options.\n\nFinally, you may consider pruning the resultant model in order to reduce its size.\nFeatures with values close to 0 (in log-domain) have little effect on the modeled\nprobability and, therefore, it should be safe to discard them.\n\n    concraft-hr prune -t 0.05 input-model.gz pruned-model.gz\n\n\nTagging\n=======\n\nOnce you have a Concraft-hr model you can use the following command tag `input.txt` file:\n\n    concraft-hr tag model.gz \u003c input.txt \u003e output.plain\n\nThe input file should be tokenized and sentences separated by more than one whitespace. For each word one can put the list of possible tags in the row of the word, or just leave it to the analyzer. After that the output is written to the ```stdout```.\n\nWith the `--marginals` option enabled, Concraft-hr will output marginal probabilities corresponding to individual tags (determined on the basis of the disambiguation model) instead of the correct tag. Output format is similar to the input. Each word is in its own row, and all of the probabilities and tags in the same row with the word separated by whitespace.\n\nRun `concraft-hr tag --help` to learn more about possible tagging options.\n\n\nServer\n======\n\nConcraft-hr provides also a client/server mode.  It is handy when, for example,\nyou need to tag a large collection of small files (it might be possible to have a long TCP connection and lazily tag the input - future work). Loading Concraft-hr model from a disk takes considerable amount of time which makes the tagging method described above very slow in such a setting.\n\nTo start the Concraft-hr server, run:\n\n    concraft-hr server --inmodel model.gz --inanalyzer analyzer.gz\n\nYou can supply a custom port number using a `--port` option.  For example,\nto run the server on the `10101` port, use the following command:\n\n    concraft-hr server --inmodel model.gz --inanalyzer analyzer.gz --port 10101\n\nTo use the server in a multi-threaded environment, you need to specify the\n`-N` [RTS][ghc-rts] option.  A set of options which usually yields good\nserver performance is presented in the following example:\n\n    concraft-hr server --inmodel model.gz +RTS -N -A4M -qg1 -I0\n\nRun `concraft-hr server --help` to learn more about possible server-mode options.\n\nThe client mode works just like the tagging mode.  The only difference is that, instead of supplying your client with a model, you need to specify the port number (in case you used a custom one when starting the server; otherwise, the default port number will be used).\n\n    concraft-hr client --port 10101 \u003c input.txt \u003e output.plain\n\nRun `concraft-hr client --help` to learn more about possible client-mode options.\n\n\n[concraft]: https://github.com/kawu/concraft \"Concraft\"\n[concraft-pl]: https://github.com/kawu/concraft-pl \"Concraft-pl\"\n[hackage-repo]: http://hackage.haskell.org/package/concraft-hr \"Concraft-hr Hackage repository\"\n[moan]: https://github.com/vjeranc/moan \"moan\"\n[ghc]: http://www.haskell.org/ghc \"Glasgow Haskell Compiler\"\n[ghc-rts]: http://www.haskell.org/ghc/docs/latest/html/users_guide/runtime-control.html \"GHC runtime system options\"\n[cabal]: http://www.haskell.org/cabal \"Cabal\"\n[haskell-platform]: http://www.haskell.org/platform \"Haskell Platform\"\n[MultextEast]: http://nl.ijs.si/ME/ \"Multext East\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvjeranc%2Fconcraft-hr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvjeranc%2Fconcraft-hr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvjeranc%2Fconcraft-hr/lists"}