{"id":15009036,"url":"https://github.com/anthonysigogne/keyword-mining","last_synced_at":"2025-04-09T16:23:17.846Z","repository":{"id":92152723,"uuid":"95402127","full_name":"AnthonySigogne/keyword-mining","owner":"AnthonySigogne","description":"API - extract a list of keywords from a text.","archived":false,"fork":false,"pushed_at":"2017-07-06T02:58:57.000Z","size":22,"stargazers_count":18,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-23T18:38:58.578Z","etag":null,"topics":["docker","keyword","keyword-extraction","nlp","python-2","seo"],"latest_commit_sha":null,"homepage":"http://searchengine.byprog.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnthonySigogne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-06-26T02:49:54.000Z","updated_at":"2022-12-14T04:42:38.000Z","dependencies_parsed_at":"2023-03-13T06:15:39.693Z","dependency_job_id":null,"html_url":"https://github.com/AnthonySigogne/keyword-mining","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonySigogne%2Fkeyword-mining","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonySigogne%2Fkeyword-mining/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonySigogne%2Fkeyword-mining/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnthonySigogne%2Fkeyword-mining/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnthonySigogne","download_url":"https://codeload.github.com/AnthonySigogne/keyword-mining/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065804,"owners_count":21041966,"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":["docker","keyword","keyword-extraction","nlp","python-2","seo"],"created_at":"2024-09-24T19:22:33.924Z","updated_at":"2025-04-09T16:23:17.827Z","avatar_url":"https://github.com/AnthonySigogne.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keyword-mining\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Python 2.7](https://img.shields.io/badge/python-3.5-blue.svg)\n\nAPI - extract keywords from a text or a web page.\n\nThe algorithm extracts all nominal groups (candidate keywords) from the text and, for each one, attributes a score based on multiple parameters including the number of occurrences.\nThe final list of keywords is composed of best-scored nominal groups.\n\n### Note\nFor the moment, this tool works only for English and French.\n\n## INSTALL AND RUN\n\n### REQUIREMENTS\nThis tool requires *Python2.7* (not working for *Python3*).\n\n### WITH PIP\n```\ngit clone https://github.com/AnthonySigogne/keyword-mining.git\ncd keyword-mining\npip install -r requirements.txt\n```\n\nThen, run the tool :\n```\nFLASK_APP=index.py flask run\n```\n\nTo run in debug mode, prepend `FLASK_DEBUG=1` to the command :\n```\nFLASK_DEBUG=1 ... flask run\n```\n\n### WITH DOCKER\nTo run the tool with Docker, you can use my DockerHub image :\nhttps://hub.docker.com/r/anthonysigogne/keyword-mining/\n```\ndocker run -p 5000:5000 anthonysigogne/keyword-mining\n```\n\nOr, build yourself a Docker image :\n```\ngit clone https://github.com/AnthonySigogne/keyword-mining.git\ncd keyword-mining\ndocker build -t keyword-mining .\n```\n\n## USAGE AND EXAMPLES\nTo list all services of API, type this endpoint in your web browser : http://localhost:5000/\n\n### FROM A TEXT\nIndex a web page through its URL.\n\n* **URL**\n\n  /keywords_from_text\n\n* **Method**\n\n  `POST`\n\n* **Form Data Params**\n\n  **Required:**\n\n  `text=[string]`, the text to analyze  \n\n  **Not required:**\n\n  `hits=[int]`, limit number of keywords returned, 100 by default\n\n* **Success Response**\n\n  * **Code:** 200 \u003cbr /\u003e\n    **Content:**\n    ```\n    {\n      \"keywords\": [\n        \"computer science PhD in applied Language\",\n        \"PhD in Computer Science\",\n        \"Creation of ergonomic websites\",\n        \"Modern infrastructure with API\",\n        \"Development of effective application\",\n        \"experience of research laboratories\",\n        \"projects for international clients\",\n        \"Computer courses for individuals\",\n        ...\n      ]\n    }\n    ```\n\n* **Error Response**\n\n  * **Code:** 400 INVALID USAGE \u003cbr /\u003e\n\n\n* **Sample Call (with cURL)**\n\n  ```\n  curl http://localhost:5000/keywords_from_text --data \"text=True programming enthusiast, I quickly oriented to computer studies at the university, until a computer science PhD in applied Language Processing.\"\n  ```\n\n### FROM AN URL\nQuery engine to find a list of relevant URLs.\nReturn the sublist of matching URLs sorted by relevance, and the total of matching URLs, in JSON.\n\n* **URL**\n\n  /search\n\n* **Method**\n\n  `POST`\n\n* **Form Data Params**\n\n  **Required:**\n\n  `url=[string]`, the url to analyze  \n\n  **Not required:**\n\n  `hits=[int]`, limit number of keywords returned, 100 by default\n\n* **Success Response**\n\n  * **Code:** 200 \u003cbr /\u003e\n    **Content:**\n    ```\n    {\n      \"keywords\": [\n        \"computer science PhD in applied Language\",\n        \"PhD in Computer Science\",\n        \"Creation of ergonomic websites\",\n        \"Modern infrastructure with API\",\n        \"Development of effective application\",\n        \"experience of research laboratories\",\n        \"projects for international clients\",\n        \"Computer courses for individuals\",\n        ...\n      ]\n    }\n    ```\n\n* **Error Response**\n\n  * **Code:** 400 INVALID USAGE \u003cbr /\u003e\n\n\n* **Sample Call (with cURL)**\n\n  ```\n  curl http://localhost:5000/keywords_from_url --data \"url=https://www.byprog.com/en\"\n  ```  \n\n\n## FUTURE FEATURES\n* more languages\n* compatibility with Python3\n* filter bad keywords (verbs,...)\n\n## LICENCE\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonysigogne%2Fkeyword-mining","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonysigogne%2Fkeyword-mining","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonysigogne%2Fkeyword-mining/lists"}