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

📄 exceptionoperation.java

📁 dragontoolkit用于机器学习
💻 JAVA
字号:
package dragon.nlp.tool.lemmatiser;

import dragon.util.*;
import java.io.BufferedReader;
import java.util.*;

/**
 * <p>Exception operation class </p>
 * <p></p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IST, Drexel University</p>
 * @author Davis Zhou
 * @version 1.0
 */

public class ExceptionOperation implements Operation{
    SortedArray wordList;
    int pos;

    public ExceptionOperation(int POS, String exceptionFile) {
        this.pos=POS;
        wordList=loadExceptions(exceptionFile);
    }

    public boolean getIndexLookupOption(){
        return false;
    }

    public int getPOSIndex(){
        return pos;
    }

    public String execute(String derivation){
        int index;
        WordMap wordMap;

        index=wordList.binarySearch(new WordMap(derivation,null));
        if(index>=0){
            wordMap=(WordMap) wordList.get(index);
            if(wordMap.getSlaveWord()==null || wordMap.getSlaveWord().length()==0)
                return wordMap.getMasterWord();
            else
                return wordMap.getSlaveWord();
        }
        else
            return null;
    }

    private SortedArray loadExceptions(String filename){
        BufferedReader br;
        String line;
        String[] arrField;
        int i, total;
        ArrayList list;
        SortedArray exceptionlist;
        WordMap cur;

        try{
            br=FileUtil.getTextReader(filename);
            line=br.readLine();
            total=Integer.parseInt(line);
            list=new ArrayList(total);

            for(i=0;i<total;i++){
                line=br.readLine();
                arrField=line.split(" ");
                if(arrField.length>=2)
                    cur=new WordMap(arrField[0],arrField[1]);
                else
                    cur=new WordMap(arrField[0],null);
                list.add(cur);
            }
            br.close();
            exceptionlist=new SortedArray();
            exceptionlist.addAll(list);
            return exceptionlist;
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return null;
        }
    }

}

⌨️ 快捷键说明

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