一般化してn個の単語がつながったものを数え上げるのがn-gram。それを特定の品詞に絞ってみたり、品調ラベルを使ってみたり、似たような手法は色々あります。Wordsと共通しています。DNN(LSTM等)による自然言語処理等はまた異なったアプローチで処理しています。追記なんか、回答書いてから言いたいことがわかったような気が・・・。one-hot表現にしないで、1次元の数値で、たとえば100000単語あったら0~99999で表現しようということですか。いろいろな欠点があります。単語はともかく、文書は1次元では表現できない。BoWならone-hot表現の加算とみなせます。これも同じことですが、「似ている単語」と「そうでない」単語をどう区別しましょうか。数字が近いと似ている単語という扱いになってしまいそうです。one-hot表現であれば、すべて等しく似ている(似ていない)単語と解釈できます。分散表現系であれば、ベクトル空間内の距離で表せます。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。10:43一次元の値を単語・文書に割り当てるだけなら容易にできます。して得られた表現を何らかのタスクに応用する以上、単語・文書の情報を捉えられる方法で定量化しないと意味がない、というのが本質的な話です一次元では大した情報は表せませんし、どう割り当てるかについてもうまい方法がなさそうです(質問文にあるように出現順で表したら意味のある情報はほぼないと言って良い)一次元の値を単語・文書に割り当てるだけなら容易にできます。編集one-hot表現の利点は、変な意味が入る余地がない点が大きいと言うべきかもしれませんね。すべての単語のベクトルが直交しますから、コサイン類似度を計算すれば問答無用で類似度0になります。これがけっこう素晴らしい特性で、たとえば文書を表したければ文書内に出現する単語のone-hot表現をすべて加算すればよく、これがBoWです(ただし実際は頻度を数える)。BoWだと「単語の意味」までは捉えられませんが、文書がどんな単語から構成されているかは表現できるので、それで意味のある距離が計算できますし、ということは機械学習なども適用できます。タスクにもよりますが、実際良い性能を発揮します(分散表現や深層学習が流行る前のスタンダードでした)。one-hot表現の利点は、変な意味が入る余地がない点が大きいと言うべきかもしれませんね。すべての単語のベクトルが直交しますから、コサイン類似度を計算すれば問答無用で類似度0になります。これがけっこう素晴らしい特性で、たとえば文書を表したければ文書内に出現する単語のone-hot表現をすべて加算すればよく、これがBoWです(ただし実際は頻度を数える)。BoWだと「単語の意味」までは捉えられませんが、文書がどんな単語から構成されているかは表現できるので、それで意味のある距離が計算できますし、ということは機械学習なども適用できます。タスクにもよりますが、実際良い性能を発揮します(分散表現や深層学習が流行る前のスタンダードでした)。17:48なんでっていうか、たとえば「リンゴ」を予測させたい何らかのタスクがあったとして、ちょっと間違えるといきなり「ください」になってしまうので、とても不都合という話です。なんでっていうか、たとえば「リンゴ」を予測させたい何らかのタスクがあったとして、ちょっと間違えるといきなり「ください」になってしまうので、とても不都合という話です。20:08ありがとうございますありがとうございますキャンセル完了するlink0http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.htmlhttps://qiita.com/asatohan/items/7a247eb533a5adba9e87http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html単語の繋がりまで考慮した処理までも一般的です。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。解決済キーボードから入力するやり方について。0PHPとMySQLで重複したデータの数をカウントする方法がわかりません。頂いたご意見への回答は行っておりません。