5

マルコフ手法を使用して、欠落している情報を自然言語テキストに復元することを考えていました。

  • すべて大文字のテキストを大/小文字混合に戻します。
  • アクセント/発音区別符号を、それらがあるはずの言語に復元しますが、プレーン ASCII に変換されています。
  • 大まかな音声表記をネイティブのアルファベットに変換します。

難易度の低いものから難しいものの順に並んでいるようです。基本的に問題は、コンテキストに基づいてあいまいさを解決することです。

ウィクショナリーを辞書として使用し、ウィキペディアをコーパスとして使用して、n グラムと隠れマルコフ モデルを使用してあいまいさを解決できます。

私は正しい軌道に乗っていますか?この種のサービス、ライブラリ、またはツールはすでにありますか?

  • ジョージは茂みの中でSIMカードをなくしました ⇨ ジョージは茂みの中でSIMカードをなくしました
  • tanto il rit a gorge deployee ⇨ tantot il rit à gorge déployée
4

2 に答える 2

4

3 つのタスクすべてにマルコフ モデル (HMM) を使用できると思いますが、条件付きランダム フィールド (CRF) などの最新のモデルも検討してください。また、ここにあなたのgoogle-fuのためのいくつかのブーストがあります:

  • 大文字と小文字が混在するテキストをすべて大文字に戻す

これはトゥルーケーシングと呼ばれます。

  • アクセント/分音記号を、本来あるはずの言語に戻してプレーン ASCII に変換する

マルコフモデルはこれに苦労するだろうと思います. OTOH、ラベル付けされたトレーニング データは無料です。なぜなら、ターゲット言語でアクセント付きのテキストを大量に取り、アクセントを取り除くことができるからです。次の回答も参照してください。

  • 大まかな音声表記をネイティブのアルファベットに変換します

これは、 (バイオインフォマティクス/ゲノム研究からの)ペア HMMを使用して試みられた機械音訳に強く関連しているようです。

于 2010-12-22T20:54:18.703 に答える
2

あなたがこれらをどのように達成するかを肉付けしてみましょう。

大文字化

これはNamed Entity Recognitionにかなり近く、「シーケンスのタグ付けの問題」の一例です。固有名詞は最初に大文字にする必要があり、頭字語である組織名はすべて大文字にする必要があります。次に、これらのカテゴリに該当しない他の例があります。したがって、NER よりも難しいと思われるため、単純な辞書ベースのアプローチはおそらく理想的なソリューションではありません。

隠れマルコフ モデルを使用する場合、これは HMM の「隠れた」状態を [lowerCase, initCaps, allCaps] にし、正しいと仮定するいくつかのデータでトレーニングすることになります (例: ウィキペディアですが、他にも多くのソースがあります)。それも)。次に、正しく大文字化されているかどうかわからない単語の非表示状態を推測します。HMM ライブラリはたくさんありますが、ニーズに合ったものを見つけることができると確信しています。HMM を試すことは、最初の選択としては適切だと思います。

非 ASCII 文字

ご想像のとおり、より難しい問題です。単語レベルで HMM を使用してこれを行おうとすると、アクセント付きの単語ごとに 1 つずつ、膨大な数の隠れ状態が発生し、おそらくトレーニングが不可能になります。この問題は、キャラクター レベルの方が扱いやすいですが、前のキャラクターだけを考慮すると、膨大な量のコンテキストが失われます。文字の代わりに n-gram を使い始めると、スケーリングの問題が再発します。要するに、ラベルの数が多すぎてシーケンスのラベル付けの問題と見なすことができないため、この問題は前の問題とは似ていないと思います (できるということですが、実用的ではありません)。

この分野の研究については聞いたことがありません。また、私は専門家ではありません。私の最善の推測は、興味のある言語の一般的な言語モデルを使用することです。これを使用して、その言語の文の確率を得ることができます。次に、アクセント付きの可能性のある文字を置き換えて、それらの文の確率を示し、最も可能性の高いものを取得するか、違いにしきい値を使用するか、そのようなものを使用できます。特定の言語の大規模なコーパスで、n-gram 言語モデルをかなり簡単にトレーニングできます。

精度や効率の点で、これが実際に機能するかどうかはわかりません。この特定の問題を直接経験したことはありません。

音訳

正直なところ、わかりません。独自のシステムを作成するためのデータがどこにあるのかわかりません。簡単な検索の後、Google Transliterationサービス (API 付き) を見つけました。おそらくそれはあなたが求めていることをします。他のスクリプトを使用した言語で、それが何をしているのかを本当に理解するのに十分な経験さえありません.

于 2010-12-21T14:07:41.920 に答える