java - 将单词标记为古吉拉特语的音节(古吉拉特语字符)

标签 java nltk tokenize nlp

我正在尝试将古吉拉特语(一种印度语言)单词标记为字符。

示例: વાનર 是单词,那么我想要 [વા, ન, ર] 等字符列表

我尝试了 java.text.BreakIteratorGujarati locale 但它不起作用。尽管它非常适合印地语

这是代码:

import java.text.*;
import java.util.*;

public class Language{
    public static void main(String[] args) {
        String text = "વાનર";
        Locale gujarati = new Locale("gu","IN");
        BreakIterator breaker = BreakIterator.getCharacterInstance(gujarati);
        breaker.setText(text);
        int start = breaker.first();
        for (int end = breaker.next(); end != BreakIterator.DONE; start = end, end = breaker.next()) {
            System.out.println(text.substring(start,end));
        }    
    }
}

输出:

વ
ા
ન
ર

有没有可以正确完成此操作的库? 我对 Java

以外的语言很满意

最佳答案

不确定这个库是否提供了您想要的确切解决方案,但我编写了一个名为 MgntUtils 的库,并将其作为开放源代码发布,可作为 Maven 中心上的 Maven 工件使用 (参见 here )以及 github那里有一个实用程序可以将任何字符串转换为 unicode 序列,反之亦然。您所要做的就是:

String codes = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence("Hello world");

它将返回字符串“\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064”

这同样适用于任何语言的任何字符串,包括特殊字符。有一种方法可以进行解码:

decodeUnicodeSequenceToString(String unicodeSequence)

这是javadoc关联。您可以轻松地将 unicode 序列字符串分解为单个 unicode 并像这样存储它们,甚至将它们转换回单独的字符串并获取您的字符。这是文章的链接 Open Source Java library with stack trace filtering, Silent String parsing Unicode converter and Version comparison解释了这个库

关于java - 将单词标记为古吉拉特语的音节(古吉拉特语字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54344698/

相关文章:

java - 在 Java 中使用装饰器设计模式时,装饰器的顺序重要吗?

c - 从词法分析的角度分析一个C表达式

c - 标记化来自 getline 的输入

java - Jersey Rest Get 具有特殊特征

java - Eclipse 导出的文件在终端中运行时出现问题

java - 按钮的 css 样式不起作用

python - python NLTK 的驱动问题

python - 图形连接句子

python - NLTK 语料库路透社中类别的含义是什么

NLTK 标记化但不拆分命名实体