18

私は常に新しいことを学ばなければならないことに気づきました。新しい科目を学ぶプロセスを早める方法を考えてみました。ウィキペディアの記事を解析し、最も重要な情報以外をすべて削除するプログラムを作成できれば、すばらしいと思いました。

PDFに関するウィキペディアの記事から、最初の 100 文を抽出することから始めました。私は、それがどれほど価値があると思ったかに基づいて、各文にスコアを付けました. 最終的に、次の形式のファイルを作成しました。

<sentence>
<value>
<sentence>
<value>
etc.

次に、このファイルを解析し、各文を指定した値と関連付けるさまざまな関数を見つけようとしました。機械学習や統計学などを学び始めたばかりなので、いろいろ手探りでやっています。これは私の最新の試みです: https://github.com/JesseAldridge/Wikipedia-Summarizer/blob/master/plot_sentences.py

まったく相関関係がないように思われるものをたくさん試してみました -- 単語の長さの平均、記事内の位置など(より具体的には、小文字の 'e' の数を数えるのが最もうまくいくようです)。しかし、それは少し不自由に思えます。なぜなら、より長い文には有用な情報が含まれる可能性が高いことは明らかだからです。

ある時点で、いくつかの興味深い関数を見つけたと思ったのですが、(内側の四分位数だけを数えて) 外れ値を削除しようとすると、すべての文に対して単純に 0 を返し、悪い結果になることが判明しました。これは、私が間違っている可能性のある他の多くのことについて疑問に思いました...また、これがこの問題に取り組む良い方法であるかどうかも疑問に思っています.

私は正しい軌道に乗っていると思いますか?それとも、これは単なるばかげた用事ですか?リンクされたコードに明らかな欠陥はありますか? ウィキペディアの記事を要約する問題にアプローチするより良い方法を知っている人はいますか? まとめるのに長い時間がかかる完璧なものよりも、迅速で汚い解決策が欲しい. 一般的なアドバイスも歓迎します。

4

2 に答える 2

14

あなたの質問がプログラミングの問題というよりも研究活動に関連していることを考えると、おそらく科学文献を見るべきです。ここでは、あなたが望むものを正確に実行する多くのアルゴリズムの公開された詳細を見つけることができます. 「キーワード要約」をグーグルで検索すると、次のように表示されます。

クラスタリング係数と推移分析に基づく単一ドキュメントの要約

クエリ応答型電子学習システムのための複数文書要約

インテリジェント メール: AI でユーザーを支援

上記を読み、そこに含まれる参考文献に従うと、豊富な情報が得られます。確かに、機能的なアプリケーションを構築するには十分です。

于 2012-01-01T07:32:44.977 に答える
1

ちょうど私の2セント...

ウィキペディアで新しいテーマをブラウズするときはいつでも、通常は「幅優先」検索を実行します。ページが接続しているすべてのリンクをスキャンするまで、別のトピックに進むことを拒否します (これは、私がまだ慣れていないトピックを紹介します)。各段落の最初の文を読み、その記事の中に元のトピックに関連していると思われるものがあれば、そのプロセスを繰り返します。

ウィキペディアの「サマライザー」のインターフェイスを設計するとしたら、

  1. 導入段落全体を常に印刷します。

  2. 記事の残りの部分については、リンクが含まれている任意の文を印刷してください。

    2a. リンクのコンマ区切りリストを箇条書きリストとして出力します。

  3. 記事へのリンクが「展開」されている場合は、その記事の最初の段落を印刷します。

  4. その導入段落が展開されている場合は、リンク付きの文のリストを繰り返します。

このプロセスは無期限に繰り返される可能性があります。

私が言いたいのは、ウィキペディアの記事を要約することは、雑誌の記事やブログへの投稿を要約することと同じではないということです。クローリングの行為は、ウィキペディアを介して導入概念をすばやく学習するための重要な部分であり、それが最善であると感じています. 通常、記事の下半分でcitation neededタグがポップアップし始めますが、特定の記事の前半は、コミュニティによって与えられた知識と見なされます。

于 2012-01-01T20:07:33.507 に答える