① 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 要從文章內容,提取關鍵詞,要怎麼寫!
提取關鍵詞,你必須得有個詞庫。然後根據詞庫匹配文章內容。詞庫越多效率越低,文章內容長度越長效率越低。
網上針對php有相乾的分詞演算法,你可以搜
」SCWS
中文分詞「
來看一下。你可以根據裡面的例子來做擴展
③ PHP能做到中文分詞嗎
只要能處理字元竄的程序多能做中文分詞, 只是效率問題
其實PHP不適合做中文分詞,執行效率太低
只能是簡單的應用,比如用戶搜索的時候把,把用戶搜索到的關鍵字分離出來加亮啥的
所謂的分詞,是把一句話里有意義的詞語提取出來
比如:
他在游泳 分詞的時候把 他 和 游泳 這兩個字分離出來
不能把游泳 分成 游 和 泳
這個設計到語義分析,概率,啥啥的,很麻煩
中文分詞是中文搜索引擎必須的
④ 我想用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
謝謝!
⑤ 中文分詞的常見項目
功能性能 功能描述:1.新詞自動識別
對詞典中不存在的詞,可以自動識別,對詞典的依賴較小;
2.詞性輸出
分詞結果中帶有豐富的詞性;
3.動態詞性輸出
分詞結果中的詞性並非固定,會根據不同的語境,賦予不同的詞性;
4.特殊詞識別
比如化學、葯品等行業詞彙,地名、品牌、媒體名等;
5.智能歧義解決
根據內部規則,智能解決常見分詞歧義問題;
6.多種編碼識別
自動識別各種單一編碼,並支持混合編碼;
7.數詞量詞優化
自動識別數量詞; 性能介紹:處理器:AMD Athlon II x2 250 3GHZ
單線程大於833KB/s,多線程安全。 一個PHP函數實現中文分詞。使分詞更容易,使用如下圖:
Paoding(庖丁解牛分詞)基於Java的開源中文分片語件,提供lucene和solr 介面,具有極 高效率和 高擴展性。引入隱喻,採用完全的面向對象設計,構思先進。
高效率:在PIII 1G內存個人機器上,1秒可准確分詞 100萬漢字。
採用基於 不限制個數的詞典文件對文章進行有效切分,使能夠將對詞彙分類定義。
能夠對未知的詞彙進行合理解析。
僅支持Java語言。 MMSEG4J基於Java的開源中文分片語件,提供lucene和solr 介面:
1.mmseg4j 用 Chih-Hao Tsai 的 MMSeg 演算法實現的中文分詞器,並實現 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。
2.MMSeg 演算法有兩種分詞方法:Simple和Complex,都是基於正向最大匹配。Complex 加了四個規則過慮。官方說:詞語的正確識別率達到了 98.41%。mmseg4j 已經實現了這兩種分詞演算法。 盤古分詞是一個基於.net 平台的開源中文分片語件,提供lucene(.net 版本) 和HubbleDotNet的介面
高效:Core Duo 1.8 GHz 下單線程 分詞速度為 390K 字元每秒
准確:盤古分詞採用字典和統計結合的分詞演算法,分詞准確率較高。
功能:盤古分詞提供中文人名識別,簡繁混合分詞,多元分詞,英文詞根化,強制一元分詞,詞頻優先分詞,停用詞過濾,英文專名提取等一系列功能。 jcseg是使用Java開發的一個中文分詞器,使用流行的mmseg演算法實現。
1。mmseg四種過濾演算法,分詞准確率達到了98.4%以上。
2。支持自定義詞庫。在lexicon文件夾下,可以隨便添加/刪除/更改詞庫和詞庫內容,並且對詞庫進行了分類,詞庫整合了《現代漢語詞典》和cc-cedict辭典。
3。詞條拼音和同義詞支持,jcseg為所有詞條標注了拼音,並且詞條可以添加同義詞集合,jcseg會自動將拼音和同義詞加入到分詞結果中。
4。中文數字和分數識別,例如:"四五十個人都來了,三十分之一。"中的"四五十"和"三十分之一",並且jcseg會自動將其轉換為對應的阿拉伯數字。
5。支持中英混合詞的識別。例如:B超,x射線。
6。支持基本單字單位的識別,例如2012年。
7。良好的英文支持,自動識別電子郵件,網址,分數,小數,百分數……。
8。智能圓角半形轉換處理。
9。特殊字母識別:例如:Ⅰ,Ⅱ
10。特殊數字識別:例如:①,⑩
11。配對標點內容提取:例如:最好的Java書《java編程思想》,『暢想杯黑客技術大賽』,被《,『,「,『標點標記的內容。
12。智能中文人名識別。中文人名識別正確率達94%以上。
jcseg佩帶了jcseg.properties配置文檔,使用文本編輯器就可以自主的編輯其選項,配置適合不同應用場合的分詞應用。例如:最大匹配分詞數,是否開啟中文人名識別,是否載入詞條拼音,是否載入詞條同義詞……。 friso是使用c語言開發的一個中文分詞器,使用流行的mmseg演算法實現。完全基於模塊化設計和實現,可以很方便的植入到其他程序中,例如:MySQL,PHP等。並且提供了一個php中文分詞擴展robbe。
1。只支持UTF-8編碼。【源碼無需修改就能在各種平台下編譯使用,載入完20萬的詞條,內存佔用穩定為14M。】。
2。mmseg四種過濾演算法,分詞准確率達到了98.41%。
3。支持自定義詞庫。在dict文件夾下,可以隨便添加/刪除/更改詞庫和詞庫詞條,並且對詞庫進行了分類。
4。詞庫使用了friso的Java版本jcseg的簡化詞庫。
5。支持中英混合詞的識別。例如:c語言,IC卡。
7。很好的英文支持,電子郵件,網址,小數,分數,百分數。
8。支持阿拉伯數字基本單字單位的識別,例如2012年,5噸,120斤。
9。自動英文圓角/半形,大寫/小寫轉換。
並且具有很高的分詞速度:簡單模式:3.7M/秒,復雜模式:1.8M/秒。
⑥ 求一個PHP的分詞程序,比如我有一句話:我是個好學生,分詞後: 我 是 一個 好 學生 謝謝
這個程序幾乎是沒有人能提供給你。為什麼?
因為網路的翻譯 其中就涉及到 語句分詞,這是一個很高深的技術。而且還需要分詞的詞典,規則大概是包括所有漢字,分詞規則,語句等等。
能做好這個技術,幾千萬都能賣出去。
⑦ 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 一般使用什麼中文分詞擴展
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 英文分詞 有什麼好介紹的嗎
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。
語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。
⑩ php+mysql中拆分搜索問題
你這個需求描述不清,麻煩說清楚!這個關鍵詞分割有什麼要求,從你舉的列子看看不出你的要求,有歧義!可以有多種理解方式,第一種:盡量讓A少分割 第二種:將A 2個字元分割,沒有就再分!
這個分割的規則你沒說明白!