例だけではなんとも言えませんが、こんなイメージですか?
リンゴ:1, ください:2, 。:3あと:4
質問文の手法は恐らくBag of Wordsのインデックスを作る作業に該当すると思われます。
これだけでは特に文書の特徴を反映する訳ではないので、インデックスに基いて単語の出現頻度でベクトルを作るのがBag of Words。
「単語」という単位で見ないで、たとえば2単語つながったもの(リンゴ-ください, ください-。等)を数え上げるのがbigram, 一般化してn個の単語がつながったものを数え上げるのがn-gram。
それを特定の品詞に絞ってみたり、品調ラベルを使ってみたり、似たような手法は色々あります。いずれも何らかの要素列に変換し、インデックスを作って数え上げるという点ではBag of Wordsと共通しています。
word2vec, doc2vec, DNN(LSTM等)による自然言語処理等はまた異なったアプローチで処理しています。
追記
なんか、回答書いてから言いたいことがわかったような気が・・・。
one-hot表現にしないで、1次元の数値で、たとえば100000単語あったら0~99999で表現しようということですか。
いろいろな欠点があります。
- 単語はともかく、文書は1次元では表現できない。BoWならone-hot表現の加算とみなせます。
- これも同じことですが、「似ている単語」と「そうでない」単語をどう区別しましょうか。数字が近いと似ている単語という扱いになってしまいそうです。one-hot表現であれば、すべて等しく似ている(似ていない)単語と解釈できます。分散表現系であれば、ベクトル空間内の距離で表せます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/23 01:28
2018/05/23 01:43
2018/05/23 02:20
2018/05/23 02:36 編集
2018/05/23 03:20
2018/05/23 08:48
2018/05/23 11:08