==== General ====

**SemanticVectors: Still in development and maintenance. It seems to be a nice possibility. However there are several problems with the compatibility of Lucene and SV.** 


  *  Written in Java 
  *  Good sponsored!
  *  Uses a Random Projection Algorithm
  *  Doesn't use SVD!!
  *  [[http://groups.google.com/group/semanticvectors|An small community]]:
  *  [[http://semanticvectors.googlecode.com/svn/trunk/doc/index.html|Documentation available]]
  *  [[http://code.google.com/p/semanticvectors/wiki/InstallationInstructions|Installation Guide availabe]]
  *  You NEED [[http://lucene.apache.org/|Lucene3.X]] (a Java library to performe text-search)

==== Installation Instruction ====

**Please read the very last point before starting this tutorial.**

This is an installation tutorial for dolts like me, that means, I wrote it after fighting for hours with my lack of intelligence. I hope it helps you to install SemanticVectors quickly. You might need several things before installing SV, in particular a java developer kit, a building tool (ant) and Lucene, a library to search text. Everything is documented in this tutorial.

== Install Lucene: ==
  -  You will need JDK and ANT:
    -  [[https://jdk6.dev.java.net/|JDK]]: Development kit for java
    -  [[http://ant.apache.org/|Ant]]: A build-tool for java. Similar to make. 
  -  You can download both from a repository: <file bash>sudo apt-get install openjdk-6-jdk
sudo apt-get install ant 
sudo apt-get install ant-doc
</file> 
  -  You can test your installation with the the following command on your terminal: <file bash>ant -version</file>You should get something like<file bash>Apache Ant version 1.7.1 compiled on September 8 2010</file>
  -  [[http://ftp.fernuni-hagen.de/ftp-dir/pub/mirrors/www.apache.org//lucene/java/lucene-3.0.2.tar.gz|Dowload Lucene]]
  -  Untar the gz file in your desired location.
  -  Go to the target directory.
  -  If every thing is allright (if ant is working properly), then run ant in the current directory; it would automatically detect build.xml. <file bash>ant </file> 
    -  You will need to set the appropiate CLASSPATH. CLASSPATH specify the location of Java libraries. To check up if the variable is declared in your system:<file bash> echo $CLASSPATH </file>
    -  Althought there are (supposedly) several methods to set CLASSPATH the only one which worked for me was the following: You will have to edit  //bashrc// <file bash>gedit .bashrc </file>
    -  At the end of the document add: <file bash>export {location of lucene}/lucene-3.0.2/lucene-demos-3.0.2.jar:{location of lucene}/lucene-3.0.2/lucene-core-3.0.2.jar"</file> in my case:<file bash> export CLASSPATH="/home/eduardo/programas/lucene/lucene-3.0.2/lucene-demos-3.0.2.jar:/home/eduardo/programas/lucene/lucene-3.0.2/lucene-core-3.0.2.jar" </file>
    -  Reboot your computer. Now Lucene should be working.
    -  In order to check if everything is all right you should do the following. 
      -  [[http://code.google.com/p/semanticvectors/downloads/detail?name=kjbible-corpus.tar.gz&can=2&q=|Download an example corpus]] 
      -  Untar the corpus in a desired location. Normally the directory will we: bible_chapters. Go to that directory and run the following command: <file bash>java org.apache.lucene.demo.IndexFiles {complete bible_chapters path} </file>
      - In my case:<file bash>java org.apache.lucene.demo.IndexFiles /home/eduardo/programas/SemanticVectors/bible_chapters </file>
      - If everything runs ok, you should be done. An index directory will be created in bible_chapters. You should be able to perform some simple test using the demo library included in lucene.
== Install SemanticVector==
  *  This is the binary installation method. You could actually built SemanticVector by downloading the appropriate file and using again ant. I don't recommend it.
  -  [[http://semanticvectors.googlecode.com/files/semanticvectors-1.8.jar|Dowload SemanticVector]] .jar file. 
  -  Move this file to the desire location
  -  Again open bashrc and add to CLASSPATH the desire file. In my case it looks like: <file bash>export CLASSPATH="/home/eduardo/programas/lucene/lucene-3.0.2/lucene-demos-3.0.2.jar:/home/eduardo/programas/lucene/lucene-3.0.2/lucene-core-3.0.2.jar:/home/eduardo/programas/SemanticVectors/semanticvectors-1.8.jar" </file>
  -  Reboot your Computer.
  -  By now every thing should be working. Go to the directory where you ran lucene. Run the following command: <file bash>java pitt.search.semanticvectors.BuildIndex {location in your computer}/bible_chapters/index/</file>
  -  Now you are ready to use SemanticVectors. In this point I realized that there is a (probably) very serious bug. Since lucene is constantly actualized and SV depends on Lucene, there are several compatibility issues between both. In particular, a class form Lucene has been deprecated in the last version. I checked in the official community and there are not answers to this issue, although others have reported the same problem. Maybe a I get some feedback regarding this problem. Otherwise an older version of the software will be necessary.
 --- //[[eapontep@uos.de|Eduardo Aponte]] 2010/10/31 13:49//
