The Entity-Recognition library utilizes spaCy, BERTopic, and Transformers to provide a robust technology entity recognition system capable of identifying technological entities within texts and suggesting relevant technologies using advanced NLP techniques.
The library automatically downloads the required spaCy model if not installed, making it easy to get started.
- Technology Entity Extraction: Automatically extract technology-related terms and tools from texts.
- Recommendation System: Provides context-based technology recommendations.
- BERTopic Integration: Leverages topic modeling to enhance the relevance of recommendations.
- spaCy Matchers: Utilizes custom NLP patterns for precise entity recognition.
- Python 3.11+
- pip
Install the library directly from PyPI:
pip install entity-recognition-libThe required spaCy model (en_core_web_sm) will be automatically downloaded and installed if not already present on your system.
Here's how to use the Entity Recognition library in your Python scripts:
from entity_recognition_lib import EntityRecognizer
# Create an instance of the recognizer
recognizer = EntityRecognizer()
# Example texts
texts = ["I need an Express.js Mongo database backend"]
# Process texts
results = recognizer.process_texts(texts)
print(results)Expected output:
[
{
"input_text": "I need an Express.js Mongo database backend",
"predicted_topic_name": "575_databases_database_tables_schema",
"extracted_entities": [
{
"entity_name": "Express.js",
"score": 1.0,
"category": "Backend Web Frameworks"
},
{
"entity_name": "MongoDB",
"score": 1.0,
"category": "Databases"
}
],
"recommendations": [
{
"category": "Backend Web Frameworks",
"recommendation": "Express.js"
},
{
"category": "Databases",
"recommendation": "MongoDB"
}
]
}
]For detailed usage examples and code snippets, please refer to the examples directory in the repository. The examples cover various scenarios, including:
- Basic usage of the library for entity recognition and recommendation generation
- Advanced features such as result analysis and visualization
- Integration samples with popular frameworks like Flask and Streamlit
We recommend exploring the examples to understand how to effectively utilize the Entity-Recognition library in your projects.
- Clone the repository:
git clone https://github.com/cgoncalves94/entity-recognition.git cd entity-recognition - Create and Activate a Virtual Environment:
python -m venv .venv source .venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install Dependencies:
pip install -r requirements.txt
Run tests to ensure the setup is correct:
pytest
Contributions are welcome! Please follow these steps:
- Fork the repository on GitHub.
- Clone the forked repository to your machine.
- Create a new branch for your changes.
- Make changes and test.
- Submit a pull request with a comprehensive description of changes.
This project is licensed under the MIT License - see the LICENSE file for details.