Metadata-Version: 2.1
Name: mi-ner
Version: 0.0.2
Summary: A python library for named entity recognition evaluation
Home-page: https://github.com/Andolab/miNER
Author: Ryuya Ikeda
Author-email: rikeda71@gmail.com
License: MIT
Keywords: named entity recognition,nlp,natural language processing
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Text Processing
Description-Content-Type: text/markdown

# miNER

A python library for NER (Named Entity Recognition) evaluation

We can evaluate the performance of NER by distinguishing between known entities and unknown entities using this library.


## Support

- Tagging Scheme
    - IOB2
    - BIOES
- metrics
    - precision
    - recall
    - f1


## Requirements

- python3


## Installation

```shell
pip install mi-ner
```


## Usage

#### Sample

```python
>>> from miner import Miner
>>> answers = [
    'B-PSN O O B-LOC O O O O'.split(' '),
    'B-PSN I-PSN O O B-LOC I-LOC O O O O'.split(' '),
    'S-PSN O O S-PSN O O B-LOC I-LOC E-LOC O O O O'.split(' ')
]
>>> predicts = [
    'B-PSN O O B-LOC O O O O'.split(' '),
    'B-PSN B-PSN O O B-LOC I-LOC O O O O'.split(' '),
    'S-PSN O O O O O B-LOC I-LOC E-LOC O O O O'.split(' ')
]
>>> sentences = [
    '花子 さん は 東京 に 行き まし た'.split(' '),
    '山田 太郎 君 は 東京 駅 に 向かい まし た'.split(' '),
    '花子 さん と ボブ くん は 東京 スカイ ツリー に 行き まし た'.split(' '),
]
>>> knowns = {'PSN': ['花子'], 'LOC': ['東京']} # known words (words included in training data)
>>> m = Miner(answers, predicts, sentences, knowns)
>>> m.default_report(True)
	precision    recall    f1_score   num
PSN	 0.500        0.500     0.500      4
LOC	 1.000        1.000     1.000      3
{'PSN': {'precision': 0.5, 'recall': 0.5, 'f1_score': 0.5, 'num': 4}, 'LOC': {'precision': 1.0, 'recall': 1.0, 'f1_score': 1.0, 'num': 3}}
>>> m.return_predict_named_entities()
{'known': {'PSN': ['花子'], 'LOC': ['東京']}, 'unknown': {'PSN': ['太郎', '山田'], 'LOC': ['東京駅', '東京スカイツリー']}}
```

#### Methods

|  method  |  description  |
| ---- | ---- |
|  default\_report(print\_)  |  return result of named entity recognition. if print\_=True, showing result   |
|  known\_only\_report(print\_)  |  return result of known named entity recognition.  |
|  unknown\_only\_report(print\_)  |  return result of unknown named entity recognition.  |
|  return\_predict\_named\_entities()  |  return named entities along predicted label(predicts). |
|  return\_answer\_named\_entities()  |  return named entities along answer label(answer). |


## License

MIT


