Language Model Grammar Conversion Wesley Holland, Julie Baca, Dhruva Duncan, Joseph Picone Center...

Preview:

DESCRIPTION

Page 2 of 10 Language Model Grammar Conversion Grammar Specifications Backus-Naur Form (BNF) Augmented BNF (ABNF) JSpeech Grammar Format (JSGF) Speech Recognition Grammar Specification (SRGS) ISIP Hierarchical Digraph (IHD) ::=ab* =a(b)*; a b BNF ::=aB ::=bB ::=ε ABNFJSGF XML-SRGSIHD

Citation preview

Language Model Grammar Conversion

Wesley Holland, Julie Baca, Dhruva Duncan, Joseph PiconeCenter for Advanced Vehicular Systems

Mississippi State University

XML ABNF

BNFIHD

BNF JSGF

Page 2 of 10Language Model Grammar Conversion

Speech Recognition

• Acoustic Model• Maps audio data to words or phonemes

• Language Model• Specifies order in which a sequence of words or phonemes is likely to

occur

• Described using grammar

Page 3 of 10Language Model Grammar Conversion

Grammar Specifications

• Backus-Naur Form (BNF)

• Augmented BNF (ABNF)

• JSpeech Grammar Format (JSGF)

• Speech Recognition Grammar Specification (SRGS)

• ISIP Hierarchical Digraph (IHD)

<A>::=ab* <A>=a(b)*;

a<item repeat=“0-”> b</item>

BNF<A>::=aB<B>::=bB<B>::=ε

ABNF JSGF

XML-SRGS IHD

Page 4 of 10Language Model Grammar Conversion

Conversion Design

• Goals• JSGF ↔ IHD

• XML-SRGS ↔ IHD

• Determination of equivalence

• Grammar minimization

• Final Architecture

XML

JSGF

ABNF BNF IHD

Page 5 of 10Language Model Grammar Conversion

JSGF/XML-SRGS → ABNF

• JSGF → ABNF• Trivial

• Similar in syntax and structure to ABNF

• XML-SRGS → ABNF• Harder than JSGF

• Different in syntax and structure from ABNF

• Requires enumeration of certain repeat attributes

<S>::=(ab)|(abab)

XML-SRGS<item repeat=‘1-2’> a b</item>

ABNF

<S>::=abab(ab)*

<item repeat=‘2-’> a b</item>

Page 6 of 10Language Model Grammar Conversion

JSGF/XML-SRGS → ABNF

• XML-SRGS → ABNF (continued)• Different weighting mechanisms (weight and repeat-prob attributes)

a<item repeat=“0-” repeat-prob=“.45”> b</item><one-of> <item weight=“.4”>c</item> <item weight=“.6”>d</item></one-of>

Page 7 of 10Language Model Grammar Conversion

ABNF → BNF

• Normalized BNF• Consists of rules of the following formats:

•(RULE_NAME)::=(TERMINAL),(NON_TERMINAL)

•(RULE_NAME)::=(NON_TERMINAL)

•(RULE_NAME)::=ε

ABNF

BNF

1. Break rule into multiple rules at each top-level alternation. Recurse on each rule.

2. For each concatenation, Kleene star, or Kleene plus, extract a set of left symbols and a set of right symbols.

3. For n left symbols and m right symbols, create n x m connecting rules.

• ABNF → BNF• Complicated

• Accomplished using a recursive algorithm that extracts sets of normalized BNF rules from a set of ABNF rules

Page 8 of 10Language Model Grammar Conversion

BNF ↔ IHD

• BNF ↔ IHD• Each arc translates to a normalized BNF

• Terminals correspond to nodes; concatenations correspond to arcs

RS→R0 R3→C,R3RS→R1 R3→C,RTR0→A,R3 RT→εR1→B,R3

BNFNodes1: A2: B3: C

Arcs(S,1) (2,3)(S,2) (3,3)(1,3) (3,T)

IHD

Page 9 of 10Language Model Grammar Conversion

BNF → JSGF/XML-SRGS

• BNF → JSGF/XML-SRGS• Rule-by-rule

• Trivial

<A>=aB;<B>=b*;

<rule id=“a”> a <ruleref uri=“#b”/></rule>

<rule id=“b”> <one-of> <item> b <ruleref uri=“#b”/> </item> <item> <ruleref special= “NULL”/> </item> </one-of></rule>

BNF<A>::=aB<B>::=bB<B>::=ε

JSGF

XML-SRGS

Page 10 of 10Language Model Grammar Conversion

Software Tools

• ISIP Network Converter• Console tool to perform conversions to and from arbitrary grammar

formats

• ISIP Network Builder• Java-based graphical tool to design grammars as finite state machines

• Can exports grammars to JSGF, XML-SRGS, ABNF, BNF, and IHD

• ISIP Language Model Tester• Console tool for testing of grammars

• Can generate valid sentences in a given grammar

• Can parse sentences and determine if accepted by a given grammar.

Page 11 of 10Language Model Grammar Conversion

Minimization

• Minimization• Happens in BNF

• Iterate over rule set, merging redundant rules

• Rules can be merged if the non terminal of both rules reference the same terminal

• Example: