SVM-Light(ウェブサイトhttp://svmlight.joachims.org/)を使用しています。私はあなたに問題を尋ねたい。 私は "彼はスマートで、彼は良い学生です"という文を持っています。この文は肯定的な文です。この文章から単語のリストを作成すると、{1 - he、2 - is、3 - smart、4 - 、5 - a、6 - good、7 - 学生}。次に、文章を次のように書き換えます: "1 2 3 4 1 2 5 6 7"。そして、各単語の値は "1:0.4 2:0.2 3:0.8 4:0.3 1:0.2 2:0.4 5:0.5 6:0.7 7:0.6" 列車ファイルのフォーマットに従って、単語のインデックスはインデックス数が増えているので、「1 1:0.4 1:0.2 2:0.2 2:0.4 3:0.8 4:0.3 5:0.5 6:0.7 7:0.6」のように配置します。 しかし、「機能が増えている必要があります!!!」というエラーが表示されます。私はsvm_learnを実行します。私の文章は2つの "彼"の言葉と2つの "ある"という言葉を持っているので、私はこのエラーに気づいた。あなたの列車ファイルの間、各機能は1回だけ表示されます。 この問題はどのように解決する必要がありますか?あなたは私のために説明しますか? ありがとうございました。単語が文章中に何度も出現したときのsvmのトレインファイルの作成方法
答えて
同じ機能に対して複数の値を設定することはできません。 あなたの質問に書いたことから、このケースの解決策は、本質的にそれらの単語が文章の中で異なる値を持つため、いくつかの単語が2度見られるという事実を無視することだと思います。
あなたは文章中に多くの単語を持つことができます。それはあなたの最初の機能は文の最初の単語の重さになり、2番目の特徴は文の2番目の単語の重さ、3番目は文の3番目の単語の重さなどです。したがって、あなたの例では、特徴ベクトル[1:0.4 2:0.2 3:0.8 4:0.3 5:0.2 6:0.4 7:0.5 8:0.7 9:0.6]
があります。このアプローチの問題は、異なる文章の長さが異なることです。この場合、SVMlightはすべての文章の長さが最長であると仮定し、残りの値は単純にゼロになります(これは本質的にあなたの入力にあるフィーチャの索引の背後にあるアイデアです:スパースデータの場合、ゼロ以外の値を持つフィーチャ)。これを言って、あなたのデータの2番目の文が「彼はスマートだけではなく、彼はまた良い生徒です」となると、の最初の文の特徴ベクトルは[1:0.4 2:0.2 3:0.8 4:0.3 5:0.2 6:0.4 7:0.5 8:0.7 9:0.6 10:0.0 11:0.0 12:0.0]
と解釈されます。
別の解決策は、あなたがしたように「辞書」を作成し、その単語が文章内で複数回見られる場合は同じ単語の値を組み合わせることです。これは、最大/最小値、平均、合計、積などを取ることによって行うことができます。機能を組み合わせる方法は、アプリケーションのドメインによって異なります。たとえば、単語のすべての値の合計をとると、辞書の特徴ベクトルは、1:0.6 2:0.6 3:0.8 4:0.3 5:0.5 6:0.7 7:0.6
- 1. 文章中の単語ランキングの規則
- 2. 文章中の単語を検索
- 3. 英語の単語と文章辞書
- 4. Regexで文章中の単語を抽出する
- 5. 文の再作成と文中のすべての単語の出力
- 6. 文章中の単語数を数えるには?
- 7. 簡単な英語の文章を解析する方法
- 8. メタキーワードタグの中で何度も "単語"とみなされますか?
- 9. 文章の最初の2単語と最後の単語を保持する
- 10. 文章/文字列の最後の単語を抽出しますか?
- 11. 単語ベクトル単語ベクトルを連結して文章ベクトルを構成する方法
- 12. 文中に一致する単語がC#の正規表現
- 13. 与えられた文章中の単語を構成する文字を数える
- 14. どのプログラムでも現在の単語にアクセスする方法
- 15. contentEditable DIVで現在の単語と文章をハイライト表示する方法はありますか?
- 16. 文章内の単語、単語の長さ、単語の長さ、全文の長さ
- 17. アプリの購入方法を何度も何度も何度...?
- 18. plsqlで文章中の最後の単語から2番目の単語を取得する
- 19. 単語を文章にマップする方法は、単語がデータベース内で使用されていますか?
- 20. 改行で区切られた、ファイル中に最も出現した単語の配列。
- 21. 文章の言語を検出します(20〜200文字)。
- 22. Nutchの文章としての文章
- 23. 作成と最も簡単な方法
- 24. UITextChecker:何千もの単語を学習したときのメモリの問題
- 25. インストーラの作成に関する文章
- 26. 文章を別の単語に変更する
- 27. 文章を特定の単語数に切り捨てる
- 28. iOS - 文字列内の単語の出現回数を調べる最も効率的な方法
- 29. 単語 - 単語共出現行列
- 30. iTextSharpで文章内の単一の単語を太字にする