From 8960fd8746821e20b894481e8e43ef52b34b8e75 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 9 Oct 2023 16:57:54 -0500 Subject: [PATCH 1/7] save to folder --- network_analysis_extractor/SmmExtractor.py | 30 +++++++++++++++++++--- network_analysis_extractor/requirement.txt | 2 +- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/network_analysis_extractor/SmmExtractor.py b/network_analysis_extractor/SmmExtractor.py index d79adf2..d40e9e8 100644 --- a/network_analysis_extractor/SmmExtractor.py +++ b/network_analysis_extractor/SmmExtractor.py @@ -1,19 +1,22 @@ #!/usr/bin/env python """Example extractor based on the clowder code.""" +import posixpath + import pandas as pd import json import os import csv import types import pickle +from datetime import datetime import logging from pyclowder.extractors import Extractor import pyclowder.files from algorithm import algorithm - +import requests def save_local_output(localSavePath, fname, output_data): """ @@ -78,6 +81,21 @@ def save_local_output(localSavePath, fname, output_data): return os.path.join(localSavePath, fname) +# TODO wrap this into method on pyclowder +def create_output_folder(dataset_id, host, secret_key): + url = posixpath.join(host, f'api/datasets/{dataset_id}/folders') + headers = {"Content-Type": "application/json", + "X-API-KEY": secret_key} + current_timestamp = datetime.now().strftime("%Y%m%d%H%M%S") + folder_data = {"name": current_timestamp} + response = requests.post(url, json=folder_data, headers=headers) + if response.status_code == 200: + return response.json().get("id") + else: + print(f"Error creating folder: {response.status_code} {response.text}") + return None + + class SmmExtractor(Extractor): """Count the number of characters, words and lines in a text file.""" def __init__(self): @@ -107,13 +125,19 @@ def process_message(self, connector, host, secret_key, resource, parameters): output = algorithm(df, userParams) connector.message_process(resource, "Running the algorithm...") - # upload object to s3 bucket and return the url + # Create folder to save output + clowder_version = int(os.getenv('CLOWDER_VERSION', '1')) + if clowder_version == 2: + folder_id = create_output_folder(dataset_id, host, secret_key) + else: + folder_id = None for fname, output_data in output.items(): if fname != 'uid': local_output_path = save_local_output("", fname, output_data) connector.message_process(resource, "Saving " + local_output_path + "...") uploaded_file_id = pyclowder.files.upload_to_dataset(connector, host, secret_key, dataset_id, - local_output_path) + local_output_path, + folder_id=folder_id) connector.message_process(resource, local_output_path + " saved...") connector.message_process(resource, "Writing metadata...") diff --git a/network_analysis_extractor/requirement.txt b/network_analysis_extractor/requirement.txt index d5f92cd..3fd393e 100644 --- a/network_analysis_extractor/requirement.txt +++ b/network_analysis_extractor/requirement.txt @@ -1 +1 @@ -pyclowder==3.0.4 +pyclowder==3.0.6 From a903735077820e22a2ccba48f32a8de6163d9977 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 11 Oct 2023 09:14:07 -0500 Subject: [PATCH 2/7] bump version up --- network_analysis_extractor/CHANGELOG.md | 12 +++++++++--- network_analysis_extractor/extractor_info.json | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/network_analysis_extractor/CHANGELOG.md b/network_analysis_extractor/CHANGELOG.md index 2136e0f..06c9107 100644 --- a/network_analysis_extractor/CHANGELOG.md +++ b/network_analysis_extractor/CHANGELOG.md @@ -4,13 +4,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.1.0] - 03-15-2023 +## [Unrelease] -### Added -- Initial release of the network analysis extractor +### Added +- Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) ## [0.1.1] - 10-03-2023 ### Changed - Support Clowder V2 [#1](https://github.com/clowder-framework/smm-extractor/issues/1) + + +## [0.1.0] - 03-15-2023 + +### Added +- Initial release of the network analysis extractor diff --git a/network_analysis_extractor/extractor_info.json b/network_analysis_extractor/extractor_info.json index ff015dc..953354a 100644 --- a/network_analysis_extractor/extractor_info.json +++ b/network_analysis_extractor/extractor_info.json @@ -1,7 +1,7 @@ { "@context": "http://clowder.ncsa.illinois.edu/contexts/extractors.jsonld", "name": "smm.network.analysis", - "version": "0.1.1", + "version": "0.1.2", "description": "Social network analysis is the process of investigating social structures through the use of networks and graph theory .It characterizes networked structures in terms of nodes (individual actors, people, or things within the network) and the ties, edges, or links (relationships or interactions) that connect them.", "author": "Wang, Chen ", "contributors": [], From f1603342942a7321af0607fb0af8c4339c11fcbb Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 11 Oct 2023 13:00:49 -0500 Subject: [PATCH 3/7] add capability of network analysis extractor to write to subfolder --- network_analysis_extractor/SmmExtractor.py | 5 ++++- network_analysis_extractor/requirement.txt | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/network_analysis_extractor/SmmExtractor.py b/network_analysis_extractor/SmmExtractor.py index d40e9e8..0af20da 100644 --- a/network_analysis_extractor/SmmExtractor.py +++ b/network_analysis_extractor/SmmExtractor.py @@ -83,7 +83,7 @@ def save_local_output(localSavePath, fname, output_data): # TODO wrap this into method on pyclowder def create_output_folder(dataset_id, host, secret_key): - url = posixpath.join(host, f'api/datasets/{dataset_id}/folders') + url = posixpath.join(host, f'api/v2/datasets/{dataset_id}/folders') headers = {"Content-Type": "application/json", "X-API-KEY": secret_key} current_timestamp = datetime.now().strftime("%Y%m%d%H%M%S") @@ -128,7 +128,10 @@ def process_message(self, connector, host, secret_key, resource, parameters): # Create folder to save output clowder_version = int(os.getenv('CLOWDER_VERSION', '1')) if clowder_version == 2: + connector.message_process(resource, "Creating output folder...") folder_id = create_output_folder(dataset_id, host, secret_key) + if folder_id is not None: + connector.message_process(resource, f"folder id: {folder_id} created ...") else: folder_id = None for fname, output_data in output.items(): diff --git a/network_analysis_extractor/requirement.txt b/network_analysis_extractor/requirement.txt index 3fd393e..7c54c75 100644 --- a/network_analysis_extractor/requirement.txt +++ b/network_analysis_extractor/requirement.txt @@ -1 +1 @@ -pyclowder==3.0.6 +pyclowder==3.0.7 From 4091ed6866cf824747977100440d0c9f60cdceac Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 11 Oct 2023 13:29:51 -0500 Subject: [PATCH 4/7] update changelog --- .../CHANGELOG.md | 13 ++++++-- .../SmmExtractor.py | 33 +++++++++++++++++-- .../requirement.txt | 3 +- preprocessing_extractor/CHANGELOG.md | 15 +++++++-- preprocessing_extractor/SmmExtractor.py | 33 +++++++++++++++++-- preprocessing_extractor/requirement.txt | 2 +- requirement.txt | 2 +- sentiment_analysis_extractor/CHANGELOG.md | 13 ++++++-- sentiment_analysis_extractor/SmmExtractor.py | 33 +++++++++++++++++-- sentiment_analysis_extractor/requirement.txt | 2 +- topic_modeling_extractor/CHANGELOG.md | 14 ++++++-- topic_modeling_extractor/SmmExtractor.py | 33 +++++++++++++++++-- topic_modeling_extractor/requirement.txt | 2 +- 13 files changed, 168 insertions(+), 30 deletions(-) diff --git a/name_entity_recognition_extractor/CHANGELOG.md b/name_entity_recognition_extractor/CHANGELOG.md index 332c0e2..34ff6ad 100644 --- a/name_entity_recognition_extractor/CHANGELOG.md +++ b/name_entity_recognition_extractor/CHANGELOG.md @@ -4,13 +4,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.1.0] - 03-15-2023 -### Added -- Initial release of the name entity recognition extractor +## [Unrelease] + +### Added +- Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) ## [0.1.1] - 10-03-2023 ### Changed - Support Clowder V2 [#1](https://github.com/clowder-framework/smm-extractor/issues/1) + + +## [0.1.0] - 03-15-2023 + +### Added +- Initial release of the name entity recognition extractor diff --git a/name_entity_recognition_extractor/SmmExtractor.py b/name_entity_recognition_extractor/SmmExtractor.py index d79adf2..0af20da 100644 --- a/name_entity_recognition_extractor/SmmExtractor.py +++ b/name_entity_recognition_extractor/SmmExtractor.py @@ -1,19 +1,22 @@ #!/usr/bin/env python """Example extractor based on the clowder code.""" +import posixpath + import pandas as pd import json import os import csv import types import pickle +from datetime import datetime import logging from pyclowder.extractors import Extractor import pyclowder.files from algorithm import algorithm - +import requests def save_local_output(localSavePath, fname, output_data): """ @@ -78,6 +81,21 @@ def save_local_output(localSavePath, fname, output_data): return os.path.join(localSavePath, fname) +# TODO wrap this into method on pyclowder +def create_output_folder(dataset_id, host, secret_key): + url = posixpath.join(host, f'api/v2/datasets/{dataset_id}/folders') + headers = {"Content-Type": "application/json", + "X-API-KEY": secret_key} + current_timestamp = datetime.now().strftime("%Y%m%d%H%M%S") + folder_data = {"name": current_timestamp} + response = requests.post(url, json=folder_data, headers=headers) + if response.status_code == 200: + return response.json().get("id") + else: + print(f"Error creating folder: {response.status_code} {response.text}") + return None + + class SmmExtractor(Extractor): """Count the number of characters, words and lines in a text file.""" def __init__(self): @@ -107,13 +125,22 @@ def process_message(self, connector, host, secret_key, resource, parameters): output = algorithm(df, userParams) connector.message_process(resource, "Running the algorithm...") - # upload object to s3 bucket and return the url + # Create folder to save output + clowder_version = int(os.getenv('CLOWDER_VERSION', '1')) + if clowder_version == 2: + connector.message_process(resource, "Creating output folder...") + folder_id = create_output_folder(dataset_id, host, secret_key) + if folder_id is not None: + connector.message_process(resource, f"folder id: {folder_id} created ...") + else: + folder_id = None for fname, output_data in output.items(): if fname != 'uid': local_output_path = save_local_output("", fname, output_data) connector.message_process(resource, "Saving " + local_output_path + "...") uploaded_file_id = pyclowder.files.upload_to_dataset(connector, host, secret_key, dataset_id, - local_output_path) + local_output_path, + folder_id=folder_id) connector.message_process(resource, local_output_path + " saved...") connector.message_process(resource, "Writing metadata...") diff --git a/name_entity_recognition_extractor/requirement.txt b/name_entity_recognition_extractor/requirement.txt index 74e79f5..7c54c75 100644 --- a/name_entity_recognition_extractor/requirement.txt +++ b/name_entity_recognition_extractor/requirement.txt @@ -1,2 +1 @@ -pyclowder==3.0.4 - +pyclowder==3.0.7 diff --git a/preprocessing_extractor/CHANGELOG.md b/preprocessing_extractor/CHANGELOG.md index bb99d11..9f65f62 100644 --- a/preprocessing_extractor/CHANGELOG.md +++ b/preprocessing_extractor/CHANGELOG.md @@ -4,13 +4,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.1.0] - 03-15-2023 -### Added -- Initial release of the preprocessing extractor +## [Unrelease] + +### Added +- Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) ## [0.1.1] - 10-03-2023 ### Changed - Support Clowder V2 [#1](https://github.com/clowder-framework/smm-extractor/issues/1) + + +## [0.1.0] - 03-15-2023 + +### Added +- Initial release of the preprocessing extractor + + diff --git a/preprocessing_extractor/SmmExtractor.py b/preprocessing_extractor/SmmExtractor.py index d79adf2..0af20da 100644 --- a/preprocessing_extractor/SmmExtractor.py +++ b/preprocessing_extractor/SmmExtractor.py @@ -1,19 +1,22 @@ #!/usr/bin/env python """Example extractor based on the clowder code.""" +import posixpath + import pandas as pd import json import os import csv import types import pickle +from datetime import datetime import logging from pyclowder.extractors import Extractor import pyclowder.files from algorithm import algorithm - +import requests def save_local_output(localSavePath, fname, output_data): """ @@ -78,6 +81,21 @@ def save_local_output(localSavePath, fname, output_data): return os.path.join(localSavePath, fname) +# TODO wrap this into method on pyclowder +def create_output_folder(dataset_id, host, secret_key): + url = posixpath.join(host, f'api/v2/datasets/{dataset_id}/folders') + headers = {"Content-Type": "application/json", + "X-API-KEY": secret_key} + current_timestamp = datetime.now().strftime("%Y%m%d%H%M%S") + folder_data = {"name": current_timestamp} + response = requests.post(url, json=folder_data, headers=headers) + if response.status_code == 200: + return response.json().get("id") + else: + print(f"Error creating folder: {response.status_code} {response.text}") + return None + + class SmmExtractor(Extractor): """Count the number of characters, words and lines in a text file.""" def __init__(self): @@ -107,13 +125,22 @@ def process_message(self, connector, host, secret_key, resource, parameters): output = algorithm(df, userParams) connector.message_process(resource, "Running the algorithm...") - # upload object to s3 bucket and return the url + # Create folder to save output + clowder_version = int(os.getenv('CLOWDER_VERSION', '1')) + if clowder_version == 2: + connector.message_process(resource, "Creating output folder...") + folder_id = create_output_folder(dataset_id, host, secret_key) + if folder_id is not None: + connector.message_process(resource, f"folder id: {folder_id} created ...") + else: + folder_id = None for fname, output_data in output.items(): if fname != 'uid': local_output_path = save_local_output("", fname, output_data) connector.message_process(resource, "Saving " + local_output_path + "...") uploaded_file_id = pyclowder.files.upload_to_dataset(connector, host, secret_key, dataset_id, - local_output_path) + local_output_path, + folder_id=folder_id) connector.message_process(resource, local_output_path + " saved...") connector.message_process(resource, "Writing metadata...") diff --git a/preprocessing_extractor/requirement.txt b/preprocessing_extractor/requirement.txt index d5f92cd..7c54c75 100644 --- a/preprocessing_extractor/requirement.txt +++ b/preprocessing_extractor/requirement.txt @@ -1 +1 @@ -pyclowder==3.0.4 +pyclowder==3.0.7 diff --git a/requirement.txt b/requirement.txt index d5f92cd..7c54c75 100644 --- a/requirement.txt +++ b/requirement.txt @@ -1 +1 @@ -pyclowder==3.0.4 +pyclowder==3.0.7 diff --git a/sentiment_analysis_extractor/CHANGELOG.md b/sentiment_analysis_extractor/CHANGELOG.md index 6e5dad4..be3dd59 100644 --- a/sentiment_analysis_extractor/CHANGELOG.md +++ b/sentiment_analysis_extractor/CHANGELOG.md @@ -4,13 +4,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.1.0] - 03-15-2023 -### Added -- Initial release of the sentiment analysis extractor +## [Unrelease] + +### Added +- Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) ## [0.1.1] - 10-03-2023 ### Changed - Support Clowder V2 [#1](https://github.com/clowder-framework/smm-extractor/issues/1) + + +## [0.1.0] - 03-15-2023 + +### Added +- Initial release of the sentiment analysis extractor diff --git a/sentiment_analysis_extractor/SmmExtractor.py b/sentiment_analysis_extractor/SmmExtractor.py index d79adf2..0af20da 100644 --- a/sentiment_analysis_extractor/SmmExtractor.py +++ b/sentiment_analysis_extractor/SmmExtractor.py @@ -1,19 +1,22 @@ #!/usr/bin/env python """Example extractor based on the clowder code.""" +import posixpath + import pandas as pd import json import os import csv import types import pickle +from datetime import datetime import logging from pyclowder.extractors import Extractor import pyclowder.files from algorithm import algorithm - +import requests def save_local_output(localSavePath, fname, output_data): """ @@ -78,6 +81,21 @@ def save_local_output(localSavePath, fname, output_data): return os.path.join(localSavePath, fname) +# TODO wrap this into method on pyclowder +def create_output_folder(dataset_id, host, secret_key): + url = posixpath.join(host, f'api/v2/datasets/{dataset_id}/folders') + headers = {"Content-Type": "application/json", + "X-API-KEY": secret_key} + current_timestamp = datetime.now().strftime("%Y%m%d%H%M%S") + folder_data = {"name": current_timestamp} + response = requests.post(url, json=folder_data, headers=headers) + if response.status_code == 200: + return response.json().get("id") + else: + print(f"Error creating folder: {response.status_code} {response.text}") + return None + + class SmmExtractor(Extractor): """Count the number of characters, words and lines in a text file.""" def __init__(self): @@ -107,13 +125,22 @@ def process_message(self, connector, host, secret_key, resource, parameters): output = algorithm(df, userParams) connector.message_process(resource, "Running the algorithm...") - # upload object to s3 bucket and return the url + # Create folder to save output + clowder_version = int(os.getenv('CLOWDER_VERSION', '1')) + if clowder_version == 2: + connector.message_process(resource, "Creating output folder...") + folder_id = create_output_folder(dataset_id, host, secret_key) + if folder_id is not None: + connector.message_process(resource, f"folder id: {folder_id} created ...") + else: + folder_id = None for fname, output_data in output.items(): if fname != 'uid': local_output_path = save_local_output("", fname, output_data) connector.message_process(resource, "Saving " + local_output_path + "...") uploaded_file_id = pyclowder.files.upload_to_dataset(connector, host, secret_key, dataset_id, - local_output_path) + local_output_path, + folder_id=folder_id) connector.message_process(resource, local_output_path + " saved...") connector.message_process(resource, "Writing metadata...") diff --git a/sentiment_analysis_extractor/requirement.txt b/sentiment_analysis_extractor/requirement.txt index d5f92cd..7c54c75 100644 --- a/sentiment_analysis_extractor/requirement.txt +++ b/sentiment_analysis_extractor/requirement.txt @@ -1 +1 @@ -pyclowder==3.0.4 +pyclowder==3.0.7 diff --git a/topic_modeling_extractor/CHANGELOG.md b/topic_modeling_extractor/CHANGELOG.md index 0bccccd..a7d122c 100644 --- a/topic_modeling_extractor/CHANGELOG.md +++ b/topic_modeling_extractor/CHANGELOG.md @@ -4,13 +4,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.1.0] - 03-15-2023 -### Added -- Initial release of the topic modeling extractor +## [Unrelease] + +### Added +- Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) ## [0.1.1] - 10-03-2023 ### Changed - Support Clowder V2 [#1](https://github.com/clowder-framework/smm-extractor/issues/1) + + +## [0.1.0] - 03-15-2023 + +### Added +- Initial release of the topic modeling extractor + diff --git a/topic_modeling_extractor/SmmExtractor.py b/topic_modeling_extractor/SmmExtractor.py index d79adf2..0af20da 100644 --- a/topic_modeling_extractor/SmmExtractor.py +++ b/topic_modeling_extractor/SmmExtractor.py @@ -1,19 +1,22 @@ #!/usr/bin/env python """Example extractor based on the clowder code.""" +import posixpath + import pandas as pd import json import os import csv import types import pickle +from datetime import datetime import logging from pyclowder.extractors import Extractor import pyclowder.files from algorithm import algorithm - +import requests def save_local_output(localSavePath, fname, output_data): """ @@ -78,6 +81,21 @@ def save_local_output(localSavePath, fname, output_data): return os.path.join(localSavePath, fname) +# TODO wrap this into method on pyclowder +def create_output_folder(dataset_id, host, secret_key): + url = posixpath.join(host, f'api/v2/datasets/{dataset_id}/folders') + headers = {"Content-Type": "application/json", + "X-API-KEY": secret_key} + current_timestamp = datetime.now().strftime("%Y%m%d%H%M%S") + folder_data = {"name": current_timestamp} + response = requests.post(url, json=folder_data, headers=headers) + if response.status_code == 200: + return response.json().get("id") + else: + print(f"Error creating folder: {response.status_code} {response.text}") + return None + + class SmmExtractor(Extractor): """Count the number of characters, words and lines in a text file.""" def __init__(self): @@ -107,13 +125,22 @@ def process_message(self, connector, host, secret_key, resource, parameters): output = algorithm(df, userParams) connector.message_process(resource, "Running the algorithm...") - # upload object to s3 bucket and return the url + # Create folder to save output + clowder_version = int(os.getenv('CLOWDER_VERSION', '1')) + if clowder_version == 2: + connector.message_process(resource, "Creating output folder...") + folder_id = create_output_folder(dataset_id, host, secret_key) + if folder_id is not None: + connector.message_process(resource, f"folder id: {folder_id} created ...") + else: + folder_id = None for fname, output_data in output.items(): if fname != 'uid': local_output_path = save_local_output("", fname, output_data) connector.message_process(resource, "Saving " + local_output_path + "...") uploaded_file_id = pyclowder.files.upload_to_dataset(connector, host, secret_key, dataset_id, - local_output_path) + local_output_path, + folder_id=folder_id) connector.message_process(resource, local_output_path + " saved...") connector.message_process(resource, "Writing metadata...") diff --git a/topic_modeling_extractor/requirement.txt b/topic_modeling_extractor/requirement.txt index d5f92cd..7c54c75 100644 --- a/topic_modeling_extractor/requirement.txt +++ b/topic_modeling_extractor/requirement.txt @@ -1 +1 @@ -pyclowder==3.0.4 +pyclowder==3.0.7 From fa3e94be2f4521f08a5ffccf230989e296be5187 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 11 Oct 2023 13:31:20 -0500 Subject: [PATCH 5/7] changelog --- name_entity_recognition_extractor/CHANGELOG.md | 2 +- network_analysis_extractor/CHANGELOG.md | 3 ++- preprocessing_extractor/CHANGELOG.md | 2 +- sentiment_analysis_extractor/CHANGELOG.md | 2 +- topic_modeling_extractor/CHANGELOG.md | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/name_entity_recognition_extractor/CHANGELOG.md b/name_entity_recognition_extractor/CHANGELOG.md index 34ff6ad..83fb175 100644 --- a/name_entity_recognition_extractor/CHANGELOG.md +++ b/name_entity_recognition_extractor/CHANGELOG.md @@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unrelease] +## [0.1.2] - 10-11-2023 ### Added - Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) diff --git a/network_analysis_extractor/CHANGELOG.md b/network_analysis_extractor/CHANGELOG.md index 06c9107..399cccc 100644 --- a/network_analysis_extractor/CHANGELOG.md +++ b/network_analysis_extractor/CHANGELOG.md @@ -4,7 +4,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unrelease] + +## [0.1.2] - 10-11-2023 ### Added - Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) diff --git a/preprocessing_extractor/CHANGELOG.md b/preprocessing_extractor/CHANGELOG.md index 9f65f62..2b32d99 100644 --- a/preprocessing_extractor/CHANGELOG.md +++ b/preprocessing_extractor/CHANGELOG.md @@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unrelease] +## [0.1.2] - 10-11-2023 ### Added - Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) diff --git a/sentiment_analysis_extractor/CHANGELOG.md b/sentiment_analysis_extractor/CHANGELOG.md index be3dd59..ce6a7ee 100644 --- a/sentiment_analysis_extractor/CHANGELOG.md +++ b/sentiment_analysis_extractor/CHANGELOG.md @@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unrelease] +## [0.1.2] - 10-11-2023 ### Added - Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) diff --git a/topic_modeling_extractor/CHANGELOG.md b/topic_modeling_extractor/CHANGELOG.md index a7d122c..dc9ab71 100644 --- a/topic_modeling_extractor/CHANGELOG.md +++ b/topic_modeling_extractor/CHANGELOG.md @@ -5,7 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unrelease] +## [0.1.2] - 10-11-2023 ### Added - Organize output data to folder [#4](https://github.com/clowder-framework/smm-extractor/issues/4) From f1c850bc7ee2efea1a6948d5f112c172fe92a892 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 11 Oct 2023 13:35:07 -0500 Subject: [PATCH 6/7] update extractor version --- name_entity_recognition_extractor/extractor_info.json | 2 +- preprocessing_extractor/extractor_info.json | 2 +- sentiment_analysis_extractor/extractor_info.json | 2 +- topic_modeling_extractor/extractor_info.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/name_entity_recognition_extractor/extractor_info.json b/name_entity_recognition_extractor/extractor_info.json index b700c56..ddb3e0b 100644 --- a/name_entity_recognition_extractor/extractor_info.json +++ b/name_entity_recognition_extractor/extractor_info.json @@ -1,7 +1,7 @@ { "@context": "http://clowder.ncsa.illinois.edu/contexts/extractors.jsonld", "name": "smm.name.entity.recognition", - "version": "0.1.1", + "version": "0.1.2", "description": "Named-entity recognition (NER) (also known as entity identification, entity chunking and entity extraction) is a subtask of information extraction that seeks to locate and classify named entity mentions in unstructured text into pre-defined categories such as the person names, organizations, locations, medical codes, time expressions, quantities, monetary values, percentages, etc.", "author": "Wang, Chen ", "contributors": [], diff --git a/preprocessing_extractor/extractor_info.json b/preprocessing_extractor/extractor_info.json index fd3e33b..d64e8cc 100644 --- a/preprocessing_extractor/extractor_info.json +++ b/preprocessing_extractor/extractor_info.json @@ -1,7 +1,7 @@ { "@context": "http://clowder.ncsa.illinois.edu/contexts/extractors.jsonld", "name": "smm.preprocessing.analysis", - "version": "0.1.1", + "version": "0.1.2", "description": "Tokenization is the process of dividing written text into meaningful units, such as words, sentences , or topics. Lemmatization and Stemming reduces word forms to common base words. Part-of-speech Tagging is the process of marking up a word in a text (corpus) as corresponding to a particular part of speech, based on both its definition and its context.", "author": "Wang, Chen ", "contributors": [], diff --git a/sentiment_analysis_extractor/extractor_info.json b/sentiment_analysis_extractor/extractor_info.json index 174a1fd..e2eeef5 100644 --- a/sentiment_analysis_extractor/extractor_info.json +++ b/sentiment_analysis_extractor/extractor_info.json @@ -1,7 +1,7 @@ { "@context": "http://clowder.ncsa.illinois.edu/contexts/extractors.jsonld", "name": "smm.sentiment.analysis", - "version": "0.1.1", + "version": "0.1.2", "description": "Sentiment analysis (sometimes known as opinion mining or emotion AI) refers to the use of natural language processing, text analysis, computational linguistics, and biometrics to systematically identify, extract, quantify, and study affective states and subjective information.", "author": "Wang, Chen ", "contributors": [], diff --git a/topic_modeling_extractor/extractor_info.json b/topic_modeling_extractor/extractor_info.json index 40532d0..8bb206c 100644 --- a/topic_modeling_extractor/extractor_info.json +++ b/topic_modeling_extractor/extractor_info.json @@ -1,7 +1,7 @@ { "@context": "http://clowder.ncsa.illinois.edu/contexts/extractors.jsonld", "name": "smm.topic.modeling", - "version": "0.1.1", + "version": "0.1.2", "description": "One of the primary applications of natural language processing is to automatically extract what topics people are discussing from large volumes of text. Topic modeling is a type of statistical modeling for discovering the abstract topics that occur in a collection of documents. Latent Dirichlet Allocation (LDA) is an example of topic model and is used to classify text in a document to a particular topic. It builds a topic per document model and words per topic model, modeled as Dirichlet distributions.", "author": "Wang, Chen ", "contributors": [], From b8f2b7b7c9376ba8189526636dec6e8e08cdc75b Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Thu, 12 Oct 2023 10:54:14 -0500 Subject: [PATCH 7/7] remove the root level requirement.txt --- requirement.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 requirement.txt diff --git a/requirement.txt b/requirement.txt deleted file mode 100644 index 7c54c75..0000000 --- a/requirement.txt +++ /dev/null @@ -1 +0,0 @@ -pyclowder==3.0.7