透過簡單的小測試,找出最喜歡哪些圖片的標籤。
蒐集的圖片多了,想要對自己Hydrus Network收藏有個概觀嗎?
撰文當下,Hydrus Network內建的資料統計面板,只有database → How bone am I? 我不確定這是不是"get a boner"的雙關語,代表我(雞雞)有多硬?總之這個面板只能看到檔案數量,無法進一步探討背後的統計學意義。
我們可以利用matjojo開發的「TagRank」程式,從Hydrus Network資料庫當中,選出一批圖片進行配對遊戲,藉此找出你最喜歡的標籤。有何用?統計性癖非常有用!這個程式適合經年累月的Hydrus Network使用者使用,就是老手啦。因為你不知道過去究竟從網路上下載了什麼鬼東西,這個程式或許能產生意想不到的結果。可能你蒐集了很多特定角色的圖片,以為自己對老公/老婆很忠誠,結果統計出來的結果卻不是這麼一回事呢!
TagRank背後利用Microsoft Xbox的TrueSkill演算法來計算,確保能在比賽中配對到實力相近的對手。TagRank作者將其修改,給每個標籤建立一個常態分佈,用來評價一個標籤受歡迎程度。
操作過程非常簡單,使用者只要從程式配對的兩張圖片中選一張覺得比較好的,不斷重複……
最後,程式便能統計出你喜歡的究竟是哪些標籤!統計到的資料會儲存為.json,能夠進一步做其他統計分析。
1. 前置條件#
在玩這個遊戲之前,請確保Hydrus Network資料庫的檔案有完整打上標籤再使用這個程式。因為它會run過整個資料庫,統計出結果。相當依賴你的檔案所打的標籤。
所以資料庫必須有完整的標籤體系,才能反應出你對標籤的偏好。建議每張圖片至少都要有5個以上標籤。
另外一種玩法是,不要用自己的圖庫,利用Hydrus Network的大量下載功能,從圖站下載一批圖片。他們會自動把標籤一併抓下來。然後你再用TagRank去跑。譬如我下載1000張標籤character:astolfo_(fate)
的圖片,藉此統計比較喜歡那些姿勢的圖片。
2. 安裝TagRank#
TagRank用PyQT寫的,因此是跨平台程式。
開啟Hydrus Network,啟用Hydrus Client API:點選services → manage services,對client api點二下,將run the client api?打勾,按apply。再按services → review services,點選client api的頁面,此頁面會產生一組金鑰(access key),將其保存下來。
安裝Python 3
複製TagRank儲存庫,建立Python虛擬環境,安裝依賴
git clone https://github.com/matjojo/tagrank.git
cd tagrank
python3 -m venv ./venv
./venv/bin/pip install -r requirements.txt
- TagRank使用matplotlib繪製圖表,如果中文亂碼,需要在
main.py
頂端加入這一段,指定使用放在~/.fonts
目錄的字型,譬如Noto Sans CJK。
import matplotlib
matplotlib.rc('font', family='Noto Sans CJK JP')
在TagRank目錄新增兩個純文字檔案:
ACCESS_KEY
裡面填入API金鑰。FILES_PATH
填入Hydrus Network的client_files
目錄的路徑。可選檔案:
SEARCH_QUERY
,這裡可以加入Hydrus Network搜尋語法過濾,只搜尋特定標籤的檔案。一行一個搜尋字串。
根據main.py原始碼,預設搜尋字串為["system:number of tags > 5", "system:filetype = image", "system:limit = 5000"]
,這代表它會從Hydrus Network資料庫中選取標籤數量大於5的圖片檔,並且檔案個數設定為最多5000個。
這個條件很鬆散,可能會抓到太多不相關檔案。如果你不想納入全部檔案,請限縮搜尋範圍,只挑自己感興趣的。
自訂搜尋條件範例:只搜尋四個標籤以上的檔案,並且要有做筆記的檔案,那麼就在SEARCH_QUERY
檔案第一行加入system:number of tags > 4
,第二行加入system:has notes
。
在Hydrus Network裡面直接複製標籤搜尋條件也可以。
3. 開始遊戲#
- 保持Hydrus Network開啟,啟動TagRank圖形界面
./venv/bin/python3 main.py
然後會挑出視窗,按鍵盤左右鍵,決定哪張比較好。如果不確定要選哪一張,
就選奶大的,按下鍵表示不知道。按R鍵返回上一張。世紀難題1:巨乳內衣or貓耳蘿 世紀難題2:巨乳兔女郎or孕肚蘿 測試沒有限定要做幾回合,端看想要多精確的數值。建議至少做個一百回,做的回數不要低於收藏的圖片的數量。
按Esc結束,顯示結果圖表。TagRank程式會建立進度存檔,故結束後日後還是能夠繼續使用。
根據作者的解釋,越接近圖表右邊,分數越高的,就是你越喜歡的標籤。
如果要重置進度,刪除目錄下的.json檔案。避免舊版資料干擾結果。