{"id":18343681,"url":"https://github.com/nunorc/qaptnet","last_synced_at":"2025-07-01T03:39:22.147Z","repository":{"id":66983821,"uuid":"201231595","full_name":"nunorc/qaptnet","owner":"nunorc","description":"BERT model fine-tuned for question answering tasks in Portuguese text","archived":false,"fork":false,"pushed_at":"2020-08-03T17:08:12.000Z","size":9,"stargazers_count":19,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-06T07:36:48.011Z","etag":null,"topics":["bert-model","pln","portuguese","pytorch","question-answering"],"latest_commit_sha":null,"homepage":"","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/nunorc.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":"2019-08-08T10:05:41.000Z","updated_at":"2025-04-01T12:06:35.000Z","dependencies_parsed_at":"2023-02-25T17:31:09.981Z","dependency_job_id":null,"html_url":"https://github.com/nunorc/qaptnet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nunorc/qaptnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fqaptnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fqaptnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fqaptnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fqaptnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nunorc","download_url":"https://codeload.github.com/nunorc/qaptnet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nunorc%2Fqaptnet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262891060,"owners_count":23380555,"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":["bert-model","pln","portuguese","pytorch","question-answering"],"created_at":"2024-11-05T20:41:23.470Z","updated_at":"2025-07-01T03:39:22.077Z","avatar_url":"https://github.com/nunorc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# qaptnet\n\n**qaptnet** is an implementation of the [BERT](https://github.com/google-research/bert) model,\nfined tuned for question-answering tasks, trained on a Portuguese dataset. The model is\navailable from the `model-pretrained` directory, as a [PyTorch](https://pytorch.org/) model,\nand the training process was performed using the\n[pytorch-transformers](https://github.com/huggingface/pytorch-transformers) package.\nIn an nutshell the goal of the model is: given a question, and a context, i.e. a snippet of\ntext that contains the answer to the given question, output the start and end token index that\nspans the answer.\n\nThe question-answering dataset is available from the\n[squad-v1.1-pt](https://github.com/nunorc/squad-v1.1-pt) repository, a Portuguese\ntranslation of the [SQuAD](https://rajpurkar.github.io/SQuAD-explorer/) dataset.\n\n`qaptnet.py` is a simple Python package to interface with the pre-trained\nmodel. Check the `requirements.txt` file for the package dependencies.\n\n## Synopsis\n\n```python\n# import the model\nfrom qaptnet import qaptnet\n\n# create a new default object\nptnet = qaptnet()\n\n# query the model\nptnet.query(context = context, question = question)\n```\n\n## Examples\n\nThe following snippets illustrate some examples of queries to the model, for the question\nand corresponding context.\n\n```python\ncontext = \"\"\"Arquitetonicamente, a escola tem um caráter católico. No topo da cúpula de ouro\ndo edifício principal é uma estátua de ouro da Virgem Maria. Imediatamente em frente ao edifício\nprincipal e de frente para ele, é uma estátua de cobre de Cristo com os braços erguidos com a\nlenda \u0026quot;Venite Ad Me Omnes\u0026quot;. Ao lado do edifício principal é a Basílica do Sagrado\nCoração. Imediatamente atrás da basílica é a Gruta, um lugar mariano de oração e reflexão.\nÉ uma réplica da gruta em Lourdes, na França, onde a Virgem Maria supostamente apareceu a Santa\nBernadette Soubirous em 1858. No final da unidade principal (e em uma linha direta que liga\natravés de 3 estátuas e da Cúpula de Ouro), é um estátua de pedra simples e moderna de Maria.\"\"\"\n\nquestion = 'A quem a Virgem Maria supostamente apareceu em 1858 em Lourdes, na França?'\n```\n\n```python\n\u003e\u003e\u003e ptnet.query(context=context, question=question)\n'Santa Bernadette Soubirous'\n```\n\n```python\ncontext = \"\"\"Beyoncé Giselle Knowles-Carter (nascida em 4 de setembro de 1981) é uma cantora\namericana, compositora, produtora de discos e atriz. Nascida e criada em Houston, Texas, ela se\napresentou em várias competições de canto e dança quando criança, e alcançou a fama no final dos\nanos 90 como vocalista do grupo de R \u0026amp; B Destiny\u0026#39;s Child. Dirigida por seu pai, Mathew\nKnowles, o grupo tornou-se um dos grupos femininos mais vendidos de todos os tempos. Seu hiato\nviu o lançamento do álbum de estreia de Beyoncé, Dangerously in Love (2003), que a consagrou como\nartista solo em todo o mundo, ganhou cinco prêmios Grammy e apresentou os singles número um da\nBillboard Hot 100 \u0026quot;Crazy in Love\u0026quot; e \u0026quot;Baby Boy\u0026quot; .\"\"\"\n\nquestion = 'Em que cidade e estado Beyonce cresceu?'\n```\n\n```python\n\u003e\u003e\u003e ptnet.query(context=context, question=question)\n'Houston, Texas'\n```\n\n```python\ncontext = \"\"\"Em 17 de Outubro desse ano, a Comissão da Administração dos Bens pertencentes ao\nEstado inquire junto da Sociedade Martins Sarmento se o seu edifício se encontra em condições de\nsegurança tais que possa, sem perigo, receber e conservar em exposição os objectos de valor\nhistórico e artístico correspondente ao chamado Tesouro da Colegiada de Guimarães. Poucos dias\ndepois, a 28 do mesmo mês, a Delegação da Procuradoria da República, em Guimarães, informava que\no Ministro da Instrução, concordando com o parecer da Comissão Jurisdicional, autorizou que\nfossem entregues, mediante rigoroso inventário, a essa Sociedade os móveis de carácter histórico\nou artístico arrolados nos edifícios das extintas congregações religiosas desta cidade. No\nentanto, o Arquivo só nasceria em 1931, através decreto nº 19.952, de 27 de Junho do dito ano.\"\"\"\n\nquestion = 'Em que ano nasceu o arquivo?'\n```\n\n```python\n\u003e\u003e\u003e ptnet.query(context=context, question=question)\n'1931'\n```\n\n## Using the qaptnet API\n\n`qaptnet-api.py` provides a simple interface to the model via HTTP. Once all the\nrequirements are met you can run it by simply executing:\n\n    $ python qaptnet-api\n\nThe API is available on port `http://localhost:7788`, we can query the model via HTTP, for example\nusing  `curl`:\n\n    $ cat data.json\n    {\"context\": \"Arquitetonicamente, a escola tem um caráter católico. (...), \"question\": \"A quem\n    a Virgem Maria supostamente apareceu em 1858 em Lourdes, na França?\"}\n    $ curl -H \"Content-Type: application/json\" \\\n           --data @data.json \\\n           http://localhost:7788/query\n    {\"answer\":\"Santa Bernadette Soubirous\"}\n\nA Docker file is also available, to build the Docker image run:\n\n    $ docker build -t qaptnet-api:latest .\n\nAnd run the container:\n\n    $ docker run -d --rm -p 7788:7788 qaptnet-api\n\nAgain, the API is available in `http://localhost:7788`, and the same method illustrated before\ncan be used to query the model.\n\n## Acknowledgements\n\nThis work is partially supported by the project “SmartEGOV: Harnessing EGOV for Smart Governance (Foundations, methods, Tools) / NORTE-01-0145-FEDER-000037”,\nsupported by Norte Portugal Regional Operational Programme (NORTE 2020),\nunder the PORTUGAL 2020 Partnership Agreement, through the European Regional\nDevelopment Fund (EFDR).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunorc%2Fqaptnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnunorc%2Fqaptnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunorc%2Fqaptnet/lists"}