String x=" i am going to the party at 6.00 in the evening. are you coming with me?";
, если у меня есть выше строки, мне нужно, что быть сломанным к предложениям, используя предложение boundry пунктуацию (например. И?)как определить конец предложения
, но он не должен расколоть предложение в 6 из-за наличия там указателя. есть ли способ определить, каково правильное место ограниченности предложения в java? Я попытался использовать stringTokenizer в java.util pakage, но он всегда прерывает предложение всякий раз, когда находит указатель. Может ли кто-нибудь предложить мне способ сделать это правильно?
Это метод, который я попытался использовать для обозначения текста в предложениях.
public static ArrayList<String> sentence_segmenter(String text) {
ArrayList<String> Sentences = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(text, ".?!");
while (st.hasMoreTokens()) {
Sentences.add(st.nextToken());
}
return Sentences;
}
также у меня есть метод segement предложения на фразы, но и здесь, когда программа нашла запятую (,) он разбивает текст. но мне не нужно разделить его, когда есть число, например, 60 000 с запятой в середине. Ниже приведен метод, который я использую для сегментации фраз.
public static ArrayList<String> phrasesSegmenter(String text) {
ArrayList<String> phrases = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(text, ",");
while (st.hasMoreTokens()) {
phrases.add(st.nextToken());
}
return phrases;
}
Для этого вам необходимо использовать разделители предложений. См. Соответствующий вопрос: http://stackoverflow.com/questions/9492707/how-can-i-split-a-text-into-sentences-using-the-stanford-parser –