gpt4 book ai didi

java - 如何以编程方式从默认地名词典中删除查找

转载 作者:行者123 更新时间:2023-11-30 08:09:31 25 4
gpt4 key购买 nike

我需要通过添加/删除单词来教授地名词典。

我知道how to add new Lookup但当我尝试删除它时,查找并未删除。

gazetter.remove("string to be found"); // returns false

请帮忙!

最佳答案

(默认)地名词典中有两个独立的内容:

  1. 有限状态机用于搜索源文本。

  2. 地名词典的线性定义,代表词典中的所有单词列表。它不直接用于搜索文本。

在启动时,它们的使用方式如下:

  1. 线性定义是从输入文件中读取的。
  2. 有限状态机是根据定义构造的。

直接在地名词典实例上调用的诸如gazetter.add()gazetter.remove()之类的方法仅修改有限状态机。这些变化在地名词典的行为中可见,但在其线性定义中不可见。

线性定义中的方法仅修改线性定义。您必须使用 store()reInit() 根据线性定义更新地名词典内的有限状态机。之后它们将同步,地名词典将查找新短语。这也意味着仅在状态机上所做的更改将在重新初始化后丢失。

回答您的问题:

如果您的代码返回false,则该短语不存在于有限状态机中,并且地名词典无论如何也不会匹配文本中的此类短语。

如果您想从线性定义中删除该短语,您必须使用相应的方法(在我的 previous answer 中简要描述)。

关于java - 如何以编程方式从默认地名词典中删除查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30594237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com