3
  • TARGET私が話されると予想される文字列のセットとしましょう。
  • を、音声認識エンジンによって返さSOURCEれる文字列のセット (つまり、認識された可能性のある文) とします。

から文字列を選択する方法が必要TARGETです。レーベンシュタイン距離ダメラウ・レーベンシュタイン距離について読みました。これは基本的にソース文字列とターゲット文字列の間の距離を返します。これは、ソース文字列をターゲット文字列に変換するために必要な変更の数です。

しかし、このアルゴリズムを一連のターゲット文字列に適用するにはどうすればよいでしょうか?

私は次の方法を使用すると思いました:

  1. に属する文字列ごとにTARGET、 の各文字列からの距離を計算しSOURCEます。このようにして、m 行 n 列の行列を取得します。ここで、n は のカーディナリティでSOURCEあり、n は のカーディナリティですTARGET。i 番目の行は、i 番目のターゲットに関して音声認識器によって検出された文の類似性を表していると言えます。
  2. 各行の値の平均を計算すると、i 番目のターゲットと音声認識エンジンの出力の間の平均距離を取得できます。average_on_row(i)と呼びましょうi。 は行インデックスです。
  3. 最後に、行ごとに、行内のすべての値の標準偏差を計算します。各行について、すべての標準偏差の合計も実行します。結果は列ベクトルで、各要素 ( と呼びましょうstadard_deviation_sum(i)) は の文字列を参照しますTARGET

最短に関連付けられた文字列はstadard_deviation_sum、ユーザーが発音した文である可能性があります。私が使用した正しい方法と見なすことができますか? それとも他の方法はありますか?明らかに、値が高すぎるということは、ユーザーが発音した文がおそらく に属していないことを示していますTARGET

4

2 に答える 2

4

私は専門家ではありませんが、あなたの提案は意味がありません。まず第一に、実際には、TARGET のカーディナリティは無限ではないにしても非常に大きいと予想されます。第 2 に、レーベンシュタイン距離や類似の指標が役立つとは思えません。

もしも :

  • SOURCE と TARGET のセットを実際に定義できます。
  • SOURCE のすべての文字列の確率は等しく、
  • TARGET のすべての文字列の確率は等しく、
  • SOURCE と TARGET の文字列は文字ではなく音素で構成されており、

次に、距離(p、q)が最小になるように、SOURCEでp、TARGETでqのペアを見つけることが最善の策だと思います。特に等確率部分は保証できないので、一から考えて、色々調べて、全く違う設計をしたほうがいいと思います。音声認識の通常の方法論は、隠れマルコフ モデルの使用です。そこから始めます。

コメントへの回答:可能性が高い方を選択してください。確率を考えないと駄目です。

[次の例が文字ではなく音素に関するものであると仮定します]

認識された単語が「chees」であるとします。対象セットは「チーズ」「チェス」。P(cheese|chees) と P(chess|chees) を計算する必要があります。文字列間の距離として確率をモデル化する場合、少なくとも d("c","s") < d("c","q") などを許可する必要があります。(c と s の文字を混同することはよくありますが、c と q を混同することは一般的ではありません) 距離計算アルゴリズムを適応させることは簡単ですが、すべてのペアに適切な値を与えることは困難です。

また、何らかの方法で P(cheese|context) と P(chess|context) を推定する必要があります。ボード ゲームについて話している場合、チェスの可能性が高くなります。乳製品といえばチーズの可能性が高いです。これが、そのような見積もりを出すために大量のデータが必要になる理由です。これが、隠れマルコフ モデルがこの種の問題に適している理由でもあります。

于 2012-04-30T20:14:28.937 に答える
1

これらの確率を最初に計算する必要があります: 挿入、削除、および置換の確率。次に、これらの確率のログを各操作のペナルティとして使用します。

「コンテキストに依存しない」状況では、pi が挿入の確率、pd が削除の確率、ps の置換確率である場合、同じシンボルを観察する確率は pp=1-ps-pd です。

この場合、log(pi/pp/k)、log(pd/pp)、および log(ps/pp/(k-1)) を挿入、削除、置換のペナルティとしてそれぞれ使用します。ここで、k はシンボルの数です。システム。

基本的に、ソースとターゲットの間でこの距離測定を使用すると、ソースが与えられたときにそのターゲットを観察する対数確率が得られます。大量のトレーニング データ (つまり、ソースとターゲットのペア) がある場合は、これらの確率の初期推定値を選択し、ソースとターゲットのペアを調整して、これらの確率を再推定します (別名 EM 戦略)。

一連の確率から始めて、コンテキストの独立性を仮定できます。後で、コンテキスト間で何らかのクラスタリングを想定できます (たとえば、置換率が異なる k 個の異なる文字セットがあると仮定します...)。

于 2012-04-30T20:50:00.793 に答える