やりたいこと
自然言語処理とプログラミングを学習中の初心者です.
可能性の話として可能かということとどのように書いたら可能かを聞きたいです.
やりたいこととしては以下です.
- gensimのword2vec.similalityを作成した関数内で取り扱いたい
実行環境は以下です.
Macboookpro(2017)OS:11.6.7
Python:2.7
ソースコード(仮組)
python
1# -*- coding: utf-8 -*- 2import gensim 3from gensim.models import word2vec 4 5 6def math(a, b): 7 print(a, "+", b, "=", a+b) 8 9 #ここが動くようにしたい 10def cntS(t, d, theta): 11 s = 0 12 13 for x in d: 14 if model.similarity(t, x) >= theta: 15 s += 1 16 17 return s 18 19 20model_dir = './entity_vector/entity_vector.model.bin' 21model = KeyedVectors.load(model_dir, binary=True) 22 23 24aray = ["米", "麦", "小麦", "豆腐"] 25s = cntS("雑穀", aray, 0, 4) 26print(s) 27math(1, 2) 28
現在発生している問題
erorr
1daru@tkhrnoMacBook-Pro kennkyu % python3 deftest.py 2Traceback (most recent call last): 3 File "/Users/daru/python/kennkyu/deftest.py", line 21, in <module> 4 model = word2vec.Word2Vec.load(model_dir) 5 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/word2vec.py", line 1939, in load 6 model = super(Word2Vec, cls).load(*args, **kwargs) 7 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/utils.py", line 486, in load 8 obj = unpickle(fname) 9 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/utils.py", line 1461, in unpickle 10 return _pickle.load(f, encoding='latin1') # needed because loading from S3 doesn't support readline() 11_pickle.UnpicklingError: could not find MARK
これはおそらくモデルの読み込みエラーだと思います.
よろしくお願いします.

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。