3.7.10
日本語文を安全に分割する
まとめ
- 日本語テキストを句点・疑問符・感嘆符の位置で文単位に分割する。
- 正規表現で文末記号を検出し、括弧のペアを考慮してルールベースで分割する。
- NLPパイプラインの前処理やチャットログの文分割に使う。
句点が省略された文章や絵文字を含むメッセージを扱うとき、単純な text.split("。") では文の境界がずれがちです。句点・疑問符・括弧のペアを意識したルールで分割すると安定します。
| |
運用のポイント #
- 括弧内の疑問符で分割したくない場合は、
SENTENCE_ENDの除外文字クラスを追加して調整します。 - Slack などで見かける改行を伴わない長文には、句点が無くても 20〜30 文字ごとに強制的に分割するフォールバックを用意すると読みやすくなります。
- 高精度が求められる場合は、日本語に対応した文分割モデル(KUROSHIO、spaCy ja_ginza の
senterなど)を選定し、今回のルールベース分割を簡易版として併用するのがおすすめです。