python如何尋找兩個相似的檔案 找到相似的檔案

2021-10-19 21:08:53 字數 1052 閱讀 4206

與從文字中度量文件相比,從影象度量文件的相似性比較複雜,原因有兩個。在這些影象可能在亮度、文字背景、圖表或符號方面具有相似性。在

與文字資訊相比,從文件包含的影象中找到文件的表示形式通常比較困難。在

解決方案

我的解決方案是使用機器學習來查詢文件的表示形式,並使用此表示對文件進行分類。

在這裡,我將給keras實現我提出的解決方案。在

網路型別

我建議使用卷積層進行特徵提取,然後使用遞迴層進行序列分類。我選擇keras是因為我很熟悉,它有簡單的api來定義乙個結合了卷積層和遞迴層的網路。但**可以很容易地更改為其他庫,如pytorch、tensorflow等

影象預處理

神經網路對文件影象進行預處理的方法很多。我在做假設。在影象包含水平文字而不是垂直文字。在

文件影象大小是固定的。如果影象大小不固定,可以使用opencv's resize方法調整大小。在

垂直拆分影象,以便將行作為序列進行饋送(如果可以在空行上生成拆分行,則效率更高)。我將在單個文件中使用numpy來顯示這個。在下面的實現中,我假設單個文件的影象形狀是(100,100,3)。

首先,讓我們定義影象形狀文件影象的形狀import numpy as np

image_shape = (100, 100, 3)

split_size = 25 # this should be factor of the image_shape[0]

doc_images = #

doc_image = np.zeros(image_shape)

splitted_images = np.split(doc_image,[split_size], axis=0)

doc_images.extend(splitted_images)

doc_images = np.array(doc_images)

網路實現

keras有convlstm2d層來處理序列影象。網路的輸入是通過分割文件影象而產生的影象序列的列表。在

^$理想情況下,這個模型可以工作,因為模型可以從影象中學習文件的層次表示(字元、單詞、句子、上下文、符號)。在

如何比較兩個內容相似的Word文件

做開發很多人都知道大名鼎鼎的beyond compare,非常強大的文字檔案比較軟體。如果有兩個差不多的word檔案要比較可咋辦呢?word檔案有自己的格式,bc搞不懂裡面的東西的。強大的ms word擁有乙個功能,可以減輕一點比較兩個word檔案的痛苦。以word2007為例。當系統中有兩個以上的...

判斷兩個同類現象相似的條件 相似對角化(3)

相似對角化 3 前言 1 今天我們繼續來討論矩陣的相似對角化問題,算是對之前學習內容的複習和鞏固,並同時給出實際的例子。2 特徵值 特徵向量這裡,無論是具體的數字型還是抽象型問題,定義法都是首選的。本題是含引數的矩陣,考慮定義法,可以得到3個方程,正好解3個未知數。判斷是否可以相似對角化,我們其實講...

如何求兩個序列的相似度

衡量兩個序列的相似度,可以用馬氏距離,歐氏距離等距離公式來度量。但對兩個字串,比如kitten與sitting的相似度是多少?如果是兩個等長字串,也可以用one hot對每個字母編碼,然後用馬氏 歐式距離也可以計算。但對不等長的兩個字串,怎麼計算相似度呢?更一般的說法,如何計算兩個不等長陣列的相似度...