AlchemyAPI
This is a Ruby Client Library that provides access to the Alchemy text mining API. The current version targets the following API's:
- Author Extraction
- Combined Call
- Concept Tagging
- Emotion Analysis
- Entity Extraction
- Face Detection/Recognition
- Image Scene Text Extraction
- Image Tagging
- Keyword Extraction
- Language Detection
- Relation Extraction
- Sentiment Analysis
- Targeted Sentiment Analysis
- Taxonomy
- Text Categorization
- Text Extraction
- Title Extraction
Not yet implemented API's:
- Content Scraping
- Microformats
- RSS / ATOM
Installation
Add this line to your application's Gemfile:
gem 'alchemy-api-rb', :require => 'alchemy_api'
And then execute:
$ bundle
Or install it yourself as:
$ gem install alchemy-api-rb
Usage
You'll need to request an API Key.
Set your API Key in an initializer or something similar:
AlchemyAPI.key = "xxxxxxxxxxxxxxxxxx"
You may set the key along with other config settings:
AlchemyAPI.configure do |config|
config.apikey = "xxxxxxxxxxxxxxxxxx"
config.output_mode = :xml # not yet supported
end
Request keyword extraction for a string of text:
results = AlchemyAPI.search(:keyword_extraction, text: "hello world")
or
results = AlchemyAPI::KeywordExtraction.new.search(url: 'http://www.alchemyapi.com/')
or
results = AlchemyAPI::KeywordExtraction.new.search(html: "<html><body>lorem ipsum</body></html>")
Results for keyword extraction are returned as a array of keywords:
[
{
"text" => 'lorem ipsum',
"relevance" => "0.993164"
}
]
Testing
The specs are expecting your API Key as an environment variable named ALCHEMY_API_KEY
. You can export it locally or prepend the test command like so:
ALCHEMY_API_KEY="this-is-my-40-character-key" bundle exec rake test
If you would like to expirement with the API you can run the console
rake task and use the commands above to set the API Key issue search commands:
bundle exec rake console
TODO
- Add missing Alchmey API search modes
- Add support for raw output (JSON, XML and RDF)?
Contributing
alchemy-api-rb is work of several contributors. You're encouraged to submit pull requests, propose features and discuss issues.
See CONTRIBUTING.
License
MIT License. See LICENSE for details.