정규식 완성 및 설명

함수 완성을 위해 정규식 기반 문장 분할을 구현합니다.

모델을 직접 쿼리하고 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
최상위 K: 40.0
최상위 P: 0.95