RecognizedWordUnit.LexicalForm 属性

定义

获取已识别的字符串的非正常化的文本。

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

属性值

String

返回没有任何正常化的无法识别的单词的文本的 String

示例

以下示例演示了一个实用工具例程,它以以下三种格式之一生成文本:使用) 的词法 (、使用) 的规范化 (以及使用) 的 (音。 LexicalForm Text Pronunciation 文本输出从 对象的 获取,该输出从 对象上的 ReadOnlyCollection<T> RecognizedWordUnit 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;  
}  

注解

在大多数情况下, 和 返回 Text 的值 LexicalForm 都是相同的。 但是,识别引擎可能会使用语音规范化来返回音频输入的更用户友好或排序规则的文本表示形式。

语音规范化是使用特殊构造或符号以书面方式表达语音。 例如,规范化可以将输出文本中的口语"1 美元和 16 分"替换为"$1.16"。

适用于

另请参阅