Package joshua.decoder.ff

Source Code of joshua.decoder.ff.ArityPhrasePenaltyFFTest

/* This file is part of the Joshua Machine Translation System.
*
* Joshua is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
package joshua.decoder.ff;

import joshua.decoder.ff.tm.BilingualRule;
import joshua.decoder.ff.tm.MonolingualRule;
import joshua.decoder.ff.tm.Rule;

import org.testng.Assert;
import org.testng.annotations.Test;

/**
* Unit tests for ArityPhrasePenaltyFF.
*
* @author Lane Schwartz
* @version $LastChangedDate: 2010-01-18 14:39:52 -0600 (Mon, 18 Jan 2010) $
*/
public class ArityPhrasePenaltyFFTest {

  @Test
  public void alpha() {
    Assert.assertEquals(ArityPhrasePenaltyFF.ALPHA, - Math.log10(Math.E));
  }
 
  @Test
  public void estimate() {
   
    int featureID = 0;
    double weight = 0.0;
    int owner = MonolingualRule.DUMMY_OWNER;
    int min = 1;
    int max = 5;
   
    ArityPhrasePenaltyFF featureFunction = new ArityPhrasePenaltyFF(featureID, weight, owner, min, max);
   
    int lhs = -1;
    int[] sourceRHS = {24, -1, 42, 738};
    int[] targetRHS = {-1, 7, 8};
    float[] featureScores = {-2.35f, -1.78f, -0.52f};
    int arity = 1;
   
    Rule dummyRule = new BilingualRule(lhs, sourceRHS, targetRHS, featureScores, arity);
   
    Assert.assertEquals(featureFunction.estimateLogP(dummyRule, -1), ArityPhrasePenaltyFF.ALPHA);
   
  }
 
}
TOP

Related Classes of joshua.decoder.ff.ArityPhrasePenaltyFFTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.