我从事自然语言处理领域的工作,从句子中提取主题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;
}