Aidemyの自然言語処理基礎コース内のWord2Vecの実装をローカルのjupyter notebookで再現しようとしていますが、うまく出来ません。
コードを打つと以下のエラーが出てきます。
また実行したコードを以下に記します。なお、textのディレクトリにlivedoor newsコーパス (https://www.rondhuit.com/download.html よりダウンロード)
のテキストファイルが格納されています。**
**このエラーがでないようにする対処方法を教えて頂けるとありがたいです。
よろしくお願いいたします
AttributeError Traceback (most recent call last) <ipython-input-35-07c46619802b> in <module> 47 #word2vec.Word2Vecの引数に関して、size=100, min_count=20, window=15としてください 48 model = word2vec.Word2Vec(sentences, vector_size=100, min_count=20, window=15) ---> 49 print(model.most_similar(positive=['男'])) AttributeError: 'Word2Vec' object has no attribute 'most_similar' **また実行したコードを以下に記します。なお、textのディレクトリにlivedoor newsコーパス (https://www.rondhuit.com/download.html よりダウンロード) のテキストファイルが格納されています。** **このエラーがでないようにする対処方法を教えて頂けるとありがたいです。 よろしくお願いいたします。** import glob from janome.tokenizer import Tokenizer from gensim.models import word2vec def load_livedoor_news_corpus(): category = { "peachy":1, "smax":2 } texts = [] labels = [] for name, label in category.items(): files = glob.glob("text/{name}/{name}*.txt".format(name=name)) for file in files: with open(file, "r", encoding="utf-8") as f: lines = f.read().splitlines() text = "".join(lines[2:]) texts.append(text) labels.append(label) return texts, labels def tokenize(part): tokens = t.tokenize(",".join(part)) word = [] for token in tokens: part_of_speech = token.part_of_speech.split(",")[0] if part_of_speech in ["名詞", "動詞", "形容詞", "形容動詞"]: word.append(token.surface) return word texts, labels = load_livedoor_news_corpus() t = Tokenizer() # 最初にTokenizerインスタンスを作成する sentences = tokenize(texts[0:100]) # データ量が多いため制限している ```ここに言語を入力 ```ここに言語を入力 model = word2vec.Word2Vec(sentences, vector_size=100, min_count=20, window=15) print(model.most_similar(positive=['男']))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/03 06:20