文字列パターンを学習するための機械学習手法


11

自分で定義したさまざまなカテゴリに属する​​単語のリストがあります。各カテゴリには独自のパターンがあります(たとえば、1つは特殊文字を含む固定長で、もう1つはこの「単語」のカテゴリでのみ発生する文字の存在です...)。

例えば:

"ABC" -> type1
"ACC" -> type1
"a8 219" -> type2
"c 827" -> type2
"ASDF 123" -> type2
"123123" -> type3
...

私は、トレーニングデータに基づいて、これらのパターンを独自に学習するための機械学習手法を探しています。私はすでに自分でいくつかの予測変数(たとえば、語長、特殊文字の数など)を定義しようとし、ニューラルネットワークを使用してカテゴリを学習および予測しました。しかし、それは実際には私が望むものではありません。各カテゴリーのパターンを自分で習得するテクニック、つまり、私が考えたこともないパターンを習得するテクニックも必要です。

したがって、アルゴリズム学習データ(単語カテゴリの例からなる)を指定し、各カテゴリのパターンを学習して、後で類似または等しい単語からカテゴリを予測するようにします。

それを行うための最先端の方法はありますか?

ご協力いただきありがとうございます


私の視点からは、次のようななめらかを行うことができますcistrome.org/cr/images/Figure4.png、代わりにACGTのあなたは、このような「数、大文字、小文字、スペース」などとしてパターンを使用することができます
ドイツ語デミドフ

@GermanDemidovコメントありがとうございます。私はすでにこのようなことについて考えました。しかし、私は実際に学習アルゴリズムがそれ自体でそれを行い、パターンを検出することを望んでいます。(MLが可能かどうかはわかりません)。
chresse

実際、このパターンは機械学習です。もちろん、機械学習でそれを行うことができますが、人が最初に特徴抽出を行ってから、それをMLアルゴリズムへの入力として与える必要があります。この例からどの機能を抽出しますか?ハッシュ関数について考えることはできますが、長さが等しくない文字列の場合はかなりうまくいきません。したがって、特徴を抽出する方法がわかるので、MLメソッドを使用できるようになります。異なるクラスのシンボル間のレーベンシュタイン距離のようなsmthを実行し、それらをクラスター化して、分類のために重心までの最小距離を使用することもできます。
ドイツのデミドフ2016

@chresse 教師なし学習タグを質問に追加することができます。ニューラルネットワークでこれを行うには、この LeCun論文が興味深いかもしれません。テキストマイニングやニューラルネットワークの経験はあまりないので、このアプローチがどれほど優れているかはわかりません。
GeoMatt22

1
したがって、自然に使用する機能(u-大文字、l-小文字、n-数、s-スペース)を使用してベクトルを変換すると、ベクトルは "ABC"-"uuu"、 "a8 219"-"lnsnnn"などになります。オン。次に、たとえば、en.wikipedia.org / wiki / Smith –Waterman_algorithmのアルゴリズムを使用して、距離測定を導入する必要があります。この後、データの分類/クラスタ化/視覚化を実行できます。
ドイツのデミドフ2016

回答:



5

入力が単語の文字のシーケンスであり、出力がカテゴリである再帰ニューラルネットワークを試すことができます。これは、機能を手動でコーディングしないという要件に適合します。

ただし、この方法を実際に機能させるには、かなり大きなトレーニングデータセットが必要になります。

詳細については、Alex Gravesの第2章の「Recurrent Neural Networksによる監視付きシーケンスのラベル付け」を参照してください。

これはプレプリントへのリンクです


1
将来「preprint.pdf」リンクが壊れた場合に備えて、最終的な参照用に完全な引用を追加できますか?(これは関連する章だと思いますか?)
GeoMatt22
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.