タグ付けされた質問 「text-mining」

パターンを認識してテキスト形式のデータから情報を抽出することに関連するデータマイニングのサブセットを指します。テキストマイニングの目的は、多くの場合、特定のドキュメントを自動的にいくつかのカテゴリの1つに分類し、このパフォーマンスを動的に改善して、機械学習の例にすることです。このタイプのテキストマイニングの1つの例は、電子メールに使用されるスパムフィルターです。

2
倫理的かつ費用対効果の高いデータスクラップのスケーリング
構造化されたデータと構造化されていないデータをインターネットからスクレイピングし、それを自分のモデルで利用するような喜びを私に与えるものはほとんどありません。 たとえば、Data Science Toolkit(またはRDSTKRプログラマー)を使用すると、IPまたはアドレスを使用して多くの適切なロケーションベースのデータを取得でき、tm.webmining.pluginfor Rのtmパッケージにより、財務データとニュースデータを簡単にスクレイピングできます。このような(半)構造化データを超える場合は、を使用する傾向がありますXPath。 ただし、許可されるクエリの数の制限により、私は常に抑制されています。Googleは24時間あたり約50,000件のリクエストに制限していると思いますが、これはビッグデータにとって問題です。 技術的な観点からは、これらの制限を簡単に回避できます。IPアドレスを切り替えて、環境から他の識別子を削除するだけです。しかし、これは倫理的および財政的な懸念の両方を示しています(私は思う?)。 私が見落としている解決策はありますか?

4
異なる形式のドキュメントを比較する場合のTF-IDFおよびコサイン類似性の代替
私は、ユーザーの仕事のスキルを取り入れ、それらのスキルに基づいてユーザーにとって最も理想的なキャリアを提案する小さな個人的なプロジェクトに取り組んできました。これを実現するために、求人リストのデータベースを使用しています。現時点では、コードは次のように機能します。 1)各ジョブリストのテキストを処理して、リストに記載されているスキルを抽出する 2)各キャリア(「データアナリスト」など)について、そのキャリアの求人情報の処理済みテキストを1つのドキュメントに結合します 3)キャリア文書内の各スキルのTF-IDFを計算する この後、ユーザーのスキルのリストに基づいてキャリアをランク付けするためにどの方法を使用する必要があるかわかりません。私が見た最も人気のある方法は、ユーザーのスキルをドキュメントとしても扱い、スキルドキュメントのTF-IDFを計算し、コサイン類似度などを使用してスキルドキュメントと各ドキュメントの類似度を計算することですキャリア文書。 同じ形式の2つのドキュメントを比較するときにコサインの類似性が最もよく使用されるため、これは私にとって理想的な解決策ではないようです。さらに言えば、TF-IDFはユーザーのスキルリストに適用するのに適切なメトリックとは思えません。たとえば、ユーザーがリストに追加のスキルを追加すると、各スキルのTFは低下します。実際には、スキルの頻度がユーザーのスキルリストにあるかどうかは気にしません。ユーザーがそれらのスキルを持っていることを気にしています(そして、それらのスキルをどれだけよく知っているかもしれません)。 より良い測定基準は次のようにすることです。 1)ユーザーが持っているスキルごとに、キャリア文書でそのスキルのTF-IDFを計算します 2)各キャリアについて、ユーザーのすべてのスキルのTF-IDF結果を合計します 3)上記の合計に基づいてキャリアをランク付けする 私はここで正しい線に沿って考えていますか?もしそうなら、これらの線に沿って機能するが、単純な合計よりも洗練されたアルゴリズムはありますか?助けてくれてありがとう!

3
非構造化テキスト分類
非構造化テキスト文書、つまり構造が不明なWebサイトを分類します。私が分類しているクラスの数は限られています(この時点で、3つ以上はないと考えています)。誰が私がどのように始めることができるかについて提案していますか? 「言葉の袋」アプローチはここで実行可能ですか?後で、文書構造(おそらく決定木)に基づいて別の分類段階を追加できます。 私はMahoutとHadoopにある程度精通しているため、Javaベースのソリューションを好みます。必要に応じて、ScalaやSparkエンジン(MLライブラリ)に切り替えることができます。

2
プリファレンスマッチングアルゴリズム
次の問題の解決策を構築する必要がある場所で作業しているこのサイドプロジェクトがあります。 私は2つのグループの人々(クライアント)を持っています。グループAはB決まった製品を購入し、グループは売却するつもりですX。製品は、一連の属性を持っているx_i、と私の目的は、間の取引を促進することであるAとB自分の好みを照合することによってを。主なアイデアはA、Bその製品が彼のニーズにより適しているか、その逆の対応する各メンバーを指摘することです。 問題の複雑な側面: 属性のリストは有限ではありません。バイヤーは非常に特定の特性またはある種のデザインに興味があるかもしれませんが、これは人口の間ではまれであり、私は予測できません。以前にすべての属性をリストすることはできません。 属性は、連続、バイナリ、または数量化不可能(例:価格、機能、デザイン); この問題にアプローチし、自動化された方法で解決する方法に関する提案はありますか? また、可能であれば、他の同様の問題への参照も歓迎します。 素晴らしい提案!私が問題にアプローチすることを考えている方法との多くの類似点。 属性のマッピングに関する主な問題は、製品を説明する詳細レベルが各バイヤーに依存することです。車の例を見てみましょう。製品「車」には、性能、機械的構造、価格など、さまざまな属性があります。 安い車か電気自動車が欲しいだけだとしよう。わかりました。この製品の主な機能を表しているため、マッピングは簡単です。しかし、たとえば、デュアルクラッチトランスミッションまたはキセノンヘッドライトを搭載した車が欲しいとしましょう。データベースにはこの属性を持つ多くの車が存在する可能性がありますが、それらを探している人がいるという情報の前に、売り手にこのレベルの詳細を製品に入力するように頼みません。そのような手順では、すべての売り手がプラットフォームで自分の車を売ろうとする複雑で非常に詳細なフォームに記入する必要があります。うまくいきません。 しかし、それでも、私の課題は、検索で必要なだけ詳細になり、良い一致をすることです。したがって、私が考えているのは、潜在的な売り手のグループを絞り込むために、おそらく誰にでも関係のある製品の主要な側面をマッピングすることです。 次のステップは「洗練された検索」です。あまりにも詳細なフォームを作成しないようにするために、買い手と売り手に仕様のフリーテキストを書くよう依頼することができます。そして、いくつかの単語照合アルゴリズムを使用して、可能な一致を見つけます。売り手は買い手が必要とするものを「推測」できないため、これは問題の適切な解決策ではないことを理解していますが。しかし、私を近づけるかもしれません。 提案された重み付け基準は素晴らしいです。これにより、売り手が買い手のニーズと一致するレベルを定量化できます。ただし、各属性の重要性はクライアントごとに異なるため、スケーリング部分は問題になる可能性があります。何らかのパターン認識を使用するか、各購入者に各属性の重要度を入力するように依頼することを考えています。

2
畳み込みニューラルネットワークを使用したドキュメント分類
CNN(畳み込みニューラルネットワーク)を使用してドキュメントを分類しようとしています。短いテキスト/文のCNNは多くの論文で研究されています。ただし、長いテキストやドキュメントにCNNを使用した論文はないようです。 私の問題は、ドキュメントの機能が多すぎることです。私のデータセットでは、各ドキュメントに1000を超えるトークン/単語があります。各例をCNNに送るために、word2vecまたはgloveを使用して各ドキュメントをマトリックスに変換し、大きなマトリックスを作成します。各行列の高さはドキュメントの長さで、幅は単語埋め込みベクトルのサイズです。私のデータセットには9000を超える例があり、ネットワークのトレーニングに長い時間がかかり(1週間)、パラメーターの微調整が難しくなっています。 別の特徴抽出方法は、単語ごとにワンホットベクトルを使用することですが、これにより非常にスパース行列が作成されます。そしてもちろん、この方法では、以前の方法よりもトレーニングに時間がかかります。 それで、大きな入力行列を作成せずに特徴を抽出するためのより良い方法はありますか? また、可変長のドキュメントをどのように処理する必要がありますか?現在、ドキュメントを同じ長さにするために特別な文字列を追加していますが、これは良い解決策ではないと思います。

1
文字シーケンスが英単語かノイズかを判別する方法
将来の予測のために単語リストからどのような機能を抽出しようとしますか?それは既存の単語ですか、それとも単なる文字の混乱ですか? そこで見つけたタスクの説明があります。 あなたは与えられた単語が英語であるかどうかに答えることができるプログラムを書かなければなりません。これは簡単です—辞書で単語を検索する必要があるだけです—しかし、重要な制限があります。プログラムは64 KiBを超えてはいけません。 そのため、問題を解決するためにロジスティック回帰を使用することは可能だと思いました。私はデータマイニングの経験があまりありませんが、その仕事は私にとって興味深いものです。 ありがとう。

1
小さなテキストファイルにword2vecを適用する
私はword2vecがまったく新しいので、plsは私と一緒にそれに耐えます。私はテキストファイルのセットを持っています。それぞれに1000〜3000のツイートのセットが含まれています。共通のキーワード( "kw1")を選択し、word2vecを使用して "kw1"に意味的に関連する用語を見つけたいと考えています。たとえば、キーワードが「apple」の場合、入力ファイルに基づいて「ipad」、「os」、「mac」などの関連用語が表示されます。したがって、この「kw1」の関連用語のセットは、word2vecが個々のファイルでトレーニングされるため(たとえば、5つの入力ファイル、各ファイルでword2vecを5回実行)、入力ファイルごとに異なります。 私の目標は、他の目的で使用される共通のキーワード( "kw1")が指定された各入力ファイルの関連用語のセットを見つけることです。 私の質問/疑問は: このようなタスクにword2vecを使用することには意味がありますか?入力ファイルのサイズが小さいことを考慮して使用するのは技術的に正しいですか? :私はcode.google.comからコードをダウンロードしているhttps://code.google.com/p/word2vec/と、次のようにちょうどそれに予行演習を与えています: time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50 ./distance vectors.bin 私の結果から、「距離」ツールを使用して関連する用語を「kw1」に取得すると、多くのノイズの多い用語(ストップワード)が表示されることがわかりました。そのため、ストップワードやユーザーの言及など、その他のノイズの多い用語は削除しました。しかし、word2vecがクリーンな入力データを必要とすることはどこにもありません...? どのようにして正しいパラメータを選択しますか?「-window」、「-iter」などのパラメーターを変更すると、(距離ツールの実行による)結果が大きく異なることがわかります。パラメータの正しい値を見つけるには、どの手法を使用すればよいですか。(私はデータセットをスケールアップするので、手動で試行錯誤することはできません)。

2
ハッシュベクトライザーとtfidfベクトライザーの違いは何ですか
テキストドキュメントのコーパスを各ドキュメントの単語ベクトルに変換しています。私が使用してこれを試してみたTfidfVectorizerとHashingVectorizerを a HashingVectorizerはIDFaのようにスコアを考慮しないことを理解してTfidfVectorizerいます。こことここでHashingVectorizer説明されているように、私がまだaを使用している理由は、巨大なデータセットを処理する際の柔軟性です。(私の元のデータセットには3000万のドキュメントがあります) 現在、私は45339のドキュメントのサンプルを使用しているので、aを使用することTfidfVectorizerもできます。同じ45339ドキュメントでこれら2つのベクトライザーを使用すると、取得する行列が異なります。 hashing = HashingVectorizer() with LSM('corpus.db')) as corpus: hashing_matrix = hashing.fit_transform(corpus) print(hashing_matrix.shape) ハッシュマトリックスの形状(45339、1048576) tfidf = TfidfVectorizer() with LSM('corpus.db')) as corpus: tfidf_matrix = tfidf.fit_transform(corpus) print(tfidf_matrix.shape) tfidfマトリックス形状(45339、663307) a HashingVectorizerとaの違いTfidfVectorizer、およびこれらの行列のサイズが異なる理由、特に語句/用語の数がよくわかります。

4
テキスト処理でのクラスタリングの使用
こんにちは、データサイエンススタックの最初の質問です。テキスト分類のアルゴリズムを作成したい。大量のテキストと記事があるとします。約5000のプレーンテキストとしましょう。最初に単純な関数を使用して、4つ以上のすべての文字単語の頻度を決定します。次に、これを各トレーニングサンプルの機能として使用します。ここで、私のアルゴリズムがトレーニングセットをその特徴に応じてクラスター化できるようにしたいと思います。これは、記事内の各単語の頻度です。(この例では、記事ごとに異なる機能があるため、記事ごとに独自の機能があります。たとえば、記事には10の「水」と23の「純粋」があり、別の記事には8の「政治」と14の「レバレッジ」があります)。この例に最適なクラスタリングアルゴリズムを提案できますか?

3
NERの教師なし機能学習
私はCRFアルゴリズムを使用してNERシステムを実装し、非常に良い結果が得られた手作りの機能を使用しました。事は私がPOSタグや補題を含む多くの異なる機能を使用したということです。 今度は、異なる言語で同じNERを作成したいと思います。ここでの問題は、POSタグと補題を使用できないことです。ディープラーニングと教師なし機能学習に関する記事を読み始めました。 私の質問は: CRFアルゴリズムによる教師なし特徴学習の方法を使用することは可能ですか?誰かがこれを試して、良い結果を得ましたか?この問題に関する記事やチュートリアルはありますか? 私はまだこの機能作成方法を完全に理解していないので、機能しないものに多くの時間を費やしたくありません。だからどんな情報も本当に役立つでしょう。ディープラーニングに基づいてNERシステム全体を作成することは、今のところ少し重要です。

3
科学計算に最適な言語[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 ほとんどの言語では、いくつかの科学計算ライブラリが利用できるようです。 Pythonは Scipy Rust 持っている SciRust C++持っているなど、いくつかのViennaCLとArmadillo Java持っているJava NumericsとColtだけでなく、他のいくつかの 以下のような言語は言うまでもありませんRし、Julia科学技術計算のために明示的に設計されています。 非常に多くのオプションを使用して、タスクに最適な言語をどのように選択しますか?さらに、どの言語が最もパフォーマンスが高くなりますか?PythonそしてR宇宙の中で最も牽引力を持っているように見えるが、それは、より良い選択となるように、論理的にコンパイルされた言語がそうです。そして、これまでに何よりも優れているFortranでしょうか?さらに、コンパイルされた言語はGPUアクセラレーションを備えている傾向がありますが、インタープリター言語はそうではRありPythonません。言語を選択するときは何を考慮すればよいですか。また、ユーティリティとパフォーマンスのバランスが最も良い言語はどれですか。また、私が見逃した重要な科学計算リソースを持つ言語はありますか?
10 efficiency  statistics  tools  knowledge-base  machine-learning  neural-network  deep-learning  optimization  hyperparameter  machine-learning  time-series  categorical-data  logistic-regression  python  visualization  bigdata  efficiency  classification  binary  svm  random-forest  logistic-regression  data-mining  sql  experiments  bigdata  efficiency  performance  scalability  distributed  bigdata  nlp  statistics  education  knowledge-base  definitions  machine-learning  recommender-system  evaluation  efficiency  algorithms  parameter  efficiency  scalability  sql  statistics  visualization  knowledge-base  education  machine-learning  r  python  r  text-mining  sentiment-analysis  machine-learning  machine-learning  python  neural-network  statistics  reference-request  machine-learning  data-mining  python  classification  data-mining  bigdata  usecase  apache-hadoop  map-reduce  aws  education  feature-selection  machine-learning  machine-learning  sports  data-formats  hierarchical-data-format  bigdata  apache-hadoop  bigdata  apache-hadoop  python  visualization  knowledge-base  classification  confusion-matrix  accuracy  bigdata  apache-hadoop  bigdata  efficiency  apache-hadoop  distributed  machine-translation  nlp  metadata  data-cleaning  text-mining  python  pandas  machine-learning  python  pandas  scikit-learn  bigdata  machine-learning  databases  clustering  data-mining  recommender-system 

1
テキスト分類問題:Word2Vec / NNは最善のアプローチですか?
私は、テキストの段落が与えられれば、それを分類してコンテキストを特定できるシステムを設計しようと考えています。 ユーザーが作成したテキスト段落(コメント/質問/回答など)でトレーニングされている トレーニングセットの各アイテムには、のタグが付けられます。したがって、たとえば( "category 1"、、 "text段落") 何百ものカテゴリがあります そのようなシステムを構築するための最良のアプローチは何でしょうか?私はいくつかの異なるオプションを見てきましたが、以下は可能な解決策のリストです。Word2Vec / NNは現時点で最良のソリューションですか? 平均化されたWord2Vecデータが供給された再帰型ニューラルテンソルネットワーク RNTNとパラグラフベクトル(https://cs.stanford.edu/~quocle/paragraph_vector.pdf)? Deep Belief Networkで使用されるTF-IDF TF-IDFとロジスティック回帰 Bag of WordsとNaive Bayes分類

3
類似ドキュメントを見つけるためのベクトル空間モデルコサインtf-idf
100万を超えるドキュメントのコーパスを持っている 特定のドキュメントについて、ベクトル空間モデルのように余弦を使用して類似のドキュメントを検索したい d1⋅d2/(||d1||||d2||)d1⋅d2/(||d1||||d2||)d_1 \cdot d_2 / ( ||d_1|| ||d_2|| ) このtf-idfのように、より長いドキュメントへのバイアスを防ぐために、すべてのtfは拡張周波数を使用して正規化されています。 tf(t,d)=0.5+0.5f(t,d)max{f(t,d):t∈d}tf(t,d)=0.5+0.5f(t,d)max{f(t,d):t∈d}tf(t,d)=0.5+0.5\frac{f(t,d)}{\mathrm{max}\{f(t,d): t\in d\}} すべて事前計算済み 分母の値が事前に計算されている ので、特定のd 1に対して100万を超えるスコアが必要d 2 類似性の0.6コサインのしきい値がある ||d||||d||||d||d1d1d1d2d2d2 特定の状況でそれを観察できます|の範囲はかなり狭いです | d 2 | | 余弦のための≥ 0.6 の余弦のための同様のためのつの検索で例えば≥ 0.6と| | d 1 | | の7.7631 | | d 2 | | 7.0867から8.8339の範囲 コサイン0.6のしきい値の外側| | d 2 | | …

1
教師あり学習アルゴリズムの複数のラベル
対応するトピックを含むテキストのコーパスがあります。たとえば、"A rapper Tupac was shot in LA"とラベル付けされました["celebrity", "murder"]。したがって、基本的に各特徴ベクトルには多くのラベルを付けることができます(同じ量ではありません。最初の特徴ベクトルには3つのラベル、2番目に1番目、3番目に5番目のラベルを付けることができます)。 各テキストに対応するラベルが1つしかない場合は、単純ベイズ分類器を試してみますが、ラベルが多数ある場合にどうすればよいかわかりません。 ナイーブベイズをマルチラベル分類問題に変換する方法はありますか(より良いアプローチがある場合-私に知らせてください)? PS私が持っているデータについていくつかのこと。 データセット内の約10.000要素 テキストは約2〜3文 テキストあたり最大7つのラベル

3
ログファイル分析:値部分から情報部分を抽出
ある製品のいくつかのログファイルにデータセットを構築しようとしています。 異なるログファイルには、独自のレイアウトとコンテンツがあります。私はそれらを一緒にグループ化することに成功しました、あと1ステップだけ... 確かに、ログ「メッセージ」は最良の情報です。私はそれらすべてのメッセージの包括的なリストを持っているわけではありません。そのリストは毎日変更される可能性があるため、それらに基づいてハードコードすることは悪い考えです。 私がやりたいのは、識別テキストを値テキストから分離することです(たとえば、「ロードされたファイルXXX」は(識別:「ロードされたファイル」、値:「XXX」)になります)。残念ながら、この例は単純であり、実際にはさまざまなレイアウトがあり、場合によっては複数の値があります。 文字列カーネルを使用することを考えていましたが、クラスタリングを目的としています...そしてクラウティングはここでは適用されません(メッセージのさまざまなタイプの数はわかりませんが、多すぎます)。 何か考えはありますか? ご協力いただきありがとうございます。 PS:プログラミングをしている人にとっては、これは理解しやすいかもしれません。コードにログが含まれているとしましょうprintf( "blabla%s"、 "xxx")-> "blabla"と "xxx"を分離させたい

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.