問題タブ [categorization]
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.
vocabulary - タグのカテゴリ
私は、世界最大のリュート音楽コレクションへのWebインターフェイスであるプロボノプロジェクトを開始しています。これは、いくつかの観点から見てやりがいのあるコレクションです。作品の大部分は1400年から1600年までですが、1200年代半ばから現在までの範囲です。言うまでもなく、作品がどのように分類され、誰に帰属するかには大きなばらつきがあります。どんな種類の堅固なDB強制階層もこのコレクションでは機能しないことは明らかなので、私の考えはタグに向けられます。
ただし、すべてのタグが同じというわけではありません。人/役割(作曲家、翻訳者、エンタビュレーターなど)を表すタグ、作品が書かれた楽器を表すタグ、および作品がいずれかによってどのように分類されたかを表すタグがあります。何世紀にもわたって使用されてきた半ダースの異なる分類システム。
タグの暴走を防ぐために、半制御されたタグ語彙(del.icio.usなど)を使用しますが、タグを別のグループに属するものとして扱いたいと思います。編集者が楽器のタグ付けなどを行っている場合は、人物タグを提供しないでください。
誰かがこのようなことをしましたか?私はそれを行うために考えることができるいくつかの方法がありますが、よくできている既存のシステムがあれば、それは私に実装/デバッグの時間を節約するでしょう。
FWIW:これはDjangoシステムであり、Djangoのタグ付けから始めて、そこからハッキングし、カテゴリフィールドを追加するか...
oop - 分類に関するモデリングの質問。サブタイプにするかどうか?
この単純な分類 (?) の例をモデル化する方法についてアドバイスが必要です:
私は製品を持っています。製品は、ProductType 1、ProductType 2、ProductType 3 などのさまざまなタイプにすることができます。すべての製品には部品番号と名前があります。それらが異なるのは、価格の計算方法です。
- タイプ 1 の製品の価格は、製品の数によって異なります。したがって、5 つの製品がある場合、価格は $x です。20 個の製品がある場合、価格は $y などになります。
- タイプ 2 の製品の価格は、各製品の重量によって異なります。重量が 5 kg の場合、価格は $x などになります。
- タイプ 3 の製品には、各製品の $x のような単純な価格があります。
私の見方では、各「価格構造」には専用のテーブル/クラスが必要です。製品は、製品のタイプに応じて、その価格構造への参照を持ちます。「製品タイプ」テーブルを作成して、製品クラスにタイプという属性を持たせますか?それとも、一般化を使用して、製品 1/2/3 が製品のサブタイプになるようにしますか? 5 種類の料金体系があり、料金の計算方法はタイプごとに異なります。したがって、注文の合計金額を計算するロジックは、各商品タイプに依存します。
これを最良の方法でモデル化する方法についてアドバイスをいただけますか? Product クラスに Type 属性があるアプローチを選択すると、コード内に多数の if-else ステートメントが作成されると思います。それらをサブクラス化することを選択した場合、各クラスは正しい価格を計算するか、または要求されたことは何でも責任を負うことができます。
database-design - ファセット検索のデータベース構造
顧客がebuyer.comやNewegg.comと同じスタイルでカテゴリと分類を介して製品検索を絞り込むことができるように、ファセット検索ツールが必要な e コマース サイトを作成しています(左側のメニューを参照)。
私は当初、EAV 構造に似たデータベースの設計に飛び込みました (当時はこれが何であるかはわかりませんでした)。最初はこれが理想的でした。無制限のカテゴリ、サブカテゴリ、およびその他の製品分類 (つまり、色、顧客が特定の製品を見つけるために使用できるサイズ、受信者)。しかし、条件を使用して SQL クエリを作成しようと試み始めたとき、AND
通常の単純なクエリを記述するのが非常に長く複雑になることに気付きました。
SO のさまざまな投稿や Google の記事を数時間読んだ後、この方法を続けた場合の悪夢に気づきました。
質問
ebuyer.comやNewegg.comなどのサイトは、ファセット検索をどのように設計したのでしょうか?
別の方法を見逃したのでしょうか、それとも単純に EAV 構造を採用したのでしょうか? Lucene/Solr のようなエンタープライズ ソリューションは避けたいと考えています。
python - 文字列から国名を抽出する
subreddit から提出タイトルを取得し、それらが関連する可能性が高い場所に基づいてマップ上にプロットしようとするマッシュアップ アプリの作成を検討しています。Twitterなども後ほど追加したいと思います。
計画に苦労しているのは、タイトルから最も関連性の高い国を検出する方法です。私の最初の推測は、一致する順列 (たとえば、"English" が "England" に一致するなど) と共に国のリストを取得し、テキスト内でそれらの項目が出現するかどうかを確認することです。ただし、これはおそらく非常に遅くなり、各国の所有格*名をリストする必要があります。
私はPythonでこれを行うことを計画しています(それを使用することを学ぶため)ので、a)これを行う(そしてそれから学ぶことができる)ライブラリ、またはb)より明白な方法があるのではないかと思っていますこれ?
ここで使用している入力の種類を理解するために、いくつかのサンプルと、それらから得ようとしているものを示します。
- 「まあ、彼らは私たち全員を逮捕することはできません-英国の法制度に中指を立てます(写真)」
- キーワード:ブリティッシュ(イギリス)
- 「世論調査:ウィキリークスのアサンジがタイム「パーソン・オブ・ザ・イヤー」をリード - アサンジは、イラクとアフガニスタンでの戦争に関する米軍の秘密文書を公開して、ペンタゴン側のとげになったオーストラリア人で、21,736 票を獲得しました。金曜日の。」
- キーワード:アフガニスタン、イラク、[オーストラリア] (アフガニスタン、イラク、[オーストラリア]) - オーストラリアは主に無関係であると判断するのは難しいですが、これは私の目的には受け入れられます
- 「ノーベル平和賞のウェブサイトへのサイバー攻撃が開始されました。気品を保ちましょう、中国。」
- キーワード:中国(中国)
- 「ユダヤ人の外科医は、患者の腕にナチスのタトゥーが入っているのを発見した後、患者の手術を拒否し、手術室から出て行った.」
- キーワード:なし- 私の目的には受け入れられる
※言葉の使い方が間違っている可能性があります
machine-learning - LibSVM と非数値データ
LibSVM を使用してテキストの分類を行うことに興味があります。用語/単語を数値データに変換して、LibSVM が理解できるようにする方法を教えてください。
ありがとうございました!
algorithm - フレーズのセットを類似のフレーズのセットに分類する
テキスト形式のトレース情報 (ログ) をログ ファイルに生成するアプリがいくつかあります。トレース情報は、典型的な printf() スタイルです。つまり、似ている (printf の同じフォーマット引数) が、フォーマット文字列がパラメータを持っていた場所が異なる多くのログ エントリがあります。
ログエントリを分析し、それらを複数のビン/コンテナに分類できるアルゴリズム (URL、書籍、記事など) は何でしょうか。各ビンには 1 つの関連付けられた形式があります。
基本的に、私が望むのは、生のログ エントリを (formatA, arg0 ... argN) インスタンスに変換することです。ここで、formatA は多くのログ エントリ間で共有されます。formatA は、エントリを生成するために使用される正確な形式である必要はありません (アルゴリズムが単純になる場合はなおさらです)。
私が見つけた文献や Web 情報のほとんどは、完全一致、部分文字列の最大一致、または k 差 (k は既知/事前に固定) を扱っています。また、(長い) 文字列のペア、または単一のビン出力 (すべての入力の中で 1 つの一致) の一致に焦点を当てています。私の場合は、(十分な) 一致 (通常は不連続な文字列のシーケンス) を表すものを発見し、各入力エントリを発見された一致の 1 つに分類する必要があるため、多少異なります。
最後に、私は完璧なアルゴリズムを探しているのではなく、シンプルで維持しやすいものを探しています。
ありがとう!
database - データの署名に基づくデータの分類
行の各要素が (キー、値) のペアであるデータ行の大きなコレクションがあるとします。
新しい行を特定できる計算を実行したいのですが、この行に「最も似ている」行はどれですか?
特定の行に対して「最も類似した」行を見つける最も直接的な方法は、その行を他のすべての行と直接比較することです。これは明らかに計算上非常に高価です。
次の形式の解決策を探しています。
行を取り、その行の微分整数を生成できる関数。この返された整数は、行の一種の「署名」になります。この署名の重要な特性は、2 つの行が非常に「似ている」場合は非常に近い整数を生成し、行が非常に「異なる」場合は離れた整数を生成することです。明らかに、それらが同一の行である場合、同じ署名が生成されます。
次に、これらの生成された署名を、それらが指す行のインデックスと共に取得し、それらを署名ごとに並べ替えることができます。このデータ構造を保持して、高速な検索を実行できるようにします。これをデータベース B と呼びます。
新しい行がある場合、データベース B の既存のどの行が最も類似しているかを知りたい場合は、次のようにします。
- 新しい行の署名を生成します
- データベース B の (signature,index) のソートされたリストをバイナリ検索して、最も近い一致を探します。
- データベース B で最も一致する (完全に一致する可能性がある) 行を返します。
私は彼らがこの質問で多くの手を振っていることを知っています. 私の問題は、この署名を生成する関数が何であるかを実際に知らないことです。レーベンシュタイン距離が表示されますが、それらは変換コストを表しており、署名ではありません。非可逆圧縮を試すことができることがわかりました.2つのものが同じものに圧縮されるため、「バケッタブル」である可能性があります。これを行う方法について他のアイデアを探しています。
ありがとうございました。
python - 本の著者をフィクションとノンフィクションに分類する
私自身の個人的な目的のために、私はさまざまな本の約300人の著者(フルネーム)を持っています。このリストを「フィクション作家」と「ノンフィクション作家」に分けたいと思います。著者が両方を書いた場合、過半数が投票します。
Amazon Product Search APIを見ました:著者(Pythonで)で検索できますが、本のカテゴリ(フィクションと残り)を見つける方法がありません:
私のオプションは何ですか?私はこれをPythonで行うことを好みます。
xml - XML の複数のカテゴリとサブカテゴリの構造
サブジェクトの N カテゴリを表す XML ドキュメントの最適なデータ構造は何ですか? ユーザーが無限のカテゴリ終了サブカテゴリを作成し、これらのアイテムをグループ化できるようにしたいと考えています。
これを E/R データベースに実装する方法は知っていますが、XML では?
iphone - iPhoneの分類の問題
これらの機能を備えた簡単なアプリを作成します。
メインウィンドウにはメニューがあります。
ユーザーがメニュー項目 1 をクリックしたとき
新しいメニュー ベースのビューが表示されますが、ユーザーがメニュー項目 2 をクリックすると、テキスト ベースのビューが表示されます。
ナビゲーション ベースのアプリを作成しましたが、セルごとに異なるビュー ファイルを接続できませんでした。
これどうやってするの ?例はありますか?
私のアプリ:
(おそらく、メニューとテキストのコンテキストには sqlite を使用します。)