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

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

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 (Facebook, Instagram, Google reviews, Amazon reviews, App Store 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.

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.3.tar.gz (27.1 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.3-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: obsei-0.0.3.tar.gz
  • Upload date:
  • Size: 27.1 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.55.0 CPython/3.7.9

File hashes

Hashes for obsei-0.0.3.tar.gz
Algorithm Hash digest
SHA256 5199194841695abcdc729763a1840caee526d46500e302b65703a6cca04e9610
MD5 932226dfd6b60be99a295c529c617dd5
BLAKE2b-256 4aa9df7e97da2d3af07d0431ae6f4a5713d909ea995984e97c6f120cc7a24a17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: obsei-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 29.5 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.55.0 CPython/3.7.9

File hashes

Hashes for obsei-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 64c9c1e81b91d257366e70be6c408128ee01a663001e97595494d0afbe7199cc
MD5 ef325e1bd72f9907857123e8353c579c
BLAKE2b-256 26f9de2eba14f9c12dd7d963f06947f55190faf1f37a1639e0a1d4f994a936b6

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