-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
文章關(guān)鍵詞提取軟件(文章關(guān)鍵詞提取軟件下載)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于文章關(guān)鍵詞提取軟件的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、求一個(gè)提取文章關(guān)鍵詞的java程序
//直接粘貼就行。
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.border.EtchedBorder;
import javax.swing.filechooser.FileFilter;
public class Application2 extends JFrame implements Cloneable{
public Application2(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(800,700);
this.setLayout(new BorderLayout());
keyWords1=new String[]{"那么","還是","sdf"};
keyWords2=new String[]{"所以","而且",};
input=new JTextArea();
JPanel ip=new JPanel();
ip.setLayout(new BorderLayout());
ip.add(input,BorderLayout.CENTER);
ip.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "輸入文本"));
output1=new JTextArea();
JPanel o1p=new JPanel();
o1p.setLayout(new BorderLayout());
o1p.add(output1,BorderLayout.CENTER);
o1p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "以下為"));
output2=new JTextArea();
JPanel o2p=new JPanel();
o2p.setLayout(new BorderLayout());
o2p.add(output2,BorderLayout.CENTER);
o2p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "以下為"));
JSplitPane split1=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,o1p,o2p);
split1.setDividerLocation(350);
JSplitPane split2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,ip,split1);
split2.setDividerLocation(300);
this.add(split2,BorderLayout.CENTER);
open=new JButton("導(dǎo)入");
open.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser(".");
chooser.setMultiSelectionEnabled(false);
chooser.addChoosableFileFilter(new FileFilter(){
@Override
public boolean accept(File file) {
if(file.isDirectory())
return true;
int length=file.getName().length();
if(length<5)
return false;
if(file.getName().substring(length-4).equals(".txt"))
return true;
return false;
}
@Override
public String getDescription() {
return "文本文件";
}
});
chooser.showOpenDialog(Application2.this);
File file=chooser.getSelectedFile();
if(file==null)
return;
try {
Scanner sc=new Scanner(file);
String text="";
while(sc.hasNextLine())
text+=sc.nextLine()+"\n";
input.setText(text);
String[] array=getSentences();
output1.setText(getKeySentences(keyWords1,array));
output2.setText(getKeySentences(keyWords2,array));
}catch (IOException e1) {
e1.printStackTrace();
}
}
});
save=new JButton("導(dǎo)出");
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser(".");
chooser.setMultiSelectionEnabled(false);
chooser.addChoosableFileFilter(new FileFilter(){
@Override
public boolean accept(File file) {
if(file.isDirectory())
return true;
int length=file.getName().length();
if(length<5)
return false;
if(file.getName().substring(length-4).equals(".txt"))
return true;
return false;
}
@Override
public String getDescription() {
return "文本文件";
}
});
chooser.showSaveDialog(Application2.this);
File file=chooser.getSelectedFile();
if(file==null)
return;
try {
PrintWriter pw=new PrintWriter(file);
pw.print(output1.getText());
pw.flush();
pw.print(output2.getText());
pw.flush();
}catch (IOException e1) {
e1.printStackTrace();
}
}
});
JPanel buttonPane=new JPanel();
buttonPane.add(open);
buttonPane.add(save);
this.add(buttonPane,BorderLayout.SOUTH);
}
public String[] getSentences(){
ArrayList<String> set=new ArrayList<String>();
int length=input.getText().length();
for(int i=0,last=0;i<length;i++){
String s=String.valueOf(input.getText().charAt(i));
if(s.equals("\n"))
last=i+1;
if(s.equals(".")||s.equals(",")||s.equals("。")||s.equals("。")||s.equals("!")||s.equals("?")||s.equals("?")||s.equals("!")||s.equals(",")){
set.add(input.getText().substring(last,i)+s);
last=i+1;
}
}
return set.<String>toArray(new String[set.size()]);
}
public String getKeySentences(String[] key,String[] sentences){
String result="";
A: for(int i=0;i<sentences.length;i++){
for (int k = 0; k < key.length; k++)
if (sentences[i].contains(key[k].subSequence(0, key[k].length()))) {
result += sentences[i] + "\n";
continue A;
}
}
return result;
}
private JTextArea input;
private JTextArea output1;
private JTextArea output2;
private JButton open;
private JButton save;
private String[] keyWords1;
private String[] keyWords2;
public static void main(String... args){
EventQueue.invokeLater(new Runnable(){
public void run(){
new Application2().setVisible(true);
}
});
}
}
二、如何用WPS或者Word自動(dòng)提取關(guān)鍵詞?或者顯示詞頻較高的詞?
文字軟件恐怕還沒有你說的那么智能,可以自主分析關(guān)鍵詞。它只可以提取出現(xiàn)頻率較高的詞語。當(dāng)然我對(duì)Word、wps的功能并不完全精通,也許有高手可以幫你解決這個(gè)問題
三、關(guān)鍵詞怎么提取
在巨量的信息面前,很多信息是我們無法全面接收,因此我們需要從中篩選出一些我們感興趣的或者有代表性的信息進(jìn)行接收。那么這一個(gè)過程就是關(guān)鍵詞提取技術(shù)。如果我們可以準(zhǔn)確的將所有的文檔都用幾個(gè)簡單的關(guān)鍵詞描述,那么我們便可以通過關(guān)鍵詞了解一篇文章的內(nèi)容,這將會(huì)提高信息獲取到效率。想要在海量的信息里提取出我們所需要的信息,就需要學(xué)會(huì)如何提取關(guān)鍵詞。
一,TF-IDF算法(Term Frequency-Inverse Document Frequency,詞頻-逆文檔頻次算法)是一種基于統(tǒng)計(jì)的計(jì)算方法,常用于評(píng)估在一個(gè)文檔集中一個(gè)詞對(duì)某份文檔的重要程度。這種思想是符合關(guān)鍵詞抽取的需求,一個(gè)詞語對(duì)文檔越重要,那么是關(guān)鍵詞的概率就越大,所以通常將TF-IDF算法應(yīng)用在關(guān)鍵詞提取中。
二,在上述的TF-IDF算法中,都需要基于一個(gè)現(xiàn)成的語料庫,主題模型的關(guān)鍵詞提取算法則是需要通過對(duì)大規(guī)模文檔學(xué)習(xí),發(fā)現(xiàn)文檔的隱含主題。
三,而TextRank算法則是可以脫離語料庫的基礎(chǔ),僅對(duì)單篇文檔進(jìn)行分析就可以提取該文檔的關(guān)鍵詞。這也是TextRank算法的重要特點(diǎn)。TextRank算法的基本思想源于Google的PageRank算法。因此這里需要先了解下PageRank算法。
四、要在一萬多篇文章的關(guān)鍵詞中統(tǒng)計(jì)各關(guān)鍵詞的頻數(shù),應(yīng)該怎么做?有沒有相應(yīng)的軟件?
用軟件Replace Pioneer可以完成,詳細(xì)步驟:
1.首先準(zhǔn)備一個(gè)關(guān)鍵詞文件,每行是一個(gè)你需要統(tǒng)計(jì)的關(guān)鍵詞,出現(xiàn)兩遍,中間用空格或逗號(hào)隔開,格式如下:
關(guān)鍵詞1 關(guān)鍵詞1
關(guān)鍵詞2 關(guān)鍵詞2
關(guān)鍵詞3 關(guān)鍵詞3
...
2. 打開replace pioneer的Tools->pattern counter菜單,點(diǎn)擊import按鈕把上面的文件導(dǎo)入。
3. 在pattern counter菜單中選擇File/http選項(xiàng),并在后面輸入要統(tǒng)計(jì)的文件,然后點(diǎn)擊count即可得出每個(gè)關(guān)鍵詞的頻度。
以上是統(tǒng)計(jì)單個(gè)文件的步驟,如果統(tǒng)計(jì)多個(gè)文件,需要先把所有文件先連成一個(gè)大文件,然后同上操作。
以上就是關(guān)于文章關(guān)鍵詞提取軟件相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
正規(guī)代寫機(jī)構(gòu)(代寫畢業(yè)文章平臺(tái))
民城廣場的景觀設(shè)計(jì)(民城廣場的景觀設(shè)計(jì)特點(diǎn))