後來發現很多關於simhash的文章,其中一篇:simhash演算法原理及實現。用簡單的話解釋一下simhash:這個演算法可以把任何文章都雜湊成乙個64位的二進位製碼,語義越相近的文章,獲得的二進位製碼的漢明距離越小。如果感興趣,大家可以深入研究一下。
基於這個理論,經過大量嘗試(其中不乏開源**,在此非常感謝),終於完成了下面的類。simhash第一步首先要分詞,故這個類用到了php的scws這個拓展。
如果想要了解scws怎樣安裝,點這
<?php
class glo_simhash ', '\\',
'|', '+', '=', '_', '^',
'$', '~', '`', '"', '"',
';', '.'
);return str_replace($dbc, $sbc, $str);
}function hashcode($str)
function hashcode64($str) );
}$hash = $hash & 0x7fffffff;
$hash = decbin(bcmul($hash,$hash));
$hash = str_repeat('0',64 - strlen($hash)).$hash;
return $hash;
}//採用scws分詞
function getsimhash($text)','(',')'];
$so->send_text($str);
$keylist = array();
while($words = $so->get_result())
else
}$keylist = $hash;}}
}$fincode = '';
for($i=0;$i<64;$i++)
foreach($keylist as $key)
if($code>0) else
}return $fincode;
}}
建立倒排索引資料表
create table `simhash_syintelligence` (
`id` bigint(20) unsigned not null auto_increment,
`hashcode16` char(16) not null default '' comment '16位2進製hash',
`dp` text not null comment '倒排字段 內容:(題目id:hashcode位置;題目id:hashcode位置)',
primary key (`id`)
) engine=innodb auto_increment=1 default charset=utf8
以上是猜想,基於ocr準確識別的情況,但聯調時發現,**識別不是很準確,經常出現類似「問」識別為「間」的情況。simhash是基於語義分析的,我上面的方案必須保證分割的4塊中其中一塊完全相同,錯一字,漢明距離就變大好多,導致可能匹配不到。還有一種情況是,會返回毫不相關的文章,因為這樣做返回文章的漢明距離為0-48,於是又改變了策略,調整表的設計:
create table `simhash_syintelligence` (
`id` bigint(20) unsigned not null auto_increment,
`ques_id` int(10) not null default '0' comment '題目id',
`hashcode64` char(64) not null default '' comment '64位2進製hash',
primary key (`id`),
key `hashcode64` (`hashcode64`)
) engine=innodb auto_increment=1 default charset=utf8
算是一種思路,但是實際應用中發現雜湊碰撞的概率挺高的,搜尋一段英文,完全沒有聯絡的中文被搜出來的,效果不太理性;
可以換成es全文搜尋引擎做
unity 開發手機端拍照功能
話不多說。直接上 面板我這裡使用的事是rawimage 拍攝前後攝像頭之前一定要呼叫stop 有任何問題可以新增 qq群 207019099 public string devicename 接收返回的資料 public webcamtexture tex public texture2d tex ...
php服務端setcookie 原理
1 什麼是 cookie?cookie 常用於識別使用者。cookie 是伺服器留在使用者計算機中的小檔案。每當相同的計算機通過瀏覽器請求頁面時,它同時會傳送 cookie。通過 php,您能夠建立並取回 cookie 的值。2 如何取回 cookie 的值?php 的 cookie 變數用於取回 ...
PHP服務端環境搭建
1.php服務端環境安裝套件xampp apach mysql php直譯器 f mydoc檔案 重要 dl 學習 download重要資源 apache伺服器元件 安裝 4.修改瀏覽器中預設出現的dashboard資料夾 解決辦法 將htdocs下所有檔案刪除,將不會自動跳轉 至此,服務端環境配置...