{"id":51141716,"url":"https://github.com/argrecsys/arg-miner","last_synced_at":"2026-07-14T07:00:54.980Z","repository":{"id":37081461,"uuid":"356634107","full_name":"argrecsys/arg-miner","owner":"argrecsys","description":"This repository contains a simple but efficient implementation of an argument-based recommender system, which makes use of NLP techniques and a taxonomy and lexicon of connectors to extract argument graphs from the proposals and citizen debates available in the Decide Madrid e-participation platform.","archived":false,"fork":false,"pushed_at":"2023-10-25T21:59:57.000Z","size":61819,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-10-25T22:38:19.726Z","etag":null,"topics":["argument-based-recommender-systems","argument-mining","arguments","connectors","decide-madrid","nlp","recommender-systems"],"latest_commit_sha":null,"homepage":"https://argrecsys.github.io/arg-miner/","language":"HTML","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/argrecsys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-04-10T16:16:30.000Z","updated_at":"2023-05-11T18:28:27.000Z","dependencies_parsed_at":"2023-10-14T21:25:21.600Z","dependency_job_id":null,"html_url":"https://github.com/argrecsys/arg-miner","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/argrecsys/arg-miner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argrecsys%2Farg-miner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argrecsys%2Farg-miner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argrecsys%2Farg-miner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argrecsys%2Farg-miner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argrecsys","download_url":"https://codeload.github.com/argrecsys/arg-miner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argrecsys%2Farg-miner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35450066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-14T02:00:06.603Z","response_time":114,"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":["argument-based-recommender-systems","argument-mining","arguments","connectors","decide-madrid","nlp","recommender-systems"],"created_at":"2026-06-26T00:00:38.050Z","updated_at":"2026-07-14T07:00:54.974Z","avatar_url":"https://github.com/argrecsys.png","language":"HTML","funding_links":[],"categories":["Participación Ciudadana"],"sub_categories":[],"readme":"# Extraction and use of arguments in Recommender Systems\n![version](https://img.shields.io/badge/version-2.6.4-blue)\n![last-update](https://img.shields.io/badge/last_update-10/25/2023-orange)\n![license](https://img.shields.io/badge/license-Apache_2.0-brightgreen)\n\nThis repository contains a simple but efficient implementation of an argument-based recommender system, which makes use of NLP techniques and a taxonomy and lexicon of connectors to extract argument graphs from the proposals and citizen debates available in the \u003ca href=\"https://decide.madrid.es/\" target=\"_blank\"\u003eDecide Madrid\u003c/a\u003e e-participation platform.\n\n## Papers\nThis work (v1.0) was presented as a paper at \u003ca href=\"http://ceur-ws.org/Vol-2960/\"\u003eJoint Workshop of the 3rd Edition of Knowledge-aware and Conversational Recommender Systems (KaRS) and the 5th Edition of Recommendation in Complex Environments (ComplexRec)\u003c/a\u003e co-located with 15th ACM Conference on Recommender Systems (RecSys 2021). Virtual Event, Amsterdam, The Netherlands, September 25, 2021. Paper and presentation slides can be found \u003ca href=\"https://github.com/argrecsys/arg-miner/tree/main/papers/recsys21\"\u003ehere\u003c/a\u003e.\n\nThis work (v2.0) was presented as a paper at \u003ca href=\"https://dgsociety.org/dgo-2022/\"\u003e23st Annual International Conference on Digital Government Research\u003c/a\u003e. Virtual Event, Seoul National University, South-Korea, June 15, 2022. Paper and presentation slides can be found \u003ca href=\"https://github.com/argrecsys/arg-miner/tree/main/papers/dgo22\"\u003ehere\u003c/a\u003e.\n\nPart of this work (v2.6.4) has been submitted as a paper to Government Information Quarterly. A draft of the paper can be found \u003ca href=\"https://github.com/argrecsys/arg-miner/tree/main/papers/giq23\"\u003ehere\u003c/a\u003e.\n\n## Solution\nThis system is composed of 2 main modules, which are:\n- Argument Miner: automatic argument extractor based on NLP techniques and a lexicon of connectors.\n- Argument-based Recommender System: It makes recommendations of proposals and arguments based on topics and aspects of interest to the user.\n\n## Resources\nThis project uses the two-level taxonomy of argument relations and the set of linguistic connectors (in English and Spanish) published in the \u003ca href=\"https://github.com/argrecsys/connectors\" target=\"_blank\"\u003eargrecsys/connectors\u003c/a\u003e repository.\n\n## Algorithm\nWe propose an heuristic method aimed to automatically identify and extract arguments from textual content, which is evaluated on citizen proposals and comments from the Decide Madrid e-participatory platform. The method follows a simple but effective algorithm to address the three basic tasks of argument mining, namely argument detection, argument constituent identification, and argument relation recognition using the two-level taxonomy.\n\n![arg-algorithm](https://raw.githubusercontent.com/argrecsys/arg-miner/main/images/algorithm.png)\n\n## Preliminary Results\nWe present some statistics from a preliminary offline test on the automatic identification and extraction of arguments from the citizen proposals available in the Decide Madrid database:\n- From the full list of 318 connectors in Spanish, 11,645 arguments are identified and extracted (9,676 from simple sentences and 1,969 from compound sentences).\n- Arguments were automatically extracted as follows: 2025 in the proposals and 9620 in the proposal comments.\n- Of the 11,645 arguments extracted (some proposals had more than one argument), 5,136 (44.1 %) were identified with connectors from the CONTRAST category, 4,669 (40.1 %) from the CONSEQUENCE category, 1,316 (11.3 %) from the CAUSE category, 505 (4.3 %) from the ELABORATION category, \nand 19 (0.2 %) from the CLARIFICATION category.\n\n## Descriptive and Network Analysis\n- The descriptive analysis of the result of the automatic annotation can be seen in the following \u003ca href=\"https://argrecsys.github.io/arg-miner/analysis/DataAnalysis.html\" target=\"_blank\"\u003ereport\u003c/a\u003e.\n- Network analysis to find the argumentative threads within the proposals can be seen in the following \u003ca href=\"https://argrecsys.github.io/arg-miner/analysis/NetworkAnalysis.html\" target=\"_blank\"\u003ereport\u003c/a\u003e.\n\n## Outputs\nAll the results generated by the Argument Miner and Recommender System can be consulted in the following \u003ca href=\"https://github.com/argrecsys/arg-miner/tree/main/results\"\u003efolder\u003c/a\u003e.\n\nExample in JSON format of an argument extracted from a citizen proposal about public transportation by the Argument Miner.\n\n```jsonc\n{\n    \"5717-0-1-1\": {\n        \"proposalID\": 5717,\n        \"majorClaim\": {\n            \"entities\": \"[]\",\n            \"text\": \"Allowing pets on public transport\",\n            \"nouns\": \"[pets, transport]\"\n        },\n        \"sentence\": \"We are almost forced to use public transport in the city but pets are not allowed in EMT\",\n        \"claim\": {\n            \"entities\": \"[]\",\n            \"text\": \"We are almost forced to use public transport in the city\",\n            \"nouns\": \"[use, transport, city]\"\n        },\n        \"linker\": {\n            \"value\": \"but\", \"intent\": \"attack\",\n            \"category\": \"CONTRAST\", \"subCategory\": \"OPPOSITION\"\n        },\n        \"premise\": {\n            \"entities\": \"[EMT]\",\n            \"text\": \"pets are not allowed in EMT\",\n            \"nouns\": \"[pets]\"\n        },\n        \"mainVerb\": \"forced\",\n        \"pattern\": {\n            \"value\": \"[S]-[conj_LNK]-[S]-[PUNCT]\",\n            \"depth\": 1\n        },\n        \"syntacticTree\": \"(sentences \n                            (S (sn (PRP We)) (group.verb (VBP are) ... ))\n                            (conj but)\n                            (S (sn (NNS pets)) (group.verb (VBP are) (RB not) ... ))\n                            (PUNCT .))\"\n   }\n}\n```\n\nExample in XML format of recommendations of citizen proposals and arguments about public transportation generated by the Argument-based Recommender System\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e\n\u003crecommendations\u003e\n    \u003cproposals quantity=\"5\"\u003e\n        \u003cproposal id=\"20307\" topics=\"buses\" categories=\"mobility\" date=\"2017-12-10\" districts=\"Tetuán\"\u003e\n            Urban buses connecting San Chinarro and Las Tablas with Cuatro Caminos\u003c/proposal\u003e\n        \u003cproposal id=\"1432\" topics=\"environment\" categories=\"mobility\" date=\"2015-09-18\" districts=\"city\"\u003e\n            Public transportation in Madrid Río\u003c/proposal\u003e\n        \u003cproposal id=\"5717\" topics=\"pets\" categories=\"mobility\" date=\"2015-11-18\" districts=\"city\"\u003e\n            Allowing pets on public transport\u003c/proposal\u003e\n        \u003cproposal id=\"4671\" topics=\"public transport\" categories=\"mobility\" date=\"2015-11-05\" districts=\"city\"\u003e\n            Public transport price\u003c/proposal\u003e\n        \u003cproposal id=\"2769\" topics=\"transport pass\" categories=\"mobility\" date=\"2015-10-07\" districts=\"city\"\u003e\n            The Transport Pass should expire in one month\u003c/proposal\u003e\n    \u003c/proposals\u003e\n    \u003ctopics quantity=\"1\"\u003e\n        \u003ctopic value=\"transport\" aspects=\"subway,use,price,transports\" quantity=\"4\"\u003e\n            \u003caspect value=\"subway\" quantity=\"2\"\u003e\n                \u003cargument id=\"20307-1\"\u003e\n                    \u003cclaim\u003eThe PAU of Norte Sanchinarro Las Tablas are poorly served by public transport\u003c/claim\u003e\n                    \u003cconnector category=\"cause\" subcategory=\"reason\" intent=\"support\"\u003edue to\u003c/connector\u003e\n                    \u003cpremise\u003ethe ineffectiveness of light subway\u003c/premise\u003e\n                \u003c/argument\u003e\n                \u003cargument id=\"1432-1\"\u003e\n                    \u003cclaim\u003eThe Madrid Rio park was created promising that public transport would reach there\u003c/claim\u003e\n                    \u003cconnector category=\"contrast\" subcategory=\"opposition\" intent=\"attack\"\u003ebut\u003c/connector\u003e\n                    \u003cpremise\u003eit is false, the Legazpi subway is far away and buses are non-existent\u003c/premise\u003e\n                \u003c/argument\u003e\n            \u003c/aspect\u003e\n            \u003caspect value=\"use\" quantity=\"1\"\u003e\n                \u003cargument id=\"5717-1\"\u003e\n                    \u003cclaim\u003eThe use of public transport in the city is almost forced\u003c/claim\u003e\n                    \u003cconnector category=\"contrast\" subcategory=\"opposition\" intent=\"attack\"\u003ebut\u003c/connector\u003e\n                    \u003cpremise\u003ein EMT pets are not allowed\u003c/premise\u003e\n                \u003c/argument\u003e\n            \u003c/aspect\u003e\n            \u003caspect value=\"price\" quantity=\"1\"\u003e\n                \u003cargument id=\"4671-1\"\u003e\n                    \u003cclaim\u003eLower the price of transportation\u003c/claim\u003e\n                    \u003cconnector category=\"cause\" subcategory=\"reason\" intent=\"support\"\u003ebecause\u003c/connector\u003e\n                    \u003cpremise\u003eit is very expensive\u003c/premise\u003e\n                \u003c/argument\u003e\n            \u003c/aspect\u003e\n            \u003caspect value=\"transport\" quantity=\"1\"\u003e\n                \u003cargument id=\"2769-1\"\u003e\n                    \u003cclaim\u003eThe Madrid Transport Pass expires in 30 days\u003c/claim\u003e\n                    \u003cconnector category=\"contrast\" subcategory=\"opposition\" intent=\"attack\"\u003ebut\u003c/connector\u003e\n                    \u003cpremise\u003enot all months have 30 days, there are several months that have 31 days\u003c/premise\u003e\n                \u003c/argument\u003e\n            \u003c/aspect\u003e\n        \u003c/topic\u003e\n    \u003c/topics\u003e\n\u003c/recommendations\u003e\n```\n\nThe other results (in file form) of the argument extractor and recommender system can be viewed \u003ca href=\"https://github.com/argrecsys/arg-miner/tree/main/results\"\u003ehere\u003c/a\u003e.\n\n## Dependencies\nThe implemented solutions depend on or make use of the following libraries and .jar files:\n- JDK 16\n- \u003ca href=\"https://stanfordnlp.github.io/CoreNLP/\" target=\"_blank\"\u003eStanford CoreNLP\u003c/a\u003e 4.3.1\n- MySQL Connector 8.0.22\n- \u003ca href=\"https://mongodb.github.io/mongo-java-driver/\" target=\"_blank\"\u003eMongoDB Java Driver\u003c/a\u003e 3.12.10\n- Snake YAML 1.9\n- JSON Java 20210307\n\n## Documentation\nPlease read the [contributing](https://github.com/argrecsys/arg-miner/blob/main/docs/CONTRIBUTING.md) and [code of conduct](https://github.com/argrecsys/arg-miner/blob/main/docs/CODE_OF_CONDUCT.md) documentation.\n\n## Authors\nCreated on Apr 10, 2021  \nCreated by:\n- \u003ca href=\"https://github.com/ansegura7\" target=\"_blank\"\u003eAndrés Segura-Tinoco\u003c/a\u003e\n- \u003ca href=\"http://arantxa.ii.uam.es/~cantador/\" target=\"_blank\"\u003eIv\u0026aacute;n Cantador\u003c/a\u003e\n\n## License\nThis project is licensed under the terms of the \u003ca href=\"https://github.com/argrecsys/arg-miner/blob/main/LICENSE\"\u003eApache License 2.0\u003c/a\u003e.\n\n## Acknowledgements\nThis work was supported by the Spanish Ministry of Science and Innovation (PID2019-108965GB-I00).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargrecsys%2Farg-miner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargrecsys%2Farg-miner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargrecsys%2Farg-miner/lists"}