ここと以前のフォーラム ページの資料を使用して、テキスト全体の連続する文間の意味的類似性を自動的に計算するプログラムのコードを記述しました。ここにあります;
最初の部分のコードは最初のリンクからコピーして貼り付けたもので、その下に 245 行の後に挿入したものがあります。245 行目以降の余分な部分をすべて削除しました。
with open ("File_Name", "r") as sentence_file:
while x and y:
x = sentence_file.readline()
y = sentence_file.readline()
similarity(x, y, true)
#boolean set to false or true
x = y
y = sentence_file.readline()
私のテキストファイルは次のようにフォーマットされています。
赤いアルコール飲料。新鮮なオレンジジュース。英語の辞書。黄色の壁紙。
最後に、次のように、類似度が横にある連続した文のすべてのペアを表示したいと思います。
["Red alcoholic drink.", "Fresh orange juice.", 0.611],
["Fresh orange juice.", "An English dictionary.", 0.0]
["An English dictionary.", "The Yellow Wallpaper.", 0.5]
if norm(vec_1) > 0 and if norm(vec_2) > 0:
return np.dot(vec_1, vec_2.T) / (np.linalg.norm(vec_1)* np.linalg.norm(vec_2))
elif norm(vec_1) < 0 and if norm(vec_2) < 0:
???Move On???