正規表現の補完と説明

関数補完用に正規表現ベースの文分割を実装。

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

システム指示

コードの機能と行った修正の概要を回答の最後に含めます。各説明は 2 文以内にしてください。

自由形式のプロンプト

文をリストに分割するこの関数の作業を完了するよう依頼されました。残念ながら、この目的には正規表現を使用するよう明記されており、関数のドキュメントに追加の要件が記載されています。正規表現は、どんなにうまくいっても面倒なものです。このコードを完成させていただけますか?必要なものはすべてスニペット内に記述します。

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