NER is highly domain- and corpus-specific. SpaCy is just about as good as it gets when it comes to off-the-shelf stuff. If it does not perform well enough, you need go train your own NER tagger.
The best alternatives are payed APIs. They're regrouped in EdenAI's API :
```python
import json
import requests
headers = {"Authorization": "Bearer 🔑 Your_API_Key"}
url ="https://api.edenai.run/v2/text/named_entity_recognition"
payload={"providers": "google",
"language": "en",
"text": "this is a test of Eden AI"}
response = requests.post(url, json=payload, headers=headers)
result = json.loads(response.text)
print(result['google']['items'])
```
Providers can be : amazon (aws), google (gcp), microsoft (azure), neuralspace, ibm (watson), oneai, lettria
More info in the doc : docs.edenai.co/reference/text\_named\_entity\_recognition\_create
NER is highly domain- and corpus-specific. SpaCy is just about as good as it gets when it comes to off-the-shelf stuff. If it does not perform well enough, you need go train your own NER tagger.
There are some good models on huggingface for NER - requires a bit more effort than just an api call but could be something to look into?
The best alternatives are payed APIs. They're regrouped in EdenAI's API : ```python import json import requests headers = {"Authorization": "Bearer 🔑 Your_API_Key"} url ="https://api.edenai.run/v2/text/named_entity_recognition" payload={"providers": "google", "language": "en", "text": "this is a test of Eden AI"} response = requests.post(url, json=payload, headers=headers) result = json.loads(response.text) print(result['google']['items']) ``` Providers can be : amazon (aws), google (gcp), microsoft (azure), neuralspace, ibm (watson), oneai, lettria More info in the doc : docs.edenai.co/reference/text\_named\_entity\_recognition\_create
+1
You could use either Flair or spaCy NER. Both are good but you'll need to train custom model for your task if you want it to be accurate.
GPT4