morfologik.fsa.morph
Class FSAMorphCoder

java.lang.Object
  extended by morfologik.fsa.morph.FSAMorphCoder

public final class FSAMorphCoder
extends Object

A class that converts tabular data to fsa morphological format. Three formats are supported:


Method Summary
protected static String asString(byte[] str, String encoding)
          Converts a byte array to a given encoding.
static int commonPrefix(byte[] s1, byte[] s2)
           
static byte[] infixEncode(byte[] wordForm, byte[] wordLemma, byte[] wordTag)
          This method converts wordform, wordLemma and the tag to the form: inflected_form + MLKending + tags where '+' is a separator, M is the position of characters to be deleted towards the beginning of the inflected form ("A" means from the beginning, "B" from the second character, "C" - from the third one, and so on), L is the number of characters to be deleted from the position specified by M ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).
static String infixEncodeUTF8(String wordForm, String wordLemma, String wordTag)
          A UTF-8 variant of infixEncode(byte[], byte[], byte[]).
static byte[] prefixEncode(byte[] wordForm, byte[] wordLemma, byte[] wordTag)
          This method converts wordform, wordLemma and the tag to the form: inflected_form + LKending + tags where '+' is a separator, L is the number of characters to be deleted from the beginning of the word ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).
static String prefixEncodeUTF8(String wordForm, String wordLemma, String wordTag)
          A UTF-8 variant of prefixEncode(byte[], byte[], byte[]) This method converts wordform, wordLemma and the tag to the form: inflected_form + LKending + tags where '+' is a separator, L is the number of characters to be deleted from the beginning of the word ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).
static byte[] standardEncode(byte[] wordForm, byte[] wordLemma, byte[] wordTag)
          This method converts the wordForm, wordLemma and tag to the form: wordForm + Kending + tags where '+' is a separator, K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending.
static String standardEncodeUTF8(String wordForm, String wordLemma, String wordTag)
          A UTF-8 variant of standardEncode(byte[], byte[], byte[]) This method converts the wordForm, wordLemma and tag to the form: wordForm + Kending + tags where '+' is a separator, K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

commonPrefix

public static int commonPrefix(byte[] s1,
                               byte[] s2)

standardEncode

public static byte[] standardEncode(byte[] wordForm,
                                    byte[] wordLemma,
                                    byte[] wordTag)
This method converts the wordForm, wordLemma and tag to the form:
 wordForm + Kending + tags
 
where '+' is a separator, K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending.


prefixEncode

public static byte[] prefixEncode(byte[] wordForm,
                                  byte[] wordLemma,
                                  byte[] wordTag)
This method converts wordform, wordLemma and the tag to the form:

 inflected_form + LKending + tags
 

where '+' is a separator, L is the number of characters to be deleted from the beginning of the word ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).

Parameters:
wordForm - - inflected word form
wordLemma - - canonical form
wordTag - - tag
Returns:
the encoded string

infixEncode

public static byte[] infixEncode(byte[] wordForm,
                                 byte[] wordLemma,
                                 byte[] wordTag)
This method converts wordform, wordLemma and the tag to the form:
 inflected_form + MLKending + tags
 

where '+' is a separator, M is the position of characters to be deleted towards the beginning of the inflected form ("A" means from the beginning, "B" from the second character, "C" - from the third one, and so on), L is the number of characters to be deleted from the position specified by M ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).

Parameters:
wordForm - - inflected word form
wordLemma - - canonical form
wordTag - - tag
Returns:
the encoded string

asString

protected static String asString(byte[] str,
                                 String encoding)
Converts a byte array to a given encoding.

Parameters:
str - Byte-array to be converted.
Returns:
Java String. If decoding is unsuccessful, the string is empty.

standardEncodeUTF8

public static String standardEncodeUTF8(String wordForm,
                                        String wordLemma,
                                        String wordTag)
                                 throws UnsupportedEncodingException
A UTF-8 variant of standardEncode(byte[], byte[], byte[]) This method converts the wordForm, wordLemma and tag to the form:
 wordForm + Kending + tags
 
where '+' is a separator, K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending.

Throws:
UnsupportedEncodingException

prefixEncodeUTF8

public static String prefixEncodeUTF8(String wordForm,
                                      String wordLemma,
                                      String wordTag)
                               throws UnsupportedEncodingException
A UTF-8 variant of prefixEncode(byte[], byte[], byte[]) This method converts wordform, wordLemma and the tag to the form:
 inflected_form + LKending + tags
 

where '+' is a separator, L is the number of characters to be deleted from the beginning of the word ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).

Parameters:
wordForm - - inflected word form
wordLemma - - canonical form
wordTag - - tag
Returns:
the encoded string
Throws:
UnsupportedEncodingException

infixEncodeUTF8

public static String infixEncodeUTF8(String wordForm,
                                     String wordLemma,
                                     String wordTag)
                              throws UnsupportedEncodingException
A UTF-8 variant of infixEncode(byte[], byte[], byte[]). This method converts wordform, wordLemma and the tag to the form:
 inflected_form + MLKending + tags
 

where '+' is a separator, M is the position of characters to be deleted towards the beginning of the inflected form ("A" means from the beginning, "B" from the second character, "C" - from the third one, and so on), L is the number of characters to be deleted from the position specified by M ("A" means none, "B" means one, "C" - 2, etc.), K is a character that specifies how many characters should be deleted from the end of the inflected form to produce the lexeme by concatenating the stripped string with the ending ("A" means none, "B' - 1, "C" - 2, and so on).

Parameters:
wordForm - - inflected word form
wordLemma - - canonical form
wordTag - - tag
Returns:
the encoded string
Throws:
UnsupportedEncodingException


Copyright © 2010. All Rights Reserved.