gpt4 book ai didi

java - OpenNLP Tokenizer 中的圆括号

转载 作者:搜寻专家 更新时间:2023-11-01 02:59:53 26 4
gpt4 key购买 nike

我正在使用 OpenNLP java 将字符串转换为标记。但是,我发现无法正确识别圆括号。

我使用的代码:`

InputStream is = new FileInputStream("en-token.bin");
TokenizerModel model = new TokenizerModel(is);
Tokenizer tokenizer = new TokenizerME(model);
String tokens[] = tokenizer.tokenize("the string");`

例如,字符串是“people like me (are) turning off the news”。输出是:
人们
喜欢

(是
)
车削
离开

新闻

未识别“are”的左圆括号。另外,例如,“401(k)”转换为“401(k”, and “)”。

我还尝试了“SimpleTokenizer”类。它可以分隔括号,但也可以将“首页”分隔为“首页”和“页面”,这不是我想要的。

请问有什么解决办法吗?

谢谢。

最佳答案

看看this article

它解决了以下问题:非标准句末(括号)

这意味着这里需要某种预处理!

并给出了解决方案 here

他基本上所做的是通过在两侧放置一个空格来标记括号和圆括号,如下所示:

sent = untokenizedParenPattern1.matcher(sent).replaceAll("$1 $2");
sent = untokenizedParenPattern2.matcher(sent).replaceAll("$1 $2");

这不是在括号两侧放置空格的唯一方法,但进行此预处理可以帮助您获得所需的输出!

如果您的问题得到解决,请分享,希望对您有所帮助!

关于java - OpenNLP Tokenizer 中的圆括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38338495/

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