-3

ユーザーの Facebook 投稿を取得し、投稿に基づいてその人の性格を分析する C# プログラムを開発しようとしています。これは、彼の言葉と言語/文の構造を分析して、彼がどのタイプの人であるかを判断することを意味します. 例:自信過剰、臆病、怒りなど

しかし、言葉を使って彼の性格を分析するにはどうすればよいかわかりません。投稿には肯定的な言葉と否定的な言葉の両方を含めることができるので、難しいようです. 何か案は?

4

1 に答える 1

2

あなたが達成しようとしていることは非常に複雑で (主に許容できる精度を提供する)、単純な解決策はありません。

あなたの立場で私が取るアプローチの基本的な考え方:

  1. これは、開発の実行中に検討する特定の言語 (英語など) にのみ使用できます。他の言語を考慮に入れるために翻訳に頼ることは、その信頼性に大きく影響します. 検討したい新しい言語ごとに、新しい「開始分析」が必要になります。
  2. この開発の最も重要な部分はデータベースであるため、その設計、接続性、データの保存/検索などに重点を置く必要があります。
  3. データベースの最小コンテンツ: 単語のリスト、関連する「値」(臆病、怒りなど)、指定された値内での重要性 (「攻撃的」に対して 10 点満点中 8 点の単語)、可能性この単語が異なる意味を持つようにする (上記のコメントで示唆されているように、「病気」は正確なコンテキストを確認するために警告フラグを取得する可能性があります)、さらなる考慮事項 (たとえば、繰り返しの回数がその値にどのように影響するか) など。さまざまなレベルのストレージを含める必要があります (投稿ごと、ユーザーごと、時間ごとなど)。
  4. 必要なものを提供するには、十分に適応可能でスケーラブルなアルゴリズムを作成する必要があります (ここでは多くの変更、改善、追加などが予想されます)。私が思いつく基本的なアイデアは、データベースで定義されている各単語の値を考慮して各投稿を評価することです(各単語のみ、特定の単語の繰り返し回数、特定の単語のコンテキストなどを考慮することによって) .) つまり、分析に値する単語とそうでない単語を確認します。個々の単語を抽出するだけでなく、文脈を分析できる構文解析システム (同じ文/段落内または別の段落内の対象単語の前後の単語)。「誤解」を避けるためのいくつかのルールを設定する (たとえば、行動が攻撃的であると見なす投稿の最小数、それ以外の場合は単に無視する (おそらく単なるユーモア); さまざまなタイプの投稿によって形成される複雑な気分を説明する (たとえば、3 つの投稿で怒り + 9 つの投稿で臆病 = *)。等。); 要約すると、「個別の投稿の現実」を可能な限り正確に目的の出力 (投稿/ユーザーの評価) に変換できなければなりません。

前述のとおり、簡単ではありません。しかし、段階的に物事を進め、構造が変更/拡張を許容するのに十分適応可能であることを確認すると、かなり信頼性の高いソフトウェアを手に入れることができます (期待できる理想的な結果、つまりランキングを理解することによって)。これを実際の性格分析に当てはめることは、おそらく野心的すぎるように聞こえるかもしれません)。

于 2013-07-18T09:20:22.447 に答える