All Projects → 10up → Classifai

10up / Classifai

Licence: gpl-2.0
Enhance your WordPress content with Artificial Intelligence and Machine Learning services.

Projects that are alternatives of or similar to Classifai

Pycm
Multi-class confusion matrix library in Python
Stars: ✭ 1,076 (+472.34%)
Mutual labels:  artificial-intelligence, ai, classification, ml
Awesome Ai Ml Dl
Awesome Artificial Intelligence, Machine Learning and Deep Learning as we learn it. Study notes and a curated list of awesome resources of such topics.
Stars: ✭ 831 (+342.02%)
Mutual labels:  artificial-intelligence, ai, ml
Hyperparameter hunter
Easy hyperparameter optimization and automatic result saving across machine learning algorithms and libraries
Stars: ✭ 648 (+244.68%)
Mutual labels:  artificial-intelligence, ai, ml
Pragmaticai
[Book-2019] Pragmatic AI: An Introduction to Cloud-based Machine Learning
Stars: ✭ 79 (-57.98%)
Mutual labels:  ai, azure, ml
Kglib
Grakn Knowledge Graph Library (ML R&D)
Stars: ✭ 405 (+115.43%)
Mutual labels:  artificial-intelligence, ai, ml
Xai
XAI - An eXplainability toolbox for machine learning
Stars: ✭ 596 (+217.02%)
Mutual labels:  artificial-intelligence, ai, ml
Caffe2
Caffe2 is a lightweight, modular, and scalable deep learning framework.
Stars: ✭ 8,409 (+4372.87%)
Mutual labels:  artificial-intelligence, ai, ml
Polyaxon
Machine Learning Platform for Kubernetes (MLOps tools for experimentation and automation)
Stars: ✭ 2,966 (+1477.66%)
Mutual labels:  artificial-intelligence, ai, ml
Happy Transformer
A package built on top of Hugging Face's transformer library that makes it easy to utilize state-of-the-art NLP models
Stars: ✭ 97 (-48.4%)
Mutual labels:  artificial-intelligence, ai, classification
Modelchimp
Experiment tracking for machine and deep learning projects
Stars: ✭ 121 (-35.64%)
Mutual labels:  artificial-intelligence, ai, ml
Image classifier
CNN image classifier implemented in Keras Notebook 🖼️.
Stars: ✭ 139 (-26.06%)
Mutual labels:  artificial-intelligence, ai, ml
Csinva.github.io
Slides, paper notes, class notes, blog posts, and research on ML 📉, statistics 📊, and AI 🤖.
Stars: ✭ 342 (+81.91%)
Mutual labels:  artificial-intelligence, ai, ml
Clai
Command Line Artificial Intelligence or CLAI is an open-sourced project from IBM Research aimed to bring the power of AI to the command line interface.
Stars: ✭ 320 (+70.21%)
Mutual labels:  artificial-intelligence, ai, ml
Ffdl
Fabric for Deep Learning (FfDL, pronounced fiddle) is a Deep Learning Platform offering TensorFlow, Caffe, PyTorch etc. as a Service on Kubernetes
Stars: ✭ 640 (+240.43%)
Mutual labels:  artificial-intelligence, ai, ml
0xdeca10b
Sharing Updatable Models (SUM) on Blockchain
Stars: ✭ 285 (+51.6%)
Mutual labels:  artificial-intelligence, ai, ml
Datasciencevm
Tools and Docs on the Azure Data Science Virtual Machine (http://aka.ms/dsvm)
Stars: ✭ 153 (-18.62%)
Mutual labels:  ai, azure, ml
support-tickets-classification
This case study shows how to create a model for text analysis and classification and deploy it as a web service in Azure cloud in order to automatically classify support tickets. This project is a proof of concept made by Microsoft (Commercial Software Engineering team) in collaboration with Endava http://endava.com/en
Stars: ✭ 142 (-24.47%)
Mutual labels:  azure, ml, classification
Atlas
An Open Source, Self-Hosted Platform For Applied Deep Learning Development
Stars: ✭ 259 (+37.77%)
Mutual labels:  artificial-intelligence, ai, ml
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+575.53%)
Mutual labels:  artificial-intelligence, ai, classification
Nlpaug
Data augmentation for NLP
Stars: ✭ 2,761 (+1368.62%)
Mutual labels:  artificial-intelligence, ai, ml

ClassifAI

Enhance your WordPress content with Artificial Intelligence and Machine Learning services.

Support Level Build Status Release Version WordPress tested up to version GPLv2 License

Table of Contents

Features

Language Processing - Tagging Image Processing - Alt Text Image Processing - Smart Cropping Image Processing - Tagging
Screenshot of ClassifAI post tagging Screenshot of ClassifAI alt-text Screenshot of ClassifAI smart coppring Screenshot of ClassifAI image tagging

Requirements

  • PHP 7.0+
  • WordPress 5.0+
  • To utilize the Language Processing functionality, you will need an active IBM Watson account.
  • To utilize the Image Processing functionality, you will need an active Microsoft Azure account.

Pricing

Note that there is no cost to using ClassifAI and that both IBM Watson and Microsoft Azure have free plans for their AI services, but that above those free plans there are paid levels as well. So if you expect to process a high volume of content, then you'll want to review the pricing plans for these services to understand if you'll incur any costs. For the most part, both services' free plans are quite generous and should at least allow for testing ClassifAI to better understand its featureset and could at best allow for totally free usage.

The service that powers ClassifAI's Language Processing, IBM Watson's Natural Language Understanding ("NLU"), has a "lite" pricing tier that offers 30,000 free NLU items per month.

The service that powers ClassifAI's Image Processing, Microsoft Azure's Computer Vision, has a "free" pricing tier that offers 20 transactions per minute and 5,000 transactions per month.

Installation

1. Download or Clone this repo, install dependencies and build.

  • git clone https://github.com/10up/classifai.git && cd classifai
  • composer install && npm install && npm run build

2. Activate Plugin

Register ClassifAI account

ClassifAI is a sophisticated solution that we want organizations of all shapes and sizes to count on. To keep adopters apprised of major updates and beta testing opportunities, gather feedback, and prioritize common use cases, we're asking for a little bit of information in exchange for a free key. Your information will be kept confidential.

1. Register for a ClassifAI account

  • Register for a free ClassifAI account here.
  • Check for an email from ClassifAI Team which contains the registration key.
  • Note that the email will be sent from [email protected], so please whitelist this email address if needed.

2. Configure ClassifAI Registration Key under ClassifAI > ClassifAI

  • In the Registered Email field, enter the email you used for registration.
  • In the Registration Key field, enter the registration key from the email in step 1 above.

Screenshot of registration settings

Set Up Language Processing (via IBM Watson)

1. Sign up for Watson services

  • Register for an IBM Cloud account or sign into your existing one.
  • Check for an email from IBM Cloud and click the Confirm Account link.
  • Log into your account (accepting the privacy policy) and create a new Natural Language Understanding Resource if you do not already have one. It may take a minute for your account to fully populate with the default resource group to use.
  • Click Manage in the left hand menu, then Show credentials on the Manage page to view the credentials for this resource.

2. Configure IBM Watson API Keys under ClassifAI > Language Processing

The credentials screen will show either an API key or a username/password combination.

If your credentials contain an API Key, then:
  • In the API URL field enter the URL
  • Enter your API Key in the API Key field.
If your credentials contain a username and password, then:
  • In the API URL field enter the URL
  • Enter the username value into the API Username.
  • Enter the password into the API Key field.

3. Configure Post Types to classify and IBM Watson Features to enable under ClassifAI > Language Processing

  • Choose which public post types to classify when saved.
  • Choose whether to assign category, keyword, entity, and concept as well as the thresholds and taxonomies used for each.

4. Save a Post/Page/CPT or run WP CLI command to batch classify your content

Set Up Image Processing (via Microsoft Azure)

Note that Computer Vision can analyze and crop images that meet the following requirements:

  • The image must be presented in JPEG, PNG, GIF, or BMP format
  • The file size of the image must be less than 4 megabytes (MB)
  • The dimensions of the image must be greater than 50 x 50 pixels
  • The file must be externally accessible via URL (i.e. local sites and setups that block direct file access will not work out of the box)

1. Sign up for Azure services

  • Register for a Microsoft Azure account or sign into your existing one.
  • Log into your account and create a new Computer Vision Service if you do not already have one. It may take a minute for your account to fully populate with the default resource group to use.
  • Click Quick start in the left hand Resource Management menu to view the API endpoint credential for this resource in section 2b.
  • Click Keys in the left hand Resource Management menu to view the Key 1 credential for this resource.

2. Configure Microsoft Azure API and Key under ClassifAI > Image Processing

  • In the Endpoint URL field, enter your API endpoint.
  • In the API Key field, enter your Key 1.

3. Save Image to classify image

WP CLI Commands

Language Processing Commands

Batch Classify Posts

$ wp classifai post {post_ids} [--post_type=<post_type>] [--limit=<limit>] [--link=<link>]

Batch post classification using IBM Watson NLU API.

Options

{post_ids}

A comma delimited list of post IDs to classify. Used if post_type is false or absent.

default: true

--post_type=<post_type>

Batch classify posts belonging to this post type. If false or absent relies on post_ids.

default: false options:

  • any post type name
  • false, if args contains post_ids

--limit=<limit>

Limit classification to N posts.

default: false options:

  • false, no limit
  • N, max number of posts to classify

--link=<link>

Whether to link classification results to Taxonomy terms.

default: true

Classify Text

$ wp classifai text {text} [--category=<bool>] [--keyword=<bool>] [--concept=<bool>] [--entity=<bool>] [--input=<input>] [--only-normalize=<bool>]

Directly classify text using IBM Watson NLU API.

Options

--category=<bool>

Enables NLU category feature.

default: true

--keyword=<bool>

Enables NLU keyword feature.

default: true

--concept=<bool>

Enables NLU concept feature.

default: true

--entity=<bool>

Enables NLU entity feature.

default: true

--input=<input>

Path to input file or URL.

default: false options:

  • path to local file
  • path to remote URL
  • false, uses args[0] instead

--only-normalize=<bool>

Prints the normalized text that will be sent to the NLU API.

default: false

Image Processing Commands

Classify Attachments

$ wp classifai image {attachment_ids} [--limit=<int>] [--skip=<skip>] [--force]

Directly add description "alt text" and tags to attachment(s) using Azure AI Computer Vision API.

Options

{attachment_ids}

Comma delimeted list of Attachment IDs to classify.

--limit=<int>

Limit number of attachments to classify.

default: 100.

--skip=<skip>

Skip first N attachments.

default: false.

--force

Force classifying attachments regardless of their alt.

default: false.

Image Cropping

$ wp classifai crop {attachment_ids} [--limit=<limit>] [--skip=<skip>]

Batch crop image(s) using Azure AI Computer Vision API.

Options

{attachment_ids}

Comma delimeted list of Attachment IDs to crop.

--limit=<limit>

Limit number of images to crop.

default: 100.

--skip=<skip>

Skip first N images.

default: false.

ClassifAI Settings Commands

Basic Authentication

$ wp classifai auth

Prints the Basic Auth header based on credentials configured in the plugin.

Reset ClassifAI to Defaults

$ wp classifai reset

Restores the plugin configuration to factory defaults. Any API credentials will need to be re-entered after this is ran.

Frequently Asked Questions

What data does ClassifAI gather?

ClassifAI connects your WordPress site directly to your account with specific service provider(s) (e.g. Microsoft Azure AI, IBM Watson), so no data is gathered by 10up. The data gathered in our registration form is used simply to stay in touch with users so we can provide product updates and news. More information is available in the Privacy Policy on ClassifAIplugin.com.

What are the Categories, Keywords, Concepts, and Entities within the Language Processing feature?

Categories are five levels of hierarchies that IBM Watson can identify from your text. Keywords are specific terms from your text that IBM Watson is able to identify. Concepts are high-level concepts that are not necessarily directly referenced in your text. Entities are people, companies, locations, and classifications that are made by IBM Watson from your text.

How can I view the taxonomies that are generated from Language Processing?

Whatever options you have selected in the Category, Keyword, Entity, and Concept taxonomy dropdowns in the Language Processing settings can be viewed within Classic Editor metaboxes and the Block Editor side panel. They can also be viewed in the All Posts and All Pages table list views by utilizing the Screen Options to enable those columns if they're not already appearing in your table list view.

Support Level

Active: 10up is actively working on this, and we expect to continue work for the foreseeable future including keeping tested up to the most recent version of WordPress. Bug reports, feature requests, questions, and pull requests are welcome.

Changelog

A complete listing of all notable changes to ClassifAI are documented in CHANGELOG.md.

Contributing

Please read CODE_OF_CONDUCT.md for details on our code of conduct, CONTRIBUTING.md for details on the process for submitting pull requests to us, and CREDITS.md for a listing of maintainers, contributors, and libraries for ClassifAI.

Like what you see?

Work with us at 10up

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].