從 CKIP 的網站上可以找到詞類標記類表,裡面記載了線上斷詞服務會使用到的精簡詞類列表,詞類所代表的意義請參閱中研院平衡語料庫詞類標記集。
使用 CKIP 的 Web Service 所得到的斷詞結果除了精簡詞類列表中的詞性外,還包含了特殊符號,其代號為:
- PARENTHESISCATEGORY:「 、」、(、)
- ETCCATEGORY:…
- COMMACATEGORY:,
- COLONCATEGORY::
- QUESTIONCATEGORY:?
- SEMICOLONCATEGORY:;
- PAUSECATEGORY:、
- PERIODCATEGORY:。、.
- EXCLANATIONCATEGORY:!
string[] seperatorTerm = { " " };
string[] seperatorWA = { "(", ")" };
string[] terms = s.Split(seperatorTerm, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < terms.Length; i++)
{
string[] termAndWA = terms[i].Split(seperatorWA, StringSplitOptions.None);
if (termAndWA[0] != "")
{
listBox1.Items.Add(termAndWA[0] + "\t詞性:" + termAndWA[1]);
}
}
這樣就可以把詞和詞性給解析出來囉,如果還需要繼續處理的話,可以再自行新增類別來儲存每個詞的資訊!
有任何問題歡迎大家繼續跟我討論:D
下載執行檔或專案原始檔:
CKIPforCS#2.exe
CKIPforCS#2.rar
or Backup Links Here
15 則留言:
我有個小問題...就是檔案無法下載了...不知道是否可以麻煩版主重新再次分享檔案呢?
備用載點請至:Sky Drive
請問明明就已經申請了
可是一直出現authentication failed
謝謝分享~當完兵囉??
authentication failed 的話應該是 CKIP 線上服務的問題,建議您再去申請一次!(申請網址:http://ckipsvr.iis.sinica.edu.tw/reg.exe)
還沒退伍啊..真是漫長的等待 ...QQ
你好,想詢問一下,您的程式碼下面這一段,我傳去700個字元,但實際上卻只回來3、4百個字元,想請問一下大大要怎麼解決呢?用了好久還是解決不出來@@
string xmlString = setXmlString(str);
byte[] msg = Encoding.Default.GetBytes(xmlString);
byte[] bytes = new byte[1024];
_conn.Send(msg);
_conn.Receive(bytes);
recieve = recieve + Encoding.Default.GetString(bytes);
sorry 這麼晚才回啊 XD
看起來您的程式碼應該是沒錯,請問您用什麼樣的文章當 sample呢?
有試過不同的文章嗎?傳回的結果都一樣嗎?
你好,我隨便找個新聞(試過不同文章)貼到textbox(待斷詞文章)上,但是傳回已斷詞過的詞性,不到一半@@
是不是要將這些字切成300字後~再分別傳送呢?
發現 bug 囉,請參考CKIP Client for C# (part II - Bug 修正)
你好為什麼我也是會出現authentication failed 我也有註冊了
To jimmt :
authentication failed 的話應該是 CKIP 線上服務的問題,建議您再去申請一次!(申請網址:http://ckipsvr.iis.sinica.edu.tw/reg.php)
你好,我有發現你還有BUG ,就是如果要是連續兩次執行斷詞就會出現錯誤: byte[] msg = Encoding.Default.GetBytes(xmlString);
byte[] bytes = new byte[1024];
int i = _conn.Send(msg);
// Get reply from the server.
i = _conn.Receive(bytes);
string recieve = Encoding.Default.GetString(bytes);
string sucessMsg = "Success";
if (!recieve.Contains(sucessMsg))
{
string[] seperator = { "\">", "" };
string[] sepResult = recieve.Split(seperator, StringSplitOptions.RemoveEmptyEntries);
errorMsg = sepResult[2];
}
else
isSuccess = true;
第二次執行 string recieve = Encoding.Default.GetString(bytes); 錯誤
今天翻開報紙,小編看到自己的母校世新大學爆發肺結核群聚感染,搞得人心惶惶。其實肺結核沒那麼可怕,只要堅持服藥兩週就不具傳染力,服藥六個月後即可治癒,親友的支持陪伴是病人撐下去的最大動力,請一起努力抗結核吧!更多關於結核病的訊息,請參照:http://goo.gl/HVOEd。
斷字這斷話,
斷出來的也不完整
張貼留言