Система контент-анализа естественно-языковых текстов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
tion;java.util.logging.Level;java.util.logging.Logger;javax.swing.DefaultListModel;javax.swing.JFileChooser;dictionaries.MorphMain;java.io.BufferedWriter;java.io.EOFException;java.io.FileWriter;java.io.PrintWriter;java.util.Vector;javax.swing.JTable;javax.swing.JTextArea;javax.swing.ListSelectionModel;javax.swing.table.DefaultTableModel;
class MainWindow extends javax.swing.JFrame {
/** Creates new form NewJFrame */MainWindow() {();
}
MorphMain MM;String pathText;File FileName;For = new DefaultListModel();JTable getTable()
{jTable1;
}
JTextArea getTextArea()
{jTextArea1;
}
MorphMain getMorphDict()
{MM;
}
void LoadDictionary(MorphMain x)
{= x;
}void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {.setText("");.setText("");x;= new Union(this);(false);.setLimit(jSlider1.getValue());.start();
}
void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {.exit(0); // TODO add your handling code here:
}
void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {.exit(0); // TODO add your handling code here:
}
void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
fc = new JFileChooser();.setFileHidingEnabled(true);.setCurrentDirectory(new File("C:\\Text\\"));.swing.filechooser.FileFilter[] ff = fc.getChoosableFileFilters(); // Удаление фильтра для всех файлов.removeChoosableFileFilter(ff[0]); //.addChoosableFileFilter(new TXTFilter());res = fc.showOpenDialog(this);(res == JFileChooser.APPROVE_OPTION) {= fc.getSelectedFile();.out.println(fc.getSelectedFile().getAbsolutePath());= FileName.getAbsolutePath();x;= new frameLoad(this, false);_Text lt = new Load_Text(FileName, x,this);.setEnabled(false);.start();
}
}
void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {k;= new Config();.setVisible(true);
}
void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {x;= new Union(this);(false);.setLimit(jSlider1.getValue());.start(); }void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {t;= new EditStopDict(this,true,MM);.setVisible(true);
}void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {apf;= new AppendFormsDict(this,true,MM);.setVisible(true);
}
void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {ff;= new FormsFind(this,true,MM);.setVisible(true);
}
void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {.setText("");.setText("");.setText("");.setValue(0);.setString("");();model = new DefaultTableModel(tableData, columnName);.setModel(model);
}
void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {res;re;(jTextArea2.getText().isEmpty()) {
javax.swing.JOptionPane.showMessageDialog(this,"Недостаточно данных для сохранения результата. Возможно, анализ не был проведен.");;
}fc = new JFileChooser();.setDialogTitle("Сохранение файла");.setFileSelectionMode(JFileChooser.FILES_ONLY);
fc.updateUI();= fc.showSaveDialog(this);(re == JFileChooser.APPROVE_OPTION) {
{out1 = null;{= new PrintWriter(new BufferedWriter(new FileWriter(fc.getSelectedFile().getAbsolutePath()+".txt")));.println("Файл - "+FileName.getAbsolutePath());
out1.println("Возможные ключевые слова: ");
out1.println(jTextArea2.getText());.close();
} catch (IOException ex) {.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
}{{.close();
} catch (Exception ex) {.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
.swing.JOptionPane.showMessageDialog(this,"Результаты успешно сохранены в файл");
}
}void jMenu3ActionPerformed(java.awt.event.ActionEvent evt) {a;= new About(this, true);.setVisible(true);
}
TXTFilter extends javax.swing.filechooser.FileFilter {boolean accept(java.io.File file) {(file.isDirectory()) return true;file.getName().endsWith("txt");
}String getDescription() {return "TXT файлы (*.txt)";};
}
/**
* @param args the command line arguments
*/static void main(String args[]) {{ javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}(Exception e) {System.out.println("Ошибка иницилиазации:"+e.getMessage());}.awt.EventQueue.invokeLater(new Runnable() {void run() {MainWindow().setVisible(true);
}
});
}
// Variables declaration - do not modifyjavax.swing.JButton jButton1;javax.swing.JButton jButton2;javax.swing.JButton jButton4;javax.swing.JButton jButton6;javax.swing.JLabel jLabel1;javax.swing.JLabel jLabel2;javax.swing.JMenu jMenu1;javax.swing.JMenu jMenu2;javax.swing.JMenu jMenu3;javax.swing.JMenu jMenu4;javax.swing.JMenuBar jMenuBar1;javax.swing.JMenuItem jMenuItem1;javax.swing.JMenuItem jMenuItem10;javax.swing.JMenuItem jMenuItem2;javax.swing.JMenuItem jMenuItem3;javax.swing.JMenuItem jMenuItem4;javax.swing.JMenuItem jMenuItem5;javax.swing.JMenuItem jMenuItem6;javax.swing.JMenuItem jMenuItem7;javax.swing.JPanel jPanel1;javax.swing.JPanel jPanel2;javax.swing.JPanel jPanel3;javax.swing.JProgressBar jProgressBar1;javax.swing.JScrollPane jScrollPane1;javax.swing.JScrollPane jScrollPane2;javax.swing.JScrollPane jScrollPane4;javax.swing.JScrollPane jScrollPane5;javax.swing.JSeparator jSeparator1;javax.swing.JSeparator jSeparator2;javax.swing.JSlider jSlider1;javax.swing.JTable jTable1;javax.swing.JTextArea jTextArea1;javax.swing.JTextArea jTextArea2;javax.swing.JTextArea jTextArea3;javax.swing.JTextField jTextField1;org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration
}
interfaces;
analysis.Start_options;java.awt.Color;java.awt.Font;java.awt.Graphics;java.awt.Image;java.awt.image.BufferedImage;java.awt.image.ImageObserver;java.awt.image.ImageProducer;java.io.File;java.io.FileNotFoundException;java.io.IOException;java.util.logging.Level;java.util.logging.Logger;javax.imageio.ImageIO;dictionaries.MorphMain;java.io.BufferedReader;java.io.FileReader;
class startwindow extends javax.swing.JFrame {Image i;
/** Creates new form startwindow */startwindow() {();
}void activate(java.awt.event.WindowEvent evt) {in = null;{d;= this.getGraphics();bufImg = null;{= ImageIO.read(new File("golubie tona.png"));
} catch (IOException e) {.printStackTrace();
}(bufImg != null) {.drawImage(bufImg, 0, 0, bufImg.getWidth(), bufImg.getHeight(), null);
}.setFont(new Font("Courier New", Font.BOLD, 32));.setColor(Color.BLACK);.drawString("{СКАТ}", 410, 215);.setFont(new Font("Courier New", Font.BOLD, 16));.setColor(Color.BLACK);.drawString("Система контент анализа естественно-языковых текстов", 8, this.getHeight() - 100);.updateUI();= new BufferedReader(new FileReader("Config.ini"));_options so;= new Start_options();y;((y=in.readLine()) != null )
{.setParam(y); }MM = new MorphMain(this,so);.start();
} catch (IOException ex) {.getLogger(startwindow.class.getName()).log(Level.SEVERE, null, ex);
} finally {{.close();
} catch (IOException ex) {.getLogger(startwindow.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
/**
* @param args the command line arguments
*/static void main(String args[]) {.awt.EventQueue.invokeLater(new Runnable() {void run() {startwindow().setVisible(true);
}
});
}
// Variables declaration - do not modifyjavax.swing.JProgressBar jProgressBar1;
// End of variables declaration
}
Приложение 2
ГРАФИЧЕСКИЙ МАТЕРИАЛ
Графический материал включает:
?Лист 1: постановка задачи,
?Лист 2: модель предметной области,
?Лист 3: функция поиска ключевых слов,
?Лист 4: структура таблицы лексем,
?Лист 5: структура элемента списка таблицы,
?Лист 6: структура вершины дерева морфологического словаря,
?Лист 7: структура поля признаков,
?Лист 8: структура морфологического словаря,
?Лист 9: схема алгоритма поиска,
?Лист 10: схема алгоритма склеивания,
?Лист 11: модель вариантов использования,
?Лист 12: интерфейс программы,
?Лист 13: тестовый пример анализа.
Графический материал выполнен в программе Компас-3D, и представлен ниже.