タグ付けされた質問 「nlp」

自然言語処理(NLP)は、コンピューターサイエンス、人工知能、およびコンピューターと人間(自然)言語間の相互作用に関連する言語学の分野です。そのため、NLPは人間とコンピュータの相互作用の領域に関連しています。NLPの多くの課題には自然言語の理解が含まれます。つまり、コンピュータが人間または自然言語の入力から意味を導き出すことを可能にし、他の課題には自然言語の生成が含まれます。

1
指定された変数に直交する(相関しない)予測を生成する
私が持っているXマトリックス、y変数、および他の変数をORTHO_VAR。私はをy使用して変数を予測する必要がありますXが、そのモデルからの予測は、可能な限りORTHO_VAR相関する一方で、直交する必要がありますy。 私は予測がノンパラメトリックな方法で生成されることを望みxgboost.XGBRegressorますが、どうしても必要な場合は線形法を使用できます。 このコード: import numpy as np import pandas as pd from sklearn.datasets import make_regression from xgboost import XGBRegressor ORTHO_VAR = 'ortho_var' TARGET = 'target' PRED = 'yhat' # Create regression dataset with two correlated targets X, y = make_regression(n_features=20, random_state=245, n_targets=2) indep_vars = ['var{}'.format(i) for i in range(X.shape[1])] # …
8 correlation  machine-learning  dataset  logistic-regression  prediction  linear-regression  prediction  dummy-variables  neural-network  image-classification  python  k-nn  python  neural-network  neural-network  deep-learning  keras  tensorflow  image-classification  tensorflow  reinforcement-learning  policy-gradients  machine-learning  decision-trees  neural-network  overfitting  data-analysis  metric  python  scikit-learn  distance  scipy  machine-learning  python  scikit-learn  decision-trees  logistic-regression  keras  image-classification  implementation  machine-learning  python  scikit-learn  random-forest  decision-trees  machine-learning  feature-selection  feature-engineering  word2vec  word-embeddings  natural-language-process  scikit-learn  time-series  clustering  k-means  python  cross-validation  pyspark  statistics  cross-validation  multiclass-classification  evaluation  machine-learning  nlp  machine-translation  neural-network  deep-learning  keras  tensorflow  image-classification  machine-learning  python  similarity  distance  lstm  text  named-entity-recognition  machine-learning  keras  optimization  gan  learning-rate  neural-network  data-mining  dataset  databases  books  neural-network  rnn 

3
あいまいな名前とニックネームの一致
次の構造のデータセットがあります。 full_name,nickname,match Christian Douglas,Chris,1, Jhon Stevens,Charlie,0, David Jr Simpson,Junior,1 Anastasia Williams,Stacie,1 Lara Williams,Ana,0 John Williams,Willy,1 ここで、各予測子行は、フルネーム、ニックネーム、およびターゲット変数のペアの一致です。これは、ニックネームがその名前の人物に対応する場合は1、それ以外の場合は0です。ご覧のとおり、フルネームからニックネームを取得する方法は、特定のパターンに従っていません。 フルネーム、ニックネームのペアを指定して、一致の確率を予測するMLアルゴリズムをトレーニングします。 私のベースラインは、一致するキャラクターの数とそのような機能を確認しようとしています。ただし、ディープラーニングを使用したNLPアプローチについて考えています。私の質問は、この問題に固有のニューラルネットワークアーキテクチャがあるかどうかです。

2
単語の音節の数を取得するにはどうすればよいですか?
私はすでに通過したこのポストた用途nltkのcmudict言葉に音節の数をカウントします: from nltk.corpus import cmudict d = cmudict.dict() def nsyl(word): return [len(list(y for y in x if y[-1].isdigit())) for x in d[word.lower()]] ただし、名前などのcmuの辞書外の単語の場合Rohit、結果は返されません。 それで、単語の音節を数える他の/より良い方法はありますか?
8 nlp 

1
テキストデータを操作する場合、どのような状況で見出し語化が賢明な手順ではないのですか?
考えられる計算上の制約を無視して、テキストデータを分析するときに見出し語化が逆効果的なステップとなる一般的なアプリケーションはありますか? たとえば、文脈認識モデルを構築するときに、見出し語化は行われないことでしょうか? 参考までに、dictinory.comごとの見出し語化は、分析のために活用された(単語)の形を1つの項目としてグループ化する行為です。 たとえば、「cook」という単語は「cooking」という単語の補題です。見出し語化の動作は、たとえば、テキストデータをトークン化した後で、cookingという単語をcookに置き換えることです。さらに、「悪い」という単語の補題として「悪い」があり、前の例のように「悪い」という単語を「悪い」で置き換えることは、見出し語化のアクションです。


1
多言語感情コーパスについて
各記事にポジティブ、ニュートラル、ネガティブのラベルが付けられた複数の言語のニュース記事(機械学習実験では1言語あたり100k以下)の感情コーパスをコンパイルしたいと考えています。私は高低を検索しましたが、このようなものはありませんでした。私はすでに各言語のニュース記事を持っています。 コミュニティへの私の質問は、これを可能な限り正確に達成するにはどうすればよいですか? 私は最初にMechanical Turkを見ていた。そこでは、各記事に手動でラベルを付けるために人々を雇うことができる。そして、これは前進する最善の方法かもしれませんが、高価です。 次に、感情分析を行う既存の人気のあるすべてのライブラリ(既にMechanical Turkを使用しているものもある)(AFINN、Bing Liu、MPQA、VADER、TextBlobなど)について考えました。 センチメントのアイデア 私の現在のアイデアは、これらのライブラリのいくつか(たとえば、AFINN、次にTextBlob、次にVADER)で各ニュース記事を実行し、3つのライブラリすべてがコーパスに受け入れられているにもかかわらず、満場一致でポジティブ、ネガティブ、ニュートラルを示す記事についてです。それはかなり強力で合理的な検証プロセスのように見えますか? 言語のアイデア 次の問題は言語自体に関係しています。上記の3 libパイプラインは英語で問題なく実行できます。ただし、これらのライブラリは他の多くの言語(スペイン語、ドイツ語、中国語、アラビア語、フランス語、ポルトガル語など)を均一にサポートしていません。それらを英語に変換し、上記の既存の3 libパイプラインを介して送信するためのAPI。多くの記事のセマンティクスが失われることは確かです。しかし、私の期待は、十分な記事が十分に翻訳され、一部が3 libパイプラインを通過することです。 このトリプルブラインド感情パイプを使用してニュース記事を翻訳および送信すると、10万のコーパスが必要になり、1万の結果が得られる可能性があることを知っています。私はそれで大丈夫です。精度と価格が私の懸念事項です。より多くのデータを簡単に取得できます。 ニュース記事の感情コーパスを達成するためのより正確な方法は何ですか。このようなコーパスを組み立てるための既存のベストプラクティスはありますか?

1
単純ベイズの理解:条件付き確率の計算
感情分析のタスクとして、で表されるクラスと機能とします。ccciii 各クラスの条件付き確率は次のように表すことができます ここで、は各特徴を表し、はクラスです我々は持っています。次に、経験的に、 ことができます。ここで:P(c|wi)=P(wi|c)⋅P(c)P(wi)P(c|wi)=P(wi|c)⋅P(c)P(wi)P(c | w_i) = \frac{P(w_i|c) \cdot P(c)}{P(w_i)}wiwiw_icccP(wi|c)=ncincP(wi|c)=ncincP(w_i|c) = \frac{n_{ci}}{n_c} P(wi)=ninP(wi)=ninP(w_i) = \frac{n_{i}}{n}P(c)=ncnP(c)=ncnP(c) = \frac{n_c}{n} nnnは、すべてのクラスの特徴の総数です。 ncincin_{ci}は、クラスその特徴カウント数を表し。iiiccc ncncn_cは、クラスの機能の総数です。 ninin_iは、すべてのクラスの機能の総数です。 上記の私の理解は正しいですか?したがって、各単語のこれらの確率を考えると、私は単純なベイズの仮定です。単語は独立しているため、特定のクラスのドキュメントの各単語を単純に乗算します。つまり、ここで、はドキュメント内の単語数です。これは正しいです?P(c|wi)P(c|wi)P(c|w_i)∏P(c|wi),i∈N∏P(c|wi),i∈N\prod P(c|w_i), i \in NNNN 条件付き確率を数値で実際に計算するには、次のことを行えば十分でしょうか。 P(c|wi)=P(wi|c)⋅P(c)P(wi)=ncinc⋅ncn⋅nni=nciniP(c|wi)=P(wi|c)⋅P(c)P(wi)=ncinc⋅ncn⋅nni=nciniP(c | w_i) = \frac{P(w_i|c) \cdot P(c)}{P(w_i)} = \frac{n_{ci}}{n_c} \cdot \frac{n_c}{n}\cdot \frac{n}{n_i} = \frac{n_{ci}}{n_i} 方程式の最後の部分は、かなり複雑な確率を計算するには単純すぎるように思えるため、私には少し疑わしく見えます。

6
NLP:マルチワードトークン化によく使用されるパッケージは何ですか?
いくつかの職務説明テキストをトークン化するつもりです。空白を区切り文字として使用して、標準のトークン化を試しました。しかし、空白で分割された複数の単語の表現がいくつかあり、それが後の処理で精度の問題を引き起こす可能性があることに気付きました。だから私はこれらのテキストで最も興味深い/有益なコロケーションをすべて取得したいと思います。 特定のプログラミング言語に関係なく、複数単語のトークン化を行うための優れたパッケージはありますか?たとえば、「彼は情報技術を研究しています」===>「彼」「研究」「情報技術」。 NLTK(Python)にはいくつかの関連機能があることに気づきました。 collocationsモジュール:http : //www.nltk.org/api/nltk.html#module-nltk.collocations nltk.tokenize.mweモジュール:http ://www.nltk.org/api/nltk.tokenize.html#module-nltk.tokenize.mwe これら2つの違いは何ですか? nltk.tokenize.mweモジュールのMWETokenizerクラスは、私の目的に向かって機能しているようです。ただし、MWETokenizerでは、複数の単語の式を追加するために、その構築メソッドと.add_mweメソッドを使用する必要があるようです。これを達成するために外部のマルチワード式レキシコンを使用する方法はありますか?もしそうなら、マルチワードの辞書はありますか? ありがとう!

3
Twitter感情分析:ポジティブクラスとネガティブクラスのみのトレーニングにもかかわらず、ニュートラルツイートを検出する
機械学習に関しては、私は初心者です。Pythonのscikit-learnライブラリを使用して、さまざまな教師あり学習アルゴリズムを分析することで、実際に体験してみます。これらのさまざまなアルゴリズムを使用した感情分析には、160万のツイートのsentiment140データセットを使用しています。 ばかげた質問かどうかはわかりませんが、2つのクラス(ポジティブとネガティブ)だけをトレーニングした場合、3つのクラス(ポジティブ、ネガティブ、ニュートラル)に分類できるかどうか疑問に思いました。sentiment140トレーニングセットは、合計で1.6Mツイートの2つのクラスだけ(正と負)で構成されていますが、それは私が考えるようになったので、そのテスト・セットは、三つのクラス(正、負と中立)を超える500件のツイートで構成されています。 これは可能ですか?はいの場合、ニュートラルなツイートを特定する方法を教えてください。直感的に、各クラスのテストセットで各分類されたツイートの条件付き確率を(predict_probaを使用して)見つけ、それがポジティブクラスとネガティブクラスの両方で特定のしきい値(たとえば0.7未満)を下回っている場合はニュートラルかどうかを判断できます。これは正しい方法ですか?

5
ngramを指定して類似のドキュメントを検索する最良の方法
抽出したngramの約200のドキュメントのデータベースがあります。クエリドキュメントに最も類似しているドキュメントをデータベースで検索したい。つまり、クエリドキュメントと最も多くのngramを共有するデータベース内のドキュメントを見つけたいのです。現在、1つずつ調べて1つずつ比較できますが、これはO(N)時間を要し、Nが非常に大きい場合はコストがかかります。効率的な類似性検索を行うための効率的なデータ構造または方法があるかどうか疑問に思っていました。ありがとう

3
テキストフラグメントのパラメーターを使用したテンプレートの識別
パラメータを含むことができる固定構造のテキストフラグメントを含むデータセットがあります。次に例を示します。 Temperature today is 20 centigrades Temperature today is 28 centigrades または Her eyes are blue and hair black. Her eyes are green and hair brown. 最初の例は、1つの数値パラメーターを持つテンプレートを示しています。2つ目は、2つの因子パラメーターを持つテンプレートです。 テンプレートの数とパラメータの数は不明です。 問題は、テンプレートを識別し、各テキストフラグメントを対応するテンプレートに割り当てることです。 明白な最初のアイデアは、クラスタリングを使用することです。距離測定は、一致しない単語の数として定義されます。つまり、例1のレコードの距離は1で、例2の距離は2です。例1と2のレコード間の距離は7です。この方法は適切に機能し、クラスターの数がわかっている場合はそうではありません。役に立たない。 距離行列をスキャンして、距離1(または2、3、...)に多くの近傍を持つレコードを検索するプログラムによるアプローチを想像できますが、監視されていない機械学習アルゴリズムを適用して問題を解決できるかどうか知りたいです。Rが推奨されますが、必須ではありません。

1
多様なテキストデータの処理
私は現在、単一の単語からテキストの全ページまで、ドキュメントの長さの範囲が広いデータセットを使用しています。さらに、文法構造と句読点の使用は、文書によって大きく異なります。目標は、これらのドキュメントを約10〜15のカテゴリのいずれかに分類することです。現在、タスクにはリッジ回帰とロジスティック回帰を使用しており、リッジのアルファ値にはCVを使用しています。特徴ベクトルはtf-idf ngramです。 最近、長いドキュメントは分類される可能性がはるかに低いことに気付きました。なぜこれが当てはまるのでしょうか。また、この種の変動をどのように「正規化」できるのでしょうか。より一般的な質問として、一般的にどのようにして多様なデータセットを処理しますか?ドキュメントは、ドキュメントの長さ、句読点の使用、文法の厳密さなどのメトリックに基づいてグループ化され、さまざまな分類子を通じてフィードされますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.