【问题标题】:Apache UIMA to parse multi-lingual contentApache UIMA 解析多语言内容
【发布时间】:2013-12-30 15:33:37
【问题描述】:

我正在尝试解析非英语语言的内容,例如韩语、中文等。 UIMA 是否有任何内置支持。我无法在 Apache UIMA 门户中获得太多关于此的信息。 我所能想到的只是想出 unicode 正则表达式模式,但即使是那些出于某种原因似乎也不起作用。我的具有 unicode 字符的正则表达式模式没有注释我需要的单词。

我正在使用 JDK1.7UIMA 2.4.2。

非常感谢任何帮助或建议。

下面是我正在尝试的示例

文本:Numéro de réservation 445566553 Code [此文本位于我正在使用 FileSystemCollectionReader 读取的文件中,并且我已将编码设置为 UTF-8]

我的正则表达式 (?

预期输出:445566553

【问题讨论】:

  • 发布您正在使用的正则表达式,您正在解析的文本并突出显示您要提取的短语或单词

标签: java regex unicode multilingual uima


【解决方案1】:

我不确定您遇到的问题是否与 uima 有关,但您发布的正则表达式在使用纯 java 时对我来说似乎很好。我正在使用 java 1.7.0_45。我稍微修改了您的正则表达式,以允许数字周围有多个空格。这是一个 SSCCE,运行时输出为 '445566553'

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String test = "Numéro de réservation   445566553 \tCode";
        Pattern pattern = Pattern.compile("(?<=Num\\u00E9ro\\sde\\sr\\u00E9servation)\\s+(.*?)\\s+(?=Code)");
        Matcher matcher = pattern.matcher(test);
        while(matcher.find()) {
            System.out.println("'"+matcher.group(1)+"'");
        }
    }
}

如果这不是您想要的,那么提供一个包含您想要修复的测试用例的 SSCCE 会很有帮助。

【讨论】:

  • 感谢您的解决方案。我发现我使用的文件没有保存为 UTF-8 格式。我现在开始工作了。再次感谢
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多