machinereading 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e6fb44360c651b2b568f12ae6bad6e54cf0df7db
4
- data.tar.gz: f4bf231721bc369e7766d0d33dda28d9ed3d3f95
3
+ metadata.gz: 6c40b0f9f66fb65fce3b8908d17ee535c90be70f
4
+ data.tar.gz: 670a85b752e0b3666565eef5944dcca2f1f5d746
5
5
  SHA512:
6
- metadata.gz: 8fb26fb53b20124554a5910f6c6fe3706a663bf2e2471590504cd558a47c442d9430075c002e33e92d7611341f76f5357aa0d024dee7825a7cbf25a7d8e70a95
7
- data.tar.gz: 920162a05b65286a07e40c1226e0ecedbc11aad4fbbfd6120d47709dea23145d54f6404e005e288885d4c70eb94f4b9c716f547203e3619e09b96e243d1ad8f0
6
+ metadata.gz: de1b058178ee3f7ce953591b5e5f2f1d83fc82a867426828e7ab7f95c602c163f4bee418bd9ba4eff8af0a8e76a930d4670d336090bef8dd4aa1507faaad44c6
7
+ data.tar.gz: fab173e5503728b2578f86ee2629b4da0a2db794a1d5e06f2f98c36309492e2d7dab221b748f4ad74c1385512a6aa665d1808109492612a1fdb1e15496c4ceb6
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.1
4
+ - 2.1.2
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
- # Machinereading
1
+ # [![Ruby Gem Icon](https://raw.githubusercontent.com/zenkay/machinereading-ruby/master/rubygem.png)](https://rubygems.org/gems/machinereading) MachineReading Ruby Gem
2
2
 
3
- Ruby gem for interaction with [Machinereading.com](http://www.machinereading.com)
3
+ [![Code Climate](https://codeclimate.com/github/zenkay/machinereading-ruby/badges/gpa.svg)](https://codeclimate.com/github/zenkay/machinereading-ruby) [![Travis CI](https://travis-ci.org/zenkay/machinereading-ruby.svg?branch=master)](https://travis-ci.org/zenkay/machinereading-ruby) [![Gem Version](https://badge.fury.io/rb/machinereading.svg)](http://badge.fury.io/rb/machinereading)
4
+
5
+ Ruby gem for interaction with Damantic's [Machinereading](http://www.machinereading.com) APIs.
4
6
 
5
7
  ## Installation
6
8
 
@@ -29,49 +31,68 @@ end
29
31
 
30
32
  ## Usage
31
33
 
34
+ _Methods references are taken from [Machine Reading documentation](http://www.machinereading.com/documentation)._
35
+
36
+ **Tokenizer**: divides text into a sequence of sentences and tokens, which roughly correspond to "words".
32
37
 
33
38
  ```
34
39
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
35
40
  response = element.tokenizer
36
41
  ```
37
42
 
43
+ **Pos Tagger Stanford**: assigns a part of speech (POS) tags to each word of the input text. Tags are mostly language independent following the Penn Treebank tag set.
44
+
38
45
  ```
39
46
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
40
47
  response = element.pos_tagger_stanford # default is "vertical""
41
48
  response = element.pos_tagger_stanford("horizontal")
42
49
  ```
43
50
 
51
+ **Syntactic Parser Stanford**: takes natural language sentences in input and returns a full dependency tree describing its syntactic structure. The grammatical relations are mostly language independent.
52
+
44
53
  ```
45
54
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
46
55
  response = element.syntactic_parser_stanford
47
56
  ```
48
57
 
58
+ **Lemmatizer**: is used to parse the input text and provides the lemmas for each word.
59
+
49
60
  ```
50
61
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
51
62
  response = element.lemmatizer
52
63
  ```
53
64
 
65
+ **Sequence Surprisal**: assigns a "surprisal value" (probabilities range from 0 to 1) to each word and each sentence of the input text. Surprisal captures a range of sentence processing effects like syntactic difficulties.
66
+
54
67
  ```
55
68
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
56
69
  response = element.sequence_surprisal
57
70
  ```
58
71
 
72
+ **Language Detector**: determines the language that any text content was written in.
73
+
59
74
  ```
60
75
  element = Machinereading::Element.new("Questo è un testo di esempio", nil)
61
76
  response = element.language_detector
62
77
  ```
63
78
 
79
+ **Keyword Extractor**: analyzes the input text and extracts the most important words and phrases (proper nouns and common nouns).
80
+
64
81
  ```
65
82
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
66
83
  response = element.keyword_extractor # default is 15
67
84
  response = element.keyword_extractor(50)
68
85
  ```
69
86
 
87
+ **Automatic Categorization**: auto-categorizes and organizes huge sets of text into relevant categories (IPTC) based on automatically detected themes and content.
88
+
70
89
  ```
71
90
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
72
91
  response = element.automatic_categorization
73
92
  ```
74
93
 
94
+ **Voice Tags**: extracts additional information about the meaning of the text. It can be identifies when there are values in the text as "adversative", "hypothesis", "reason or cause". Voice Tags also extracts positive and negative words of the input text as a starting point for building your own sentiment analysis system.
95
+
75
96
  ```
76
97
  element = Machinereading::Element.new("Questo è un testo di esempio", "it")
77
98
  response = element.voice_tags
@@ -62,8 +62,7 @@ module Machinereading
62
62
  response = conn.post "/#{endpoint}", params
63
63
  response.body
64
64
  rescue Exception => e
65
- puts e.inspect
66
- #raise Machinereading::BadResponse(response.body)
65
+ raise Machinereading::BadResponse
67
66
  end
68
67
  end
69
68
 
@@ -1,3 +1,3 @@
1
1
  module Machinereading
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/rubygem.png ADDED
Binary file
data/spec/element_spec.rb CHANGED
@@ -4,9 +4,9 @@ vcr_options = { :cassette_name => "machinereading_element", :record => :new_epis
4
4
 
5
5
  describe Machinereading::Element, vcr: vcr_options do
6
6
 
7
- before(:all) do
7
+ before(:each) do
8
8
  Machinereading.configure do |c|
9
- c.api_key = "uf8t28vY4U6w0cU7269O0zORI4h5yz7uhfzBmvBUPJeSVlvmJE" # a.mostosi@thefool.it
9
+ c.api_key = "uf8t28vY4U6w0cU7269O0zORI4h5yz7uhfzBmvBUPJeSVlvmJE"
10
10
  c.endpoint = "http://www.machinereading.com"
11
11
  end
12
12
  @sample_content = "Mio padre che mi spinge a mangiare e guai se non finisco mio padre che vuol farmi guidare mi frena con il fischio il bambino più grande mi mena davanti a tutti gli altri lui che passa per caso mi salva e mi condanna per sempre mio padre di spalle sul piatto si mangia la vita e poi sulla pista da ballo fa un valzer dentro il suo nuovo vestito Per sempre solo per sempre cosa sarà mai porvarvi dentro solo tutto il tempo per sempre solo per sempre c'è un istante che rimane lì piantato eternamente E lei che non si lascia afferrare si piega indietro e ride e lei che dice quanto mi ama e io che mi fido e lei che mi toccava per prima la sua mano bambina vuole che le giuri qualcosa le si gonfia una vena e lei che era troppo più forte sicura di tutto e prima di andarsene mi dà il profilo con un movimento perfetto Per sempre solo per sempre cosa sarà mai portarvi dentro solo tutto il tempo per sempre solo per sempre c'è un istante che rimane lì piantato eternamente per sempre solo per sempre Mia madre che prepara la cena cantando sanremo carezza la testa a mio padre gli dice vedrai che ce la faremo Per sempre solo per sempre cosa sarà mai portarvi dentro solo tutto il tempo per sempre solo per sempre c'è un istante che rimane lì piantato eternamente per sempre solo per sempre"
@@ -113,4 +113,14 @@ describe Machinereading::Element, vcr: vcr_options do
113
113
  expect(response["voice_tags"]).to be_an_instance_of(Hash)
114
114
  end
115
115
 
116
+ it "raise exception on wrong config parameters" do
117
+ Machinereading.configure do |c|
118
+ c.api_key = "bad-api-key"
119
+ c.endpoint = "not-an-url-endpoint"
120
+ end
121
+ element = Machinereading::Element.new(@sample_content, @sample_content_lang)
122
+ # raise Machinereading::BadResponse
123
+ expect { element.tokenizer }.to raise_error
124
+ end
125
+
116
126
  end
data/spec/spec_helper.rb CHANGED
@@ -15,5 +15,5 @@ RSpec.configure do |config|
15
15
  config.run_all_when_everything_filtered = true
16
16
  config.filter_run :focus
17
17
  config.order = 'random'
18
- config.color_enabled = true
18
+ # config.color_enabled = true
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: machinereading
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrea Mostosi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-23 00:00:00.000000000 Z
11
+ date: 2014-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -130,6 +130,7 @@ extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
132
  - ".gitignore"
133
+ - ".travis.yml"
133
134
  - Gemfile
134
135
  - LICENSE.txt
135
136
  - README.md
@@ -138,6 +139,7 @@ files:
138
139
  - lib/machinereading/element.rb
139
140
  - lib/machinereading/version.rb
140
141
  - machinereading.gemspec
142
+ - rubygem.png
141
143
  - spec/cassettes/machinereading_element.yml
142
144
  - spec/element_spec.rb
143
145
  - spec/spec_helper.rb