Created
June 10, 2018 20:45
-
-
Save 12ange/5b6ec734db8a54ce43a89165ebf2c7db to your computer and use it in GitHub Desktop.
WebSpeechAPIでSpeechGrammarを使って音声認識したい日本人向け JSpeech Grammer Format ざっくり日本語訳
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ソースは https://www.w3.org/TR/jsgf/ | |
| 【 重要 】 大まかに知りたければ、5章のサンプル集だけ見れば何となく想像がつくかも。 | |
| 1章 導入部は製作には関係ないので省略。 | |
| 2章 定義 | |
| 2.1. 文法名やパッケージ名はJava言語と同じルールですよーみたいな。 /* つーかぶっちゃけキャメルケース変数名で大体OK */ | |
| 2.2. ルール名はUnicode文字+ちょっとだけ記号も使える。なんとぉ、日本語でも大丈夫! でも<NULL>と<VOID>は予約済み。 | |
| (2.2.1-2.2.2は省略。だって文字列変数だし) | |
| (2.2.3.で<NULL>と<VOID>の簡単な説明。普通使わなそうなので省略) | |
| 2.3. トークン=別名・終端シンボル=単語。トークンの空白区切り並びもまたトークン。 | |
| (2.4. コメントは省略。JS自体に書けばいいじゃん) | |
| 3章 文法ヘッダ | |
| 3.1. 自己識別ヘッダ。一文目。これは "#JSGF V1.0;" 決め打ちでOK。 | |
| 3.2. 文法名定義。二文目。 "grammar 文法名" お好きな名前で。 | |
| (3.3. importはしません) | |
| 4章 文法本体 | |
| 4.1. ルール定義。`${"public "または""}<ルール名>=ルール拡張;`。 | |
| 4.1.1. publicがついたルール(名)は、認識に使われますよー 言い換えれば、入力とpublicなルールとで比較しますよー | |
| 4.2. ルール拡張はトークンやルールをいろいろ羅列したり4.3.-4.6.したもの | |
| 4.3. 組成。空白区切りで並べる「順列」が一つ、半角バー'|'で区切られた「選択肢」が一つ。「選択肢」それぞれが「順列」になっていてもOK | |
| (4.3.3. 重みづけは趣味かな?期待しない単語はそもそも文法に含めないですから) | |
| 4.4. グループ化は丸括弧'('~')'、選択肢を囲うのに使う感じ。オプションは四角括弧'['~']'、正規表現の'?'効果。 | |
| 4.5. 単項演算子。'*'と'+'。正規表現に同じ。 | |
| (4.6. タグはとりあえず省略) | |
| 4.7. 優先順位:トークンやルール > ()[] > *+ > 順列 > 選択肢 | |
| (4.8. 再帰は読みにくくなるのでやらなくていいのよ) | |
| (4.9. <NULL>と<VOID>の利用……とりあえず無視) | |
| (4.10. 文書コメントも省略。JS自体に書けばいいじゃん) | |
| 5章 サンプル集。認識させたい文法をどうくみ上げるかが大まかにわかる。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment