我正在使用自己的方法来创建唯一的令牌。在Apache Open-NLP中是否有任何内置方法?
答案 0 :(得分:2)
查看Java UUID Class。您可以使用它来创建不可变的通用唯一标识符(UUID),(例如,UUID id = UUID.randomUUID();
)。
答案 1 :(得分:2)
使用java.util.Tokenizer
生成唯一令牌是没有意义的。它的目的是将一串字符分成标记......不论其独特性如何。
接下来,不清楚你的意思是什么" unique"或"生成"。
如果你想要凭空保证生成令牌,那么这些令牌将被保证是普遍的"唯一的,然后使用UUID类。 (但上下文暗示这不是你所需要的。)
如果您只想在当前应用程序执行的上下文中使用唯一的标记,请创建一个long
变量来保存序列号,每次要生成新标记时都将其递增,以及与字符串前缀连接;例如"令牌-1","令牌-2"等等。
如果您要使用Tokenizer
收集要拆分的某些文字中的唯一字词,请将所有(String
)字词添加到Set
。 (您可能需要先将它们转换为小写...)
如果您希望令牌为规范(以便s1.equals(s2) <=> s1 == s2
),请使用String.intern()
。
如果您的意思是其他...那么您需要澄清您的问题。