package ir.ac.iust.nlp.dependencyparser.hybrid;
import ir.ac.iust.nlp.dependencyparser.BasePanel;
import ir.ac.iust.nlp.dependencyparser.DependencyParser;
import ir.ac.iust.nlp.dependencyparser.utility.ExampleFileFilter;
import ir.ac.iust.nlp.dependencyparser.utility.enumeration.Flowchart;
import ir.ac.iust.nlp.dependencyparser.utility.enumeration.ParserType;
import ir.ac.iust.nlp.dependencyparser.utility.parsing.*;
import java.awt.Color;
import java.awt.GridLayout;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.swing.SpinnerNumberModel;
/**
*
* @author Mojtaba Khallash
*/
public class StackingPanel extends BasePanel {
MaltSettingsPanel pnlMalt;
MSTSettingsPanel pnlMSTL0, pnlMSTL1;
/**
* Creates new form pnlStacked
*/
public StackingPanel(String dir) {
super(dir);
pnlMalt = new MaltSettingsPanel(dir);
pnlMSTL0 = new MSTSettingsPanel(Flowchart.Train);
pnlMSTL1 = new MSTSettingsPanel(Flowchart.Train);
initComponents();
setDrop();
setCurrentDirectory(dir);
lblLessL0.setVisible(false);
pnlAdvancedParameterL0.setVisible(false);
lblLessL1.setVisible(false);
pnlAdvancedParameterL1.setVisible(false);
SpinnerNumberModel num_model = new SpinnerNumberModel(5, 2, 10000, 1);
spAugmentNParts.setModel(num_model);
tabSettings.remove(pnlMaltSettings);
txtMaxRam.setText(getRam(true));
txtMinRam.setText(getRam(false));
}
private void setDrop() {
initDrop(txtTrainFileL0, false);
initDrop(txtTrainFileL1, false);
initDrop(txtTestFileL0, false);
initDrop(txtTestFileL1, false);
initDrop(txtAugmentedTrain, true);
initDrop(txtAugmentedTest, true);
initDrop(txtParsePathL1, true);
}
public final void setCurrentDirectory(String dir) {
txtTrainFileL0.setText(dir + File.separator +
"Treebank" + File.separator +
"Persian" + File.separator +
"train.conll");
txtTestFileL0.setText(dir + File.separator +
"Treebank" + File.separator +
"Persian" + File.separator +
"test.conll");
txtAugmentedTrain.setText(dir + File.separator +
"Output" + File.separator +
"stacking" + File.separator);
txtAugmentedTest.setText(dir + File.separator +
"Output" + File.separator +
"stacking" + File.separator);
txtTrainFileL1.setText(dir + File.separator +
"Treebank" + File.separator +
"Persian" + File.separator +
"stacking" + File.separator +
"train_pred.conll");
txtTestFileL1.setText(dir + File.separator +
"Treebank" + File.separator +
"Persian" + File.separator +
"stacking" + File.separator +
"test_pred.conll");
txtParsePathL1.setText(dir + File.separator +
"Output" + File.separator +
"stacking" + File.separator);
}
@Override
public boolean canSave() {
return true;
}
@Override
public void save() {
ExampleFileFilter filter = new ExampleFileFilter("txt", "Text Files");
switch(tpLevels.getSelectedIndex()) {
// Level0
case 0:
saveText(filter, "stack_level0_log.txt", txtLogL0.getText());
break;
// Level 1
case 1:
saveText(filter, "stack_level1_log.txt", txtLogL1.getText());
break;
}
}
@Override
public void saveAs() {
save();
}
@Override
public void threadFinished() {
btnRunL0.setEnabled(true);
btnRunL1.setEnabled(true);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
lblTitle = new javax.swing.JLabel();
separator = new javax.swing.JPanel();
tpLevels = new javax.swing.JTabbedPane();
pnlLevel0 = new javax.swing.JPanel();
pnlSettingL0 = new javax.swing.JPanel();
lblTrainFileL0 = new javax.swing.JLabel();
txtTrainFileL0 = new javax.swing.JTextField();
btnTrainFileL0Browse = new javax.swing.JToggleButton();
lblAugmentedTrain = new javax.swing.JLabel();
lblTestFileL0 = new javax.swing.JLabel();
txtTestFileL0 = new javax.swing.JTextField();
btnTestFileL0Browse = new javax.swing.JButton();
lblAugmentedTest = new javax.swing.JLabel();
txtAugmentedTrain = new javax.swing.JTextField();
txtAugmentedTest = new javax.swing.JTextField();
btnAugmentedTrainBrowse = new javax.swing.JButton();
btnAugmentedTestBrowse = new javax.swing.JButton();
pnlMoreL0 = new javax.swing.JPanel();
lblMoreL0 = new javax.swing.JLabel();
lblLessL0 = new javax.swing.JLabel();
btnRunL0 = new javax.swing.JButton();
pnlAdvancedParameterL0 = new javax.swing.JPanel();
lblAugmentNParts = new javax.swing.JLabel();
spAugmentNParts = new javax.swing.JSpinner();
lblParserL0 = new javax.swing.JLabel();
cboParserL0 = new javax.swing.JComboBox();
tabSettings = new javax.swing.JTabbedPane();
pnlMSTSettingsL0 = new javax.swing.JPanel();
lblMSTSettingsL0Place = new javax.swing.JLabel();
pnlMaltSettings = new javax.swing.JPanel();
lblMaltSettingsPlace = new javax.swing.JLabel();
txtMaxRam = new javax.swing.JTextField();
chkMaxRam = new javax.swing.JCheckBox();
chkMinRam = new javax.swing.JCheckBox();
txtMinRam = new javax.swing.JTextField();
jTabbedPane2 = new javax.swing.JTabbedPane();
jPanel3 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
txtLogL0 = new javax.swing.JTextArea();
pnlLevel1 = new javax.swing.JPanel();
pnlSettingL1 = new javax.swing.JPanel();
lblTrainFileL1 = new javax.swing.JLabel();
txtTrainFileL1 = new javax.swing.JTextField();
btnTrainFileL1Browse = new javax.swing.JButton();
lblTestFileL1 = new javax.swing.JLabel();
txtTestFileL1 = new javax.swing.JTextField();
btnTestFileL1Browse = new javax.swing.JButton();
btnRunL1 = new javax.swing.JButton();
lblParsePathL1 = new javax.swing.JLabel();
txtParsePathL1 = new javax.swing.JTextField();
btnParsePathL1Browse = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
chkPredEdge = new javax.swing.JCheckBox();
chkPrevSibl = new javax.swing.JCheckBox();
chkNextSibl = new javax.swing.JCheckBox();
chkGrandparents = new javax.swing.JCheckBox();
chkAllchildren = new javax.swing.JCheckBox();
chkPredHead = new javax.swing.JCheckBox();
pnlMoreL1 = new javax.swing.JPanel();
lblMoreL1 = new javax.swing.JLabel();
lblLessL1 = new javax.swing.JLabel();
pnlAdvancedParameterL1 = new javax.swing.JPanel();
jTabbedPanelL1 = new javax.swing.JTabbedPane();
pnlMSTSettingsL1 = new javax.swing.JPanel();
lblMSTSettingsL1Place = new javax.swing.JLabel();
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel2 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
txtLogL1 = new javax.swing.JTextArea();
lblTitle.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
lblTitle.setText("Stacking");
separator.setBorder(javax.swing.BorderFactory.createEtchedBorder());
separator.setPreferredSize(new java.awt.Dimension(380, 2));
javax.swing.GroupLayout separatorLayout = new javax.swing.GroupLayout(separator);
separator.setLayout(separatorLayout);
separatorLayout.setHorizontalGroup(
separatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);
separatorLayout.setVerticalGroup(
separatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);
pnlSettingL0.setBorder(javax.swing.BorderFactory.createTitledBorder("Settings"));
lblTrainFileL0.setText("Train File:");
txtTrainFileL0.setEditable(false);
btnTrainFileL0Browse.setText("...");
btnTrainFileL0Browse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTrainFileL0BrowseActionPerformed(evt);
}
});
lblAugmentedTrain.setText("Augmented Train:");
lblTestFileL0.setText("Test File:");
txtTestFileL0.setEditable(false);
btnTestFileL0Browse.setText("...");
btnTestFileL0Browse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTestFileL0BrowseActionPerformed(evt);
}
});
lblAugmentedTest.setText("Augmented Test:");
txtAugmentedTrain.setEditable(false);
txtAugmentedTest.setEditable(false);
btnAugmentedTrainBrowse.setText("...");
btnAugmentedTrainBrowse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAugmentedTrainBrowseActionPerformed(evt);
}
});
btnAugmentedTestBrowse.setText("...");
btnAugmentedTestBrowse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAugmentedTestBrowseActionPerformed(evt);
}
});
pnlMoreL0.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(240, 240, 240)));
lblMoreL0.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
lblMoreL0.setForeground(new java.awt.Color(153, 153, 153));
lblMoreL0.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_down.png"))); // NOI18N
lblMoreL0.setText(" More ");
lblMoreL0.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
lblMoreL0_mouseClick(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
lblMoreL0pnlMore_mouseEnter(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
lblMoreL0pnlMore_mouseExit(evt);
}
});
lblLessL0.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
lblLessL0.setForeground(new java.awt.Color(153, 153, 153));
lblLessL0.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_up.png"))); // NOI18N
lblLessL0.setText(" Less");
lblLessL0.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
lblLessL0_mouseClick(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
lblLessL0pnlMore_mouseEnter(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
lblLessL0pnlMore_mouseExit(evt);
}
});
javax.swing.GroupLayout pnlMoreL0Layout = new javax.swing.GroupLayout(pnlMoreL0);
pnlMoreL0.setLayout(pnlMoreL0Layout);
pnlMoreL0Layout.setHorizontalGroup(
pnlMoreL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlMoreL0Layout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(lblMoreL0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblLessL0)
.addContainerGap())
);
pnlMoreL0Layout.setVerticalGroup(
pnlMoreL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMoreL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblLessL0, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblMoreL0, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
);
btnRunL0.setText("Run Level0");
btnRunL0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRunL0ActionPerformed(evt);
}
});
lblAugmentNParts.setText("Number of augment parts:");
lblParserL0.setText("Parser:");
cboParserL0.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "MSTParser", "MaltParser" }));
cboParserL0.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cboParserL0_stateChanged(evt);
}
});
lblMSTSettingsL0Place.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblMSTSettingsL0Place.setText("MSTParser Settings: Appear after running");
javax.swing.GroupLayout pnlMSTSettingsL0Layout = new javax.swing.GroupLayout(pnlMSTSettingsL0);
pnlMSTSettingsL0.setLayout(pnlMSTSettingsL0Layout);
pnlMSTSettingsL0Layout.setHorizontalGroup(
pnlMSTSettingsL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMSTSettingsL0Place, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE)
);
pnlMSTSettingsL0Layout.setVerticalGroup(
pnlMSTSettingsL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMSTSettingsL0Place, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE)
);
tabSettings.addTab("MSTParser Settings", pnlMSTSettingsL0);
pnlMSTSettingsL0.removeAll();
pnlMSTSettingsL0.setLayout(new GridLayout());
pnlMSTSettingsL0.add(pnlMSTL0);
pnlMSTSettingsL0.revalidate();
lblMaltSettingsPlace.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblMaltSettingsPlace.setText("MaltParser Settings: Appear after running");
javax.swing.GroupLayout pnlMaltSettingsLayout = new javax.swing.GroupLayout(pnlMaltSettings);
pnlMaltSettings.setLayout(pnlMaltSettingsLayout);
pnlMaltSettingsLayout.setHorizontalGroup(
pnlMaltSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMaltSettingsPlace, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE)
);
pnlMaltSettingsLayout.setVerticalGroup(
pnlMaltSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMaltSettingsPlace, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE)
);
tabSettings.addTab("MaltParser Settings", pnlMaltSettings);
pnlMaltSettings.removeAll();
pnlMaltSettings.setLayout(new GridLayout());
pnlMaltSettings.add(pnlMalt);
pnlMaltSettings.revalidate();
javax.swing.GroupLayout pnlAdvancedParameterL0Layout = new javax.swing.GroupLayout(pnlAdvancedParameterL0);
pnlAdvancedParameterL0.setLayout(pnlAdvancedParameterL0Layout);
pnlAdvancedParameterL0Layout.setHorizontalGroup(
pnlAdvancedParameterL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlAdvancedParameterL0Layout.createSequentialGroup()
.addComponent(lblAugmentNParts)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(spAugmentNParts, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblParserL0)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cboParserL0, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(tabSettings, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
);
pnlAdvancedParameterL0Layout.setVerticalGroup(
pnlAdvancedParameterL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlAdvancedParameterL0Layout.createSequentialGroup()
.addGroup(pnlAdvancedParameterL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblAugmentNParts)
.addComponent(spAugmentNParts, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblParserL0)
.addComponent(cboParserL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tabSettings))
);
txtMaxRam.setEditable(false);
chkMaxRam.setText("Max Ram");
chkMaxRam.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
chkMaxRam_Click(evt);
}
});
chkMinRam.setText("Min Ram");
chkMinRam.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
chkMinRam_Click(evt);
}
});
txtMinRam.setEditable(false);
javax.swing.GroupLayout pnlSettingL0Layout = new javax.swing.GroupLayout(pnlSettingL0);
pnlSettingL0.setLayout(pnlSettingL0Layout);
pnlSettingL0Layout.setHorizontalGroup(
pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlSettingL0Layout.createSequentialGroup()
.addContainerGap()
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(pnlAdvancedParameterL0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(pnlSettingL0Layout.createSequentialGroup()
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSettingL0Layout.createSequentialGroup()
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblTestFileL0)
.addComponent(lblTrainFileL0))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(txtTrainFileL0)
.addComponent(txtTestFileL0)))
.addGroup(pnlSettingL0Layout.createSequentialGroup()
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblAugmentedTrain)
.addComponent(lblAugmentedTest))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtAugmentedTest)
.addComponent(txtAugmentedTrain))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(btnTrainFileL0Browse, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTestFileL0Browse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
.addComponent(btnAugmentedTrainBrowse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
.addComponent(btnAugmentedTestBrowse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)))
.addGroup(pnlSettingL0Layout.createSequentialGroup()
.addComponent(pnlMoreL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(chkMaxRam)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtMaxRam, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(chkMinRam)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtMinRam, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnRunL0)))
.addContainerGap())
);
pnlSettingL0Layout.setVerticalGroup(
pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlSettingL0Layout.createSequentialGroup()
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblTrainFileL0)
.addComponent(txtTrainFileL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTrainFileL0Browse))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblTestFileL0)
.addComponent(txtTestFileL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTestFileL0Browse))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblAugmentedTrain)
.addComponent(txtAugmentedTrain, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnAugmentedTrainBrowse))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lblAugmentedTest)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtAugmentedTest, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnAugmentedTestBrowse)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(pnlMoreL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnRunL0)
.addGroup(pnlSettingL0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(chkMaxRam)
.addComponent(txtMaxRam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(chkMinRam)
.addComponent(txtMinRam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(pnlAdvancedParameterL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
txtLogL0.setColumns(20);
txtLogL0.setEditable(false);
txtLogL0.setRows(5);
jScrollPane2.setViewportView(txtLogL0);
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE)
);
jTabbedPane2.addTab("Log", jPanel3);
javax.swing.GroupLayout pnlLevel0Layout = new javax.swing.GroupLayout(pnlLevel0);
pnlLevel0.setLayout(pnlLevel0Layout);
pnlLevel0Layout.setHorizontalGroup(
pnlLevel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlLevel0Layout.createSequentialGroup()
.addContainerGap()
.addGroup(pnlLevel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTabbedPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE)
.addComponent(pnlSettingL0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
pnlLevel0Layout.setVerticalGroup(
pnlLevel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLevel0Layout.createSequentialGroup()
.addContainerGap()
.addComponent(pnlSettingL0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTabbedPane2)
.addContainerGap())
);
tpLevels.addTab("Level0", pnlLevel0);
pnlSettingL1.setBorder(javax.swing.BorderFactory.createTitledBorder("Settings"));
lblTrainFileL1.setText("Train File:");
txtTrainFileL1.setEditable(false);
btnTrainFileL1Browse.setText("...");
btnTrainFileL1Browse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTrainFileL1BrowseActionPerformed(evt);
}
});
lblTestFileL1.setText("Test File:");
txtTestFileL1.setEditable(false);
btnTestFileL1Browse.setText("...");
btnTestFileL1Browse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTestFileL1BrowseActionPerformed(evt);
}
});
btnRunL1.setText("Run Level1");
btnRunL1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRunL1ActionPerformed(evt);
}
});
lblParsePathL1.setText("Parse Path:");
txtParsePathL1.setEditable(false);
btnParsePathL1Browse.setText("...");
btnParsePathL1Browse.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnParsePathL1BrowseActionPerformed(evt);
}
});
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Stack Feature"));
chkPredEdge.setSelected(true);
chkPredEdge.setText("Predicate Edge");
chkPrevSibl.setSelected(true);
chkPrevSibl.setText("Previous Sibling");
chkNextSibl.setSelected(true);
chkNextSibl.setText("Next Sibling");
chkGrandparents.setSelected(true);
chkGrandparents.setText("Grandparents");
chkAllchildren.setSelected(true);
chkAllchildren.setText("All Children");
chkPredHead.setSelected(true);
chkPredHead.setText("Predicate Head");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(chkPredEdge)
.addComponent(chkGrandparents))
.addGap(49, 49, 49)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(chkPrevSibl)
.addGap(44, 44, 44)
.addComponent(chkNextSibl))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(chkAllchildren)
.addGap(64, 64, 64)
.addComponent(chkPredHead)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(chkPredEdge)
.addComponent(chkPrevSibl)
.addComponent(chkNextSibl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(chkGrandparents)
.addComponent(chkAllchildren)
.addComponent(chkPredHead))
.addContainerGap())
);
pnlMoreL1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(240, 240, 240)));
lblMoreL1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
lblMoreL1.setForeground(new java.awt.Color(153, 153, 153));
lblMoreL1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_down.png"))); // NOI18N
lblMoreL1.setText(" More ");
lblMoreL1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
lblMoreL1_mouseClick(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
lblMoreL1pnlMore_mouseEnter(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
lblMoreL1pnlMore_mouseExit(evt);
}
});
lblLessL1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
lblLessL1.setForeground(new java.awt.Color(153, 153, 153));
lblLessL1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ir/ac/iust/nlp/dependencyparser/evaluation/directional_up.png"))); // NOI18N
lblLessL1.setText(" Less");
lblLessL1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
lblLessL1_mouseClick(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
lblLessL1pnlMore_mouseEnter(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
lblLessL1pnlMore_mouseExit(evt);
}
});
javax.swing.GroupLayout pnlMoreL1Layout = new javax.swing.GroupLayout(pnlMoreL1);
pnlMoreL1.setLayout(pnlMoreL1Layout);
pnlMoreL1Layout.setHorizontalGroup(
pnlMoreL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlMoreL1Layout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(lblMoreL1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblLessL1)
.addContainerGap())
);
pnlMoreL1Layout.setVerticalGroup(
pnlMoreL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMoreL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblLessL1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblMoreL1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
);
lblMSTSettingsL1Place.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblMSTSettingsL1Place.setText("MSTParser Settings: Appear after running");
javax.swing.GroupLayout pnlMSTSettingsL1Layout = new javax.swing.GroupLayout(pnlMSTSettingsL1);
pnlMSTSettingsL1.setLayout(pnlMSTSettingsL1Layout);
pnlMSTSettingsL1Layout.setHorizontalGroup(
pnlMSTSettingsL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMSTSettingsL1Place, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE)
);
pnlMSTSettingsL1Layout.setVerticalGroup(
pnlMSTSettingsL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMSTSettingsL1Place, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE)
);
jTabbedPanelL1.addTab("MSTParser Settings", pnlMSTSettingsL1);
pnlMSTSettingsL1.removeAll();
pnlMSTSettingsL1.setLayout(new GridLayout());
pnlMSTSettingsL1.add(pnlMSTL1);
pnlMSTSettingsL1.revalidate();
javax.swing.GroupLayout pnlAdvancedParameterL1Layout = new javax.swing.GroupLayout(pnlAdvancedParameterL1);
pnlAdvancedParameterL1.setLayout(pnlAdvancedParameterL1Layout);
pnlAdvancedParameterL1Layout.setHorizontalGroup(
pnlAdvancedParameterL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPanelL1)
);
pnlAdvancedParameterL1Layout.setVerticalGroup(
pnlAdvancedParameterL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPanelL1)
);
javax.swing.GroupLayout pnlSettingL1Layout = new javax.swing.GroupLayout(pnlSettingL1);
pnlSettingL1.setLayout(pnlSettingL1Layout);
pnlSettingL1Layout.setHorizontalGroup(
pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlSettingL1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(pnlAdvancedParameterL1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(pnlSettingL1Layout.createSequentialGroup()
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlSettingL1Layout.createSequentialGroup()
.addComponent(lblParsePathL1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtParsePathL1))
.addGroup(pnlSettingL1Layout.createSequentialGroup()
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblTrainFileL1)
.addComponent(lblTestFileL1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtTestFileL1)
.addComponent(txtTrainFileL1))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(btnTestFileL1Browse, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTrainFileL1Browse, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
.addComponent(btnParsePathL1Browse, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSettingL1Layout.createSequentialGroup()
.addComponent(pnlMoreL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnRunL1)))
.addContainerGap())
);
pnlSettingL1Layout.setVerticalGroup(
pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlSettingL1Layout.createSequentialGroup()
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblTrainFileL1)
.addComponent(txtTrainFileL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTrainFileL1Browse))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblTestFileL1)
.addComponent(txtTestFileL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTestFileL1Browse))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblParsePathL1)
.addComponent(txtParsePathL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnParsePathL1Browse))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlSettingL1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(btnRunL1)
.addComponent(pnlMoreL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(pnlAdvancedParameterL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
txtLogL1.setColumns(20);
txtLogL1.setEditable(false);
txtLogL1.setRows(5);
jScrollPane1.setViewportView(txtLogL1);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE)
);
jTabbedPane1.addTab("Log", jPanel2);
javax.swing.GroupLayout pnlLevel1Layout = new javax.swing.GroupLayout(pnlLevel1);
pnlLevel1.setLayout(pnlLevel1Layout);
pnlLevel1Layout.setHorizontalGroup(
pnlLevel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlLevel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(pnlLevel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE)
.addComponent(pnlSettingL1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
pnlLevel1Layout.setVerticalGroup(
pnlLevel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLevel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(pnlSettingL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTabbedPane1)
.addContainerGap())
);
tpLevels.addTab("Level1", pnlLevel1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(tpLevels, javax.swing.GroupLayout.DEFAULT_SIZE, 617, Short.MAX_VALUE)
.addComponent(separator, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 617, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(lblTitle)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(lblTitle)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(separator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tpLevels)
.addContainerGap())
);
}// </editor-fold>//GEN-END:initComponents
private void lblMoreL0_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL0_mouseClick
lblMoreL0.setVisible(false);
lblLessL0.setVisible(true);
pnlAdvancedParameterL0.setVisible(true);
}//GEN-LAST:event_lblMoreL0_mouseClick
private void lblMoreL0pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL0pnlMore_mouseEnter
pnlMoreL0.setBackground(new Color(235, 232, 232));
pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false));
}//GEN-LAST:event_lblMoreL0pnlMore_mouseEnter
private void lblMoreL0pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL0pnlMore_mouseExit
pnlMoreL0.setBackground(new Color(240, 240, 240));
pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false));
}//GEN-LAST:event_lblMoreL0pnlMore_mouseExit
private void lblLessL0_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL0_mouseClick
pnlAdvancedParameterL0.setVisible(false);
lblLessL0.setVisible(false);
lblMoreL0.setVisible(true);
}//GEN-LAST:event_lblLessL0_mouseClick
private void lblLessL0pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL0pnlMore_mouseEnter
pnlMoreL0.setBackground(new Color(235, 232, 232));
pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false));
}//GEN-LAST:event_lblLessL0pnlMore_mouseEnter
private void lblLessL0pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL0pnlMore_mouseExit
pnlMoreL0.setBackground(new Color(240, 240, 240));
pnlMoreL0.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false));
}//GEN-LAST:event_lblLessL0pnlMore_mouseExit
private void btnRunL0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRunL0ActionPerformed
btnRunL0.setEnabled(false);
Settings settings;
ParserType type;
if (cboParserL0.getSelectedItem().toString().equals("MSTParser")) {
type = ParserType.MSTParser;
MSTStackSettings st = new MSTStackSettings();
st.Level = 0;
// train-file
st.Input = txtTrainFileL0.getText();
// train output-file
st.AugmentedTrainFile = txtAugmentedTrain.getText() + "train_pred.conll";
// test-file
st.Gold = txtTestFileL0.getText();
// test output-file
st.Output = txtAugmentedTest.getText() + "test_pred.conll";
// model-name
st.Model = workingDir + File.separator + "modelname_level0.model";
st.AugmentNParts = Integer.parseInt(spAugmentNParts.getValue().toString());
// training iters
st.Iteration = pnlMSTL0.getTrainingIterations();
// decode-type
st.DecodeType = pnlMSTL0.getDecodeType();
// training-k
st.TrainingK = pnlMSTL0.getTrainingK();
// loss-type
st.LossType = pnlMSTL0.getLossType();
// order
st.Order = pnlMSTL0.getOrder();
settings = st;
}
else {
type = ParserType.MaltParser;
MaltStackSettings st = new MaltStackSettings();
st.Level = 0;
// train-file
st.Input = txtTrainFileL0.getText();
// test-file
st.Gold = txtTestFileL0.getText();
// train output-file
st.AugmentedTrainFile = txtAugmentedTrain.getText() + "train_pred.conll";
// test output-file
st.Output = txtAugmentedTest.getText() + "test_pred.conll";
// augment-nparts
st.AugmentNParts = Integer.parseInt(spAugmentNParts.getValue().toString());
// options file
st.OptionsFile = pnlMalt.getOptionsFile();
// guide features file
st.GuidesFile = pnlMalt.getGuidesFile();
// working directory
st.WorkingDirectory = "tmp" + File.separator;
settings = st;
}
PrintStream out = new PrintStream(new OutputStream() {
private StringBuffer buffer = new StringBuffer();
@Override
public void write(int b)
throws IOException {
this.buffer.append((char) b);
txtLogL0.setText(buffer.toString());
txtLogL0.setCaretPosition(txtLogL0.getDocument().getLength() - 1);
}
});
if (chkMaxRam.isSelected()) {
DependencyParser.maxRam = txtMaxRam.getText();
}
else {
DependencyParser.maxRam = "";
}
if (chkMinRam.isSelected()) {
DependencyParser.minRam = txtMinRam.getText();
}
else {
DependencyParser.minRam = "";
}
// Run in a new thread
Runnable job = new RunnableHybrid(this, out, type, settings);
ExecutorService threadPool = Executors.newFixedThreadPool(1);
threadPool.execute(job);
threadPool.shutdown();
}//GEN-LAST:event_btnRunL0ActionPerformed
private void btnTrainFileL0BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTrainFileL0BrowseActionPerformed
txtTrainFileL0.setText(showFileDialog(txtTrainFileL0.getText(), false));
}//GEN-LAST:event_btnTrainFileL0BrowseActionPerformed
private void btnTestFileL0BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTestFileL0BrowseActionPerformed
txtTestFileL0.setText(showFileDialog(txtTestFileL0.getText(), false));
}//GEN-LAST:event_btnTestFileL0BrowseActionPerformed
private void btnAugmentedTrainBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAugmentedTrainBrowseActionPerformed
txtAugmentedTrain.setText(showFileDialog(txtAugmentedTrain.getText(), true));
}//GEN-LAST:event_btnAugmentedTrainBrowseActionPerformed
private void btnAugmentedTestBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAugmentedTestBrowseActionPerformed
txtAugmentedTest.setText(showFileDialog(txtAugmentedTest.getText(), true));
}//GEN-LAST:event_btnAugmentedTestBrowseActionPerformed
private void btnRunL1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRunL1ActionPerformed
btnRunL1.setEnabled(false);
MSTStackSettings settings = new MSTStackSettings();
settings.Level = 1;
// train-file
settings.Input = txtTrainFileL1.getText();
// test-file
settings.Gold = txtTestFileL1.getText();
// parse output-file
settings.Output = txtParsePathL1.getText() + "parse.conll";
// training iters
settings.Iteration = pnlMSTL1.getTrainingIterations();
// decode-type
settings.DecodeType = pnlMSTL1.getDecodeType();
// training-k
settings.TrainingK = pnlMSTL1.getTrainingK();
// loss-type
settings.LossType = pnlMSTL1.getLossType();
// order
settings.Order = pnlMSTL1.getOrder();
// model-name
settings.Model = workingDir + File.separator + "modelname_level1.model";
// stackedfeat-pred-edge
settings.UsePredEdge = chkPredEdge.isSelected();
// stackedfeat-prev-sibl
settings.UsePrevSibling = chkPrevSibl.isSelected();
// stackedfeat-next-sibl
settings.UseNextSibling = chkNextSibl.isSelected();
// stackedfeat-grandparents
settings.UseGrandParents = chkGrandparents.isSelected();
// stackedfeat-allchildren
settings.UseAllchildren = chkAllchildren.isSelected();
// stackedfeat-pred-head
settings.UsePredHead = chkPredHead.isSelected();
PrintStream out = new PrintStream(new OutputStream() {
private StringBuffer buffer = new StringBuffer();
@Override
public void write(int b)
throws IOException {
this.buffer.append((char) b);
txtLogL1.setText(buffer.toString());
txtLogL1.setCaretPosition(txtLogL1.getDocument().getLength() - 1);
}
});
// Run in a new thread
Runnable job = new RunnableHybrid(this, out, ParserType.MSTParser, settings);
ExecutorService threadPool = Executors.newFixedThreadPool(1);
threadPool.execute(job);
threadPool.shutdown();
}//GEN-LAST:event_btnRunL1ActionPerformed
private void lblMoreL1_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL1_mouseClick
lblMoreL1.setVisible(false);
lblLessL1.setVisible(true);
pnlAdvancedParameterL1.setVisible(true);
}//GEN-LAST:event_lblMoreL1_mouseClick
private void lblMoreL1pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL1pnlMore_mouseEnter
pnlMoreL1.setBackground(new Color(235, 232, 232));
pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false));
}//GEN-LAST:event_lblMoreL1pnlMore_mouseEnter
private void lblMoreL1pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblMoreL1pnlMore_mouseExit
pnlMoreL1.setBackground(new Color(240, 240, 240));
pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false));
}//GEN-LAST:event_lblMoreL1pnlMore_mouseExit
private void lblLessL1_mouseClick(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL1_mouseClick
pnlAdvancedParameterL1.setVisible(false);
lblLessL1.setVisible(false);
lblMoreL1.setVisible(true);
}//GEN-LAST:event_lblLessL1_mouseClick
private void lblLessL1pnlMore_mouseEnter(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL1pnlMore_mouseEnter
pnlMoreL1.setBackground(new Color(235, 232, 232));
pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(102, 102, 102), 1, false));
}//GEN-LAST:event_lblLessL1pnlMore_mouseEnter
private void lblLessL1pnlMore_mouseExit(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lblLessL1pnlMore_mouseExit
pnlMoreL1.setBackground(new Color(240, 240, 240));
pnlMoreL1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(240, 240, 240), 1, false));
}//GEN-LAST:event_lblLessL1pnlMore_mouseExit
private void btnTrainFileL1BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTrainFileL1BrowseActionPerformed
txtTrainFileL1.setText(showFileDialog(txtTrainFileL1.getText(), false));
}//GEN-LAST:event_btnTrainFileL1BrowseActionPerformed
private void btnTestFileL1BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTestFileL1BrowseActionPerformed
txtTestFileL1.setText(showFileDialog(txtTestFileL1.getText(), false));
}//GEN-LAST:event_btnTestFileL1BrowseActionPerformed
private void btnParsePathL1BrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnParsePathL1BrowseActionPerformed
txtParsePathL1.setText(showFileDialog(txtParsePathL1.getText(), true));
}//GEN-LAST:event_btnParsePathL1BrowseActionPerformed
private void cboParserL0_stateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboParserL0_stateChanged
if (cboParserL0.getSelectedItem().toString().equals("MaltParser")) {
tabSettings.remove(pnlMSTSettingsL0);
tabSettings.add(pnlMaltSettings, "MaltParser Settings");
}
else {
tabSettings.remove(pnlMaltSettings);
tabSettings.add(pnlMSTSettingsL0, "MSTParser Settings");
}
}//GEN-LAST:event_cboParserL0_stateChanged
private void chkMinRam_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkMinRam_Click
txtMinRam.setEditable(chkMinRam.isSelected());
}//GEN-LAST:event_chkMinRam_Click
private void chkMaxRam_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkMaxRam_Click
txtMaxRam.setEditable(chkMaxRam.isSelected());
}//GEN-LAST:event_chkMaxRam_Click
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnAugmentedTestBrowse;
private javax.swing.JButton btnAugmentedTrainBrowse;
private javax.swing.JButton btnParsePathL1Browse;
private javax.swing.JButton btnRunL0;
private javax.swing.JButton btnRunL1;
private javax.swing.JButton btnTestFileL0Browse;
private javax.swing.JButton btnTestFileL1Browse;
private javax.swing.JToggleButton btnTrainFileL0Browse;
private javax.swing.JButton btnTrainFileL1Browse;
private javax.swing.JComboBox cboParserL0;
private javax.swing.JCheckBox chkAllchildren;
private javax.swing.JCheckBox chkGrandparents;
private javax.swing.JCheckBox chkMaxRam;
private javax.swing.JCheckBox chkMinRam;
private javax.swing.JCheckBox chkNextSibl;
private javax.swing.JCheckBox chkPredEdge;
private javax.swing.JCheckBox chkPredHead;
private javax.swing.JCheckBox chkPrevSibl;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTabbedPane jTabbedPane2;
private javax.swing.JTabbedPane jTabbedPanelL1;
private javax.swing.JLabel lblAugmentNParts;
private javax.swing.JLabel lblAugmentedTest;
private javax.swing.JLabel lblAugmentedTrain;
private javax.swing.JLabel lblLessL0;
private javax.swing.JLabel lblLessL1;
private javax.swing.JLabel lblMSTSettingsL0Place;
private javax.swing.JLabel lblMSTSettingsL1Place;
private javax.swing.JLabel lblMaltSettingsPlace;
private javax.swing.JLabel lblMoreL0;
private javax.swing.JLabel lblMoreL1;
private javax.swing.JLabel lblParsePathL1;
private javax.swing.JLabel lblParserL0;
private javax.swing.JLabel lblTestFileL0;
private javax.swing.JLabel lblTestFileL1;
private javax.swing.JLabel lblTitle;
private javax.swing.JLabel lblTrainFileL0;
private javax.swing.JLabel lblTrainFileL1;
private javax.swing.JPanel pnlAdvancedParameterL0;
private javax.swing.JPanel pnlAdvancedParameterL1;
private javax.swing.JPanel pnlLevel0;
private javax.swing.JPanel pnlLevel1;
private javax.swing.JPanel pnlMSTSettingsL0;
private javax.swing.JPanel pnlMSTSettingsL1;
private javax.swing.JPanel pnlMaltSettings;
private javax.swing.JPanel pnlMoreL0;
private javax.swing.JPanel pnlMoreL1;
private javax.swing.JPanel pnlSettingL0;
private javax.swing.JPanel pnlSettingL1;
private javax.swing.JPanel separator;
private javax.swing.JSpinner spAugmentNParts;
private javax.swing.JTabbedPane tabSettings;
private javax.swing.JTabbedPane tpLevels;
private javax.swing.JTextField txtAugmentedTest;
private javax.swing.JTextField txtAugmentedTrain;
private javax.swing.JTextArea txtLogL0;
private javax.swing.JTextArea txtLogL1;
private javax.swing.JTextField txtMaxRam;
private javax.swing.JTextField txtMinRam;
private javax.swing.JTextField txtParsePathL1;
private javax.swing.JTextField txtTestFileL0;
private javax.swing.JTextField txtTestFileL1;
private javax.swing.JTextField txtTrainFileL0;
private javax.swing.JTextField txtTrainFileL1;
// End of variables declaration//GEN-END:variables
}