Udostępnij za pośrednictwem


RecognizedWordUnit.LexicalForm Właściwość

Definicja

Pobiera nieznormalizowany tekst rozpoznanego wyrazu.

public:
 property System::String ^ LexicalForm { System::String ^ get(); };
public string LexicalForm { get; }
member this.LexicalForm : string
Public ReadOnly Property LexicalForm As String

Wartość właściwości

String

Zwraca wartość String zawierającą tekst rozpoznanego wyrazu bez żadnej normalizacji.

Przykłady

W poniższym przykładzie przedstawiono procedurę narzędzia, która generuje tekst w jednym z trzech formatów: leksykalne (przy użyciu ), znormalizowane (przy użyciu ) i LexicalForm Text fonetyczne (przy użyciu Pronunciation ). Dane wyjściowe tekstu są uzyskiwane z ReadOnlyCollection<T> obiektu , który jest RecognizedWordUnit uzyskiwany z właściwości obiektu Words RecognizedPhrase .

internal enum WordType   
{  
  Text,  
  Normalized = Text,  
  Lexical,  
  Pronunciation  
}  
internal static string stringFromWordArray(  
         ReadOnlyCollection<RecognizedWordUnit> words,   
         WordType type)   
{  
  string text = "";  
  foreach (RecognizedWordUnit word in words)   
  {  
    string wordText = "";  
    if (type == WordType.Text || type == WordType.Normalized)   
    {  
      wordText = word.Text;  
    }   
    else if (type == WordType.Lexical)   
    {  
      wordText = word.LexicalForm;  
    }   
    else if (type == WordType.Pronunciation)   
    {  
      wordText = word.Pronunciation;  
    }   
    else   
    {  
      throw new InvalidEnumArgumentException(  
          String.Format("[0}: is not a valid input", type));  
    }  

    // Use display attribute  
    if ((word.DisplayAttributes & DisplayAttributes.OneTrailingSpace) != 0)   
    {  
      wordText += " ";  
    }  
    if ((word.DisplayAttributes & DisplayAttributes.TwoTrailingSpaces) != 0)  
    {  
      wordText += "  ";  
    }  
    if ((word.DisplayAttributes & DisplayAttributes.ConsumeLeadingSpaces) != 0)   
    {  
      wordText = wordText.TrimStart();  
    }  
    if ((word.DisplayAttributes & DisplayAttributes.ZeroTrailingSpaces) != 0)  
    {  
    wordText = wordText.TrimEnd();  
    }  

    text += wordText;  

  }  
  return text;  
}  

Uwagi

W większości przypadków wartości zwracane przez i Text LexicalForm są identyczne. Jednak aparaty rozpoznawania mogą używać normalizacji mowy, aby zwracać bardziej przyjazne dla użytkownika lub potocznie potocznie tekstowe reprezentacje danych wejściowych audio.

Normalizacja mowy to użycie specjalnych konstrukcji lub symboli do wyrażania mowy w zapisie. Na przykład normalizacja może zastąpić słowa mówione "dolar i szesnastu centów" wartością "1,16 USD" w tekście wyjściowym.

Dotyczy

Zobacz też