我被困在一個很長時間的問題上,這需要我計算一個術語x術語矩陣。所以,我有2個陣列是關鍵字和句子如下:計算術語x術語矩陣
String[] Keywords = {"Human", "Machine", "Interface", "Application" };
String[] Sentence = {"Human is Machine", "Interface of Robot", "Application on Human"};
接下來,我要他們製表如下圖所示的圖。
邏輯:
- 我們把一個0,如果行和列是相同的關鍵字。
- 在人類(行)×機器(列)空間中,我們放1個,因爲這兩個 單詞出現在同一個句子中(即數組中的第一句 )。
- 在人類(行)x界面(列)中,我們放0,因爲這兩個詞 不在任何句子中都不存在。
- 該搜索不區分大小寫。
- 然後進入下一列,然後進入下一行。
這是我試過的,但不知何故有什麼錯誤。
public class Test {
public static int [][] matrix;
public static void main(String[] args) throws Exception {
String[] Keywords = {"Human", "Machine", "Interface", "Application" };
String[] Sentence = {"Human is Machine", "Interface of Robot", "Application on Human"};
int [][] matrix = new int[Keywords.length][Keywords.length]; //initialize matrix
System.out.println(Arrays.toString(Keywords));
System.out.println("\n"+ Arrays.toString(Sentence));
for (int i=0;i<Keywords.length;i++)
{
int count = 0;
for (int q=1;q<Sentence.length;q++)
{
if (Keywords[i].contains(Sentence[q]))
{
matrix[i][q] = count++;
}
}
}
System.out.println(Arrays.deepToString(matrix));
}
}
任何幫助表示讚賞。謝謝!