首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Java的BreakIterator时解决边缘问题

在使用Java的BreakIterator时解决边缘问题
EN

Stack Overflow用户
提问于 2020-11-06 11:26:44
回答 1查看 33关注 0票数 0

我正在做一个副项目,将自然语言处理应用于临床数据,我正在使用Java的BreakIterator将文本分成句子,以便进一步分析。在使用BreakIterator时,我遇到了BreakIterator无法识别以数值开头的句子的问题。

示例:

代码语言:javascript
复制
String text = "1) No acute osseous abnormality. 2) Mild to moderate disc space narrowing at the L4-5 level. This is another sentence."

预期输出:

代码语言:javascript
复制
1) No acute osseous abnormality.
2) Mild to moderate disc space narrowing at the L4-5 level.
This is another sentence.

实际输出:

代码语言:javascript
复制
1) No acute osseous abnormality. 2) Mild to moderate disc space narrowing at the L4-5 level.
This is another sentence.

代码:

代码语言:javascript
复制
import java.text.BreakIterator;
import java.util.*;

public class Test {
   public static void main(String[] args) {
      String text = "1) No acute osseous abnormality. 2) Mild to moderate disc space narrowing at the L4-5 level. This is another sentence";
      Locale locale = Locale.US;
      BreakIterator splitIntoSentences = BreakIterator.getSentenceInstance(locale);
      splitIntoSentences.setText(text);
      int index = 0;
      while (splitIntoSentences.next() != BreakIterator.DONE) {
        String sentence = text.substring(index, splitIntoSentences.current());
         System.out.println(sentence);
         index = splitIntoSentences.current();
      }
   }
}

任何帮助都将不胜感激。我试着在网上寻找答案,但无济于事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-24 12:20:09

我现在用的不是BreakIterator,而是Apache OpenNLP,它工作得很好!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64708428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档