Skip to main content

Observe PoI text data from the various sources, segment it and then inform about it

Project description

Obsei: OBserve, SEgment and Inform

CI License PyPI - Python Version Release Downloads Docker Pulls Last commit

Note: There are major breaking changes are on the way. Please use released version instead of master branch. To track progress of next release refer Release Progress.

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! :slightly_smiling_face:)

Release Progress

Following releases are on the way -

  • v0.0.5: Documentation focused release
  • v0.1.0: DAG support, CI improvements and few more (suggestions are welcome)

Installation

To use as SDK

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 .

To update your installation, just do a git pull. The --editable flag will update changes immediately.

To use as Rest interface

Start docker with default configuration file:

docker run -d --name obesi -p 9898:9898 lalitpagaria/obsei:latest

Start docker with custom configuration file (Assuming you have configfile config.yaml at /home/user/obsei/config at host machine):

docker run -d --name obesi -v "/home/user/obsei/config:/home/user/config" -e "OBSEI_CONFIG_PATH=/home/user/config" -e "OBSEI_CONFIG_FILENAME=config.yaml" -p 9898:9898 lalitpagaria/obsei:latest

Start docker locally with docker-compose:

docker-compose up --build

Following environment variables are useful to customize various parameters -

  • OBSEI_CONFIG_PATH: Configuration file path (default: ../config)
  • OBSEI_CONFIG_FILENAME: Configuration file name (default: rest.yaml)
  • OBSEI_NUM_OF_WORKERS: Number of workers for rest API server (default: 1)
  • OBSEI_WORKER_TIMEOUT: Worker idle timeout in seconds (default: 180)
  • OBSEI_SERVER_PORT: Rest API server port (default: 9898)
  • OBSEI_WORKER_TYPE: Gunicorn worker type (default: uvicorn.workers.UvicornWorker)

Use cases

Obsei use cases are following, but not limited to -

  • Automatic customer issue ticketing based on sentiment analysis
  • Proper tagging of ticket like login issue, signup issue, delivery issue etc for faster disposal
  • Checking effectiveness of social media marketing campaign
  • Extraction of deeper insight from feedbacks on various platforms
  • Research purpose

Components and Integrations

  • Source/Observer: Twitter, Play Store Reviews, Apple App Store Reviews (Facebook, Instagram, Google reviews, Amazon reviews, Slack, Microsoft Team, Chat-bots etc planned in future)
  • Analyzer/Segmenter: Sentiment and Text classification (QA, Natural Search, FAQ, Summarization etc planned in future)
  • Sink/Informer: HTTP API, ElasticSearch, DailyGet, and Jira (Salesforce, Zendesk, Hubspot, Slack, Microsoft Team, etc planned in future)
  • Processor/WorkflowEngine: Simple integration between Source, Analyser and Sink (Rich workflows using rule engine planned in future)
  • Convertor: Very important part, which convert data from analyzer format to the format sink understand. It is very helpful in any customizations, refer dailyget_sink.py and jira_sink.py.

Note: In order to use some integrations you would need credentials, refer following list -

Examples and Screenshots

Refer example and config folders for obsei usage and configurations.

Jira

Attribution

This could not have been possible without following open source software -

Contribution

Currently, we are not accepting any pull requests. If you want a feature or something doesn't work, please create an issue.

Changelog

Refer releases and projects.

Citing Obsei

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}
}

Acknowledgement

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.

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

obsei-0.0.4.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

obsei-0.0.4-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file obsei-0.0.4.tar.gz.

File metadata

  • Download URL: obsei-0.0.4.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for obsei-0.0.4.tar.gz
Algorithm Hash digest
SHA256 24a66964d4848bf0d6b0cc919b21d9aaddc3de93cada0bdcd8bf6b85c453864a
MD5 9d6e05dad48b036d525b21d13b5f0a4b
BLAKE2b-256 e5b327a0670caee9a3aa8b8748da509e76a852e6f96edeac91716df33ceb8ea8

See more details on using hashes here.

File details

Details for the file obsei-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: obsei-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for obsei-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7c475cd726aec9c0105202778a8ece108716798e0253b5c0541b11af9ea933c7
MD5 d6820943364bc57a51b1d6e03007830f
BLAKE2b-256 e3a906907542c4f711b42bcd42312e5aec094b6ac198ef791de7869eff42da2d

See more details on using hashes here.

Supported by

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