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 +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
|
+
|