automated_metareview 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
@@ -0,0 +1,91 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="gem" name="Gem">
5
+ <configuration>
6
+ <option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
7
+ <option name="GEM_APP_TEST_PATH" value="" />
8
+ <option name="GEM_APP_LIB_PATH" value="" />
9
+ </configuration>
10
+ </facet>
11
+ </component>
12
+ <component name="NewModuleRootManager">
13
+ <content url="file://$MODULE_DIR$" />
14
+ <orderEntry type="inheritedJdk" />
15
+ <orderEntry type="sourceFolder" forTests="false" />
16
+ <orderEntry type="library" scope="PROVIDED" name="RedCloth (v4.2.9, ruby-1.9.3-p392) [gem]" level="application" />
17
+ <orderEntry type="library" scope="PROVIDED" name="actionpack (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="activemodel (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="activerecord (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
20
+ <orderEntry type="library" scope="PROVIDED" name="activerecord-deprecated_finders (v1.0.3, ruby-1.9.3-p392) [gem]" level="application" />
21
+ <orderEntry type="library" scope="PROVIDED" name="activesupport (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
22
+ <orderEntry type="library" scope="PROVIDED" name="arel (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
23
+ <orderEntry type="library" scope="PROVIDED" name="atomic (v1.1.14, ruby-1.9.3-p392) [gem]" level="application" />
24
+ <orderEntry type="library" scope="PROVIDED" name="bind-it (v0.2.7, ruby-1.9.3-p392) [gem]" level="application" />
25
+ <orderEntry type="library" scope="PROVIDED" name="builder (v3.1.4, ruby-1.9.3-p392) [gem]" level="application" />
26
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.3.5, ruby-1.9.3-p392) [gem]" level="application" />
27
+ <orderEntry type="library" scope="PROVIDED" name="capistrano (v3.0.0, ruby-1.9.3-p392) [gem]" level="application" />
28
+ <orderEntry type="library" scope="PROVIDED" name="childprocess (v0.3.9, ruby-1.9.3-p392) [gem]" level="application" />
29
+ <orderEntry type="library" scope="PROVIDED" name="columnize (v0.3.6, ruby-1.9.3-p392) [gem]" level="application" />
30
+ <orderEntry type="library" scope="PROVIDED" name="daemons (v1.1.9, ruby-1.9.3-p392) [gem]" level="application" />
31
+ <orderEntry type="library" scope="PROVIDED" name="debugger (v1.6.2, ruby-1.9.3-p392) [gem]" level="application" />
32
+ <orderEntry type="library" scope="PROVIDED" name="debugger-linecache (v1.2.0, ruby-1.9.3-p392) [gem]" level="application" />
33
+ <orderEntry type="library" scope="PROVIDED" name="debugger-ruby_core_source (v1.2.3, ruby-1.9.3-p392) [gem]" level="application" />
34
+ <orderEntry type="library" scope="PROVIDED" name="delayed_job (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
35
+ <orderEntry type="library" scope="PROVIDED" name="delayed_job_active_record (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
36
+ <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.4, ruby-1.9.3-p392) [gem]" level="application" />
37
+ <orderEntry type="library" scope="PROVIDED" name="edavis10-ruby-web-search (v0.0.2, ruby-1.9.3-p392) [gem]" level="application" />
38
+ <orderEntry type="library" scope="PROVIDED" name="engtagger (v0.1.2, ruby-1.9.3-p392) [gem]" level="application" />
39
+ <orderEntry type="library" scope="PROVIDED" name="erubis (v2.7.0, ruby-1.9.3-p392) [gem]" level="application" />
40
+ <orderEntry type="library" scope="PROVIDED" name="expertiza-authlogic (v3.2.0@09163c, ruby-1.9.3-p392) [gem]" level="application" />
41
+ <orderEntry type="library" scope="PROVIDED" name="fastercsv (v1.5.5, ruby-1.9.3-p392) [gem]" level="application" />
42
+ <orderEntry type="library" scope="PROVIDED" name="ffi (v1.9.0, ruby-1.9.3-p392) [gem]" level="application" />
43
+ <orderEntry type="library" scope="PROVIDED" name="ffi-aspell (v0.0.3, ruby-1.9.3-p392) [gem]" level="application" />
44
+ <orderEntry type="library" scope="PROVIDED" name="gchart (v1.0.0, ruby-1.9.3-p392) [gem]" level="application" />
45
+ <orderEntry type="library" scope="PROVIDED" name="gchartrb (v0.8, ruby-1.9.3-p392) [gem]" level="application" />
46
+ <orderEntry type="library" scope="PROVIDED" name="gdata (v1.1.2, ruby-1.9.3-p392) [gem]" level="application" />
47
+ <orderEntry type="library" scope="PROVIDED" name="hike (v1.2.3, ruby-1.9.3-p392) [gem]" level="application" />
48
+ <orderEntry type="library" scope="PROVIDED" name="hoptoad_notifier (v2.4.11, ruby-1.9.3-p392) [gem]" level="application" />
49
+ <orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.5, ruby-1.9.3-p392) [gem]" level="application" />
50
+ <orderEntry type="library" scope="PROVIDED" name="jquery-rails (v3.0.4, ruby-1.9.3-p392) [gem]" level="application" />
51
+ <orderEntry type="library" scope="PROVIDED" name="json (v1.8.1, ruby-1.9.3-p392) [gem]" level="application" />
52
+ <orderEntry type="library" scope="PROVIDED" name="mini_portile (v0.5.2, ruby-1.9.3-p392) [gem]" level="application" />
53
+ <orderEntry type="library" scope="PROVIDED" name="minitest (v4.7.5, ruby-1.9.3-p392) [gem]" level="application" />
54
+ <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.8.0, ruby-1.9.3-p392) [gem]" level="application" />
55
+ <orderEntry type="library" scope="PROVIDED" name="mysql (v2.9.1, ruby-1.9.3-p392) [gem]" level="application" />
56
+ <orderEntry type="library" scope="PROVIDED" name="net-scp (v1.1.2, ruby-1.9.3-p392) [gem]" level="application" />
57
+ <orderEntry type="library" scope="PROVIDED" name="net-ssh (v2.7.0, ruby-1.9.3-p392) [gem]" level="application" />
58
+ <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.6.0, ruby-1.9.3-p392) [gem]" level="application" />
59
+ <orderEntry type="library" scope="PROVIDED" name="open-uri-cached (v0.0.5, ruby-1.9.3-p392) [gem]" level="application" />
60
+ <orderEntry type="library" scope="PROVIDED" name="rack (v1.5.2, ruby-1.9.3-p392) [gem]" level="application" />
61
+ <orderEntry type="library" scope="PROVIDED" name="rack-test (v0.6.2, ruby-1.9.3-p392) [gem]" level="application" />
62
+ <orderEntry type="library" scope="PROVIDED" name="railties (v4.0.0, ruby-1.9.3-p392) [gem]" level="application" />
63
+ <orderEntry type="library" scope="PROVIDED" name="rake (v10.1.0, ruby-1.9.3-p392) [gem]" level="application" />
64
+ <orderEntry type="library" scope="PROVIDED" name="rgl (v0.4.0, ruby-1.9.3-p392) [gem]" level="application" />
65
+ <orderEntry type="library" scope="PROVIDED" name="rjb (v1.4.8, ruby-1.9.3-p392) [gem]" level="application" />
66
+ <orderEntry type="library" scope="PROVIDED" name="rspec-core (v2.14.5, ruby-1.9.3-p392) [gem]" level="application" />
67
+ <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v2.14.3, ruby-1.9.3-p392) [gem]" level="application" />
68
+ <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v2.14.3, ruby-1.9.3-p392) [gem]" level="application" />
69
+ <orderEntry type="library" scope="PROVIDED" name="rspec-rails (v2.14.0, ruby-1.9.3-p392) [gem]" level="application" />
70
+ <orderEntry type="library" scope="PROVIDED" name="rubyzip (v1.0.0, ruby-1.9.3-p392) [gem]" level="application" />
71
+ <orderEntry type="library" scope="PROVIDED" name="rwordnet (v0.1.3, ruby-1.9.3-p392) [gem]" level="application" />
72
+ <orderEntry type="library" scope="PROVIDED" name="seer (v0.10.0, ruby-1.9.3-p392) [gem]" level="application" />
73
+ <orderEntry type="library" scope="PROVIDED" name="selenium-webdriver (v2.37.0, ruby-1.9.3-p392) [gem]" level="application" />
74
+ <orderEntry type="library" scope="PROVIDED" name="sprockets (v2.10.0, ruby-1.9.3-p392) [gem]" level="application" />
75
+ <orderEntry type="library" scope="PROVIDED" name="sqlite3 (v1.3.8, ruby-1.9.3-p392) [gem]" level="application" />
76
+ <orderEntry type="library" scope="PROVIDED" name="sqlite3-ruby (v1.3.3, ruby-1.9.3-p392) [gem]" level="application" />
77
+ <orderEntry type="library" scope="PROVIDED" name="sshkit (v1.1.0, ruby-1.9.3-p392) [gem]" level="application" />
78
+ <orderEntry type="library" scope="PROVIDED" name="stanford-core-nlp (v0.5.1, ruby-1.9.3-p392) [gem]" level="application" />
79
+ <orderEntry type="library" scope="PROVIDED" name="stream (v0.5, ruby-1.9.3-p392) [gem]" level="application" />
80
+ <orderEntry type="library" scope="PROVIDED" name="superfish-rails (v1.6.0.1, ruby-1.9.3-p392) [gem]" level="application" />
81
+ <orderEntry type="library" scope="PROVIDED" name="term-ansicolor (v1.2.2, ruby-1.9.3-p392) [gem]" level="application" />
82
+ <orderEntry type="library" scope="PROVIDED" name="thor (v0.18.1, ruby-1.9.3-p392) [gem]" level="application" />
83
+ <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.1.3, ruby-1.9.3-p392) [gem]" level="application" />
84
+ <orderEntry type="library" scope="PROVIDED" name="tilt (v1.4.1, ruby-1.9.3-p392) [gem]" level="application" />
85
+ <orderEntry type="library" scope="PROVIDED" name="tins (v0.12.0, ruby-1.9.3-p392) [gem]" level="application" />
86
+ <orderEntry type="library" scope="PROVIDED" name="tzinfo (v0.3.38, ruby-1.9.3-p392) [gem]" level="application" />
87
+ <orderEntry type="library" scope="PROVIDED" name="websocket (v1.0.7, ruby-1.9.3-p392) [gem]" level="application" />
88
+ <orderEntry type="library" scope="PROVIDED" name="will_paginate (v3.0.5, ruby-1.9.3-p392) [gem]" level="application" />
89
+ </component>
90
+ </module>
91
+
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
+ </project>
5
+
data/.idea/misc.xml ADDED
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="ruby-1.9.3-p392" project-jdk-type="RUBY_SDK" />
4
+ </project>
5
+
data/.idea/modules.xml ADDED
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/automated_metareview.iml" filepath="$PROJECT_DIR$/.idea/automated_metareview.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
9
+
@@ -0,0 +1,5 @@
1
+ <component name="DependencyValidationManager">
2
+ <state>
3
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
4
+ </state>
5
+ </component>
data/.idea/vcs.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="" />
5
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
6
+ </component>
7
+ </project>
8
+
data/Gemfile ADDED
@@ -0,0 +1,42 @@
1
+ source 'https://rubygems.org'
2
+
3
+
4
+
5
+ gem 'bind-it'
6
+ gem 'capistrano'
7
+ gem 'delayed_job_active_record'
8
+ gem 'edavis10-ruby-web-search'
9
+ gem 'engtagger'
10
+ gem 'expertiza-authlogic', git: 'https://github.com/expertiza/authlogic.git', :require => 'authlogic'
11
+ gem 'fastercsv'
12
+ gem 'ffi-aspell'
13
+ gem 'gchart'
14
+ gem 'gchartrb', :require => 'google_chart'
15
+ gem 'gdata', :require => false
16
+ gem 'hoptoad_notifier'
17
+ gem 'jquery-rails'
18
+ gem 'mysql'
19
+ gem 'nokogiri'
20
+ gem 'open-uri-cached'
21
+ gem 'rake'
22
+ gem 'RedCloth'
23
+ gem 'rgl', :require => 'rgl/adjacency'
24
+ gem 'rjb'
25
+ gem 'rubyzip', :require => 'zip/zip'
26
+ gem 'rwordnet'
27
+ gem 'seer'
28
+ gem 'sprockets'
29
+ gem 'stanford-core-nlp'
30
+ gem 'superfish-rails'
31
+ gem 'will_paginate'
32
+
33
+ group :development do
34
+ gem 'daemons'
35
+ gem 'debugger'
36
+ gem 'sqlite3-ruby', :require => 'sqlite3'
37
+ gem 'selenium-webdriver'
38
+ end
39
+
40
+ # Specify your gem's dependencies in automated_metareview.gemspec
41
+ gemspec
42
+
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 AMEETA MURALIDHARAN
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # AutomatedMetareview
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'automated_metareview'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install automated_metareview
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'automated_metareview/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "automated_metareview"
8
+ spec.version = AutomatedMetareview::VERSION
9
+ spec.authors = ["AMEETA MURALIDHARAN"]
10
+ spec.email = ["fameeta@ncsu.edu"]
11
+ spec.description = "automated metareview"
12
+ spec.summary = "creation of gem for automated metareview"
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "engtagger"
24
+ spec.add_development_dependency "rspec-rails"
25
+ spec.add_development_dependency "activerecord"
26
+
27
+ end
@@ -0,0 +1,18 @@
1
+ require 'automated_metareview/text_preprocessing'
2
+ require 'automated_metareview/predict_class'
3
+ require 'automated_metareview/degree_of_relevance'
4
+ require 'automated_metareview/plagiarism_check'
5
+ require 'automated_metareview/tone'
6
+ require 'automated_metareview/text_quantity'
7
+ require 'automated_metareview/constants'
8
+
9
+ #gem install edavis10-ruby-web-search
10
+ #gem install google-api-client
11
+
12
+ class AutomatedMetareview #< ActiveRecord::Base
13
+ #belongs_to :response, :class_name => 'Response', :foreign_key => 'response_id'
14
+ #has_many :scores, :class_name => 'Score', :foreign_key => 'response_id', :dependent => :destroy
15
+ def self.hi
16
+ puts "hello"
17
+ end
18
+ end
@@ -0,0 +1,208 @@
1
+ require 'wordnet'
2
+ #necessary to access the data.{po} files in the wordnet/dict folder of the rwordnet gem
3
+ include WordNet
4
+ WordNet::SynsetType = {"n" => "noun", "v" => "verb", "a" => "adj", "r" => "adv"}
5
+
6
+
7
+ # Create a parser object
8
+ #frequently used general constants
9
+ #prevtype tokens for graph generator
10
+ NOUN = 1
11
+ VERB = 2
12
+ ADJ = 3
13
+ ADV = 4
14
+ #------------------------------------------#------------------------------------------
15
+ #constants used by sentence state
16
+ POSITIVE = 0
17
+ SUGGESTIVE = 1
18
+ NEGATED = 2
19
+ NEGATIVE_WORD = 3
20
+ NEGATIVE_DESCRIPTOR = 4
21
+ NEGATIVE_PHRASE = 5
22
+ #------------------------------------------#------------------------------------------
23
+
24
+ #used by patternIdentify and predictClass and relevance, while comparing edges!
25
+ EQUAL = 1.0
26
+ DISTINCT = 2.0
27
+ #------------------------------------------#------------------------------------------
28
+
29
+ #constants used by graph generator
30
+ WORDS = 10000 #to control the number of tokens/vertices a graph contains
31
+ #thresholds for pruning edges during pattern selection
32
+ ALPHA_FREQ = 2 #alpha - the frequency threshold (lower)
33
+ BETA_FREQ = 10
34
+ #------------------------------------------#------------------------------------------
35
+
36
+ #threshold for tone
37
+ THRESHOLD = 3 #number of level synonyms to check for tone identification
38
+ #------------------------------------------#------------------------------------------
39
+
40
+ #constants used by WordnetBasedSimilarity
41
+ #initializing constants
42
+ NOMATCH = 0 #distinct
43
+ OVERLAPEXAM = 1 #overlapping examples
44
+ OVERLAPDEFIN = 1 #overlapping definitions
45
+ COMMONPARENTS = 2 #common parents
46
+ MERONYM = 3 #paraphrasing
47
+ HOLONYM = 3 #paraphrasing
48
+ HYPONYM = 4 #paraphrasing
49
+ HYPERNYM = 4 #paraphrasing
50
+ SYNONYM = 5 #paraphrasing
51
+ EXACT = 6 #exact strings
52
+
53
+ #negative matches
54
+ NEGOVERLAPEXAM = -1 #overlapping examples
55
+ NEGOVERLAPDEFIN = -1 #overlapping definitions
56
+ NEGCOMMONPARENTS = -2 #common parents
57
+ NEGMERONYM = -3 #paraphrasing
58
+ NEGHOLONYM = -3 #paraphrasing
59
+ NEGHYPONYM = -4 #paraphrasing
60
+ NEGHYPERNYM = -4 #paraphrasing
61
+ ANTONYM = -5 #antonyms
62
+ NEGEXACT = -6 #exact strings
63
+ #------------------------------------------#------------------------------------------
64
+
65
+ #for plgiarism checking - n-gram
66
+ NGRAM = 5 #5-gram matches
67
+ #other constants for plagiarism checking
68
+ ALL_RESPONSES_PLAGIARISED = 1
69
+ SOME_RESPONSES_PLAGIARISED = 2
70
+ #------------------------------------------#------------------------------------------
71
+
72
+ #constants from text_preprocessing
73
+ SIM_MATCH = 5
74
+ SENTENCES = 100 #assuming each review has upto 5 sentences max.
75
+ MAX = 3000
76
+ #------------------------------------------#------------------------------------------
77
+
78
+ =begin
79
+ THE FIRST TWO SETS ARE COMMON WORDS DURING OVERLAP ACROSS DEFINITIONS OR EXAMPLES.
80
+ THE THIRD SET IS TO PREVENT FREQUENT WORDS FROM BEING COMPARED WITH OTHER TOKENS.
81
+ =end
82
+ CLOSED_CLASS_WORDS = [".", ",", "THE",
83
+ "AND", "A", "\"", "IN", "I", ":", "YOU", "IS", "TO", "OF",
84
+ ")", "(", "IT", "FOR", "!", "?","THAT","ON", "WITH", "HAVE",
85
+ "BE", "...", "AS","THIS","WAS", "e.g.", "especially","BUT", "OR", "FROM","WHAT","NOT", "ARE",
86
+ "MY", "AT", "HE", "BY", "ONE","IF", "THEY", "YOUR","ALL",
87
+ "ME", "SO", "AN", "WE", "CAN", "WILL", "DO","ABOUT","JUST",
88
+ "OUT", "HIS", "WHO", "WOULD","THERE","LIKE", "HAS","MORE","UP","NO",
89
+ "THEM", "ANY", "THEIR", "IT'S", "ONLY", "WHEN","SOME","HAD", "DON'T",
90
+ ";", "I'M", "BEEN", "WHICH", "OTHER", "WERE", "HOW", "THEN", "NOW",
91
+ "HER", "SHE", "ALSO", "US", "VERY", "BECAUSE","THAN","WELL",
92
+ "AM", "HIM", "INTO", "OUR", "COULD", "EVEN","MUCH","HERE",
93
+ "TOO","THESE", "THOSE","MAY", "WHERE", "MOST","SHOULD", "OVER", "WANT", "DID",
94
+ "WHY", "OFF", "IT", "ITS", "I'VE","MANY","GOING", "THOSE", "DOES","PLEASE",
95
+ "THAT'S", "YOU'RE", "DOWN","ANOTHER", "AROUND","CAN'T","DIDN'T",
96
+ "MUST","YES", "EACH", "MAYBE","EVERY", "FEW", "DOESN'T",
97
+ "I'LL", "OH", "ELSE", "HE'S", "THERE'S", "HI", "AWAY", "DOING","ISN'T",
98
+ "OK", "THEY'RE", "YEAH", "MINE", "WE'RE", "WHAT'S", "SHALL","WON'T",
99
+ "SHE'S", "HELLO", "OKAY", "HERE'S", "-", "LESS", "USED", "use", "associated", "having", "certain",
100
+ "etc", "etc.", "act", "purpose"]
101
+
102
+ # @invisible
103
+ STOP_WORDS = ["a", "am", "an", "and", "any", "as", "at", "is", "it", "its","de", "by","i",
104
+ "ie", "if", "in","no","of", "off", "or", "eg", "the", "too", "are", "the", "he",
105
+ "about", "above", "across", "after", "afterwards", "again", "against",
106
+ "all", "almost", "alone", "along", "already", "also", "although", "always",
107
+ "among", "amongst", "amoungst", "amount", "another",
108
+ "anyhow", "anyone", "anything", "anyway", "anywhere", "are", "around",
109
+ "back", "be", "became", "because", "become", "becomes",
110
+ "becoming", "been", "before", "beforehand", "behind", "being", "below",
111
+ "beside", "besides", "between", "beyond", "bill", "both", "bottom", "call",
112
+ "can", "cannot", "cant", "co", "computer", "con", "could",
113
+ "couldnt", "cry", "describe", "detail", "do", "done", "does", "down",
114
+ "due", "during", "each", "eight", "either", "eleven", "else", "elsewhere",
115
+ "empty", "enough", "etc", "even", "ever", "every", "everyone", "everything",
116
+ "everywhere", "except", "few", "fifteen", "fify", "fill", "find",
117
+ "fire", "first", "five", "for", "former", "formerly", "forty", "found",
118
+ "four", "from", "front", "full", "further", "get", "give", "go",
119
+ "had", "has", "hasnt", "have", "he", "hence", "her", "here", "hereafter",
120
+ "hereby", "herein", "hereupon", "hers", "herself", "him", "himself", "his",
121
+ "how", "however", "hundred", "inc", "indeed",
122
+ "interest", "into", "itself", "keep", "last", "latter",
123
+ "latterly", "least", "less", "ltd", "made", "many", "may", "me",
124
+ "meanwhile", "might", "mill", "mine", "more", "moreover", "most", "mostly",
125
+ "move", "much", "must", "my", "myself", "name", "namely", "neither",
126
+ "never", "nevertheless", "next", "nine", "nobody", "none", "noone",
127
+ "nor", "not", "nothing", "now", "nowhere", "often", "on",
128
+ "once", "one", "only", "onto", "other", "others", "otherwise", "our",
129
+ "ours", "ourselves", "out", "over", "own", "part", "per", "perhaps",
130
+ "please", "put", "rather", "re", "same", "see", "seem", "seemed", "seeming",
131
+ "seems", "serious", "several", "she", "should", "show", "side", "since",
132
+ "sincere", "six", "sixty", "so", "some", "somehow", "someone", "something",
133
+ "sometime", "sometimes", "somewhere", "still", "such", "system", "take",
134
+ "ten", "than", "that", "the", "their", "them", "themselves", "then",
135
+ "thence", "there", "thereafter", "thereby", "therefore", "therein",
136
+ "thereupon", "these", "they", "thick", "thin", "third", "this", "those",
137
+ "though", "three", "through", "throughout", "thru", "thus", "to",
138
+ "together", "top", "toward", "towards", "twelve", "twenty", "two",
139
+ "un", "under", "until", "up", "upon", "us", "very", "via", "was", "we",
140
+ "well", "were", "what", "whatever", "when", "whence", "whenever", "where",
141
+ "whereafter", "whereas", "whereby", "wherein", "whereupon", "wherever",
142
+ "whether", "which", "while", "whither", "who", "whoever", "whole", "whom",
143
+ "whose", "why", "will", "with", "within", "without", "would", "yet",
144
+ "you", "your", "yours", "yourself", "yourselves", "individual","individually"]
145
+
146
+ #tokens containing these words aren't compared with other tokens, because they don't add any meaning
147
+ FREQUENT_WORDS = [ "a", "am", "an", "and", "any", "as",
148
+ "at", "are","be", "by", "can", "did", "do", "does", "is", "it", "its", "i", "ie", "if", "in","no",
149
+ "or", "eg", "me", "my","of", "off", "oh", "our", "ours", "was", "have", "has",
150
+ "so","she", "the", "too", "to","they", "their", "theirs", "that", "this", "then",
151
+ "there","than", "up", "us", "u", "his", "her", "hers",
152
+ "we", "with","were", "you", "your", "yours"]
153
+
154
+ #puts FREQUENT_WORDS
155
+ #------------------------------------------#------------------------------------------
156
+ #constants used by sentence state - for identifying negations and suggestive words
157
+
158
+ =begin
159
+ If negative words were found and a neg. descriptor is seen => (-)(-) = (+)
160
+ public static String[] NEGATIVE_DESCRIPTORS = new String[4879];
161
+ =end
162
+ NEGATIVE_DESCRIPTORS = [
163
+ #negated phrases (topical words I spotted in text)
164
+ "NOTHING", "nowhere", "scarcely", "scarce", "zero", "drawback",
165
+ "barely", "hardly", "deny", "refuse", "fail", "failed",
166
+ "without", "ambiguous", "ambiguity", "neither", "empty",
167
+ "deviation", "lacks", "lack", "lacking", "lacked", "abrupt", "abruptly", "somewhat", "copied", "copy",
168
+ "overbalanced", "missing", "poor",
169
+ "negative", "negatively", "underrepresented", "duplication", "wrong", "mistake", "mistakes","duplications",
170
+ "duplicate", "duplicated", "duplicating", "avoids", "messy", "deleted", "cumbersome", "strange",
171
+ "strangely", "misspell", "misspelling", "misspellings", "misspelt", "verbose", "confuse", "confusion", "confusing",
172
+ "confused", "confuses", "trivial", "triviality", "typo", "typos", "somewhat", "concerns", "concern",
173
+ "barring", "overuse", "repitition", "useless", "biased", "rushed", "absent", "wordy", "bad", "less",
174
+ "unclear", "difficult", "vague", "briefly", "hard", "broken","replicate","replicated", "digress", "clutter",
175
+ "cluttered", "inadequate", "deviation", "contrived", "contrive", "horrid", "trouble","uneven", "unevenly", "alot",
176
+ "incorrect", "nonsense", "insufficient"]
177
+ =begin
178
+ SENTENCE CLAUSE OR PHRASE FOLLOWING THESE WORDS CARRY A NEGATIVE MEANING (EITHER SUBTLE OR OVERT)
179
+ =end
180
+ NEGATED_WORDS = ["not", "n't", "WON'T", "DON'T", "DIDN'T",
181
+ "DOESN'T", "WOULDN'T", "COULDN'T", "SHOULDN'T", "WASN'T",
182
+ "WEREN'T", "AREN'T", "ISN'T", "HAVEN'T", "HASN'T", "HADN'T", "NOBODY",
183
+ "CAN'T","SHALLN'T", "MUSTN'T", "AIN'T", "cannot",
184
+ #without the apostrophe
185
+ "cant", "dont", "wont","isnt","hasnt", "hadnt", "havent","arent", "werent", "wouldnt",
186
+ "didnt", "couldnt", "shouldnt", "mustnt", "shallnt",
187
+ #other words that indicate negations (negative quantifiers)
188
+ "NO", "NEVER", "NONE"]
189
+
190
+ NEGATIVE_PHRASES = ["too concise",
191
+ "taken from", "been removed", "too long", "off topic",
192
+ "too short", "run on", "too much", "been directly", "similar to",
193
+ "at odds", "grammatical errors", "grammatical error", "available online",
194
+ "make up", "made up", "crammed up"]
195
+
196
+ SUGGESTIVE_WORDS = ["would", "could", "should",
197
+ "maybe", "perhaps", "might", "suggest", "suggests", "suggested", "advise", "advice","could've", "would've",
198
+ "should've", "might've", "may", #"will", "better", "can"
199
+ #when they provide sample examples
200
+ "eg",
201
+ #typos or colloqial
202
+ "I'd", "We'd", "they'd", "you'd"]
203
+
204
+ #suggestive phrases
205
+ SUGGESTIVE_PHRASES = ["for example","try adding", "instead of", #(explaining what isnt good and what potentially could be)
206
+ "little more", "try to", "need more", "needs to", "need to", "more detail",
207
+ "can be", "was expecting", "am expecting", "is required"]
208
+