File size: 1,449 Bytes
bc4fd50
bd03818
 
 
 
 
 
 
 
 
 
 
bc4fd50
bd03818
 
 
 
 
 
bc4fd50
bd03818
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0484d16
 
bd03818
 
 
 
 
 
 
 
 
 
 
 
 
0484d16
 
 
 
 
 
bd03818
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
language: 
  - en

tags:
- pytorch
- ner
- text generation
- seq2seq

inference: false

license: mit

datasets:
- conll2003

metrics:
- f1
---
# t5-base-qa-ner-conll

Unofficial implementation of [InstructionNER](https://arxiv.org/pdf/2203.03903v1.pdf).
t5-base model tuned on conll2003 dataset.

https://github.com/ovbystrova/InstructionNER 

## Inference 
```shell
git clone https://github.com/ovbystrova/InstructionNER 
cd InstructionNER
```

```python
from instruction_ner.model import Model

model = Model(
    model_path_or_name="olgaduchovny/t5-base-ner-mit-restaurant",
    tokenizer_path_or_name="olgaduchovny/t5-base-mit-restaurant"
)

options = ["LOC", "PER", "ORG", "MISC"]

instruction = "please extract entities and their types from the input sentence, " \
              "all entity types are in options"

text = "Once I visited Sovok in Nizny Novgorod. I had asian wok there. It was the best WOK i ever had"\
        "It was cheap but lemonades cost 5 dollars."

generation_kwargs = {
    "num_beams": 2,
    "max_length": 128
}

pred_spans = model.predict(
    text=text,
    generation_kwargs=generation_kwargs,
    instruction=instruction,
    options=options
)

>>> ('sovok is a Restaurant_Name, Nizny Novgorod is a Location, asian wok is a Dish, cheap is a Price, lemonades is a Dish, 5 dollars is a Price.',
 [(24, 38, 'Location'),
  (46, 55, 'Dish'),
  (100, 105, 'Price'),
  (110, 119, 'Dish'),
  (125, 134, 'Price')])
```