com.supermap.analyst.addressmatching
类 AddressDictionary

java.lang.Object
  继承者 com.supermap.analyst.addressmatching.AddressDictionary

public class AddressDictionary
extends java.lang.Object

地址词典类。

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

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

示例:
以下代码示范了有关地址词典的相关操作。
  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()
          构造地址词典类的一个新对象。
AddressDictionary(java.lang.String dictionaryFile)
          据指定的地址词典文件构造一个地址词典类对象。
 
方法摘要
 int add(java.lang.String word)
          向地址词典中添加指定的词。
 int add(java.lang.String word, int frequency)
          向地址词典中添加指定的词及相应词频。
 void clear()
          清空地址词典中的所有词。
 boolean contains(java.lang.String word)
          判断该地址词典中是否包含指定的词。
 boolean delete(int index)
          删除地址词典中指定序号的词。
 boolean delete(java.lang.String word)
          删除地址词典中指定的词。
static DatasetVector dictionaryToTabular(java.lang.String dictionaryFile, Datasource targetDatasource, java.lang.String targetDatasetName)
          将词典文件转换为属性表。
static boolean dictionaryToText(java.lang.String dictionaryFile, java.lang.String textFile)
          将地址词典文件转换成文本文件。
static boolean dictionaryToText(java.lang.String dictionaryFile, java.lang.String textFile, boolean isTraditional)
          将地址词典文件转换成文本文件(繁体场景下使用)。
 void dispose()
          该方法用于释放占用资源。
 java.lang.String get(int index)
          返回指定序号的词。
 int getCount()
          返回地址词典中词的个数。
 int indexOf(java.lang.String word)
          返回指定的词在地址词典中的序号。
 boolean load(java.lang.String dictionaryFile)
          加载指定的地址词典文件。
static boolean mergeDictionary(java.lang.String dictionaryFile1, java.lang.String dictionaryFile2, java.lang.String dictionaryFileResult)
          将两个地址词典合并为一个地址词典。
 boolean modifyFrequency(java.lang.String word, int frequency)
          修改词频。
 boolean save()
          保存地址词典。
 boolean saveAs(java.lang.String dictionaryFile)
          将地址词典文件另存为指定的地址词典文件。
static boolean tabularToDictionary(DatasetVector sourceDataset, java.lang.String wordFieldName, java.lang.String frequencyFieldName, java.lang.String dictionaryFile)
          将属性表转换为词典文件。
static boolean textToDictionary(java.lang.String textFile, java.lang.String dictionaryFile)
          将文本文件转换成地址词典文件。
static boolean textToDictionary(java.lang.String textFile, java.lang.String dictionaryFile, boolean isTraditional, boolean isBIG5)
          将文本文件转换成地址词典文件(繁体场景下使用)。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

AddressDictionary

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


AddressDictionary

public AddressDictionary(java.lang.String dictionaryFile)
据指定的地址词典文件构造一个地址词典类对象。

参数:
dictionaryFile - 指定的地址词典文件。
方法详细信息

dispose

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


getCount

public int getCount()
返回地址词典中词的个数。

返回:
地址词典中词的个数。
默认值:
默认值为 0。

get

public java.lang.String get(int index)
返回指定序号的词。

参数:
index - 指定序号。
返回:
指定序号的词。

contains

public boolean contains(java.lang.String word)
判断该地址词典中是否包含指定的词。

参数:
word - 指定的词。
返回:
如果地址词典中是否包含指定的词,返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。

indexOf

public int indexOf(java.lang.String word)
返回指定的词在地址词典中的序号。

参数:
word - 指定的词。
返回:
指定的词在地址词典中的序号。
示例:
请参见 AddressDictionary 类的示例。

add

public int add(java.lang.String word)
向地址词典中添加指定的词。

参数:
word - 指定的词。
返回:
新添加词在地址词典中的序号。
示例:
请参见 AddressDictionary 类的示例。

delete

public boolean delete(java.lang.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(java.lang.String dictionaryFile)
加载指定的地址词典文件。

参数:
dictionaryFile - 指定的地址词典文件的全路径。
返回:
加载成功返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。

save

public boolean save()
保存地址词典。

返回:
保存成功返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。

saveAs

public boolean saveAs(java.lang.String dictionaryFile)
将地址词典文件另存为指定的地址词典文件。

参数:
dictionaryFile - 指定的地址词典文件。
返回:
保存成功返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。

textToDictionary

public static boolean textToDictionary(java.lang.String textFile,
                                       java.lang.String dictionaryFile)
将文本文件转换成地址词典文件。

参数:
textFile - 待转换的文本文件的全路径。
dictionaryFile - 指定的地址词典文件的全路径。
返回:
转换成功返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。

dictionaryToText

public static boolean dictionaryToText(java.lang.String dictionaryFile,
                                       java.lang.String textFile)
将地址词典文件转换成文本文件。

参数:
dictionaryFile - 待转换的地址词典文件的全路径。
textFile - 指定的文本文件全路径。
返回:
转换成功返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。

dictionaryToText

public static boolean dictionaryToText(java.lang.String dictionaryFile,
                                       java.lang.String textFile,
                                       boolean isTraditional)
将地址词典文件转换成文本文件(繁体场景下使用)。

参数:
dictionaryFile - 待转换的地址词典文件的全路径。
textFile - 指定的文本文件全路径。
isTraditional - 是否为繁体。
返回:
转换成功返回 true;否则返回 false。

textToDictionary

public static boolean textToDictionary(java.lang.String textFile,
                                       java.lang.String dictionaryFile,
                                       boolean isTraditional,
                                       boolean isBIG5)
将文本文件转换成地址词典文件(繁体场景下使用)。

参数:
textFile - 指定的文本文件全路径。
dictionaryFile - 待转换的地址词典文件的全路径。
isTraditional - 是否为繁体。
isBIG5 - 是否为BIG5编码。BIG5编码是繁体中文字符集编码标准。
返回:
转换成功返回 true;否则返回 false。

dictionaryToTabular

public static DatasetVector dictionaryToTabular(java.lang.String dictionaryFile,
                                                Datasource targetDatasource,
                                                java.lang.String targetDatasetName)
将词典文件转换为属性表。

参数:
dictionaryFile - 待转换的地址词典文件的全路径。
targetDatasource - 指定的存储结果属性表的数据源。
targetDatasetName - 指定的结果数据集的名称。
返回:

tabularToDictionary

public static boolean tabularToDictionary(DatasetVector sourceDataset,
                                          java.lang.String wordFieldName,
                                          java.lang.String frequencyFieldName,
                                          java.lang.String dictionaryFile)
将属性表转换为词典文件。

参数:
sourceDataset - 指定的待转换的数据集。
wordFieldName - 词语字段名称。
frequencyFieldName - 词频字段名称。
dictionaryFile - 指定的地址词典文件的全路径。
返回:
转换成功返回 true;否则返回 false。

add

public int add(java.lang.String word,
               int frequency)
向地址词典中添加指定的词及相应词频。

参数:
word - 需要添加的词。
frequency - 词频。
返回:
新添加词在地址词典中的序号。

modifyFrequency

public boolean modifyFrequency(java.lang.String word,
                               int frequency)
修改词频。

参数:
word - 指定的需要修改词频的词,该词需要在词典中存在。
frequency - 词频。
返回:
修改成功返回 true;否则返回 false。

mergeDictionary

public static boolean mergeDictionary(java.lang.String dictionaryFile1,
                                      java.lang.String dictionaryFile2,
                                      java.lang.String dictionaryFileResult)
将两个地址词典合并为一个地址词典。

参数:
dictionaryFile1 - 待合并的地址词典文件全路径。
dictionaryFile2 - 待合并的地址词典文件全路径。
dictionaryFileResult - 合并后的地址词典文件全路径。
返回:
合并成功返回 true;否则返回 false。
示例:
请参见 AddressDictionary 类的示例。