{"id":16403942,"url":"https://github.com/timoklein/neural_citation","last_synced_at":"2025-10-26T17:30:52.076Z","repository":{"id":158612212,"uuid":"185196401","full_name":"timoklein/neural_citation","owner":"timoklein","description":"Context aware citation recommendation","archived":true,"fork":false,"pushed_at":"2021-11-17T08:29:15.000Z","size":130783,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T17:34:00.646Z","etag":null,"topics":["deep-learning","information-retrieval","pytorch","sequence-to-sequence"],"latest_commit_sha":null,"homepage":"","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/timoklein.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-06T12:53:40.000Z","updated_at":"2023-10-03T09:39:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"c69b2b8c-6179-4fb2-95b0-f002b8c8fce9","html_url":"https://github.com/timoklein/neural_citation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/timoklein/neural_citation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoklein%2Fneural_citation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoklein%2Fneural_citation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoklein%2Fneural_citation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoklein%2Fneural_citation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timoklein","download_url":"https://codeload.github.com/timoklein/neural_citation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoklein%2Fneural_citation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281140863,"owners_count":26450534,"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-26T02:00:06.575Z","response_time":61,"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":["deep-learning","information-retrieval","pytorch","sequence-to-sequence"],"created_at":"2024-10-11T05:50:49.543Z","updated_at":"2025-10-26T17:30:47.064Z","avatar_url":"https://github.com/timoklein.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neural Citation Network  \nPyTorch reimplementation of the neural citation network.  \n\nAuthor's source code:  \nhttps://github.com/tebesu/NeuralCitationNetwork. \n\nTravis Ebesu, Yi Fang. Neural Citation Network for Context-Aware Citation Recommendation. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval, 2017. PDF\n\n## Requirements\nThe neural_citation.yml file contains a list of packages used to implement this model. Of particular importance are:\n* python==3.7.3\n* pytorch==1.1.0\n* torchtext==0.3.1\n* tensorboard==1.14.0\n* spacy==2.1.6\n* gensim==3.8.0\n* nltk==3.4.4\n* pandas==0.25.0\n* tqdm==4.32.2  \n\nFor training the model it is recommended to use the GPU version of Pytorch instead.\n\n## Getting started  \nInstall dependencies and clone the repo. The training notebook contains a training  template.\nThe evaluation notebook shows an example of how model evaluations can be run.\nNote that both training and evaluation functions are optimized for use in notebooks as they use\ntqdm_notebook progress bars. When running these functions from a script this needs to be changed. \n\n#### spaCy can't find the language model\nIf you can't fetch the language model with\n```python\npython -m spacy download en_core_web_sm\n```\nplease try to download and install the model via pip. This has worked for me when reproducing the environment.\n\n```python\npip install https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-2.1.0/en_core_web_lg-2.1.0.tar.gz --no-deps \n```\n\n## Project structure: \n    \n    .\n    ├── assets  # experiments in the EACL paper\n    |   ├── various images # used for the NCN presentation\n    │   ├── title_to_aut_cited # pickled dictionary: tokenized title -\u003e cited authors\n    │   └── title_tokenized_to_full # pickled dictionary: tokenized titles -\u003e full cited paper titles\n    │      \n    ├── docs    # documentation for the ncn modules\n    |    └── ncn # doc folder for the module\n    │       └── xxx.html # doc html files\n    |\n    ├── ncn    # main folder containing the NCN implementation\n    │   ├── core # contains core data types and constants\n    │   ├── data # preprocessing pipeline for the dataset\n    │   ├── evaluation # evaluator class for evaluation and inference\n    │   ├── model # Neural Citation Network pytorch model\n    │   └── training # low level pytorch training loops\n    |\n    ├── runs    # Example tensorboard training log \n    │   └── log folders # Folders containing a training run's logs\n    |       └── train logs # tensorboard log files\n    |\n    ├── README.md     # This file\n    ├── NCN_evaluation.ipynb # notebook for performing evaluation tasks\n    ├── NCN_presentation.ipynb # presentation given about project, contains small inference demo\n    ├── NCN_training.ipynb # training containing the high level training script\n    ├── generate_dicts.ipynb # notebook to generate title_to_aut_cited and title_tokenized_to_full dicts for inference\n    └── neural_citation.yml # CPU conda environment\n\n\n\n\n## Data  \nThe preprocessed dataset can be found here: https://drive.google.com/open?id=1qwBIXBsWp0ODrm91pVgBOwelJ5baGr-9.  \nStatistics about the dataset can be found in the NCN_presentation.ipynb file.\n\n\n## Weights\nThe model trained with the original settings by Ebesu and Fang can be found here: \nhttps://drive.google.com/open?id=1mT7kUb415wy0i1raXTPMcrXcWSgRC2pk.  \n\nThe model trained with our best configuration can be found here: \nhttps://drive.google.com/open?id=1xhupsNpSzDSS3_C-IJpMAPnts3kXdg-5.  \n\n\n## Results  \nLink to the workshop paper:\nhttps://www.aifb.kit.edu/images/8/82/CiteRec_Repro_BIR2020.pdf.\n\n\n## Use this work  \nFeel free to use our source code and results. \n\n\t@inproceedings{FaerberKleinSigloch2020_1000119469,\n\t    author       = {Färber, M. and Klein, T. and Sigloch, J.},\n\t    year         = {2020},\n\t    title        = {Neural citation recommendation: A reproducibility study},\n\t    pages        = {66-74},\n\t    eventtitle   = {10th International Workshop on Bibliometric-enhanced Information Retrieval},\n\t    eventtitleaddon = {2020},\n\t    eventdate    = {2020-04-14/},\n\t    venue        = {Lissabon, Portugal},\n\t    booktitle    = {Bibliometric-enhanced Information Retrieval : Proceedings of the 10th International Workshop\n\tco-located with 42nd European Conference on Information Retrieval (ECIR 2020), Lisbon, Portugal (online only), April 14th, 2020. Ed.: G. Cabanac},\n\t    publisher    = {{CEUR-WS}},\n\t    issn         = {1613-0073},\n\t    series       = {CEUR Workshop Proceedings},\n\t    url          = {http://ceur-ws.org/Vol-2591/paper-07.pdf},\n\t    language     = {english},\n\t    volume       = {2591}\n\t}\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoklein%2Fneural_citation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimoklein%2Fneural_citation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoklein%2Fneural_citation/lists"}