CSC/ECE 517 Fall 2013/oss E812 amp: Difference between revisions
(→Design) |
|||
(63 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
==Intrdouction== | ==Intrdouction== | ||
This article is a report about our Open Source project(Expertiza) - Turn automated_metareview folder into a gem . It explains the design considerations, steps followed | This article is a report about our Open Source project (Expertiza) - Turn automated_metareview folder into a gem . It explains the design considerations, steps followed and issues faced while setting up Expertiza. It explains how our team manages to create a new Gem file, and implement it on the existing Expertiza system and test it. | ||
==Project Description== | ==Project Description== | ||
The existing Expertiza system has an automated_metareview.rb class which was using the text processing functionality from automated_metareview directory. "automated_metareview" directory has 18 files which provides features such as spell checker, plagiarism check and the review tone analysis.<br/> | |||
'''What it does''': Gives automatic feedback to a reviewer, using NLP text analysis, to help the reviewer improve the review.<br/> | '''What it does''': Gives automatic feedback to a reviewer, using NLP text analysis, to help the reviewer improve the review.<br/> | ||
'''What needs to be done''': We | '''What needs to be done''': We have converted automated_metareview directory into a gem so that it can be used with other review systems.<br/> | ||
Our goal was to remove the automated_metareview directory from existing Expertiza system | Our goal was to remove the automated_metareview directory from existing Expertiza system and include all those features in the Gem.Thus we can use the gem to include its functionality like review analysis etc. | ||
==Motivation== | ==Motivation== | ||
The | The Automated metareview functionality is not used in the existing Expertiza system. If this feature is converted into a gem, then it can be used in other review systems, wherein the reviewer will get an automated feedback about the review and he/she can change the review based on the results of automated metreview results. Thus by creating a gem file, other systems can install the gem and get access to all features of automated metareview, thereby increasing reusability. | ||
==Design== | ==Design== | ||
We have turned the automated_metareview | |||
===Steps to create Gem=== | |||
We have turned the automated_metareview folder into a gem called “automated_metareview” which could be used in other review systems. | |||
Here is the basic structure of our gem: | Here is the basic structure of our gem: | ||
[[File:Structure.jpg]] | [[File:Structure.jpg|alt=Structure]] | ||
'''Lib''': Code from the automated_metareview package is placed in this folder. It contains all the 18 files. | |||
'''automated_metareview.rb''' : This file is loaded when require’automated_metareview’ is run. This file is in charge of setting up your gem’s code and API. | |||
'''automated_metareview.gemspec''' : This file gives details of the gem, author, version and other details. | |||
''' | '''Build and Install Gem:''' <br/> | ||
You can build a gem from gemspec using the following command: | |||
gem build automated_metareview.gemspec | |||
Install the generated gem locally to test it out. | |||
gem install automated_metareview-0.0.2 | |||
[[File:Build.jpg]] | [[File:Build.jpg]] | ||
'''Push gem''' : | |||
'''Push gem''' <br/> | |||
In order to make this gem available to everyone, we need to push the gem using : <br/> | |||
gem push automated_metareview-0.0.2.gem | |||
[[File:Push.jpg]] | [[File:Push.jpg]] | ||
This gem is now available for installation by anyone. | This gem is now available for installation by anyone.[http://rubygems.org/gems/automated_metareview Automated Metareview Gem] | ||
OR | OR | ||
You can check in the list of available gems:<br/> | |||
gem list -r automated_metareview | |||
[[File:List.jpg]] | [[File:List.jpg]] | ||
In order to use the gem please follow the | ===Steps to install and use Gem=== | ||
1. gem install automated_metareview-0.0.2 | |||
In order to use the gem please follow the below steps:<br/> | |||
1. Run the following command to install the gem | |||
gem install automated_metareview-0.0.2 | |||
OR | OR | ||
Add line | Add following line in gemfile | ||
2. Add following line in the code where you want to use the gem: | gem ‘automated_metareview-0.0.2’ | ||
require | Run following command: | ||
bundle install | |||
2. Add following line in the code where you want to use the gem: | |||
require ‘automated_metareview-0.0.2’ | |||
Example: | |||
In order to use automated_metareview feature of testing whether a phrase /word is suggestive or not, we can use SentenceState methods to test it : | |||
[[File:Use.jpg]] | [[File:Use.jpg]] | ||
To use the Experiza system Go to [http://152.7.99.90:5801/ Expertiza with Gem installed]<br/> | |||
For detailed description about the steps to follow to test the automated metareview functionality Click [http://expertiza.ncsu.edu/submitted_content/download/25990?current_folder%5Bname%5D=%2Flocal%2Frails%2Fexpertiza%2Freleases%2F20131018020418%2Fpg_data%2Fefg%2Fcsc517%2Ff13%2Foss%2F3&download=README.docx here]. | |||
==Future Work== | ==Future Work== | ||
The current implementation has a few method calls very specific to Expertiza. We can change these methods so that they can be used in any other system. We generalized a few methods, so that it can be used in systems similar to Expertiza. But we can generalize it more such that we can seperate functionalities like Spell checker , plagiarism check in separate gem file. | The current implementation has a few method calls very specific to Expertiza. We can change these methods so that they can be used in any other system. We generalized a few methods, so that it can be used in systems similar to Expertiza. But we can generalize it more such that we can seperate functionalities like Spell checker , plagiarism check in separate gem file. | ||
==Appendix | ==Appendix== | ||
===Setup Issues=== | |||
1. There were a lot of problems with the master branch of expertiza.<br> | 1. There were a lot of problems with the master branch of expertiza.<br> | ||
2. There were many missing routes.<br> | 2. There were many missing routes.<br> | ||
3. We faced a number of problems installing Aspell dictionary on windows.<br> | 3. We faced a number of problems installing Aspell dictionary on windows.<br> | ||
4. There are a number of steps which need to be followed to activate the metareview feature.<br> | 4. There are a number of steps which need to be followed to activate the metareview feature.<br> | ||
5. The automated meta review feature is partly implemented using java due to which | 5. The automated meta review feature is partly implemented using java due to which there are a number of dependencies. To overcome these dependencies we need to install multiple jar files such as joda-time.jar,stanford-segmenter.jar etc.<br> | ||
6. No concrete documentation about the working of the meta review functionality is available due to which a lot of time was required to get the feature running. | |||
==References== | |||
<references/> | |||
1.[http://guides.rubygems.org/make-your-own-gem/ Make your own gem]<br> | |||
2.[http://repository.lib.ncsu.edu/ir/handle/1840.16/8813 Automated Assessment of Reviews - Lakshmi Ramachandran ] |
Latest revision as of 01:52, 31 October 2013
Intrdouction
This article is a report about our Open Source project (Expertiza) - Turn automated_metareview folder into a gem . It explains the design considerations, steps followed and issues faced while setting up Expertiza. It explains how our team manages to create a new Gem file, and implement it on the existing Expertiza system and test it.
Project Description
The existing Expertiza system has an automated_metareview.rb class which was using the text processing functionality from automated_metareview directory. "automated_metareview" directory has 18 files which provides features such as spell checker, plagiarism check and the review tone analysis.
What it does: Gives automatic feedback to a reviewer, using NLP text analysis, to help the reviewer improve the review.
What needs to be done: We have converted automated_metareview directory into a gem so that it can be used with other review systems.
Our goal was to remove the automated_metareview directory from existing Expertiza system and include all those features in the Gem.Thus we can use the gem to include its functionality like review analysis etc.
Motivation
The Automated metareview functionality is not used in the existing Expertiza system. If this feature is converted into a gem, then it can be used in other review systems, wherein the reviewer will get an automated feedback about the review and he/she can change the review based on the results of automated metreview results. Thus by creating a gem file, other systems can install the gem and get access to all features of automated metareview, thereby increasing reusability.
Design
Steps to create Gem
We have turned the automated_metareview folder into a gem called “automated_metareview” which could be used in other review systems. Here is the basic structure of our gem:
Lib: Code from the automated_metareview package is placed in this folder. It contains all the 18 files.
automated_metareview.rb : This file is loaded when require’automated_metareview’ is run. This file is in charge of setting up your gem’s code and API.
automated_metareview.gemspec : This file gives details of the gem, author, version and other details.
Build and Install Gem:
You can build a gem from gemspec using the following command:
gem build automated_metareview.gemspec
Install the generated gem locally to test it out.
gem install automated_metareview-0.0.2
Push gem
In order to make this gem available to everyone, we need to push the gem using :
gem push automated_metareview-0.0.2.gem
This gem is now available for installation by anyone.Automated Metareview Gem
OR
You can check in the list of available gems:
gem list -r automated_metareview
Steps to install and use Gem
In order to use the gem please follow the below steps:
1. Run the following command to install the gem
gem install automated_metareview-0.0.2
OR Add following line in gemfile
gem ‘automated_metareview-0.0.2’
Run following command:
bundle install
2. Add following line in the code where you want to use the gem:
require ‘automated_metareview-0.0.2’
Example: In order to use automated_metareview feature of testing whether a phrase /word is suggestive or not, we can use SentenceState methods to test it :
To use the Experiza system Go to Expertiza with Gem installed
For detailed description about the steps to follow to test the automated metareview functionality Click here.
Future Work
The current implementation has a few method calls very specific to Expertiza. We can change these methods so that they can be used in any other system. We generalized a few methods, so that it can be used in systems similar to Expertiza. But we can generalize it more such that we can seperate functionalities like Spell checker , plagiarism check in separate gem file.
Appendix
Setup Issues
1. There were a lot of problems with the master branch of expertiza.
2. There were many missing routes.
3. We faced a number of problems installing Aspell dictionary on windows.
4. There are a number of steps which need to be followed to activate the metareview feature.
5. The automated meta review feature is partly implemented using java due to which there are a number of dependencies. To overcome these dependencies we need to install multiple jar files such as joda-time.jar,stanford-segmenter.jar etc.
6. No concrete documentation about the working of the meta review functionality is available due to which a lot of time was required to get the feature running.
References
<references/>
1.Make your own gem
2.Automated Assessment of Reviews - Lakshmi Ramachandran