php分词
Ⅰ php 分词,搜索引擎,技术
你好,很高兴为你解答:
如果你仅仅是要把长句中的单词分出来,那是很简单的:
<?php
$str="GoogleTranslateforBusiness!";
$str=preg_replace("{.|,|;|:|'|"|?|!|<|>|(|)}","",$str);//移除所有标点符号
$arr=array_unique(explode("",$str));//以空格分割,并去重
var_mp($arr);
?>
以下是一段测试文本:
(asseeninCorPerl),"something"(inthiscase,output"Hi,I'maPHPscript!").<?phpand?>"PHPmode."
-,.,.,andthenthere'.
,.Don''sfeatures.Youcanjumpin,inashorttime,.
AlthoughPHP'sdevelopmentisfocusedonserver-sidescripting,youcandomuchmorewithit.Readon,andseemoreintheWhatcanPHPdo?section,.
输出结果:
Instead,of,lots,commands,to,output,HTML,as,seen,in,C,or,Perl,PHP,pages,contain,with,embedded,code,that,does,something,this,case,Hi,Im,a,script,The,is,enclosed,special,start,and,end,processing,instructions,php,,allow,you,jump,into,out,modeWhat,distinguishes,from,like,client-side,JavaScript,the,executed,on,server,generating,which,then,sent,client,would,receive,results,running,but,not,know,what,underlying,was,You,can,even,configure,your,web,process,all,files,theres,really,no,way,users,tell,have,up,sleeveThe,best,things,using,are,it,extremely,simple,for,newcomer,offers,many,advanced,features,professional,programmer,Dont,be,afraid,reading,long,list,PHPs,short,time,writing,scripts,few,hoursAlthough,development,focused,server-side,scripting,do,much,more,Read,see,What,section,go,right,introctory,tutorial,if,only,interested,programming
使用sort()对其进行排序:
C,Dont,HTML,Hi,Im,Instead,JavaScript,PHP,PHPs,Perl,Read,The,What,You,a,advanced,afraid,all,allow,and,are,as,be,best,but,can,case,client,client-side,code,commands,configure,contain,development,distinguishes,do,does,embedded,enclosed,end,even,executed,extremely,features,few,files,focused,for,from,generating,go,have,hoursAlthough,if,in,instructions,interested,into,introctory,is,it,jump,know,like,list,long,lots,many,modeWhat,more,much,newcomer,no,not,of,offers,on,only,or,out,output,pages,php,process,processing,professional,programmer,programming,reading,really,receive,results,right,running,script,scripting,scripts,section,see,seen,sent,server,server-side,short,simple,sleeveThe,something,special,start,tell,that,the,then,theres,things,this,time,to,tutorial,underlying,up,users,using,was,way,web,what,which,with,would,writing,you,your
-----------------------------------
如有疑问欢迎追问!
满意请点击右上方【选为满意回答】按钮么么哒 o(∩_∩)o
Ⅱ php 提取中文后简单分词
$str="汉字一二3四5六七八,九十六七...";
$s1=array();//初始化储存第二步结果的数组
//preg_match_all("/[x80-xff]+/",$str,$match);//此为GBK使用
preg_match_all("/[x{4e00}-x{9fa5}]{2,}+/u",$str,$match);//此为UTF-8使用
foreach($match[0]as$str1)//循环遍历匹配到的汉字
{
$leng=iconv_strlen($str1,"UTF-8");//计算汉字其长度
for($i=0;$i<$leng-1;$i++)
{
$temp=mb_substr($str1,$i,2,"UTF-8");//将汉字切割长两个字,得第一步结果
if(!in_array($temp,$s1))//去除重复,得第二步结果
$s1[]=$temp;//得到的汉字存入数组
}
}
//print_r($s1);//第一二步完成,得数组$s1,可打印查看结果
$s2=file_get_contents("21.txt");//将文件内所有字符读取成一个字符串
$s2=iconv("","UTF-8",$s2);//将字符串转码,否则难免有乱码
//echo$s2;//可输出查看文件中的内容
$s="";//初始化最终结果的变量
foreach($s1as$j)//遍历汉字对
{
if(preg_match("/".$j."/",$s2))//判断该汉字对是否被包含于文件的文字中
$s.=(""==$s)?$j:"\".$j;//将结果合在$s中
}
echo$s;//得结果,可输出查看或调用
若有疑问,可追问。
注释详细,希望能加分
Ⅲ jieba分词如何只使用自定义词典(php)
最复杂的就是这一行了:
(word for word in jieba.cut(line,HMM=True)if word not in stop and len(word.strip())>1)
jieba.cut(line)将一行字符串,分割成一个个单词
word for word in jieba.cut(line,HMM=True)是一个Python的表理解,相当于for循环遍历分割好的一个个单词
if word not in stop and len(word.strip())>1这仍然是表理解的一部分,如果满足条件,就把单词加入到一个新的列表中,如果不满足就丢弃,
word not in stop单词不在停用词当中
len(word.strip())>1单词去掉首尾的空格、标点符号后的长度大于1。
Ⅳ 玉溪电脑培训学校告诉你php自动提取文章关键字
现在很多web系统都用到了不少的自然语言处理技术来提高客户体验。
主要技术:
1.文章关键字提取.
2.相关文章(产品)推荐.
最近有不少网友问道,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提.
基本分以下几个步骤:
一.对文章进行分词:
php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。
这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。
选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:
对一篇文章分词后,统计每个词条出现的次数。然后按照词频降序排序下,你想要的结果在前面几个词中。
前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
现在,很多web系统都用到了不少的自然语言处理技术来提高客户体验.主要技术:1.文章关键字提取.2.相关文章(产品)推荐.最近有不少网友问到,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提。
基本分以下几个步骤:
一.对文章进行分词:php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:对一篇文章分词后,统计每个词条出现的次数,然后按照词频降序排序下,你想要的结果在前面几个词中。玉溪IT培训http://www.kmbdqn.cn/建议前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
Ⅳ 云南IT培训分享php自动提取文章关键字
现在很多web系统都用到了不少的自然语言处理技术来提高客户体验。
主要技术:
1. 文章关键字提取.
2. 相关文章(产品)推荐.
最近有不少网友问道, 这里以php为例子讲解下php的"关键字提取"的实现, 同时这个也是实现"相关文章推荐"的前提.
基本分以下几个步骤:
一. 对文章进行分词:
php的中文分词程序还是有不少的, 从前辈的scws, 到用纯php实现的phpAnalysis, phpcws(phpcws)以及本人开发的robbe扩展。
这里的讲解是使用"robbe分词扩展"来进行分词, robbe兴许不是最好的,但一定是最快的。
选择的分词器需要支持停止词过滤。
二. 统计词条词频并且排序:
对一篇文章分词后,统计每个词条出现的次数。然后按照词频降序排序下, 你想要的结果在前面几个词中。
前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
现在,很多web系统都用到了不少的自然语言处理技术来提高客户体验. 主要技术: 1. 文章关键字提取. 2. 相关文章(产品)推荐. 最近有不少网友问到,这里以php为例子讲解下php的"关键字提取"的实现 ,同时这个也是实现"相关文章推荐"的前提。
基本分以下几个步骤:
一. 对文章进行分词:php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。选择的分词器需要支持停止词过滤。
二. 统计词条词频并且排序:对一篇文章分词后,统计每个词条出现的次数,然后按照词频降序排序下,你想要的结果在前面几个词中。云南IT培训http://www.kmbdqn.com/建议前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
Ⅵ 我想用PHP做一个聊天机器人,我调用别人的API实现了中文分词,我要怎样构建自己的数据库呢
可以用SimSimi API:http://developer.simsimi.com/(不需要数据库)。
根据提示进行注册(注册地址:http://developer.simsimi.com/signUp)。
登录后访问:http://developer.simsimi.com/apps,
点击[Get a 7 days Trial Key],你就会获得一个Trial Key(有效期为7天),然后直接
$key='';//你的TrialKey
$lang='';//语言
$msg='';//用户说的话
$res=file_get_contents('http://sandbox.api.simsimi.com/request.p?key='.$key.'&lc='.$lang.'&ft=1.0&text='.$msg);
或者你要购买一个Paid Key,也可以。
在http://developer.simsimi.com/apps中,点击[Get Paid Key],就可以购买。
只是代码要改为(响应地址不同):
$key='';//你的PaidKey
$lang='';//语言
$msg='';//用户说的话
$res=file_get_contents('http://api.simsimi.com/request.p??key='.$key.'&lc='.$lang.'&ft=1.0&text='.$msg);
就可以了。注意php.ini中,allow_url_fopen要为On:
allow_url_fopen=On
然后会返回一个JSON字符串,与下面类似:
{
"result":100,
"response":"SimSimi的回答",
"id":本次会话的标识符(int),
"msg":"响应描述"
}
相应描述与result的值相关。
100:OK.//成功
400:BadRequest.//参数错误
401:Unauthorized.//Key不存在
404:Notfound.//页面不存在
500:ServerError.//服务器出错
参见:SimSimi API:http://developer.simsimi.com/api
谢谢!
Ⅶ PHP中文分词 自动获取关键词介绍
复制代码
代码如下:
<?php
header("Content-Type:text/html;
charset=utf-8");
define('APP_ROOT',
str_replace('\\',
'/',
dirname(__FILE__)));
$test
=
'这里是一段中文测试代码!';
function
get_tags_arr($title)
{
require(APP_ROOT.'/pscws4.class.php');
$pscws
=
new
PSCWS4();
$pscws->set_dict(APP_ROOT.'/scws/dict.utf8.xdb');
$pscws->set_rule(APP_ROOT.'/scws/rules.utf8.ini');
$pscws->set_ignore(true);
$pscws->send_text($title);
$words
=
$pscws->get_tops(5);
$tags
=
array();
foreach
($words
as
$val)
{
$tags[]
=
$val['word'];
}
$pscws->close();
return
$tags;
}
print_r(get_tags_arr($test));
//============================================================
function
get_keywords_str($content){
require(APP_ROOT.'/phpanalysis.class.php');
PhpAnalysis::$loadInit
=
false;
$pa
=
new
PhpAnalysis('utf-8',
'utf-8',
false);
$pa->LoadDict();
$pa->SetSource($content);
$pa->StartAnalysis(
false
);
$tags
=
$pa->GetFinallyResult();
return
$tags;
}
print(get_keywords_str($test));
相关下载地址
SCWS
–
简易中文分词系统
SCWS
在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在
90%
~
95%
之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。
SCWS
采用纯
C
代码开发,以
Unix-Like
OS
为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持
GBK,UTF-8,BIG5
等汉字编码,切词效率高。
系统平台:Windows/Unix
开发语言:C
使用方式:PHP扩展
演示网址:http://www.ftphp.com/scws/demo.php
开源官网:http://www.ftphp.com/scws/
晴枫附注:作为PHP扩展,容易与现有的基于PHP架构的Web系统继续集成,是其一大优势。
PhpanAlysis -
PHP无组件分词系统
PhpanAlysis分词系统是基于字符串匹配的分词方法
,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配
和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。
系统平台:PHP环境
开发语言:PHP
使用方式:HTTP服务
演示网址:http://www.itgrass.com/phpanalysis/
开源官网:http://www.itgrass.com/phpanalysis/
晴枫附注:实现简单,容易使用,能做一些简单应用,但大数据量的计算效率不如前几种。
试用了几个系统,基本分词功能都没什么问题,只是在个别一些词的划分上存在一些差异;对于词性的确定,系统间有所不同。
http://www.jb51.net/codes/40139.html
Ⅷ php 一般使用什么中文分词扩展
Robbe是建立在Friso中文分词器上的一个高性能php中文分词扩展,除了提供了基本的分词函数以外,还提供一些编码转换函。
Robbe完整版本(PHP测试程序, 开发帮助文档, WinNT下php各版本的dll文件)下载:code.google.com/p/robbe
一. 关于Robbe:
robbe是建立在friso中文分词上的一个高性能php中文分词扩展。了解friso
1.目前最高版本:friso 1.6.0,【源码无需修改即可在各平台下编译运行】
2.mmseg四种过滤算法,分词准确率达到了98.41%。
3.详细功能,请访问friso官方首页:friso [code.google.com/p/friso]
二. Robbe分词速度:
测试环境:2.8GHZ/2G/Ubuntu
简单模式:3.1M/秒
复杂模式:1.4M/秒
(因为php中的大量字符串的复制,性能比friso有些下降)。
Ⅸ php自动提取文章关键字
现在很多web系统都用到了不少的自然语言处理技术来提高客户体验。
主要技术:
1.文章关键字提取.
2.相关文章(产品)推荐.
最近有不少网友问道,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提.
基本分以下几个步骤:
一.对文章进行分词:
php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。
这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。
选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:
对一篇文章分词后,统计每个词条出现的次数。然后按照词频降序排序下,你想要的结果在前面几个词中。
前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
现在,很多web系统都用到了不少的自然语言处理技术来提高客户体验.主要技术:1.文章关键字提取.2.相关文章(产品)推荐.最近有不少网友问到,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提。
基本分以下几个步骤:
一.对文章进行分词:php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:对一篇文章分词后,统计每个词条出现的次数,然后按照词频降序排序下,你想要的结果在前面几个词中。云南IT培训http://www.kmbdqn.cn/建议前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
Ⅹ 请教下,PHP文章标题的自动分词(Tag)是怎么做的
文章分词需要程序来完成给你推荐个工具,你看看是不是你需要的分词,这个是灵玖软件推出的你可以找一下。