com.supermap.analyst.addressmatching

类 AddressDictionary

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.analyst.addressmatching.AddressDictionary
  • 所有已实现的接口:
    IDisposable


    public class AddressDictionary
    extends com.supermap.data.InternalHandleDisposable
    地址词典类。

    该类用于管理分词词典。通过该类可以添加或删除地址词典中的词,可以实现文本文件与地址词典文件的相互转换,还可以实现多个地址词典的合并。目前已支持繁体地址词典。

    分词是把中文的汉字序列切分成有意义的词,比如说:我是一个学生,那么分词后的结果是:我/是/一个/学生。地址词典是这些有意义的词的集合。

    示范代码:
    以下代码示范了有关地址词典的相关操作。
      public void addressDictionaryTest(String dictionaryFile1, String dictionaryFile2, String newdictionaryFile)
     {
            // 根据指定的地址词典文件构造一个地址词典类对象,返回地址词典中词的个数
            AddressDictionary addressDictionary = new AddressDictionary(dictionaryFile1);
            int wordsNumberA = addressDictionary.getCount();
    
            // 向地址词典中添加指定的词
            addressDictionary.add("长春工业学院");
            addressDictionary.add("长春植物修景学院");
    
            // 判断该地址词典中是否包含“长春建筑大学”这个词
            boolean isContains = addressDictionary.contains("长春建筑大学");
    
            // 删除地址词典中指定的词
            addressDictionary.delete("长春建筑学院");
    
            // 保存地址词典
            addressDictionary.save();
    
            // 返回地址词典中词的个数
            int wordsNumberB = addressDictionary.getCount();
    
            // 将地址词典文件转换成文本文件
            AddressDictionary.dictionaryToText(dictionaryFile1,"G:\\Data\\coreDict.txt");
    
            // 将两个地址词典合并为一个地址词典
            AddressDictionary.mergeDictionary(dictionaryFile1, dictionaryFile2, newdictionaryFile);
     }
     
    • 构造器详细资料

      • AddressDictionary

        public AddressDictionary()
        构造地址词典类的一个新对象。
      • AddressDictionary

        public AddressDictionary(String dictionaryFile)
        据指定的地址词典文件构造一个地址词典类对象。
        参数:
        dictionaryFile - 指定的地址词典文件。
    • 方法详细资料

      • dispose

        public void dispose()
        该方法用于释放占用资源。调用该方法之后,此对象不再可用。
      • getCount

        public int getCount()
        返回地址词典中词的个数。
        返回:
        地址词典中词的个数。
        默认值:
        默认值为 0。
      • get

        public String get(int index)
        返回指定序号的词。
        参数:
        index - 指定序号。
        返回:
        指定序号的词。
      • contains

        public boolean contains(String word)
        判断该地址词典中是否包含指定的词。
        参数:
        word - 指定的词。
        返回:
        如果地址词典中是否包含指定的词,返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • indexOf

        public int indexOf(String word)
        返回指定的词在地址词典中的序号。
        参数:
        word - 指定的词。
        返回:
        指定的词在地址词典中的序号。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • add

        public int add(String word)
        向地址词典中添加指定的词。
        参数:
        word - 指定的词。
        返回:
        新添加词在地址词典中的序号。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • delete

        public boolean delete(String word)
        删除地址词典中指定的词。
        参数:
        word - 指定的词。
        返回:
        删除成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • delete

        public boolean delete(int index)
        删除地址词典中指定序号的词。
        参数:
        index - 指定的序号。
        返回:
        删除成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • clear

        public void clear()
        清空地址词典中的所有词。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • load

        public boolean load(String dictionaryFile)
        加载指定的地址词典文件。
        参数:
        dictionaryFile - 指定的地址词典文件的全路径。
        返回:
        加载成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • save

        public boolean save()
        保存地址词典。
        返回:
        保存成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • saveAs

        public boolean saveAs(String dictionaryFile)
        将地址词典文件另存为指定的地址词典文件。
        参数:
        dictionaryFile - 指定的地址词典文件。
        返回:
        保存成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • textToDictionary

        public static boolean textToDictionary(String textFile,
                                               String dictionaryFile)
        将文本文件转换成地址词典文件。
        参数:
        textFile - 待转换的文本文件的全路径。
        dictionaryFile - 指定的地址词典文件的全路径。
        返回:
        转换成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • dictionaryToText

        public static boolean dictionaryToText(String dictionaryFile,
                                               String textFile)
        将地址词典文件转换成文本文件。
        参数:
        dictionaryFile - 待转换的地址词典文件的全路径。
        textFile - 指定的文本文件全路径。
        返回:
        转换成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • mergeDictionary

        public static boolean mergeDictionary(String dictionaryFile1,
                                              String dictionaryFile2,
                                              String dictionaryFileResult)
        将两个地址词典合并为一个地址词典。
        参数:
        dictionaryFile1 - 待合并的地址词典文件全路径。
        dictionaryFile2 - 待合并的地址词典文件全路径。
        dictionaryFileResult - 合并后的地址词典文件全路径。
        返回:
        合并成功返回 true;否则返回 false。
        示范代码:
        请参见 AddressDictionary 类的示例。
      • dictionaryToTabular

        public static DatasetVector dictionaryToTabular(String dictionaryFile,
                                                        Datasource targetDatasource,
                                                        String targetDatasetName)
        将词典文件转换为属性表。
        参数:
        dictionaryFile - 待转换的地址词典文件的全路径。
        targetDatasource - 指定的存储结果属性表的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        返回:
      • tabularToDictionary

        public static boolean tabularToDictionary(DatasetVector sourceDataset,
                                                  String wordFieldName,
                                                  String frequencyFieldName,
                                                  String dictionaryFile)
        将属性表转换为词典文件。
        参数:
        sourceDataset - 指定的待转换的数据集。
        wordFieldName - 词语字段名称。
        frequencyFieldName - 词频字段名称。
        dictionaryFile - 指定的地址词典文件的全路径。
        返回:
        转换成功返回 true;否则返回 false。
      • add

        public int add(String word,
                       int frequency)
        向地址词典中添加指定的词及相应词频。
        参数:
        word - 需要添加的词。
        frequency - 词频。
        返回:
        新添加词在地址词典中的序号。
      • modifyFrequency

        public boolean modifyFrequency(String word,
                                       int frequency)
        修改词频。
        参数:
        word - 指定的需要修改词频的词,该词需要在词典中存在。
        frequency - 词频。
        返回:
        修改成功返回 true;否则返回 false。
      • textToDictionary

        public static boolean textToDictionary(String textFile,
                                               String dictionaryFile,
                                               boolean isTraditional,
                                               boolean isBIG5)
        将文本文件转换成地址词典文件(繁体场景下使用)。
        参数:
        textFile - 指定的文本文件全路径。
        dictionaryFile - 待转换的地址词典文件的全路径。
        isTraditional - 是否为繁体。
        isBIG5 - 是否为BIG5编码。BIG5编码是繁体中文字符集编码标准。
        返回:
        转换成功返回 true;否则返回 false。
      • dictionaryToText

        public static boolean dictionaryToText(String dictionaryFile,
                                               String textFile,
                                               boolean isTraditional)
        将地址词典文件转换成文本文件(繁体场景下使用)。
        参数:
        dictionaryFile - 待转换的地址词典文件的全路径。
        textFile - 指定的文本文件全路径。
        isTraditional - 是否为繁体。
        返回:
        转换成功返回 true;否则返回 false。

Copyright © 2021–2024 SuperMap. All rights reserved.