正規表現の完成と説明の記述

正規表現ベースの文分割を実装して、関数を完成させます。

モデルにクエリを直接実行して、返された結果をテストできます。その場合、Cloud コンソールでさまざまなパラメータ値を使用することも、Vertex AI API を直接呼び出すこともできます。

システム指示

コードの機能と行った修正の要約をレスポンスの最後に含めてください。各説明は 2 文以内にしてください。

自由形式のプロンプト

文をリストに分割するこの関数を完成させるように依頼されました。残念なことに、そのためには正規表現を使用するようにと明示的に指示されており、また関数の docstring 内で追加の要件を説明する必要があります。正規表現は、どんなに調子がいいときでも、げんなりするものです。このコードを代わりに完成してもらえませんか?必要なものはすべてスニペット内に含まれています。

import re

def splitSentences(sentences):
  """
  Splits a string of sentences into a list.
  Each sentence is period-separated, save for cases where
  the phrases "Mr." or "Ms." are used, since those
  don't end a sentence.
  """
  sentenceList = []

  # missing code here

  return sentenceList

レスポンス

import re

def splitSentences(sentences):
  """
  Splits a string of sentences into a list.
  Each sentence is period-separated, save for cases where
  the phrases "Mr." or "Ms." are used, since those
  don't end a sentence.
  """
  sentenceList = []
  sentenceEnders = r'(?<!Mr)\.(?<![A-Z][a-z]\.)(?<![A-Z][a-z][a-z]\.)(?<=\.|\?)\s'
  sentenceList = re.split(sentenceEnders, sentences)
  return sentenceList

要約: このコードは、正規表現を使用して文字列を文のリストに分割します。正規表現を修正し、文の終わりを正確に特定しつつ、「Mr.」や「Ms.」などの省略形を除外するようにしました。

モデル: gemini-1.5-flash-002
温度: 0.2
最大出力トークン: 8192
TopK: 40.0
TopP: 0.95