{"id":31781027,"url":"https://github.com/fbkarsdorp/nnfit","last_synced_at":"2025-10-10T08:33:02.497Z","repository":{"id":37626313,"uuid":"239536659","full_name":"fbkarsdorp/nnfit","owner":"fbkarsdorp","description":"Classifying Evolutionary Forces in Language Change","archived":false,"fork":false,"pushed_at":"2023-07-06T22:01:49.000Z","size":5677,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-16T04:51:02.402Z","etag":null,"topics":["cultural-evolution","drift","language-change","neural-network"],"latest_commit_sha":null,"homepage":"https://doi.org/10.1017/ehs.2020.52","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fbkarsdorp.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":"2020-02-10T14:51:51.000Z","updated_at":"2020-10-17T08:31:04.000Z","dependencies_parsed_at":"2022-09-06T09:10:34.678Z","dependency_job_id":null,"html_url":"https://github.com/fbkarsdorp/nnfit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fbkarsdorp/nnfit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbkarsdorp%2Fnnfit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbkarsdorp%2Fnnfit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbkarsdorp%2Fnnfit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbkarsdorp%2Fnnfit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbkarsdorp","download_url":"https://codeload.github.com/fbkarsdorp/nnfit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbkarsdorp%2Fnnfit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003300,"owners_count":26083555,"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-10-10T02:00:06.843Z","response_time":62,"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":["cultural-evolution","drift","language-change","neural-network"],"created_at":"2025-10-10T08:30:25.306Z","updated_at":"2025-10-10T08:33:02.485Z","avatar_url":"https://github.com/fbkarsdorp.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Classifying Evolutionary Forces in Language Change Using Neural Networks](https://doi.org/10.1017/ehs.2020.52)\n\nA fundamental problem in research into language and cultural change is the difficulty of\ndistinguishing processes of stochastic drift (also known as neutral evolution) from\nprocesses that are subject to certain selection pressures. In this article, we describe a\nnew technique based on Deep Neural Networks, in which we reformulate the detection of\nevolutionary forces in cultural change as a binary classification task. Using Residual\nNetworks for time series trained on artificially generated samples of cultural change, we\ndemonstrate that this technique is able to efficiently, accurately and consistently learn\nwhich aspects of the time series are distinctive for drift and selection. We compare the\nmodel with a recently proposed statistical test, the Frequency Increment Test, and show\nthat the neural time series classification system provides a possible solution to some of\nthe key problems of this test.\n\nDOI: https://doi.org/10.1017/ehs.2020.52\n\n## Getting started\nSee the [supplementary materials](https://doi.org/10.5281/zenodo.4061776) for a brief tutorial\ndescribing how to train your own models.\n\n## Data\n\nCode to reconstruct the past-tense data set can be obtained from\nhttps://github.com/mnewberry/ldrift. To run the past-tense analysis in\n`notebooks/past-tense.ipynb`, save the frequency list under `data/coha-past-tense.txt`. \n\n## Requirements\nAll code is implemented in Python 3.7. A detailed list of the requirements to run the code\ncan be found in the `requirements.txt` file. This repository might be updated. To use the\ncode used to run the analyses in the paper, please download the submission release:\nhttps://github.com/fbkarsdorp/nnfit/releases/tag/v1.0 \n\n## Training\n\nTo train your own models, run `src/train.py` and follow the instructions therein. \n\n---\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis work is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbkarsdorp%2Fnnfit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbkarsdorp%2Fnnfit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbkarsdorp%2Fnnfit/lists"}