>  기사  >  백엔드 개발  >  PHP가 scws를 로드할 수 없으면 어떻게 해야 합니까?

PHP가 scws를 로드할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2021-09-06 09:06:231955검색

php가 성공적으로 설치되지 않았기 때문에 scws를 로드할 수 없습니다. 해결 방법은 다음과 같습니다. 1. "scws-1.2.1.tar.bz2"를 찾습니다. 2. "make install"을 통해 설치합니다. 4. 동의어 사전을 설치하면 됩니다.

PHP가 scws를 로드할 수 없으면 어떻게 해야 합니까?

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 5.4, Dell G3 컴퓨터.

php에서 scws를 로드할 수 없으면 어떻게 해야 합니까? 오픈 소스 PHP 중국어 단어 분할 시스템 SCWS 설치 및 사용 예

1. SCWS 소개

SCWS는 Simple Chinese Word Segmentation(예: Simple)의 약어입니다. 중국어 단어 분할 시스템).

이것은 단어 빈도 사전을 기반으로 한 기계식 중국어 단어 분할 엔진으로, 기본적으로 중국어 텍스트의 전체 단락을 단어로 정확하게 분할할 수 있습니다. 단어는 중국어에서 가장 작은 형태소 단위이지만, 쓰여지면 영어처럼 단어를 공백으로 구분하지 않기 때문에 단어를 정확하고 빠르게 분할하는 방법은 중국어 단어 분할에서 항상 어려운 문제였습니다.

SCWS는 순수 C 언어로 개발되었으며 외부 라이브러리 기능에 의존하지 않고 동적 링크 라이브러리를 직접 사용하여 GBK, UTF-8 등의 중국어 인코딩을 포함할 수 있습니다. 또한, PHP에서 단어 분할 기능을 빠르고 쉽게 사용할 수 있도록 PHP 확장 모듈을 제공합니다.

단어 분할 알고리즘에는 자체적으로 수집된 단어 빈도 사전을 사용하고 특정 고유명사, 인명, 지명, 디지털 연령 및 기타 규칙 인식을 사용하여 기본 단어 분할을 달성합니다. 정확도는 소규모로 테스트되었으며 90%에서 95% 사이로 기본적으로 일부 소규모 검색 엔진, 키워드 추출 및 기타 경우의 요구 사항을 충족할 수 있습니다. 첫 번째 프로토타입 버전은 2005년 말에 출시되었습니다.

SCWS는 hightman에 의해 개발되었으며 BSD 라이센스에 따라 오픈 소스로 출시되었습니다. 소스 코드는 github에서 호스팅됩니다.

2.scws 설치

코드는 다음과 같습니다.

# wget -c http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2
# tar jxvf scws-1.2.1.tar.bz2
# cd scws-1.2.1
# ./configure --prefix=/usr/local/scws
# make && make install

3.Scws PHP 확장 설치

코드는 다음과 같습니다.

# cd ./phpext
# phpize
# ./configure --with-php-config=/usr/local/php5410/bin/php-config
# make && make install
# echo "[scws]" >> /usr/local/php5410/etc/php.ini
# echo "extension = scws.so" >> /usr/local/php5410/etc/php.ini
# echo "scws.default.charset = utf-8" >> /usr/local/php5410/etc/php.ini
# echo "scws.default.fpath = /usr/local/scws/etc/" >> /usr/local/php5410/etc/php.ini

4. 유의어 사전 설치

코드는 다음과 같습니다.

# wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
# tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/
# chown www:www /usr/local/scws/etc/dict.utf8.xdb

5 .PHP 예제 코드. SCWS 공식 API 설명을 자세히 읽어보실 수 있습니다

코드는 다음과 같습니다.

//实例化分词插件核心类
 $so = scws_new();
 //设置分词时所用编码
 $so->set_charset('utf-8');
 //设置分词所用词典(此处使用utf8的词典)
 $so->set_dict('/usr/local/scws/etc/dict.utf8.xdb');
 //设置分词所用规则
 $so->set_rule('/usr/local/scws/etc/rules.utf8.ini ');
 //分词前去掉标点符号
 $so->set_ignore(true);
 //是否复式分割,如“中国人”返回“中国+人+中国人”三个词。
 $so->set_multi(true);
 //设定将文字自动以二字分词法聚合
 $so->set_duality(true);
 //要进行分词的语句
 $so->send_text(“欢迎来到火星时代IT开发”);
 //获取分词结果,如果提取高频词用get_tops方法
 while ($tmp = $so->get_result())
 {
     print_r($tmp);
 }
 $so->close();

반환 배열 결과 설명:

코드는 다음과 같습니다.

word   _string_ 词本身 
idf        _float_ 逆文本词频 
off         _int_ 该词在原文本路的位置 
attr       _string_ 词性

추천 학습: "PHP Video Tutorial"

위 내용은 PHP가 scws를 로드할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.