mirror of
https://github.com/fhswf/aki_prj23_transparenzregister.git
synced 2025-05-14 12:58:46 +02:00
Moved AI files in the AI module. (#308)
This commit is contained in:
parent
3cc94cb652
commit
8d9981d967
2
.github/workflows/test-and-build-action.yaml
vendored
2
.github/workflows/test-and-build-action.yaml
vendored
@ -27,7 +27,7 @@ jobs:
|
|||||||
- run: poetry install --without develop,doc,lint --all-extras
|
- run: poetry install --without develop,doc,lint --all-extras
|
||||||
- name: Run test suite
|
- name: Run test suite
|
||||||
run: |
|
run: |
|
||||||
poetry run pytest --junit-xml=unit-test-results.xml --cov-report "xml:coverage.xml" --cov=src tests/
|
poetry run pytest --junit-xml=unit-test-results.xml --cov-report "xml:coverage.xml" --cov=src --disable-warnings tests/
|
||||||
- name: Archive code coverage results
|
- name: Archive code coverage results
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
|
@ -22,6 +22,7 @@ repos:
|
|||||||
- id: destroyed-symlinks
|
- id: destroyed-symlinks
|
||||||
- id: debug-statements
|
- id: debug-statements
|
||||||
- id: pretty-format-json
|
- id: pretty-format-json
|
||||||
|
args: [--autofix]
|
||||||
exclude: (\.ipynb$)
|
exclude: (\.ipynb$)
|
||||||
- id: no-commit-to-branch
|
- id: no-commit-to-branch
|
||||||
args: [--branch, main]
|
args: [--branch, main]
|
||||||
|
@ -8,10 +8,10 @@ from tqdm import tqdm
|
|||||||
|
|
||||||
import aki_prj23_transparenzregister.utils.mongo.connector as conn
|
import aki_prj23_transparenzregister.utils.mongo.connector as conn
|
||||||
import aki_prj23_transparenzregister.utils.mongo.news_mongo_service as news
|
import aki_prj23_transparenzregister.utils.mongo.news_mongo_service as news
|
||||||
|
from aki_prj23_transparenzregister.ai import ner_service
|
||||||
from aki_prj23_transparenzregister.config.config_providers import (
|
from aki_prj23_transparenzregister.config.config_providers import (
|
||||||
JsonFileConfigProvider,
|
JsonFileConfigProvider,
|
||||||
)
|
)
|
||||||
from aki_prj23_transparenzregister.utils.mongo import ner_service
|
|
||||||
|
|
||||||
logger.add(sys.stdout, colorize=True)
|
logger.add(sys.stdout, colorize=True)
|
||||||
|
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"ner_service": {
|
||||||
|
"comment": "Select only one service by setting true and deselect the other with false. Valid doc_attrib: text, title",
|
||||||
|
"doc_attrib": "text",
|
||||||
|
"entity": "ORG",
|
||||||
|
"use_companylist_ner": false,
|
||||||
|
"use_spacy_ner": false,
|
||||||
|
"use_transformer_ner": true
|
||||||
|
},
|
||||||
|
"sentiment_service": {
|
||||||
|
"comment": "Select only one service by setting true and deselect the other with false. Valid doc_attrib: text, title",
|
||||||
|
"doc_attrib": "text",
|
||||||
|
"use_spacy": false,
|
||||||
|
"use_transformer": true
|
||||||
|
}
|
||||||
|
}
|
@ -8,9 +8,9 @@ from tqdm import tqdm
|
|||||||
|
|
||||||
import aki_prj23_transparenzregister.utils.mongo.connector as conn
|
import aki_prj23_transparenzregister.utils.mongo.connector as conn
|
||||||
import aki_prj23_transparenzregister.utils.mongo.news_mongo_service as news
|
import aki_prj23_transparenzregister.utils.mongo.news_mongo_service as news
|
||||||
|
from aki_prj23_transparenzregister.ai import sentiment_service
|
||||||
from aki_prj23_transparenzregister.config.config_providers import JsonFileConfigProvider
|
from aki_prj23_transparenzregister.config.config_providers import JsonFileConfigProvider
|
||||||
from aki_prj23_transparenzregister.config.config_template import MongoConnection
|
from aki_prj23_transparenzregister.config.config_template import MongoConnection
|
||||||
from aki_prj23_transparenzregister.utils.mongo import sentiment_service
|
|
||||||
|
|
||||||
|
|
||||||
class SentimentPipeline:
|
class SentimentPipeline:
|
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"sentiment_service": {
|
|
||||||
"comment": "Select only one service by setting true and deselect the other with false. Valid doc_attrib: text, title",
|
|
||||||
"use_spacy": false,
|
|
||||||
"use_transformer": true,
|
|
||||||
"doc_attrib": "text"
|
|
||||||
},
|
|
||||||
|
|
||||||
"ner_service": {
|
|
||||||
"comment": "Select only one service by setting true and deselect the other with false. Valid doc_attrib: text, title",
|
|
||||||
"use_spacy_ner": false,
|
|
||||||
"use_transformer_ner": true,
|
|
||||||
"use_companylist_ner":false,
|
|
||||||
"doc_attrib": "text",
|
|
||||||
"entity":"ORG"
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,8 +4,8 @@ from unittest.mock import Mock, patch
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from aki_prj23_transparenzregister.ai.ner_pipeline import EntityPipeline
|
||||||
from aki_prj23_transparenzregister.config.config_template import MongoConnection
|
from aki_prj23_transparenzregister.config.config_template import MongoConnection
|
||||||
from aki_prj23_transparenzregister.utils.mongo.ner_pipeline import EntityPipeline
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
@ -52,16 +52,14 @@ def mock_spacy(mocker: Mock) -> Mock:
|
|||||||
"""
|
"""
|
||||||
mock = Mock()
|
mock = Mock()
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.init_spacy",
|
"aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.init_spacy",
|
||||||
return_value=mock,
|
return_value=mock,
|
||||||
)
|
)
|
||||||
return mock
|
return mock
|
||||||
|
|
||||||
|
|
||||||
# Mocking the NerAnalysisService methods
|
# Mocking the NerAnalysisService methods
|
||||||
@patch(
|
@patch("aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.ner_spacy")
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.ner_spacy"
|
|
||||||
)
|
|
||||||
def test_entity_pipeline_with_spacy(
|
def test_entity_pipeline_with_spacy(
|
||||||
mock_ner_spacy: Mock,
|
mock_ner_spacy: Mock,
|
||||||
mock_mongo_connector: Mock,
|
mock_mongo_connector: Mock,
|
||||||
@ -99,9 +97,7 @@ def test_entity_pipeline_with_spacy(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch("aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.ner_spacy")
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.ner_spacy"
|
|
||||||
)
|
|
||||||
def test_entity_pipeline_with_spacy_no_docs(
|
def test_entity_pipeline_with_spacy_no_docs(
|
||||||
mock_ner_spacy: Mock,
|
mock_ner_spacy: Mock,
|
||||||
mock_mongo_connector: Mock,
|
mock_mongo_connector: Mock,
|
||||||
@ -137,7 +133,7 @@ def test_entity_pipeline_with_spacy_no_docs(
|
|||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.ner_company_list"
|
"aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.ner_company_list"
|
||||||
)
|
)
|
||||||
def test_entity_pipeline_with_companylist_ner(
|
def test_entity_pipeline_with_companylist_ner(
|
||||||
mock_ner_companylist: Mock,
|
mock_ner_companylist: Mock,
|
||||||
@ -178,7 +174,7 @@ def test_entity_pipeline_with_companylist_ner(
|
|||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.ner_company_list"
|
"aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.ner_company_list"
|
||||||
)
|
)
|
||||||
def test_entity_pipeline_with_companylist_ner_no_docs(
|
def test_entity_pipeline_with_companylist_ner_no_docs(
|
||||||
mock_ner_companylist: Mock,
|
mock_ner_companylist: Mock,
|
||||||
@ -214,9 +210,7 @@ def test_entity_pipeline_with_companylist_ner_no_docs(
|
|||||||
|
|
||||||
|
|
||||||
# Add more test cases for other NER methods (e.g., use_companylist_ner, use_transformer_ner) following a similar pattern.
|
# Add more test cases for other NER methods (e.g., use_companylist_ner, use_transformer_ner) following a similar pattern.
|
||||||
@patch(
|
@patch("aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.ner_spacy")
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.ner_spacy"
|
|
||||||
)
|
|
||||||
def test_entity_pipeline_with_transformer(
|
def test_entity_pipeline_with_transformer(
|
||||||
mock_ner_transformer: Mock,
|
mock_ner_transformer: Mock,
|
||||||
mock_mongo_connector: Mock,
|
mock_mongo_connector: Mock,
|
||||||
@ -254,9 +248,7 @@ def test_entity_pipeline_with_transformer(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch("aki_prj23_transparenzregister.ai.ner_service.NerAnalysisService.ner_spacy")
|
||||||
"aki_prj23_transparenzregister.utils.mongo.ner_service.NerAnalysisService.ner_spacy"
|
|
||||||
)
|
|
||||||
def test_entity_pipeline_with_transformer_no_docs(
|
def test_entity_pipeline_with_transformer_no_docs(
|
||||||
mock_ner_transformer: Mock,
|
mock_ner_transformer: Mock,
|
||||||
mock_mongo_connector: Mock,
|
mock_mongo_connector: Mock,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
"""Tests for checking NER Services."""
|
"""Tests for checking NER Services."""
|
||||||
|
|
||||||
from aki_prj23_transparenzregister.utils.mongo.ner_service import NerAnalysisService
|
from aki_prj23_transparenzregister.ai.ner_service import NerAnalysisService
|
||||||
|
|
||||||
|
|
||||||
def test_ner_spacy() -> None:
|
def test_ner_spacy() -> None:
|
||||||
|
@ -4,10 +4,10 @@ from unittest.mock import Mock, patch
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from aki_prj23_transparenzregister.config.config_template import MongoConnection
|
from aki_prj23_transparenzregister.ai.sentiment_pipeline import (
|
||||||
from aki_prj23_transparenzregister.utils.mongo.sentiment_pipeline import (
|
|
||||||
SentimentPipeline,
|
SentimentPipeline,
|
||||||
)
|
)
|
||||||
|
from aki_prj23_transparenzregister.config.config_template import MongoConnection
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
@ -54,14 +54,14 @@ def mock_spacy(mocker: Mock) -> Mock:
|
|||||||
"""
|
"""
|
||||||
mock = Mock()
|
mock = Mock()
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.sentiment_service.SentimentAnalysisService.init_spacy",
|
"aki_prj23_transparenzregister.ai.sentiment_service.SentimentAnalysisService.init_spacy",
|
||||||
return_value=mock,
|
return_value=mock,
|
||||||
)
|
)
|
||||||
return mock
|
return mock
|
||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.sentiment_service.SentimentAnalysisService.sentiment_spacy"
|
"aki_prj23_transparenzregister.ai.sentiment_service.SentimentAnalysisService.sentiment_spacy"
|
||||||
)
|
)
|
||||||
def test_sentiment_pipeline_existing_sentiment(
|
def test_sentiment_pipeline_existing_sentiment(
|
||||||
mock_sentiment_spacy: Mock,
|
mock_sentiment_spacy: Mock,
|
||||||
@ -102,7 +102,7 @@ def test_sentiment_pipeline_existing_sentiment(
|
|||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.sentiment_service.SentimentAnalysisService.sentiment_spacy"
|
"aki_prj23_transparenzregister.ai.sentiment_service.SentimentAnalysisService.sentiment_spacy"
|
||||||
)
|
)
|
||||||
def test_sentiment_pipeline_no_documents(
|
def test_sentiment_pipeline_no_documents(
|
||||||
mock_sentiment_spacy: Mock,
|
mock_sentiment_spacy: Mock,
|
||||||
@ -134,7 +134,7 @@ def test_sentiment_pipeline_no_documents(
|
|||||||
|
|
||||||
|
|
||||||
@patch(
|
@patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.sentiment_service.SentimentAnalysisService.sentiment_spacy"
|
"aki_prj23_transparenzregister.ai.sentiment_service.SentimentAnalysisService.sentiment_spacy"
|
||||||
)
|
)
|
||||||
def test_sentiment_pipeline_with_spacy(
|
def test_sentiment_pipeline_with_spacy(
|
||||||
mock_sentiment_spacy: Mock,
|
mock_sentiment_spacy: Mock,
|
||||||
@ -173,7 +173,7 @@ def test_sentiment_pipeline_with_spacy(
|
|||||||
|
|
||||||
# Mocking the SentimentAnalysisService methods
|
# Mocking the SentimentAnalysisService methods
|
||||||
@patch(
|
@patch(
|
||||||
"aki_prj23_transparenzregister.utils.mongo.sentiment_service.SentimentAnalysisService.sentiment_transformer"
|
"aki_prj23_transparenzregister.ai.sentiment_service.SentimentAnalysisService.sentiment_transformer"
|
||||||
)
|
)
|
||||||
def test_sentiment_pipeline_with_transformer(
|
def test_sentiment_pipeline_with_transformer(
|
||||||
mock_sentiment_transformer: Mock,
|
mock_sentiment_transformer: Mock,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
"""Tests for checking Sentiment Services."""
|
"""Tests for checking Sentiment Services."""
|
||||||
|
|
||||||
|
|
||||||
from aki_prj23_transparenzregister.utils.mongo.sentiment_service import (
|
from aki_prj23_transparenzregister.ai.sentiment_service import (
|
||||||
SentimentAnalysisService,
|
SentimentAnalysisService,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user