HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    文章關(guān)鍵詞提取軟件(文章關(guān)鍵詞提取軟件下載)

    發(fā)布時(shí)間:2023-03-29 11:36:01     稿源: 創(chuàng)意嶺    閱讀: 1598        當(dāng)前文章關(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

    本文目錄:

    文章關(guān)鍵詞提取軟件(文章關(guān)鍵詞提取軟件下載)

    一、求一個(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)容。


    推薦閱讀:

    知乎推廣卡片怎么做?知乎文章中推薦卡片的詳細(xì)步驟

    小紅書怎么搜作者文章(小紅書怎么搜作者的內(nèi)容)

    正規(guī)代寫機(jī)構(gòu)(代寫畢業(yè)文章平臺(tái))

    比較靠譜的營銷策劃公司(營銷策劃公司哪家)

    民城廣場的景觀設(shè)計(jì)(民城廣場的景觀設(shè)計(jì)特點(diǎn))