opennyai


Nameopennyai JSON
Version 0.0.11 PyPI version JSON
download
home_page
SummaryA SpaCy pipeline and models for NLP on indian legal text.
upload_time2023-09-01 12:58:21
maintainer
docs_urlNone
authorAman Tiwari
requires_python>=3.7.0
licenseMIT
keywords law indianlegalner legalner legal ner lawtech legaltech nlp spacy spacy rhetorical role summarizer extractive_summarizer
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <a href="https://github.com/OpenNyAI/Opennyai"><img src="https://github.com/OpenNyAI/Opennyai/raw/master/asset/final-logo-01.jpeg" width="190" height="65" align="right" /></a>

# Opennyai : An efficient NLP Pipeline for Indian Legal documents

[![Current Release Version](https://img.shields.io/github/release/OpenNyAI/opennyai.svg?style=flat-square&logo=github)](https://github.com/OpenNyAI/Opennyai/releases)
[![PyPI version](https://img.shields.io/pypi/v/opennyai.svg?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/opennyai/)
[![python version](https://img.shields.io/badge/Python-%3E=3.7-blue)](https://github.com/OpenNyAI/Opennyai)
[![Downloads](https://pepy.tech/badge/opennyai)](https://github.com/OpenNyAI/Opennyai)

Opennyai is a python library for natural language preprocessing on Indian legal texts.

This library provides unified access to the following 3 pre-trained AI models developed by OpenNyAI which focus on
Indian court
judgments:

* Named Entity Recognition (NER): [GitHub](https://github.com/Legal-NLP-EkStep/legal_NER)
  , [paper](https://arxiv.org/pdf/2211.03442.pdf)
* Judgment Structuring using Sentence Rhetorical
  Roles: [GitHub](https://github.com/Legal-NLP-EkStep/rhetorical-role-baseline)
  , [paper](http://www.lrec-conf.org/proceedings/lrec2022/pdf/2022.lrec-1.470.pdf)
* Extractive Summarizer: [GitHub](https://github.com/Legal-NLP-EkStep/judgment_extractive_summarizer)

This library is mainly for running the pretrained models on your custom input judgments text. For more details about
data and model training, please refer to individual git repo links.

# 🔧 1. Installation

To get started using opennyai first create a new python virtual environment using [conda](https://www.anaconda.com/):

```bash
conda create -n opennyai python=3.8
conda activate opennyai
```

Install it using pip by running the following line in your terminal

```bash
pip install -U opennyai
```

#### For GPU support

If you want to utilize spacy with GPU please install [Cupy](https://anaconda.org/conda-forge/cupy) and
[cudatoolkit](https://anaconda.org/anaconda/cudatoolkit) dependency of appropriate version.

```bash
conda install cudatoolkit==<your_cuda_version> #### E.g. cudatoolkit==11.2
pip install cupy-cuda<your_cuda_version> ##### E.g. cupy-cuda112
```

In case of any issue with installation please refer to [spacy installation with cupy](https://spacy.io/usage)

Remember you need spacy of 3.2.4 version for models to work perfectly.

# 📖 2. Documentation

Please refer to the [Documentation](https://opennyai.readthedocs.io/en/latest/index.html#) for more details.

# 👩‍💻 3. Usage

To run the 3 OpenNyAI models on judgment texts of your choice please run following python code

```python
from opennyai import Pipeline
from opennyai.utils import Data
import urllib

# Get court judgment texts on which to run the AI models
text1 = urllib.request.urlopen(
    'https://raw.githubusercontent.com/OpenNyAI/Opennyai/master/samples/sample_judgment1.txt').read().decode()
text2 = urllib.request.urlopen(
    'https://raw.githubusercontent.com/OpenNyAI/Opennyai/master/samples/sample_judgment2.txt').read().decode()

# you can also load your text files directly into this
texts_to_process = [text1, text2]

# create Data object for data  preprocessing before running ML models
data = Data(texts_to_process)

# If you have access to GPU then set this to True else False
use_gpu = True

# Choose which of the AI models you want to run from the 3 models 'NER', 'Rhetorical_Role','Summarizer'. E.g. If just Named Entity is of interest then just select 'NER'

pipeline = Pipeline(components=['NER', 'Rhetorical_Role', 'Summarizer'], use_gpu=use_gpu, verbose=True)

results = pipeline(data)
```

The output of each model is present in following keys of each element of the output

```python
results[0][
    'annotations']  ## shows the result of model at sentence level, each entry will have entities, rhetorical role, and other details
results[0]['summary']  ## shows Summary for each of the Rheorical Role for first judgment text 
```

For more details on usage please refer to the [documentation](https://opennyai.readthedocs.io/en/latest/index.html#)

Google Colab Notebook
----------------------

| Description               | Link  |
|---------------------------|-------|
| Run Inference          | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1rNA6XVyD-GCTd0YtosjiKON_p9bGuVwz) |

Visualization of outputs
-----------------------
We encourage users to use [our webapp](https://summarizer-fer6v2lowq-uc.a.run.app/) for visualizing the results for a
judgment of your choice.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "opennyai",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.0",
    "maintainer_email": "",
    "keywords": "law indianlegalner legalner legal ner lawtech legaltech nlp spacy SpaCy rhetorical role summarizer extractive_summarizer",
    "author": "Aman Tiwari",
    "author_email": "aman.tiwari@thoughtworks.com",
    "download_url": "https://files.pythonhosted.org/packages/7e/e5/ff097643eee0bfbe3a248a15613c23a473b6dae2d7c28180c351a1405016/opennyai-0.0.11.tar.gz",
    "platform": null,
    "description": "<a href=\"https://github.com/OpenNyAI/Opennyai\"><img src=\"https://github.com/OpenNyAI/Opennyai/raw/master/asset/final-logo-01.jpeg\" width=\"190\" height=\"65\" align=\"right\" /></a>\n\n# Opennyai : An efficient NLP Pipeline for Indian Legal documents\n\n[![Current Release Version](https://img.shields.io/github/release/OpenNyAI/opennyai.svg?style=flat-square&logo=github)](https://github.com/OpenNyAI/Opennyai/releases)\n[![PyPI version](https://img.shields.io/pypi/v/opennyai.svg?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/opennyai/)\n[![python version](https://img.shields.io/badge/Python-%3E=3.7-blue)](https://github.com/OpenNyAI/Opennyai)\n[![Downloads](https://pepy.tech/badge/opennyai)](https://github.com/OpenNyAI/Opennyai)\n\nOpennyai is a python library for natural language preprocessing on Indian legal texts.\n\nThis library provides unified access to the following 3 pre-trained AI models developed by OpenNyAI which focus on\nIndian court\njudgments:\n\n* Named Entity Recognition (NER): [GitHub](https://github.com/Legal-NLP-EkStep/legal_NER)\n  , [paper](https://arxiv.org/pdf/2211.03442.pdf)\n* Judgment Structuring using Sentence Rhetorical\n  Roles: [GitHub](https://github.com/Legal-NLP-EkStep/rhetorical-role-baseline)\n  , [paper](http://www.lrec-conf.org/proceedings/lrec2022/pdf/2022.lrec-1.470.pdf)\n* Extractive Summarizer: [GitHub](https://github.com/Legal-NLP-EkStep/judgment_extractive_summarizer)\n\nThis library is mainly for running the pretrained models on your custom input judgments text. For more details about\ndata and model training, please refer to individual git repo links.\n\n# \ud83d\udd27 1. Installation\n\nTo get started using opennyai first create a new python virtual environment using [conda](https://www.anaconda.com/):\n\n```bash\nconda create -n opennyai python=3.8\nconda activate opennyai\n```\n\nInstall it using pip by running the following line in your terminal\n\n```bash\npip install -U opennyai\n```\n\n#### For GPU support\n\nIf you want to utilize spacy with GPU please install [Cupy](https://anaconda.org/conda-forge/cupy) and\n[cudatoolkit](https://anaconda.org/anaconda/cudatoolkit) dependency of appropriate version.\n\n```bash\nconda install cudatoolkit==<your_cuda_version> #### E.g. cudatoolkit==11.2\npip install cupy-cuda<your_cuda_version> ##### E.g. cupy-cuda112\n```\n\nIn case of any issue with installation please refer to [spacy installation with cupy](https://spacy.io/usage)\n\nRemember you need spacy of 3.2.4 version for models to work perfectly.\n\n# \ud83d\udcd6 2. Documentation\n\nPlease refer to the [Documentation](https://opennyai.readthedocs.io/en/latest/index.html#) for more details.\n\n# \ud83d\udc69\u200d\ud83d\udcbb 3. Usage\n\nTo run the 3 OpenNyAI models on judgment texts of your choice please run following python code\n\n```python\nfrom opennyai import Pipeline\nfrom opennyai.utils import Data\nimport urllib\n\n# Get court judgment texts on which to run the AI models\ntext1 = urllib.request.urlopen(\n    'https://raw.githubusercontent.com/OpenNyAI/Opennyai/master/samples/sample_judgment1.txt').read().decode()\ntext2 = urllib.request.urlopen(\n    'https://raw.githubusercontent.com/OpenNyAI/Opennyai/master/samples/sample_judgment2.txt').read().decode()\n\n# you can also load your text files directly into this\ntexts_to_process = [text1, text2]\n\n# create Data object for data  preprocessing before running ML models\ndata = Data(texts_to_process)\n\n# If you have access to GPU then set this to True else False\nuse_gpu = True\n\n# Choose which of the AI models you want to run from the 3 models 'NER', 'Rhetorical_Role','Summarizer'. E.g. If just Named Entity is of interest then just select 'NER'\n\npipeline = Pipeline(components=['NER', 'Rhetorical_Role', 'Summarizer'], use_gpu=use_gpu, verbose=True)\n\nresults = pipeline(data)\n```\n\nThe output of each model is present in following keys of each element of the output\n\n```python\nresults[0][\n    'annotations']  ## shows the result of model at sentence level, each entry will have entities, rhetorical role, and other details\nresults[0]['summary']  ## shows Summary for each of the Rheorical Role for first judgment text \n```\n\nFor more details on usage please refer to the [documentation](https://opennyai.readthedocs.io/en/latest/index.html#)\n\nGoogle Colab Notebook\n----------------------\n\n| Description               | Link  |\n|---------------------------|-------|\n| Run Inference          | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1rNA6XVyD-GCTd0YtosjiKON_p9bGuVwz) |\n\nVisualization of outputs\n-----------------------\nWe encourage users to use [our webapp](https://summarizer-fer6v2lowq-uc.a.run.app/) for visualizing the results for a\njudgment of your choice.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A SpaCy pipeline and models for NLP on indian legal text.",
    "version": "0.0.11",
    "project_urls": null,
    "split_keywords": [
        "law",
        "indianlegalner",
        "legalner",
        "legal",
        "ner",
        "lawtech",
        "legaltech",
        "nlp",
        "spacy",
        "spacy",
        "rhetorical",
        "role",
        "summarizer",
        "extractive_summarizer"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "616ff5a97aea3ecf1e4b633b7ab6735d0e554f838eab07872d6265e94b5fd01e",
                "md5": "71b906837eabfb37ff484ea6d790d58d",
                "sha256": "59a1ad21998bdba2a70978af033f9e196829e052a89658a691436c34c5774c92"
            },
            "downloads": -1,
            "filename": "opennyai-0.0.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "71b906837eabfb37ff484ea6d790d58d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7.0",
            "size": 169561,
            "upload_time": "2023-09-01T12:58:18",
            "upload_time_iso_8601": "2023-09-01T12:58:18.104539Z",
            "url": "https://files.pythonhosted.org/packages/61/6f/f5a97aea3ecf1e4b633b7ab6735d0e554f838eab07872d6265e94b5fd01e/opennyai-0.0.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ee5ff097643eee0bfbe3a248a15613c23a473b6dae2d7c28180c351a1405016",
                "md5": "7304fb94f9a26856a080762f5be620eb",
                "sha256": "9a62dfbcc8a66d980c60967d3f94895b123ad462ab184830eb5e2508d0e4bf7f"
            },
            "downloads": -1,
            "filename": "opennyai-0.0.11.tar.gz",
            "has_sig": false,
            "md5_digest": "7304fb94f9a26856a080762f5be620eb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0",
            "size": 141598,
            "upload_time": "2023-09-01T12:58:21",
            "upload_time_iso_8601": "2023-09-01T12:58:21.412699Z",
            "url": "https://files.pythonhosted.org/packages/7e/e5/ff097643eee0bfbe3a248a15613c23a473b6dae2d7c28180c351a1405016/opennyai-0.0.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-01 12:58:21",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "opennyai"
}
        
Elapsed time: 0.11690s