基於B gram句子概率計算實現

2021-08-15 03:45:31 字數 969 閱讀 5123

由於筆者所使用的語料庫是基於詞語的,所以對於詞語的計算效果更佳,但是常規句子的計算可能並不理想,建議自行尋找語料庫進行訓練。

輸入為文字檔案(一句一行或者一段一行),支援批量語料輸入,可以多次或者單次呼叫addcorpus方法進行設定。

訓練好之後會自行儲存模型檔案(命名為「model.txt」)到專案根目錄。如果不配置輸入語料且根目錄儲存有模型檔案,則會直接匯入模型檔案。

b-gram採用的平滑處理手段是「add one smoothing」,但是並非真的加一,可以加乙個大於0小於1的數,該引數使用setaddone方法進行設定。

最後使用gointoeffect方法讓所有設定生效。

使用probability方法計算句子的概率,該方法可選的第二個引數len表示進行平均計算的字元長度,即每len個連續字元計算一次,之後取平均。

// 使用語料庫進行訓練計算

probabilityofsentence prob = new probabilityofsentence()

.addcorpus("千萬級巨型漢語詞庫/data")

.setaddone(math.pow(10, -10))

.gointoeffect();

system.out.println(prob.probability(sentence));

system.out.println(prob.probability(sentence, 6));

// 匯入模型檔案進行計算

probabilityofsentence prob = new probabilityofsentence()

.gointoeffect();

system.out.println(prob.probability(sentence));

system.out.println(prob.probability(sentence, 6));

基於余弦夾角計算句子相似度的應用 房型名稱匹配

專案背景 將平台所售賣的房型與競爭對手的房型進行匹配,以節省人力及提高效率和匹配準確率 資料的處理 競對的房型名稱相對於平台來說,顯得非常的複雜,但是配合平台的強大的業務能力,在和運營人員討論資料清洗規則方面花費了大量的時間,不過好在最後的資料清洗的已經足夠乾淨了,不過這部分資料量龐大,已經在hiv...

基於中文主觀性知識庫的句子主觀性計算專案

chinese subjective dectection based on subjective knowlegebase,基於中文主觀性知識庫的句子主觀性評定方法。專案介紹 主觀性是中文輿情和文字挖掘乙個必不可少的一項環節。對於英文而言,我調研過textblob的主觀性介面,對於輸入乙個句子,t...

基於MATLAB實現的雲模型計算隸屬度

雲 或者 雲滴 是雲模型的基本單元,所謂雲是指在其論域上的乙個分布,可以用聯合概率的形式 x,u 來表示 雲模型用三個資料來表示其特徵 期望 雲滴在論域空間分布的期望,一般用符號 x表示。熵 不確定程度,由離散程度和模糊程度共同決定,一般用en表示。超熵 用來度量熵的不確定性,既熵的熵,一般用符號h...