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 +4 -4
- data/.travis.yml +4 -0
- data/README.md +23 -2
- data/lib/machinereading/element.rb +1 -2
- data/lib/machinereading/version.rb +1 -1
- data/rubygem.png +0 -0
- data/spec/element_spec.rb +12 -2
- data/spec/spec_helper.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c40b0f9f66fb65fce3b8908d17ee535c90be70f
|
4
|
+
data.tar.gz: 670a85b752e0b3666565eef5944dcca2f1f5d746
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de1b058178ee3f7ce953591b5e5f2f1d83fc82a867426828e7ab7f95c602c163f4bee418bd9ba4eff8af0a8e76a930d4670d336090bef8dd4aa1507faaad44c6
|
7
|
+
data.tar.gz: fab173e5503728b2578f86ee2629b4da0a2db794a1d5e06f2f98c36309492e2d7dab221b748f4ad74c1385512a6aa665d1808109492612a1fdb1e15496c4ceb6
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
#
|
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
|
-
|
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
|
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(:
|
7
|
+
before(:each) do
|
8
8
|
Machinereading.configure do |c|
|
9
|
-
c.api_key = "uf8t28vY4U6w0cU7269O0zORI4h5yz7uhfzBmvBUPJeSVlvmJE"
|
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
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.
|
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-
|
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
|