@Test public void testPhraseTable() { final MosesPhraseTable readFromFile = MosesPhraseTable.readFromFile(FileUtils.getFile("test_phrase_table.moses").getPath()); { final int[] array1 = WordIndexer.StaticMethods.toArrayFromStrings(readFromFile.getWordIndexer(), Arrays.asList("i", "like")); final List<TargetSideTranslation> translations = readFromFile.getTranslations(array1, 0, array1.length); Assert.assertEquals(3, translations.size()); Assert.assertEquals(1, translations.get(2).trgWords.length); Assert.assertEquals(2, translations.get(0).trgWords.length); } { final int[] array1 = WordIndexer.StaticMethods.toArrayFromStrings(readFromFile.getWordIndexer(), Arrays.asList("i")); final List<TargetSideTranslation> translations = readFromFile.getTranslations(array1, 0, array1.length); Assert.assertEquals(1, translations.size()); Assert.assertEquals(1, translations.get(0).trgWords.length); } { final int[] array1 = WordIndexer.StaticMethods.toArrayFromStrings(readFromFile.getWordIndexer(), Arrays.asList("want")); final List<TargetSideTranslation> translations = readFromFile.getTranslations(array1, 0, array1.length); Assert.assertEquals(0, translations.size()); } }
public static MosesPhraseTable readFromFile(final String file) { final StringWordIndexer stringWordIndexer = new StringWordIndexer(); final MosesPhraseTableReaderCallback<String> callback = new MosesPhraseTableReaderCallback<String>(stringWordIndexer); new MosesPhraseTableReader<String>(file, stringWordIndexer).parse(callback); return new MosesPhraseTable(callback.getMap(), stringWordIndexer); }
public static MosesPhraseTable readFromFile(String file) { final StringWordIndexer stringWordIndexer = new StringWordIndexer(); final MosesPhraseTableReaderCallback<String> callback = new MosesPhraseTableReaderCallback<String>(stringWordIndexer); new MosesPhraseTableReader<String>(file, stringWordIndexer).parse(callback); return new MosesPhraseTable(callback.getMap(), stringWordIndexer); }