{"id":13740858,"url":"https://github.com/iLanguage/iLanguage","last_synced_at":"2025-05-08T20:32:51.230Z","repository":{"id":3267715,"uuid":"4306890","full_name":"iLanguage/iLanguage","owner":"iLanguage","description":"A semi-unsupervised language independent morphological analyzer useful for stemming unknown language text, or getting a rough estimate of possible parses for morphemes in a word. Input: a corpus. Uses compression, maximum entropy and fieldlinguistics.","archived":false,"fork":false,"pushed_at":"2017-11-28T05:10:12.000Z","size":249645,"stargazers_count":21,"open_issues_count":5,"forks_count":8,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-04-15T13:03:34.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iLanguage.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2012-05-12T13:59:43.000Z","updated_at":"2023-10-07T23:56:09.000Z","dependencies_parsed_at":"2022-08-31T00:01:59.625Z","dependency_job_id":null,"html_url":"https://github.com/iLanguage/iLanguage","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLanguage%2FiLanguage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLanguage%2FiLanguage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLanguage%2FiLanguage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLanguage%2FiLanguage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iLanguage","download_url":"https://codeload.github.com/iLanguage/iLanguage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253145104,"owners_count":21861187,"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":[],"created_at":"2024-08-03T04:00:53.020Z","updated_at":"2025-05-08T20:32:49.761Z","avatar_url":"https://github.com/iLanguage.png","language":"JavaScript","readme":"iLanguage\n============\n\n[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-url]][daviddm-image]\n\nA semi-unsupervised language independent morphological analyzer useful for stemming unknown language text, or getting a rough estimate of possible parses for morphemes in a word. Uses compression, maximum entropy and fieldlinguistics.\n\n\n\n## Install\n\n```bash\n$ npm install --save ilanguage\n```\n\n\n## Usage\n\n[More examples](https://github.com/iLanguage/iLanguage/tree/master/test)\n\n```javascript\nvar ILanguage = require('ilanguage').ILanguage;\nvar lang = new ILanguage(); \nvar textToTest = {\n  orthography: \"this will not have any stop words or morphemes, vulgar words or unrepresentative words like banana\",\n  nonContentWordsArray: \"not any\",\n  userSpecifiedNonContentWords: true,\n  userRemovedWordsForThisDocumentArray: ['banana'],\n  userRemovedWordsForAllDocumentsArray: ['vulgar'],\n  // morphemes: /(^un|^pre|s$|ed$|ing$)/,\n  morphemesArray: [\"un-\", \" pre-\", \" -s\", \" -ed\", \" -ing\"]\n};\nNonContentWords.processNonContentWords(textToTest);\nexpect(NonContentWords.filterText(textToTest).filteredText)\n  .toEqual('thi will  have  stop word or morpheme  word or representative word like ');\n```\n\n\n# Lab Members\n\n* [Gina Chiodo](http://gina.ilanguage.ca/) (U Delaware, Concordia)\n* [Theresa Deering](http://trisapeace.angelfire.com/) (McGill, Aquafadas)\n* [Josh Horner](http://jdhorner.com/) (Amilia)\n* [Mathieu Legault](https://plus.google.com/116488045482047329710/about) (HEC, UQAM, Pivot88)\n* [Hisako Noguchi](http://linguistics.concordia.ca/gazette.html) (Concordia)\n* [Tobin Skinner](http://tobinskinner.com) (McGill, Amilia)\n\n# Post Docs\n\n* [M.E. Cathcart](http://udel.edu/~mdotedot/) 2012 (U Delaware)\n* [Alexandra Marquis](http://www.uqam.ca/entrevues/entrevue.php?id=968?hebdo) 2013-2014 (UQAM, U de Montréal)\n* [Joel Dunham](http://www.jrwdunham.com) 2014-2015 (UBC)\n\n# Interns\n\n* [Siddartha Kattoju](https://plus.google.com/109959990932959598572/posts) Summer 2011 (Concordia, Electrical Engineering)\n* [Curtis Mesher](http://dragonsandgulls.wordpress.com/) Fall 2011, Spring 2012 (Concordia, Theoretical Linguistics)\n* [Diana Olepeka](http://dragonsandgulls.wordpress.com/) Fall 2011 (Concordia, Theoretical Linguistics)\n* [Elise McClay](http://migmaq.org/wp-content/uploads/2013/02/mcclayundergradthesis.pdf) Fall 2012, Spring 2013 (McGill, Field Linguistics)\n* [Bahar Sateli](https://twitter.com/BaharSateli) Spring 2012 (Concordia, Software Engineering)\n* [Yuliya Manyakina](http://ymanyakina.github.io) Summer 2012 (McGill, Field Linguistics)\n* [Xianli Sun](http://myaamiacenter.org/) Spring 2013 (Miami University, Software Engineering)\n* [Louisa Bielig](https://github.com/louisa-bielig) Summer 2013, Fall 2013, Summer 2015 (McGill, Theoretical Linguistics)\n* [Dominique Bédard](http://www.eoa.umontreal.ca/) Fall 2013, Spring 2014 (U de Montréal, Speech Language Pathology)\n* [Alexandre Herbay](https://twitter.com/Hafsloo) Spring 2014 (U de Montréal, Psycho-linguistics \u0026 Toulouse III, Computer Science)\n* [Veronica Cook-Vilbrin](http://github.com/vronvali) Summer 2015 (Norwich University, Psychology)\n\n\n## Release History\n\n* v1.0 April 16 2009 - Initial implementation in bash and perl\n* v2.0 Jul 3 2010 - Implementation in C++\n* v3.0 April 30 2011 - Implementation in Groovy \n* v4.0 July 20 2012 - Implementation in JavaScript Map Reduce\n* v4.1 Nov 29 2013 - Added more high level functions for gloss lookup\n* v5.0 Jan 9 2014 - Implementation in CommonJS\n\n\n# License \n\nThis project is released under the [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) license, which is an very non-restrictive open source license which basically says you can adapt the code to any use you see fit. \n\n# How to edit the code\n\n### Code style\n[Sublime](http://www.sublimetext.com/3) will manage this for you if you format (CMD+SHIFT+P, format) your code when you save. You can refer to `.editorconfig` and `.jshintrc` for specific options.\n\n### Breakpointing while you work\nYou can open the `test/SpecRunner.html` in an _actual_ browser to run the unit test file(s) or breakpoint the code.\n\n## Modifying the code\nIn general, you should always ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed. On Mac you can do this by \n```\nbrew update\nbrew upgrade node\n```\n\nTest that Gulp is installed by running `gulp --version`. If the command isn't found, run `npm install -g gulp`.  For more information about installing the tools, see the [getting started with Gulp guide](http://gulpjs.com).\n\n1. Fork the repo.\n1. Clone the repo to your computer.\n1. Run `npm install` to install all build dependencies.\n1. Run `gulp` to build this project.\n\nAssuming that it looks something like this, you're ready to go.\n![screen shot 2015-06-21 at 5 58 21 pm](https://cloud.githubusercontent.com/assets/196199/8273513/343dc03a-183f-11e5-8b2c-89586f6d48a3.png)\n\n\n## Contributing changes\n\nEasy way\n\n1. [Signup for a GitHub account](https://github.com/signup/free) (GitHub is free for OpenSource)\n1. Click on the \"Fork\" button to create your own copy.\n1. Leave us a note in our [issue tracker](https://github.com/iLanguage/iLanguage/issues) to tell us a bit about the bug/feature you want to work on.\n1. You can [follow the 4 GitHub Help Tutorials](http://help.github.com/) to install and use Git on your computer.\n1. Feel free to ask us questions in our [issue tracker](https://github.com/iLanguage/iLanguage/issues), we're friendly and welcome Open Source newbies.\n1. Edit the code on your computer, commit it referencing the issue #xx you created ($ git commit -m \"fixes #xx i changed blah blah...\") and push to your origin ($ git push origin master).\n1. Click on the \"Pull Request\" button, and leave us a note about what you changed. We will look at your changes and help you bring them into the project!\n\nAdvanced way\n\n1. Create a new branch for new fixes or features, this is easier to build a fix/feature specific pull request than if you work in your `master` branch directly.\n1. Run `gulp watch` which will run the tests as you make changes.\n1. Add failing tests for the change you want to make. Run `gulp test` to see the tests fail.\n1. Fix stuff.\n1. Look at the terminal output (assuming you ran `gulp watch`) to see if the tests pass. Repeat steps 2-4 until done.\n1. Open `test/SpecRunner.html` unit test file(s) in actual browser(s) (Chrome Canary, Firefox, Safari) to ensure tests pass everywhere.\n1. Update the documentation to reflect any changes.\n1. Push to your fork and submit a pull request.\n\n\n[npm-url]: https://npmjs.org/package/ilanguage\n[npm-image]: https://badge.fury.io/js/ilanguage.svg\n[travis-url]: https://travis-ci.org/iLanguage/iLanguage\n[travis-image]: https://travis-ci.org/iLanguage/iLanguage.svg?branch=master\n[daviddm-url]: https://david-dm.org/iLanguage/iLanguage.svg?theme=shields.io\n[daviddm-image]: https://david-dm.org/iLanguage/iLanguage\n","funding_links":[],"categories":["Software"],"sub_categories":["Utilities"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FiLanguage%2FiLanguage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FiLanguage%2FiLanguage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FiLanguage%2FiLanguage/lists"}