3 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
也許你現(xiàn)在已經(jīng)解決了。
問題是您使用向量的時(shí)間太長(zhǎng)了。您的向量是使用整個(gè)詞匯表構(gòu)建的,這對(duì)于模型來說可能太長(zhǎng)而無法在僅 100 個(gè)周期內(nèi)收斂(這是 pagerank 的默認(rèn)值)。
您可以減少詞匯表的長(zhǎng)度(您是否檢查過它是否正確刪除了停用詞?)或使用任何其他技術(shù),例如減少不常用的單詞,或使用 TF-IDF。
就我而言,我遇到了同樣的問題,但使用的是 Glove 詞嵌入。300 維無法收斂,使用 100 維模型很容易解決。
您可以嘗試的另一件事是在調(diào)用 nx.pagerank 時(shí)擴(kuò)展 max_iter 參數(shù):
nx.pagerank(nx_graph, max_iter=600) # Or any number that will work for you.
默認(rèn)值為 100 個(gè)周期。

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
當(dāng)算法未能在冪迭代方法的指定迭代次數(shù)內(nèi)收斂到指定的容差時(shí),會(huì)發(fā)生此錯(cuò)誤。因此,您可以像這樣在 nx.pagerank() 中增加錯(cuò)誤容忍度:
nx.pagerank(sentence_similarity_graph,?tol=1.0e-3)
默認(rèn)值為 1.0e-6。

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
我有同樣的問題。原來sentence_similarity_graph具有“nan”值。怎么解決?
在 def sentence_similarity中:
if np.isnan(1 - cosine_distance(vector1, vector2)):
return 0
return 1 - cosine_distance(vector1, vector2)
添加回答
舉報(bào)