如何在没有任何数据库的java代码中使用文本文件库

时间:2017-04-09 06:31:47

标签: java nlp

我从事自然语言处理领域的工作,从句子中提取主题Emotion.for执行此操作我可以将两个JTextFields用于输入,另一个用于显示输出,它们是另一个JLabel用于显示图像,即快乐,悲伤,恐惧,惊讶和愤怒的png文件的emjos。所以主要的问题是我在java项目文件的dependencies \ dictionary文件夹中将文本文件名称设置为happyWords.txt,sadWords.txt,surprise.txt,fearWord.txt和angryWords.txt。我必须调用这些文件来查找输入句子中的单词,该单词应与存储在这些文本文件中的单词之一匹配...例如我给出句子"我很高兴。&#34 ; 然后这句话将用文本文件扫描,假设" happyWords.txt"文件包含" happy"然后我们考虑这句话,因为这句话显示了快乐的情感,之后快乐的emjo png文件应该出现在JLabel上。

以下是主页代码: -

public class Home extends javax.swing.JFrame {

 /* Creates new form Home
 */
InputPreprocessing preprocessing = new InputPreprocessing();
BufferedImage buffer;
String tokens = "";
String phraseReplacement = "";
String template = "";
Set<String> spellSuggestions;
String synonyms;
PhraseReplacement replacement = new PhraseReplacement();
public Home(){
 for (String standardPhrase : new ReadDictionaries().getCorrestWords()) {
        textAreaStandardPhrases.append(standardPhrase + "\n");
    }
  }
  private void emotionActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
  //  Scanner fromStr=new Scanner(textQuery.getText());

   for (String happywords : new ReadDictionaries().happyWords()) {
       Scanner happy=new Scanner("happyWords.txt");
       Scanner fromStr=new Scanner(textQuery.getText());
    while(fromStr.hasNext())
  {

    }
              }
 }    
 public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new Home().setVisible(true);
        }
    });
}

private javax.swing.JButton B_Tokenization;
private javax.swing.JScrollPane JScroll_SpellSuggestions;
private javax.swing.JButton buttonAnalysis;
private javax.swing.JButton buttonMsgCLear;
private javax.swing.JButton buttonOutputClear;
private javax.swing.JButton emotion;
private javax.swing.JFrame jFrame1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JLabel oplabel;
private javax.swing.JTextArea outputTxt;
private javax.swing.JPanel panelStandardWords;
private javax.swing.JScrollPane scrollPaneMessages;
private javax.swing.JScrollPane scrollPaneOutput;
private javax.swing.JScrollPane scrollPaneStandardPhrases;
public static javax.swing.JTextArea textAreaMessages;
private javax.swing.JTextArea textAreaSpell;
private javax.swing.JTextArea textAreaStandardPhrases;
private javax.swing.JTextField textQuery;
private javax.swing.JLabel titleLbl;

这里是ReadDictionaries.java文件,其中所有字典文件都被调用: -

public class ReadDictionaries {

List<String> dictionaries;

public List<String> getCorrestWords() {
    dictionaries = new ArrayList<>();
    try (BufferedReader bufferedReader = new BufferedReader(new FileReader("./dependencies/dictionary/CorrectWords.txt"))) {
        while (bufferedReader.ready()) {
            dictionaries.add(bufferedReader.readLine().trim().toLowerCase());
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    }
    return dictionaries;
}

public List<String> getStandardTerms() {
    dictionaries = new ArrayList<>();
    try (BufferedReader bufferedReader = new BufferedReader(new FileReader("./dependencies/dictionary/StandardTerms.txt"))) {
        while (bufferedReader.ready()) {
            dictionaries.add(bufferedReader.readLine().trim());
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    }
    return dictionaries;
}

public List<String> getPredefinedQue() {
    dictionaries = new ArrayList<>();
    try (BufferedReader bufferedReader = new BufferedReader(new FileReader("./dependencies/dictionary/PredefinedQuestions.txt"))) {
        while (bufferedReader.ready()) {
            dictionaries.add(bufferedReader.readLine().trim().toLowerCase());
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    }
    return dictionaries;
}

public List<String> getConstructedQue() {
    dictionaries = new ArrayList<>();
    try (BufferedReader bufferedReader = new BufferedReader(new FileReader("./dependencies/dictionary/StandardTerms.txt"))) {
        while (bufferedReader.ready()) {
            dictionaries.add(bufferedReader.readLine().trim().toLowerCase());
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(ReadDictionaries.class.getName()).log(Level.SEVERE, null, ex);
    }
    return dictionaries;
}

0 个答案:

没有答案