首頁 > php教程 > PHP开发 > 主體

利用PHP擴充trie_filter做中文敏感詞過濾

黄舟
發布: 2017-03-22 14:29:13
原創
2699 人瀏覽過

1.安裝libiconv,這個是libdatrie的依賴項

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz 
tar zxvf libiconv-1.14.tar.gz 
cd libiconv-1.14
./configure 
make 
make install
登入後複製

2. 安裝:libdatrie (http://linux.thai.net/~thep/datrie/datrie.html#Download)

tar zxf libdatrie-0.2.4.tar.gz   
cd libdatrie-0.2.4  
./configure --prefix=/usr/local   
make   
make install
登入後複製

編譯出現錯誤trietool. c:125: undefined reference to `libiconv'

解決方法為:./configure LDFLAGS=-L/usr/local/lib LIBS=-liconv

3. trie_filter 擴展

3. 對安裝trie_filter 擴展

不是很好,所以在git上找到了一個在官方擴充功能上面改寫的擴充功能經過測試沒有問題

安裝方法如下:

https://github.com/wulijun/php-ext-trie-filter 在這裡下載原始碼包

phpize
./configure --with-php-config=/usr/local/bin/php-config 
make
make install
登入後複製

4. 修改php.ini 文件,新增trie_filter 擴充:extension=trie_filter.so,重啟PHP。 利用PHP擴充trie_filter做中文敏感詞過濾

查看phpinfo發現trie_filter 擴充功能可用,如下圖所示:

5、生成用語檢測的字典,由於上面下載的源碼包中並沒有帶生成詞典的命令所以還需要下載官方的源碼包

(https://code.google.com/p/as3chat/downloads/detail?name=trie_filter-2011-03-21.tar.gz)

tar zxf trie_filter-2011.03.21.tar.gz   
cd trie_filter-2011.03.21    
gcc -o dpp dpp.c -ldatrie // 生成dpp命令用语编译词典 
./dpp words.txt words.dic  //将words.txt 编译成trie_filter使用的词典 words.txt中每个词占一行
登入後複製

產生字典的時候報錯:./dpp: error while loading shared libraries: libdatrie.so.1: cannot open shared object file: No such file or directory

解決方法:執行

ldconfig
登入後複製

然後在執行

./dpp words.txt words.dic
登入後複製

5.3.3以上的版本,我使用的是5.3.3

 以上就是利用PHP擴充trie_filter做中文敏感字過濾的內容,更多相關內容請關注PHP中文網(www.php.cn)!

相關文章:

一個高效的敏感詞過濾方法(PHP)

php敏感詞過濾使用第三方擴充trie_filter

PHP實作過濾使用第三方擴充trie_filter

🎜🎜PHP實作過濾資訊中的敏感字詞
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!