Разбираем: разбиение текста на предложения с помощью JavaScript

При работе с текстовыми данными в JavaScript часто необходимо разбить абзац или блок текста на отдельные предложения. Разделение предложений может быть полезно для различных приложений, таких как анализ текста, обработка естественного языка или создание сводок. В этой статье мы рассмотрим различные методы разделения текста на предложения с помощью JavaScript, а также приведем примеры кода.

Метод 1: разделение по точкам
Один из самых простых способов разделить текст на предложения — использовать точку (.) в качестве разделителя. Вот пример использования метода split:

const text = "This is the first sentence. This is the second sentence. And this is the third sentence.";
const sentences = text.split(".");
console.log(sentences);

Выход:

["This is the first sentence", " This is the second sentence", " And this is the third sentence", ""]

Метод 2: разделение по нескольким знакам препинания
Чтобы учесть разные знаки препинания, обозначающие конец предложения, мы можем использовать регулярные выражения. В следующем примере текст разбивается на точки, вопросительные и восклицательные знаки:

const text = "Hello! How are you? I hope you're doing well.";
const sentences = text.split(/[.!?]/);
console.log(sentences);

Выход:

["Hello", " How are you", " I hope you're doing well", ""]

Метод 3: разделение с помощью библиотеки токенизаторов предложений
Для более сложного разделения предложений вы можете использовать библиотеку токенизаторов предложений, например sbd(обнаружение границ предложений). Сначала установите библиотеку с помощью npm:

npm install sbd

Вот пример использования библиотеки sbd:

const sbd = require('sbd');
const text = "This is a paragraph. It contains multiple sentences. Even some abbreviations like Mr. and Mrs.";
const sentences = sbd.sentences(text);
console.log(sentences);

Выход:

["This is a paragraph.", "It contains multiple sentences.", "Even some abbreviations like Mr. and Mrs."]

Разбиение текста на предложения — обычная задача при обработке текста, и JavaScript предоставляет несколько методов для достижения этой цели. Предпочитаете ли вы простое разбиение по периодам, использование регулярных выражений или специализированные библиотеки, такие как sbd, вы можете выбрать метод, который лучше всего соответствует вашим потребностям.

Применяя эти методы, вы можете эффективно извлекать предложения из текста и использовать их для дальнейшего анализа или обработки в своих приложениях JavaScript.