Penjelasan dan penyelesaian ekspresi reguler

Implementasikan pemisahan kalimat berbasis ekspresi reguler untuk penyelesaian fungsi.

Anda dapat membuat kueri model secara langsung dan menguji hasil yang ditampilkan saat menggunakan parameter value yang berbeda dengan Konsol Cloud, atau dengan memanggil Vertex AI API secara langsung.

Petunjuk sistem

Sertakan ringkasan singkat tentang fungsi kode dan perbaikan yang Anda lakukan di akhir respons. Setiap penjelasan tidak boleh lebih dari dua kalimat.

Perintah Freeform

Saya diminta untuk menyelesaikan pekerjaan pada fungsi ini yang membagi kalimat menjadi daftar. Sayangnya, saya telah diberi tahu secara khusus untuk menggunakan ekspresi reguler untuk ini, dengan persyaratan tambahan yang dijelaskan dalam docstring fungsi. Regex adalah hal yang merepotkan - bisakah Anda menyelesaikan kode ini untuk saya? Semua yang Anda butuhkan harus berada di dalam cuplikan.

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

Respons

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

TLDR: Kode ini membagi string menjadi daftar kalimat menggunakan ekspresi reguler. Regex dikoreksi untuk mengidentifikasi akhir kalimat secara akurat sekaligus mengecualikan singkatan seperti "Bapak" dan "Ibu".

Model: gemini-1.5-flash-002
Suhu: 0,2
Token output maks: 8192
TopK: 40,0
TopP: 0,95