The OpenAmplify API reads text you supply and returns linguistic data explaining and classifying the content. What you do with that analysis is, in the fine tradition of APIs and mashups, up to you. Some possibilities might include pairing ads with articles, creating rich tag-clouds, or monitoring the tone of forum threads.
2.1
-
Overview: openamplify.com/quickstart
gem install openamplify
OpenAmplify.configure do |config| config.api_key = 'YOUR_API_KEY' # default :get config.method = :post # default :xml config.output_format = :json # default :all config.analysis = :topics # default :standard config.scoring = :todo end
Default settings can be overriden by the client
client = OpenAmplify::Client.new(:method => :get)
Or when you start ‘amplifying’.
result = client.amplify('input', :output_format => :rdf)
client = OpenAmplify::Client.new text = "After getting the MX1000 laser mouse and the Z-5500 speakers i fell in love with logitech" analysis = client.amplify(text) puts analysis # default as xml
It knows if the input is a URL and uses the right webservice param (ie. sourceurl)
client.amplify('http://theonion.com')
In case you need a different format, OpenAmplify supports XML, JSON, RDF, CSV. It can also return the result as a fancy HTML page.
# assuming you use Nokogiri doc = Nokogiri::XML(analysis.to_xml) # or you want a JSON json = JSON.parse(analysis.to_json) # you should really try the pretty formats puts analysis.to_pretty # or puts analysis.to_signals
OpenAmplify gem comes with a command-line tool.
openamplify --api-key=APIKEY --format=json --analysis=topics "sample input text"
Note 0.3.0 is a major revamp of the code. In general, it is better but if you encounter a problem, please let me know. Or better, submit a pull request.
The following methods are deprecated and will be removed in 0.3.1
client.analyze_text('input') client.base_url = 'http://domain.dev'
The following methods are no longer supported. I figure it’s better to let the caller decide how they want to traverse the results.
# Treating the result as hash response.each do |k, v| pp k pp v end # 'response' works like a Hash puts response['Topics'] # Nor the shortcuts response.top_topics response.proper_nouns response.locations response.domains
rake test OPEN_AMPLIFY_KEY=YOUR_KEY