Gensim-creating-a-bag-of-words-corpus
Gensim-単語の袋(BoW)コーパスの作成
ドキュメントのリストとテキストファイル(1つだけでなく複数)から辞書を作成する方法を理解しました。 次に、このセクションでは、bag-of-words(BoW)コーパスを作成します。 Gensimと連携するためには、Gensimを理解する必要がある最も重要なオブジェクトの1つです。 基本的に、各ドキュメントにidという単語とその頻度が含まれているのはコーパスです。
弓コーパスの作成
議論したように、Gensimでは、コーパスのすべてのドキュメントに単語idとその頻度が含まれています。 ドキュメントの単純なリストとテキストファイルからBoWコーパスを作成できます。 必要なのは、トークン化された単語のリストを* Dictionary.doc2bow()*という名前のオブジェクトに渡すことです。 それでは、最初に、ドキュメントの簡単なリストを使用してBoWコーパスを作成することから始めましょう。
文の単純なリストから
次の例では、3つの文を含む単純なリストからBoWコーパスを作成します。
まず、次のように必要なすべてのパッケージをインポートする必要があります-
次に、文章を含むリストを提供します。 リストには3つの文があります-
次に、次のように文のトークン化を行います-
次のように* corpora.Dictionary()*のオブジェクトを作成します-
次のように、これらのトークン化された文をdictionary.doc2bow()オブジェクトに渡します-
ようやく、単語コーパスのバッグを印刷できます−
出力
上記の出力は、id = 0の単語が最初のドキュメントに1回出現することを示しています(出力に(0,1)があるため)。
上記の出力は、人間が読むことはどういうわけか不可能です。 これらのIDを単語に変換することもできますが、そのためには次のように辞書で変換を行う必要があります-
出力
上の出力は、どういうわけか人間が読める形式になっています。
完全な実装例
テキストファイルから
次の例では、テキストファイルからBoWコーパスを作成します。 このため、前の例で使用したドキュメントを* doc.txt。*という名前のテキストファイルに保存しました。
Gensimはファイルを1行ずつ読み取り、 simple_preprocess を使用して一度に1行ずつ処理します。 この方法では、ファイル全体を一度にメモリにロードする必要はありません。
実装例
最初に、次のように必要なパッケージと必要なパッケージをインポートします-
次に、次のコード行は、doc.txtからドキュメントを読み取り、トークン化します-
次に、これらのトークン化された単語を* dictionary.doc2bow()*オブジェクトに渡す必要があります(前の例で行ったように)
出力
以前は計算ネットワークツールキットとして知られていたCNTKは、ディープラーニングアルゴリズムをトレーニングして人間の脳のように学習できる、無料で使用できるオープンソースの商用グレードのツールキットです。
finddevguides.comで無料のチュートリアルを見つけることができます。AI深層学習機械学習などのテクノロジーに関する最高のテクニカルチュートリアルも無料で提供しています。
完全な実装例
Gensimコーパスの保存と読み込み
次のスクリプトを使用してコーパスを保存できます-
#コーパスのパスと名前を提供します。 コーパスの名前はBoW_corpusで、Matrix Market形式で保存しました。
同様に、次のスクリプトを使用して、保存されたコーパスをロードできます-