怎么用lucene判断两篇文章的相似度 java

2025-05-13 16:21:00
推荐回答(1个)
回答1:

用算法中的求最大相似子字符串的方法LCS或许可以,它可以找到两个字符串中最大相似的子字符串。
Java code

/*
* @author talent_marquis<甜菜侯爵>
* Email: talent_marquis@163.com
* 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;