問題タブ [summarization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
3385 参照

text - 「AUTOMATIC TEXT SUMMARIZER(言語ベース)」について

私は最終年度のプロジェクトとして「自動テキスト要約(言語的アプローチ)」を行っています。私は十分な研究論文を収集し、それらを調べました。それでも、「どうやってそれを行うか」ということについてはあまり明確ではありません。基本的に「AUTOMATIC TEXT SUMMARIZER (statistical based)」を見つけ、私のプロジェクトに比べてはるかに簡単であることがわかりました。私のプロジェクト ガイドでは、これ (統計ベース) を選択せず​​、言語ベースを選択するように指示されました。

この種のプロジェクトに取り組んだことがある、または聞いたことがある人なら誰でも、ドキュメントを要約することは、(いくつかの特定のアルゴリズムを含むいくつかのアプローチによって) 各文にスコアを付け、次にしきい値スコアよりも高いスコアを持つ文を選択することに他ならないことを知っているでしょう。このプロジェクトで最も難しい部分は、スコアリングに適切なアルゴリズムを選択し、後でそれを実装することです。

私は中程度のプログラミング スキルを持っており、JAVA でコードを書きたいと考えています (そこには多くの API があり、オーバーヘッドが少なくなるからです)。今、私は自分のプロジェクトで、どのようなアプローチとアルゴリズムを使用すべきかを知りたいと思っています。また、それらを実装する方法。

0 投票する
4 に答える
10272 参照

mysql - 一意のキーにnull可能な列を持つMySQL ON DUPLICATE KEY UPDATE

当社の MySQL Web 分析データベースには、新しいアクティビティがインポートされるたびに更新される概要テーブルが含まれています。要約が以前の計算を上書きするために ON DUPLICATE KEY UPDATE を使用しますが、要約テーブルの UNIQUE KEY の列の 1 つがオプションの FK であり、NULL 値が含まれているため、問題が発生しています。

これらの NULL は、「存在せず、そのような場合はすべて同等である」ことを意味することを意図しています。もちろん、MySQL は通常、NULL を「不明であり、そのようなすべてのケースは同等ではない」という意味として扱います。

基本的な構造は次のとおりです。

各セッションのエントリを含む「アクティビティ」テーブル。それぞれがキャンペーンに属し、いくつかのエントリのオプションのフィルターとトランザクション ID を含みます。

アクティビティ テーブル内の合計セッション数の毎日のロールアップと、トランザクション ID を含むセッションの合計数を含む「概要」テーブル。これらの概要は分割され、キャンペーンと (オプションの) フィルターの組み合わせごとに 1 つずつ表示されます。これは、MyISAM を使用した非トランザクション テーブルです。

実際の集計クエリは次のようなもので、セッションとトランザクションの数をカウントアップし、キャンペーンと (オプション) フィルターでグループ化します。

filter_id が NULL の場合の要約を除いて、すべてうまく機能します。このような場合、ON DUPLICATE KEY UPDATE 句は既存の行と一致せず、毎回新しい行が書き込まれます。これは、「NULL != NULL」であるためです。ただし、一意のキーを比較するときに必要なのは「NULL = NULL」です。

回避策のアイデアや、これまでに思いついたものに対するフィードバックを探しています。これまでに考えた回避策は次のとおりです。

  1. 要約を実行する前に、NULL キー値を含むすべての要約エントリを削除します。(これが現在行っていることです) これには、集計プロセス中にクエリが実行されると、データが欠落している結果が返されるというマイナスの副作用があります。

  2. DEFAULT NULL 列を DEFAULT 0 に変更します。これにより、UNIQUE KEY を一貫して一致させることができます。これには、サマリー テーブルに対するクエリの開発が過度に複雑になるというマイナスの影響があります。これにより、多くの「CASE filter_id = 0 THEN NULL ELSE filter_id END」を使用せざるを得なくなり、他のすべてのテーブルで実際には filter_id が NULL になっているため、結合が困難になります。

  3. 「CASE filter_id = 0 THEN NULL ELSE filter_id END」を返すビューを作成し、テーブルの代わりにこのビューを直接使用します。集計テーブルには数十万行が含まれており、ビューのパフォーマンスが非常に悪いと言われています。

  4. 重複エントリの作成を許可し、要約が完了したら古いエントリを削除します。事前に削除するのと同様の問題があります。

  5. NULL に 0 を含むサロゲート列を追加し、UNIQUE KEY でそのサロゲートを使用します (実際には、すべての列が NULL でない場合は PRIMARY KEY を使用できます)。
    上記の例が単なる例であることを除けば、この解決策は妥当に思えます。実際のデータベースには半ダースのサマリー テーブルが含まれており、そのうちの 1 つには UNIQUE KEY に 4 つの null 値を許容する列が含まれています。オーバーヘッドが大きすぎるという懸念もあります。

役立つ回避策、テーブル構造、更新プロセス、または MySQL のベスト プラクティスはありますか?

編集:「nullの意味」を明確にする

NULL 列を含む要約行のデータは、そのデータ ポイントが存在しないか不明なアイテムを要約した、要約レポートの単一の「キャッチオール」行であるという意味でのみ、一緒に属していると見なされます。したがって、要約テーブル自体のコンテキスト内では、意味は「値が不明なエントリの合計」です。一方、リレーショナル テーブル内では、これらは実際には NULL の結果です。

それらをサマリー テーブルの一意のキーに配置する唯一の理由は、サマリー レポートを再計算するときに (ON DUPLICATE KEY UPDATE による) 自動更新を可能にするためです。

要約テーブルの 1 つが、回答者が指定した会社の住所の郵便番号プレフィックスによって地理的に結果をグループ化する具体的な例を使用すると、より適切に説明できます。すべての回答者が会社の住所を提供しているわけではないため、トランザクション テーブルと住所テーブルの関係はまったく正しく NULL です。このデータの要約テーブルでは、各郵便番号プレフィックスに対して行が生成され、その地域内のデータの要約が含まれます。追加の行が生成され、郵便番号のプレフィックスが不明なデータの概要が表示されます。

残りのデータ テーブルを変更して明示的な "THERE_IS_NO_ZIP_CODE" 0 値を持たせ、この値を表す ZipCodePrefix テーブルに特別なレコードを配置することは不適切です。その関係は本当に NULL です。

0 投票する
1 に答える
102 参照

django - 項目が 3 つ以上あるレコードを数える

レコードを 2 つのカテゴリにグループ化したいと思います。

  1. レコードが 3 つ以上ある項目
  2. アイテム数が 3 個未満のアイテム

どうすればいいですか?annotate() の使用を検討しています。

0 投票する
6 に答える
725 参照

database - 異なる解像度のデータ

2 つのテーブルがあり、外部ソースからこれらのテーブルにレコードが継続的に挿入されています。これらのテーブルがユーザー インタラクションの統計を保持しているとしましょう。ユーザーがボタンをクリックすると、そのクリックの詳細 (ユーザー、クリック時刻など) がテーブルの 1 つに書き込まれます。ユーザーがそのボタンをマウスオーバーすると、レコードが詳細とともに他のテーブルに追加されます。

多くのユーザーが常にシステムと対話している場合、大量のデータが生成され、それらのテーブルが非常に大きくなります。

データを見たいときは、時間単位または日単位の解像度で見たいです。

要求された解像度で (データが収集されるにつれて) データを段階的に継続的に要約する方法またはベスト プラクティスはありますか?

または、この種の問題に対するより良いアプローチはありますか?

PS。私がこれまでに見つけたのは、Talend のような ETL ツールが生活を楽にすることができるということです。

更新:現在MySQLを使用していますが、DB、環境などに関係なくベストプラクティスが気になります.

0 投票する
2 に答える
1219 参照

sql - SQL Server 2008 の要約テーブルを分解する

外部ソースから要約形式のデータを受け取りました。私が使用しているシステムに収まるように、これを分解する方法が必要です。

例として、受け取ったデータが次のようになっているとします。

これが次のような細分化された形式であることを望みます。

ありがとう
カール

0 投票する
1 に答える
1108 参照

mysql - mysqlでテキストの一部を選択するには?

LONGTEXT私はmysqlに保存された列を持っています。このテキストはリッチ テキストを保存します。私は現在、すべてのテキストを読んで100から、単語を途中で分割しないように最初の文字を取得するためにjavascriptを使用して修正しています。

しかし、この方法は最善の方法とは思えません。クエリを使用して直接要約を選択したいのですが、html タグである文字を含めないように注意したいです。

以下の関数は、html を削除するのにうまく機能しているようです。

0 投票する
3 に答える
2203 参照

r - データフレーム内の値の一意の組み合わせを計算し、値を集計します

データフレーム内の と のユニークな組み合わせで作業したいとvar1思いvar2ます。

前述のように、unique(foo)結果は次のようになります。

ユニークな組み合わせに基づいて、どのように取得しますか:

  • nvar1値の出現回数、および
  • svar、各var1値のvar2値の合計。

出力は次のようになります。

0 投票する
1 に答える
147 参照

nlp - winwordの要約機能の背景

Winword には自動要約ツールがあります。背景、つまり、どのアルゴリズムが使用されているか、またはこの機能に関する追加の背景情報をどこで見つけることができるかを知っている人はいますか?

ありがとうございました

0 投票する
1 に答える
233 参照

sql-server - SQLを使用したデータの要約

関連する次の列を含むロギングエントリテーブルがあります:eventypeuserid。次のクエリを使用してデータを簡単に要約し、各ユーザーイベントタイプの合計を取得できます

ただし、ユーザーに関係なく、個々のイベントタイプごとに現在の合計も必要です。どうすればこれを行うことができますか?

乾杯

0 投票する
3 に答える
4734 参照

r - Rの複数の列に依存するtapply()関数

Rには、Location、sample_year、およびcountのテーブルがあります。それで、

'Location'列と'sample_year'列の両方を調べ、単一の列ではなく、この一意の組み合わせに応じて'count'を合計する要約テーブルが必要です。したがって、最終結果は次のようになります。

列とデータを新しい列にマージして、一意のLocation-sample_yearを作成することもできますが、これはクリーンなソリューションではありません。特に、ある時点で3列にスケールアップする必要がある場合はそうです。より良いアプローチが必要です。