⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dualsentenceindexer.java

📁 dragontoolkit用于机器学习
💻 JAVA
字号:
package dragon.ir.index.sentence;

import dragon.nlp.Sentence;
import dragon.nlp.extract.DualConceptExtractor;

/**
 * <p>Two dimensional sentence indexer </p>
 * <p> </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IST, Drexel University</p>
 * @author Davis Zhou
 * @version 1.0
 */

public class DualSentenceIndexer extends AbstractSentenceIndexer {
    private BasicSentenceWriteController firstWriter, secondWriter;
    private DualConceptExtractor cptExtractor;

    public DualSentenceIndexer(DualConceptExtractor extractor, String firstIndexFolder, String secondIndexFolder){
        this(extractor,false,firstIndexFolder,false,secondIndexFolder);
    }

    public DualSentenceIndexer(DualConceptExtractor extractor, boolean useConcept, String firstIndexFolder, String secondIndexFolder){
        this(extractor,useConcept,firstIndexFolder,useConcept,secondIndexFolder);
    }

    public DualSentenceIndexer(DualConceptExtractor extractor, boolean firstUseConcept, String firstIndexFolder,
                               boolean secondUseConcept, String secondIndexFolder) {
        super(extractor.getDocumentParser());
        this.cptExtractor = extractor;
        firstWriter = new BasicSentenceWriteController(firstIndexFolder,false, firstUseConcept);
        secondWriter = new BasicSentenceWriteController(secondIndexFolder,false,secondUseConcept);
    }

    public boolean indexedSentence(String sentKey){
        return firstWriter.indexed(sentKey);
    }

    public boolean index(Sentence sent, String sentKey) {
        try {
            if (firstWriter.indexed(sentKey)) {
                return false;
            }
            firstWriter.addRawSentence(sent);
            cptExtractor.initDocExtraction();
            cptExtractor.extractFromSentence(sent);
            firstWriter.write(cptExtractor.getFirstConceptList());
            secondWriter.write(cptExtractor.getSecondConceptList());
            return true;
        }
        catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public void initialize() {
        if (initialized) {
            return;
        }
        firstWriter.initialize();
        secondWriter.initialize();
        initialized = true;
    }

    public void close() {
        firstWriter.close();
        secondWriter.close();
        super.close();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -