Heim > Backend-Entwicklung > PHP-Tutorial > Thinkphp32 verwendet die chinesische Wortsegmentierung von scws, um Schlüsselwörter zu extrahieren

Thinkphp32 verwendet die chinesische Wortsegmentierung von scws, um Schlüsselwörter zu extrahieren

PHP中文网
Freigeben: 2016-07-29 09:13:07
Original
1238 Leute haben es durchsucht

SCWS ist die Abkürzung für Simple Chinese Word Segmentation (d. h. Simple Chinese Word Segmentation System).
1. Laden Sie die offiziell von scws bereitgestellten Klassen herunter (hier wird die vierte Version von pscws verwendet)
http://www.xunsearch.com/scws/down/pscws4-20081221.tar.bz2
Herunterladen XDB-Wörterbuchdatei (hier wird das vereinfachte chinesische Wörterbuchpaket utf8 verwendet)
http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
2 class Pscws.class.php (hier habe ich den Dateinamen pscws4.class.php in pscws.class.php geändert) und XDB_R.class.php (hier habe ich den Dateinamen xdb_r.class.php in Großbuchstaben XDB_R.class .php geändert ) im ThinkPHPLibraryOrgUtil-Verzeichnis.
3. Ändern Sie dann Pscws.class.php
und fügen Sie den Namespace hinzu

1 namespace Org\Util;
Nach dem Login kopieren

Ändern Sie den Namen der Klasse in Pscws

把require_once (dirname(__FILE__) . '/XBD_R.class.php');这段代码删除掉。
Nach dem Login kopieren

XDB_R.class.php ändern
Namespace hinzufügen

namespace Org\Util;
Nach dem Login kopieren

4. Entpacken Sie die XDB-Wörterbuchdatei
Erstellen Sie einen neuen dict-Ordner im Publicadmin-Verzeichnis, entpacken Sie dann die dict.utf8.xdb der XDB-Wörterbuchdatei in das Word-Verzeichnis und fügen Sie dann Rules.utf8.ini unter etc hinzu die scws-Klasse Legen Sie es in diesem Verzeichnis ab.
5. Fügen Sie der Eintragsdatei eine Zeile mit konstantem Definitionscode hinzu (eigentlich der Pfad zum Definieren der Wörterbuchdatei und der Konfigurationsdatei)

define("CONF_PATH", dirname(__FILE__)."/Public/admin/dict/");
Nach dem Login kopieren

6. Erstellen Sie in IndexController eine private Methode im .class.php-Controller, damit andere Methoden

/**
     * 中文分词  
         * @params string $title 需要分词的语句 
         * @params int $num  分词个数,默认不用填写
     **/
    private function get_tags($title,$num=null){        
        $pscws = new \Org\Util\Pscws('utf8');
        $pscws->set_dict(CONF_PATH . 'dict.utf8.xdb');
        $pscws->set_rule(CONF_PATH . 'rules.utf8.ini');
        $pscws->set_ignore(true);
        $pscws->send_text($title);
        $words = $pscws->get_tops($num);
        $pscws->close();
        $tags = array();
        foreach ($words as $val) {
            $tags[] = $val['word'];
        }
        return implode(',', $tags);
    }
      /**
     * 商品搜索结果页
     **/
    public function search(){
        $rzt=$this->get_tags("新款 牛漆皮小尖头直跟高跟单鞋910033 灰羊猄(7.31发货) 39");
        print_r($rzt);
    }
Nach dem Login kopieren

aufrufen können. Das angezeigte Ergebnis ist:

漆皮,单鞋,尖头,高跟,新款,发货,910033,7.31,39
Nach dem Login kopieren

Das Obige stellt Thinkphp32 vor, um die chinesische Wortsegmentierung von scws zu verwenden, um Schlüsselwörter zu extrahieren, einschließlich erforderlicher Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die an PHP-Tutorials interessiert sind.


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage