2016-09-08 16 views
0

名前(String)とその名前に関連付けられた文字列の配列を持つweka trainingファイル(arff)が必要です。これを実行すると、分類子がそれらの文字列と名前を関連付けるようになりますテキスト。この作業では、文字配列であるwekaの属性を作成するにはどうすればよいですか?または、これを行うための代替手段がありますか?wekaの文字列配列属性

例えば

を(私はナイーブベイズ分類器を使用しています): Deepikaシャー、貪欲な読者は、面白い、かわいい

をだから私はDeepikaシャーで上記の文字列のいずれかとの文を持っている場合それは、Deepika Shahについての文章として分類されるべきです。

EDIT: 文中の単語やフレーズを使って、文章を名前として分類する必要があります。だから私は名前に関連付けられた文字列のセットと、それらが関連付けられている名前を与えています。分類器は、そのクラスをその文から見つけるべきである。あるいは、文章から特徴を抽出した後(特徴を抽出したと仮定します)。

+0

あなたの名前は文字列の配列を予測するクラスですか?あなたは明確なアイデアを得るために、少なくとも一例を挙げてください。 – drp

+0

はい、その名前がクラスです。 – zoozoofreak

+0

次に、StringToWordVectorフィルタを使用してください(文字列配列は "あなたは素敵な男"というような言葉の配列です)。 StringToWordvectorクラスでは、String配列(1つ以上の単語からなる文)をN-gramで変換することができます。ここでは、Tokenizerクラスを通してNの任意の値を指定できます。文字列配列を文字列属性n arffファイルとして指定する必要があります。それをarffファイルの引用符で囲んだ値( 'あなたは素敵な男')に含めてください。あなたがこのコメントを理解できなかったら私は答えのセクションで詳細にアンサーを提供することを私に教えてください。 – drp

答えて

2

あなたarffファイルは、この形式である必要があります。

@Relation testRelation 

@attribute firstAtr string 
@attribute secondAtr string 
@attribute thirdAtr string 
@attribute yourClass {Deepika Shah, secondClass, ...other classes listed here} 

@data 
"Voracious reader","funny"," pretty",Deepika Shah 

...more data here 

次にあなたがWEKAであなたのarffファイルをインポートすることができます。

これで、文字列値を数値に変換する必要があります。そのためには、前処理タブのフィルターセクションにあるweka->unsupervised->attribute->StringToWordVectorフィルターを使用する必要があります。 フィルタをクリックすると、用語表現(tf、tf-idf)、ストップワード、ステマーアルゴリズム、nグラムなどのパラメータを調整できます。 次に、適用をクリックします。

このプロセスが完了したら、[分類]タブに進み、分類を続行する準備ができました。分類子を選択することができます。

注:開始ボタンをクリック可能にするには、公称クラス(Nom)yourClass(テストオプションの下にあります)を選択する必要があります。

注2:https://www.youtube.com/watch?v=jSZ9jQy1sfE:あなたの刺し傷属性は面白い、悲しい、ニュートラルなどのような値を固定している場合は、公称の属性の代わりに、文字列


PS上記のすべてここに見つけることができますを取り入れた素敵な例を使用することができます

+0

私の問題は、各クラスのString属性の数が異なる可能性があるということです。 Deepika Shahは彼女を説明するために3つのストリングを持つことができ、Katrina Kaifは5つのストリングを持つことができます。この場合、私は何をしますか? – zoozoofreak

+0

3弦はどういう意味ですか? 1つのクラスを記述するn個の文字列がある場合、すべてのn個の文字列を1つの汎用クラスで手動で置き換える必要があります。たとえば、Deepika Shah、blablabla1、blablabla2が同じクラスを参照している場合、blablabla1とblablabla2をすべてDeepika Shahに置き換えてください。 – xro7

+0

いいえ、firstAtr、secondAtr、thirdAtrなどのような意味です.n個の属性があります。 – zoozoofreak