automated_metareview 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/.idea/automated_metareview.iml +91 -0
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +5 -0
- data/.idea/modules.xml +9 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +8 -0
- data/Gemfile +42 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/automated_metareview.gemspec +27 -0
- data/lib/automated_metareview.rb +18 -0
- data/lib/automated_metareview/constants.rb +208 -0
- data/lib/automated_metareview/degree_of_relevance.rb +562 -0
- data/lib/automated_metareview/edge.rb +13 -0
- data/lib/automated_metareview/graph_generator.rb +695 -0
- data/lib/automated_metareview/negations.rb +51 -0
- data/lib/automated_metareview/negative-words.csv +4783 -0
- data/lib/automated_metareview/patterns-assess.csv +17 -0
- data/lib/automated_metareview/patterns-prob-detect.csv +22 -0
- data/lib/automated_metareview/patterns-suggest.csv +20 -0
- data/lib/automated_metareview/plagiarism_check.rb +155 -0
- data/lib/automated_metareview/positive-words.csv +2006 -0
- data/lib/automated_metareview/predict_class.rb +121 -0
- data/lib/automated_metareview/sentence_state.rb +293 -0
- data/lib/automated_metareview/text_preprocessing.rb +342 -0
- data/lib/automated_metareview/text_quantity.rb +26 -0
- data/lib/automated_metareview/tone.rb +212 -0
- data/lib/automated_metareview/version.rb +3 -0
- data/lib/automated_metareview/vertex.rb +18 -0
- data/lib/automated_metareview/wordnet_based_similarity.rb +480 -0
- metadata +158 -0
data/.gitignore
ADDED
@@ -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
|
+
|
data/.idea/encodings.xml
ADDED
data/.idea/misc.xml
ADDED
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
|
+
|
data/.idea/vcs.xml
ADDED
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
|
+
|