{"id":33179777,"url":"https://github.com/uma-pi1/minie","last_synced_at":"2026-01-21T22:09:57.398Z","repository":{"id":43652432,"uuid":"96421238","full_name":"uma-pi1/minie","owner":"uma-pi1","description":"An open information extraction system that provides compact extractions","archived":false,"fork":false,"pushed_at":"2022-02-26T01:08:19.000Z","size":4701,"stargazers_count":94,"open_issues_count":13,"forks_count":28,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-10T22:33:53.374Z","etag":null,"topics":["extract-information","information-extraction","natural-language-processing","natural-language-understanding","nlp-apis","nlp-library","nlp-resources","open-information-extraction","paper"],"latest_commit_sha":null,"homepage":"https://www.uni-mannheim.de/dws/research/resources/minie/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uma-pi1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-06T11:02:25.000Z","updated_at":"2025-10-20T14:04:22.000Z","dependencies_parsed_at":"2022-07-25T22:32:52.945Z","dependency_job_id":null,"html_url":"https://github.com/uma-pi1/minie","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uma-pi1/minie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uma-pi1%2Fminie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uma-pi1%2Fminie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uma-pi1%2Fminie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uma-pi1%2Fminie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uma-pi1","download_url":"https://codeload.github.com/uma-pi1/minie/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uma-pi1%2Fminie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28645129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["extract-information","information-extraction","natural-language-processing","natural-language-understanding","nlp-apis","nlp-library","nlp-resources","open-information-extraction","paper"],"created_at":"2025-11-16T03:00:36.842Z","updated_at":"2026-01-21T22:09:57.367Z","avatar_url":"https://github.com/uma-pi1.png","language":"Java","funding_links":[],"categories":["人工智能","Java"],"sub_categories":[],"readme":"\u003cimg src=\"https://uma-pi1.github.io/minie/images/minie_logo.png\" align=\"right\" width=\"150\" /\u003e\n\n# MinIE: Open Information Extraction system\n\n* [Open Information Extraction - brief introduction](#open-information-extraction---brief-introduction)\n* [MinIE - Open Information Extraction system](#minie---open-information-extraction-system)\n* [Version](#version)\n* [Demo](#demo)\n* [MinIE service](#minie-service)\n* [Python wrapper](#python-wrapper)\n* [Resources](#resources)\n* [MinIE in other downstream applications](#minie-in-other-downstream-applications)\n* [Citing](#citing)\n\n---\n\n## Open Information Extraction - brief introduction\n\nOpen Information Extraction (OIE) systems aim to extract unseen relations and their arguments from unstructured text in unsupervised manner. In its simplest form, given a natural language sentence, they extract information in the form of a triple, consisted of subject (S), relation (R) and object (O). \n\nSuppose we have the following input sentence:\n```\nAMD, which is based in U.S., is a technology company.\n```\n\nAn OIE system aims to make the following extractions: \n\n```\n(\"AMD\"; \"is based in\"; \"U.S.\")\n(\"AMD\"; \"is\"; \"technology company\")\n```\n\n## MinIE - Open Information Extraction system\n\nAn Open Information Extraction system, providing useful extractions:\n* represents contextual information with semantic annotations\n* identifies and removes words that are considered overly specific\n* high precision/recall \n* shorter, semantically enriched extractions\n\n## Version\n\nThis is the latest version of MinIE, which may give you different (improved!) results than the original EMNLP-2017 version. The EMNLP-2017 version can be found [here](https://github.com/uma-pi1/minie/tree/5500282a4edd213910ecbcd95a94fca86a057e2d).\n\n## Demo\n\nIn general, the code for running MinIE in all of its modes is almost the same. The only exception is MinIE-D, which requires additional input (list of multi-word dictionaries). You can still use MinIE-D without providing multi-word dictionaries, but then MinIE-D assumes that you provided an empty dictionary, thus minimizing all the words which are candidates for dropping. \n\nThe following code demo is for MinIE-S (note that you can use the same for the rest of the modes, you just need to change `MinIE.Mode` accordingly):\n\n```java\nimport de.uni_mannheim.minie.MinIE;\nimport de.uni_mannheim.minie.annotation.AnnotatedProposition;\nimport de.uni_mannheim.utils.coreNLP.CoreNLPUtils;\n\nimport edu.stanford.nlp.pipeline.StanfordCoreNLP;\n\npublic class Demo {\n    public static void main(String args[]) {\n        // Dependency parsing pipeline initialization\n        StanfordCoreNLP parser = CoreNLPUtils.StanfordDepNNParser();\n        \n        // Input sentence\n        String sentence = \"The Joker believes that the hero Batman was not actually born in \n                           foggy Gotham City.\";\n        \n        // Generate the extractions (With SAFE mode)\n        MinIE minie = new MinIE(sentence, parser, MinIE.Mode.SAFE);\n        \n        // Print the extractions\n        System.out.println(\"\\nInput sentence: \" + sentence);\n        System.out.println(\"=============================\");\n        System.out.println(\"Extractions:\");\n        for (AnnotatedProposition ap: minie.getPropositions()) {\n            System.out.println(\"\\tTriple: \" + ap.getTripleAsString());\n            System.out.print(\"\\tFactuality: \" + ap.getFactualityAsString());\n            if (ap.getAttribution().getAttributionPhrase() != null) \n                System.out.print(\"\\tAttribution: \" + ap.getAttribution().toStringCompact());\n            else\n                System.out.print(\"\\tAttribution: NONE\");\n            System.out.println(\"\\n\\t----------\");\n        }\n        \n        System.out.println(\"\\n\\nDONE!\");\n    }\n}\n```\n\nIf you want to use MinIE-D, then the only difference would be the way MinIE is called:\n\n```java\nimport de.uni_mannheim.utils.Dictionary;\n. . .\n\n// Initialize dictionaries\nString [] filenames = new String [] {\"/minie-resources/wiki-freq-args-mw.txt\", \n                                     \"/minie-resources/wiki-freq-rels-mw.txt\"};\nDictionary collocationsDict = new Dictionary(filenames);\n\n// Use MinIE\nMinIE minie = new MinIE(sentence, parser, MinIE.Mode.DICTIONARY, collocationsDict);\n\n```\n\nIn `resources/minie-resources/` you can find multi-word dictionaries constructed from WordNet (wn-mwe.txt) and from wiktionary (wiktionary-mw-titles.txt). This will give you some sort of functionality for MinIE-D. The multi-word dictionaries constructed with MinIE-S (as explained in the paper) are not here because of their size. If you want to use them, please refer to the download link in the section \"Resources\".\n\n## MinIE Service\n\nCode for exposing MinIE as a service (developed by [Pasquale Minervini](https://github.com/pminervini)).\n\nStart with:\n\n```bash\n$ mvn clean compile exec:java\n[..]\n\n[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ minie-service ---\nMinIE Service\nMar 06, 2018 8:43:13 PM org.glassfish.grizzly.http.server.NetworkListener start\nINFO: Started listener bound to [localhost:8080]\nMar 06, 2018 8:43:13 PM org.glassfish.grizzly.http.server.HttpServer start\nINFO: [HttpServer] Started.\nApplication started.\nStop the application using CTRL+C\n```\n\nUse the service with:\n\n```bash\n$ curl 'http://localhost:8080/minie/query' -X POST -d 'Obama visited the white house.' | jq .\n{\n  \"facts\": [\n    {\n      \"subject\": \"Obama\",\n      \"predicate\": \"visited\",\n      \"object\": \"white house\"\n    }\n  ]\n}\n```\n\n## Python wrapper\n\nYou can find a python wrapper for MinIE [here](https://github.com/mmxgn/miniepy). If you want to use MinIE with python, please follow the guidelines provided on the repo's README. \n\n\n## Resources\n\n* **Documentation:** for more thorough documentation for the code, please visit [MinIE's project page](https://uma-pi1.github.io/minie/).\n* **Paper:** _\"MinIE: Minimizing Facts in Open Information Extraction\"_ - appeared on EMNLP 2017 [[pdf]](http://aclweb.org/anthology/D/D17/D17-1278.pdf)\n* **Dictionary:** Wikipedia: frequent relations and arguments [[zip]](https://www.uni-mannheim.de/media/Einrichtungen/dws/Files_Research/Software/MinIE/wiki-freq-args-rels.zip)\n* **Experiments datasets:** datasets from the paper\n  * [NYT](https://www.uni-mannheim.de/media/Einrichtungen/dws/Files_Research/Software/MinIE/NYT.zip)\n  * [Wiki](https://www.uni-mannheim.de/media/Einrichtungen/dws/Files_Research/Software/MinIE/Wiki.zip)\n  * [NYT-10k](https://www.uni-mannheim.de/media/Einrichtungen/dws/Files_Research/Software/MinIE/nyt10k.zip)\n\n## MinIE in other downstream applications\n\n* **Fact Salience:** MinIE is used for the task of \"Fact Salience\". Details can be found in the paper [*\"Facts that Matter\"*](http://www.aclweb.org/anthology/D18-1129) by Marco Ponza, Luciano Del Corro, Gerhard Weikum, published on EMNLP 2018. As a result, the fact salience system [SalIE](https://github.com/mponza/SalIE) was published.\n* **Large-Scale OIE:** MinIE was used to create the largest OIE corpus to date - [OPIEC](https://www.uni-mannheim.de/dws/research/resources/opiec/). The corpus contains more than 341M triples. Details can be found in the paper [*\"OPIEC: An Open Information Extraction Corpus\"*](https://arxiv.org/pdf/1904.12324.pdf) by Kiril Gashteovski, Sebastian Wanner, Sven Hertling, Samuel Broscheit, Rainer Gemulla, published on AKBC 2019.\n* **OIE from Scientific Publications:** An extension of MinIE was created which provides structured knowledge enriched with semantic information about citations - [MinScIE: Citation-centered Open Information Extraction](https://github.com/gkiril/MinSCIE). Details can be found in the paper [*\"MinScIE: Citation-centered Open Information Extraction\"*](https://madoc.bib.uni-mannheim.de/49216/1/_JCDL19Demo__MinScIE%20%284%29.pdf) by Anne Lauscher, Yide Song and Kiril Gashteovski, published on JCDL 2019.\n* **Entity Aspect Linking:** MinIE was used for creating EAL: toolkit and dataset for entity-aspect linking. Details can be found in the paper [*\"EAL: A Toolkit and Dataset for Entity-Aspect Linking\"*](https://madoc.bib.uni-mannheim.de/49596/1/EAL.pdf) by Federico Nanni, Jingyi Zhang, Ferdinand Betz, Kiril Gashteovski, published on JCDL 2019.\n\n## Citing\nIf you use MinIE in your work, please cite our paper:\n\n```\n@inproceedings{gashteovski2017minie,\n  title={MinIE: Minimizing Facts in Open Information Extraction},\n  author={Gashteovski, Kiril and Gemulla, Rainer and Del Corro, Luciano},\n  booktitle={Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing},\n  pages={2630--2640},\n  year={2017}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuma-pi1%2Fminie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuma-pi1%2Fminie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuma-pi1%2Fminie/lists"}