

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 控制如何說出特殊類型的單字
<a name="say-as-tag"></a>

*<say-as>*

 `<say-as>` 標籤由生成式、長形、神經和標準 TTS 引擎支援。不過請注意，如果 Amazon Polly 使用神經語音，並在執行時間遇到具有 `characters`選項的`<say-as>`標籤，則會使用相關的標準語音合成受影響的句子。不過，受影響的句子仍會像使用神經語音一樣計費。

使用 `<say-as>`標籤搭配 `interpret-as` 屬性，告訴 Amazon Polly 如何說出特定字元、單字和數字。這可讓您提供額外的內容，以消除 Amazon Polly 應如何呈現文字的任何模棱兩可之處。

`<say-as>` 標籤使用一個屬性 `interpret-as`，它使用許多可用的值。每個值使用相同的語法：

```
<say-as interpret-as="value">[text to be interpreted]</say-as>
```

以下值可用於 `interpret-as`：
+ `characters` 或 `spell-out`：拼出文字的每個字母，如 a-b-c。
**注意**  
神經語音目前不支援此選項。如果您使用神經語音，且 Amazon Polly 在執行時間遇到此 SSML 程式碼，則會使用相關的標準語音合成受影響的句子。不過請注意，這句話仍會像使用神經語音一樣計費。
+ `cardinal` 或 `number`：解讀數值文字為基數，如 1,234。
+ `ordinal`：解讀數值文字為序號，如第 1,234 個。
+ `digits`：個別拼出每個位數，如 1-2-3-4。
+ `fraction`：解讀數值文字為分數。這可以處理常見的分數，例如 3/20，以及混合分數，例如 2 ½。如需詳細資訊，請參閱下方。
+ `unit`：將數值文字解譯為測量單位。值應該是一個數字或後面接著單位的分數，中間沒有空格，如 `1/2inch`；或只跟著一個單位，如 `1meter`。
+ `date`：將文字解譯為日期。日期的格式必須以格式屬性指定。如需詳細資訊，請參閱下方。
+ `time`：將數值文字解譯為以分鐘和秒為單位的持續時間，例如 `1'21"`。
+ `address`：將文字解譯為街道地址的一部分。
+ `expletive`：「嗶聲處理」標籤中所包含的內容。
+ `telephone`：將數值文字解譯為 7 位數或 10 位數的電話號碼，如 `2025551212`。您也可以使用此值來處理電話分機，如 `2025551212x345`。如需詳細資訊，請參閱下方。
**注意**  
目前 `telephone` 選項不是所有語言都適用。然而，它可用於語音英文變體 (en-AU、en-GB、en-IN、en-US 和 en-GB-WLS)、西班牙文變體 (es-ES、es-MX 和 es-US)、法文變體 (fr-FR 和 fr-CA) 和葡萄牙文變體 (pt-BR 和 pt-PT)，以及德文 (de-DE)、義大利文 (it-IT)、日文 (ja-JP) 和俄羅斯文 (ru-RU)。另請注意，在某些情況下，阿拉伯文 (arb) 等語言會自動處理設定為電話號碼的號碼，因此請勿實際實作 `telephone` SSML 標籤。

**分數**

Amazon Polly 會解譯`say-as`標籤內具有`interpret-as="fraction"`屬性為常見分數的值。以下是分數的語法：
+ *分數*

  語法：*基數*/*基數*，如 2/9。

  例如：`<say-as interpret-as="fraction">2/9</say-as>` 發音為「九分之二」。
+ *非負數的混合數字*

  語法：*基數*\$1*基數*/*基數*，例如 3\$11/2。

  例如，`<say-as interpret-as="fraction">3+1/2</say-as>` 發音為「三又二分之一」。
**注意**  
「3」和「1/2」`+`之間必須有一個 。Amazon Polly 不支援沒有 的混合數字`+`，例如 "3 1/2"。

**日期**

當 `interpret-as` 設定為 `date`，您也需要指出日期的格式：

此標籤使用以下語法：

```
<say-as interpret-as="date" format="format">[date]</say-as>
```

例如：

```
<speak>
     I was born on <say-as interpret-as="date" format="mdy">12-31-1900</say-as>.
</speak>
```

下列格式可以搭配 `date` 屬性使用。
+ `mdy`：月-日-年。
+ `dmy`：日-月-年。
+ `ymd`：年-月-日。
+ `md`：月-日。
+ `dm`：日-月。
+ `ym`：年-月。
+ `my`：月-年。
+ `d`：日。
+ `m`: 月.
+ `y`: 年.
+ `yyyymmdd`：年-月-日。如果您使用此格式，您可以使用問號讓 Amazon Polly 略過部分日期。

  例如，Amazon Polly 會將下列項目轉譯為「9 月 22 日」：

  ```
  <say-as interpret-as="date">????0922</say-as>
  ```

   不需要 `Format`。

**電話**

即使沒有 `<say-as>`標籤，Amazon Polly 仍會嘗試根據文字的格式正確解譯您提供的文字。例如，如果您的文字包含「202-555-1212」，Amazon Polly 會將其解譯為 10 位數的電話號碼，並個別說出每個數字，每個破折號都會短暫暫停。在這種情況下，您不需要使用 `<say-as interpret-as="telephone">`。不過，如果您提供文字 “2025551212”，並希望 Amazon Polly 將其說出為電話號碼，您可以指定 `<say-as interpret-as="telephone">`。

解譯每個元素的邏輯具有語言特殊性。例如，美式英文和英式英文對於電話號碼的發音方式各不相同 (在英式英文中，同一個數字連續群組在一起時，例如「兩個五」或「三個四」)。若想了解差異，您可以使用美國語音與英國語音測試以下範例：

```
<speak>
     Richard's number is <say-as interpret-as="telephone">2122241555</say-as>
</speak>
```

