A. 如何用C語言寫中文分詞程序最大正向匹配/最大逆向匹配/雙向匹配和最短路徑匹配.
掃描字元串,到詞庫里找對應的
B. 什麼叫正向最大匹配演算法,反向最大匹配演算法
分詞演算法里的吧
比如 我是一個好人
由於 詞語很多,所以分詞中先設定一個可能的,最長的片語的詞數
比如說,我認定最長的片語是3個字,那在比對中,會將句子3個字為始進行比對
正向匹配演算法好象是從左到右 反向區域演算法是從右到左,具體忘記了
以 「我是一個好人」 為例
正向的順序為
我是一
我是
我 ===> 得到一個詞
是一個
是一
是 ===>得到一個詞
一個好
一個===> 得到一個詞
好人===>得到一個詞
結果 我、是、一個、好人
反向演算法
個好人
好人==> 好人
是一個
一個==> 一個
我是
是==> 是
我==> 我
結果 我、是、一個、好人
C. c語言中如何用鏈表實現中文分詞(最大匹配法),詞庫word.txt,需分詞文章form.txt,分詞後文章to.txt。
麻煩給出具體要求。
*詞庫的格式具體怎樣
*中文的編碼具體是什麼 ANSI、utf8、GB23010?
給幾個簡單的輸入、輸出樣例
D. 逆向最大匹配中文分詞
這是個分詞工具,名字是NLPIR大數據搜索與挖掘共享開發平台,你看看對你有沒有幫助。現在的功能已經更新了。
E. matlab用正向最大匹配演算法實現中文分詞!急!!!
SqlConnection con = new SqlConnection
con.Open();
string sqlstr = "sql語句";
SqlDataAdapter da = new SqlDataAdapter(sqlstr, con);
DataSet ds= new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
con.Close();
F. C語言如何利用最大匹配法編寫中文分詞的源程序
這個代碼實現很簡單的,就是把詞典載入到map中,對一句話進行分詞時,取詞典中最長的詞作為maxlen長度,由長到短進行匹配,然後查詞典,如果詞典中有就切分。
G. 哪個高手有中文分詞逆向最大匹配演算法
逆向最大匹配法通常簡稱為RMM法。RMM法的基本原理與MM法相同 ,不同的是分詞切分的方向與MM法相反,而且使用的分詞辭典也不同。逆向最大匹配法從被處理文檔的末端開始匹配掃描,每次取最末端的2i個字元(i字字串)作為匹配欄位,若匹配失敗,則去掉匹配欄位最前面的一個字,繼續匹配。相應地,它使用的分詞詞典是逆序詞典,其中的每個詞條都將按逆序方式存放。在實際處理時,先將文檔進行倒排處理,生成逆序文檔。然後,根據逆序詞典,對逆序文檔用正向最大匹配法處理即可。
例子:』我一個人吃飯』
反向最大匹配方式,最大長度為5
H. 誰能介紹下最新的中文分詞方法
理解法
統計法
I. 中文分詞中正向最大匹配演算法的分詞速度是多少准確率大概為多少
主要看你的詞表結構了,最大詞長的初始值,查詞典的次數和匹配的次數,然後得出時間復雜度,原始hash演算法復雜度沒記錯的話應該是2.89,11年看過一個文獻,提出一種改進的演算法時間復雜度是2.291……
另外,分詞演算法並不是原封不動的,比如有些搜索引擎的詞表結構就採用tire樹結構,這樣不用設置最大詞長,不過內存空間方面就要有取捨,甚至還有採用減少查典次數增加匹配次數的搜索引擎……
所以單純的給你一個189.3m/M純內存分詞速度,但是這演算法換個台更高配置的伺服器卻變成了497.6ms/M,這沒有任何意義……
記得哪個文獻上有人說,分詞本身不是目的,而是後續處理過程的必要階段,所以,除非你是研究演算法的,否則單純追求這東西的速度和准確率沒什麼太大意義
J. 為什麼中文分詞的幾大主流分詞技術,沒有用逆向最大匹配或者雙向最大匹配分詞演算法的呢
速度是關鍵,逆向最大匹配需要專門創建逆向匹配索引。操作維護比較麻煩