Skip to main content

This repository contains an easy and intuitive approach to few-shot NER using most similar expansion over spaCy embeddings.

Project description

Concise Concepts

When wanting to apply NER to concise concepts, it is really easy to come up with examples, but pretty difficult to train an entire pipeline. Concise Concepts uses few-shot NER based on word embedding similarity to get you going with easy!

Install

pip install classy-classification

Quickstart

import spacy
import concise_concepts

data = {
    "fruit": ["apple", "pear", "orange"],
    "vegetable": ["broccoli", "spinach", "tomato"],
    "meat": ["beef", "pork", "fish", "lamb"]
}

text = """
    Heat the oil in a large pan and add the Onion, celery and carrots. 
    Then, cook over a medium–low heat for 10 minutes, or until softened. 
    Add the courgette, garlic, red peppers and oregano and cook for 2–3 minutes.
    Later, add some oranges and chickens. """

nlp = spacy.load("en_core_web_lg")
nlp.add_pipe("concise_concepts", config={"data": data})
doc = nlp(text)

print([(ent.text, ent.label_) for ent in doc.ents])
# Output:
#
# [("Onion", "VEGETABLE"), ("Celery", "VEGETABLE"), ("carrots", "VEGETABLE"), 
#  ("garlic", "VEGETABLE"), ("red peppers", "VEGETABLE"), ("oranges", "FRUIT"), 
#  ("chickens", "MEAT")]

use specific number of words to expand over

data = {
    "fruit": ["apple", "pear", "orange"],
    "vegetable": ["broccoli", "spinach", "tomato"],
    "meat": ["beef", "pork", "fish", "lamb"]
}

topn = [50, 50, 150]

assert len(topn) == len

nlp.add_pipe("concise_concepts", config={"data": data, "topn": topn})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

concise-concepts-0.2.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

concise_concepts-0.2.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file concise-concepts-0.2.1.tar.gz.

File metadata

  • Download URL: concise-concepts-0.2.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.2 Windows/10

File hashes

Hashes for concise-concepts-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c50c4d4d54015399e4259e171b49c72a00c9786b57e1bee521baf0fde433483b
MD5 a543a3e2ebf5112c91f367e09d81ef6d
BLAKE2b-256 ab13b08d15aa0b598421c0c7da851ee49d97f4f5f354b4580503ea58bcb6bc0e

See more details on using hashes here.

File details

Details for the file concise_concepts-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for concise_concepts-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aabcb8bd4c2811f5398fb0280b830297b28e913be4be69e22bd40aff03b9066a
MD5 5568dc8fcd190526be27e18aa4ad80b6
BLAKE2b-256 2f16a50576dd0689549f104c852d1112046fbeaead6315bdf00f907177f18aa0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page