導航:首頁 > 編程語言 > java文本的相似度

java文本的相似度

發布時間:2023-06-12 02:04:45

① 怎麼用lucene判斷兩篇文章的相似度 java

演算法中的求最大相似子字元串的方法LCS或許可以,它可以找到兩個字元串中最大相似的子字元串。
Java code

/*
* @author talent_marquis<甜菜侯爵>
* Email: [email protected]
* Copyright (C) 2007 talent_marquis<甜菜侯爵>
* All rights reserved.
*/

package ustc.mse.algorithms.dynamicProgramming;

/*
* LCS, Longest-Common-Subsequence
*/
public class LCS
{
public enum DIRECTION{ TOP, TOP_LEFT, LEFT };
private char[] first;
private char[] second;
private int[][] lcsTable;
private DIRECTION[][] lcsAssistTable;
private int lcsLength;
private String lcs_str, lcsMatrix_str, lcsAssistMatrix_str;
private StringBuffer str_buffer;

public LCS( String str1, String str2 )
{
first = str1.toCharArray();
second = str2.toCharArray();
lcsTable = new int[ first.length + 1 ][ second.length + 1 ];
lcsAssistTable = new DIRECTION[ first.length + 1 ][ second.length + 1];
lcs_str = null;

② 怎樣用python或者是java計算文本相似度

第一步:把每個網頁文本分詞,成為詞包(bag of words)。
第三步:統計網頁(文檔)總數M。
第三步:統計第一個網頁詞數N,計算第一個網頁第一個詞在該網頁中出現的次數n,再找出該詞在所有文檔中出現的次數m。則該詞的tf-idf 為:n/N * 1/(m/M) (還有其它的歸一化公式,這里是最基本最直觀的公式)
第四步:重復第三步,計算出一個網頁所有詞的tf-idf 值。
第五步:重復第四步,計算出所有網頁每個詞的tf-idf 值。
3、處理用戶查詢
第一步:對用戶查詢進行分詞。
第二步:根據網頁庫(文檔)的數據,計算用戶查詢中每個詞的tf-idf 值。
4、相似度的計算
使用餘弦相似度來計算用戶查詢和每個網頁之間的夾角。夾角越小,越相似。

③ java如何實現超過10w條文本數據的相似度計算

最簡單的、最節省性能的方法是建立字典。 字典的索引就是字本身,遍歷字元串,沒遇到一個字就加入到字典中,加入的時候判斷下,如果索引存在則加1,不存在則創建,然後在取字典最大值,大於6就報錯。 上面說的字典可以用java中的hashMap實現。

④ 用java判斷兩個文件的相似度

兩個文件轉化為二進制流數組或者鏈表,定義一個int變數n初值為0,遍歷兩個文件數組,每個節點相同無操作,不同n++;
然後拿 n與 文件數組的大小做比較,,,

⑤ java 如何判斷手寫與機打文字的相似度

這個不是java的問題吧,看看深度學習。
基礎教學就有個是手寫文字的判斷。
可以把樣板文字改成楷體,要機器學習學習。
最後輸入手寫文字,看命中率吧。

⑥ 文本相似度演算法-Jaro distance

給定兩個灶指衡文本串 , ,他們的Joro距離定義為:

match 的字元數:
分別來自 , 的字元,當他們相同或者距離小於 ,則被認為是 match 的。

比如: =「DIXON」, =「DICKSONX」

中的逗滑每一個字元都會與 中距離 內的字元進行比較。將所有 match 的字元隱做串,需要替調換順序才能匹配的總數除以二就是transpositions的大小 。這里兩個字元串中匹配的分別是:"DION",「DION",所以 。
另外 =4, =8,
則:

參考:
https://rosettacode.org/wiki/Jaro_distance#Java

⑦ java學到哪才可以檢測兩個文本的相似度

學到IO流可以比較文本了, 不過用IO比較文本比較麻煩, 而且效率低

如果要效率高的話, 就需要學
linux + thread + progress

這樣子可以通過java調用linux命令
linux中有一個comm -12命令來實現比較兩個文件的共同數據, 生成一個新文本。 拿到新文本的大小/舊文本的大小, 舊可以粗略計算出相似度, 而且效率極其高
如果文本有上百萬行數據的話, 用IO可能要十幾個小時才有結果, 但是linux命令只需要1分鍾左右就可以出結果

閱讀全文

與java文本的相似度相關的資料

熱點內容
如何用電腦解壓縮文件 瀏覽:446
pubg用什麼伺服器 瀏覽:526
田漢pdf 瀏覽:661
記錄儀如何安裝安卓系統 瀏覽:594
python求灰度均值 瀏覽:756
c編譯器是系統軟體嗎 瀏覽:694
獲取伺服器內網地址 瀏覽:536
新手媽媽如何帶新生兒APP 瀏覽:157
java日程管理 瀏覽:376
高清視頻鏈接加密 瀏覽:407
新買的阿里雲伺服器怎麼配置 瀏覽:612
在線編譯器為什麼刷新還在 瀏覽:213
雲伺服器系統盤可以裝資料庫 瀏覽:906
php繪制圖形 瀏覽:588
支付伺服器異常怎麼辦 瀏覽:76
java撥號 瀏覽:868
er5200如何設置虛擬伺服器 瀏覽:572
網路中心伺服器叫什麼 瀏覽:459
isplay單片機下載器 瀏覽:482
怎麼查看伺服器地址和埠 瀏覽:187