CSC/ECE 517 Fall 2013/oss E812 amp: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
 
(27 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, issues faced while setting up Expertiza. It explains how our team manages to create a new Gem file, and test it on the existing Expertiza system.
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==
Existing Expertiza system had automated_metareview.rb class which was using the text processing functionality from automated_metareview directory. "automated_metareview" directory had 18 files which included features like spell checker, plagiarism check and the review tone.<br/>
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 had to convert automated_metareview directory into a gem so that it can be used with other review systems.<br/>
'''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. Include all those features in the Gem, and then import the functionality from the Gem file.
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 features of Automated metareview were integrated in the existing Expertiza system. If these features were converted into a gem, then these 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.
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==
Line 15: Line 15:
===Steps to create Gem===
===Steps to create Gem===


We have turned the automated_metareview feature into a gem called “automated_metareview” which could be used in other review systems.
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:  


Line 21: Line 21:




'''Lib''': code of automated_metareview package is placed in this folder. It contains all the 18 files.
'''Lib''': Code from the automated_metareview package is placed in this folder. It contains all the 18 files.


'''Automated_metareview.rb''' : This file gets loaded when require’automated_metareview’ is run. That one file is in charge of setting up your gem’s code and API.
'''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.
'''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. Then you can install the generated gem locally to test it out.
'''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 can be viewed in [http://rubygems.org/gems/automated_metareview http://rubygems.org/gems/automated_metareview]  
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:
You can check in the list of available gems:<br/>
          gem list -r automated_metareview


[[File:List.jpg]]
[[File:List.jpg]]
Line 59: Line 66:


Example:
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: Setup Issues==
==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>
Line 75: Line 88:
==References==
==References==
<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:

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