#nlp #unsupervised-learning #pagerank #summarization #textrank
Вопрос:
Я использую алгоритм TextRan для обобщения выводимого текста.Я использовал модель перчаток для встраивания слов. Я написал код, который может нарисовать график, чтобы отобразить, как матрица подобия.Хотя я получаю один и тот же сводный текст каждый раз, когда запускаю код, каждый раз я вижу другой рисунок графика. В чем причина этого? Это проблема или это нормально? Если это проблема, как я могу предложить решение? Если у вас есть информация, я был бы признателен, если бы вы ответили.
def GloveİleSentenceEmbed(sentence_list,sentence_stem):
word_embeddings = {}
f = open('/content/drive/MyDrive/MetinAnalizi/glove.6B.100d.txt', encoding='utf-8')
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:], dtype='float32')
word_embeddings[word] = coefs
f.close()
sentence_vectors = []
for i in sentence_stem:
if len(i) != 0:
v = sum([word_embeddings.get(w, np.zeros((100,))) for w in i])/(len(i) 0.001)
else:
v = np.zeros((100,))
sentence_vectors.append(v)
return sentence_vectors
def SimilariytMatrix(sentence_list,sentence_vectors):
similarity_matrix=np.zeros([len(sentence_list), len(sentence_list)])
for i in range(len(sentence_list)):
for j in range(len(sentence_list)):
if (i!=j):
similarity_matrix[i][j] = cosine_similarity(sentence_vectors[i].reshape(1,100), sentence_vectors[j].reshape(1,100))[0,0]
similarity_matrix = np.round(similarity_matrix,3)
return similarity_matrix
def PageRankAlgorithm(similarity_matrix,sentence_list):
nx_graph = nx.from_numpy_array(similarity_matrix)
plt.figure(figsize=(10, 10))
pos = nx.spring_layout(nx_graph)
nx.draw(nx_graph, with_labels=True, font_weight='bold')
plt.show()
Комментарии:
1. Как вы отображаете графики ? В чем различия между графиками? Как в этом случае используются вложения слов ?
2. Я добавил несколько примеров кодов и графических результатов для вашего лучшего понимания. Насколько я наблюдаю, расположение узлов постоянно меняется. Это что-то, чего не должно произойти? ты можешь посмотреть. @ygorg
3. Согласно документации , вы можете попытаться установить фиксированное начальное значение, чтобы посмотреть, решит ли оно вашу проблему. Или используйте неслучайную раскладку.