![]() |
---|
Obsei is intended to be a workflow automation tool for text segmentation need. Obsei consist of -
- Observer, observes platform like Twitter, Facebook, App Stores, Google reviews, Amazon reviews and feed that information to,
- Segmenter, which perform text classification and sentiment analysis and feed that information to,
- Informer, which send it to ticketing system, data store or other places for further action and analysis.
Current flow -
A future concept (Coming Soon! 🙂)
For detailed installation instructions, usages and example refer documentation.
To try in Colab Notebook click:
Expend following steps and create your workflow -
Step 2: Install Obsei
Install via PyPi:
pip install obsei
Install from master branch (if you want to try the latest features):
git clone https://github.com/lalitpagaria/obsei.git
cd obsei
pip install --editable .
Step 3: Configure Source/Observer
Step 4: Configure Analyzer/Segmenter
Note: To run transformers in an offline mode, check transformers offline mode.
Step 5: Configure Sink/Informer
Step 6: Join and create workflow
source
will fetch data from selected the source, then feed that to analyzer
for processing, whose output we feed into sink
to get notified at that sink.
# Uncomment if you want logger
# import logging
# import sys
# logger = logging.getLogger(__name__)
# logging.basicConfig(stream=sys.stdout, level=logging.INFO)
# This will fetch information from configured source ie twitter, app store etc
source_response_list = source.lookup(source_config)
# Uncomment if you want to log source response
# for idx, source_response in enumerate(source_response_list):
# logger.info(f"source_response#'{idx}'='{source_response.__dict__}'")
# This will execute analyzer (Sentiment, classification etc) on source data with provided analyzer_config
analyzer_response_list = text_analyzer.analyze_input(
source_response_list=source_response_list,
analyzer_config=analyzer_config
)
# Uncomment if you want to log analyzer response
# for idx, an_response in enumerate(analyzer_response_list):
# logger.info(f"analyzer_response#'{idx}'='{an_response.__dict__}'")
# This will send analyzed output to configure sink ie Slack, Zendesk etc
sink_response_list = sink.send_data(analyzer_response_list, sink_config)
# Uncomment if you want to log sink response
# for sink_response in sink_response_list:
# if sink_response is not None:
# logger.info(f"sink_response='{sink_response}'")
Step 7: Execute workflow
Copy code snippets from Step 3 to Step 6 into python file for exampleexample.py
and execute following command -
python example.py
Upcoming release plan and progress can be tracked at link (Suggestions are welcome).
Discussion about Obsei can be done at community forum
Obsei use cases are following, but not limited to -
- Automatic customer issue creation based on sentiment analysis (reduction of MTTD)
- Proper tagging of ticket based for example login issue, signup issue, delivery issue etc (reduction of MTTR)
- Checking effectiveness of social media marketing campaign
- Extraction of deeper insight from feedbacks on various platforms
- Research purpose
Refer link for attribution.
As project is in very early stage, so we are not accepting any pull requests. First we want to shape the project with community's active suggestion and feedback. If you want a feature or something doesn't work, please create an issue.
For any security issue please contact us via email
If you use obsei
in your research please use the following BibTeX entry:
@Misc{Pagaria2020Obsei,
author = {Lalit Pagaria},
title = {Obsei - A workflow automation tool for text segmentation need},
howpublished = {Github},
year = {2020},
url = {https://github.com/lalitpagaria/obsei}
}
We would like to thank DailyGet for continuous support and encouragement. Please check DailyGet out. it is a platform which can easily be configured to solve any business process automation requirements.