Ich bin ein Positionsindex mit Hilfe von Java erstellen, die die DocumentID und die Position des Wortes hat zum Beispiel: Wenn wir ein Szenario, das drei Dokumente ein Dokument hatPositional Index Implementierung in JAVA
String [] docs = { "setzt neue Renditen zwischen Absätzen", "Häuser, die in Jersey sind neu", "Hausverkäufe neuen Anstieg im Juli"}
. Der Positionsindex hat wie folgt die Position [word docID: Position des Wortes im Dokument. PS: Jede Phrase im String Array wird als Dokument betrachtet
Wunsch Ausgang put 0 : 0 new 0 : 1 , 1 : 3 , 2 : 2 returns 0 : 2 ....
Hier ist, was ich versucht habe, aber ich bin nicht in der Lage, die Position des Wortes zu bekommen
public static void main(String[] args) {
String[] docs = { "put new returns between paragraphs", "houses which are new in jersey", "home sales new rise in july"};
PositionalIndex pi = new PositionalIndex(docs);
System.out.print(pi);
}
Positional Index
public PositionalIndex(String[] docs) {
ArrayList<Integer> docList;
docLists = new ArrayList<ArrayList<Integer>>();
termList = new ArrayList<String>();
myDocs = docs;
for (int i = 0; i < myDocs.length; i++) {
String[] tokens = myDocs[i].split(" ");
for (String token : tokens) {
if (!termList.contains(token)) {// a new term
termList.add(token);
docList = new ArrayList<Integer>();
docList.add(new Integer(i));
System.out.println(docList);
docLists.add(docList);
} else {// an existing term
int index = termList.indexOf(token);
docList = docLists.get(index);
if (!docList.contains(new Integer(i))) {
docList.add(new Integer(i));
docLists.set(index, docList);
}
}
}
}
}
Anzeige
/**
* Return the string representation of a positional index
*/
public String toString() {
String matrixString = new String();
ArrayList<Integer> docList;
for (int i = 0; i < termList.size(); i++) {
matrixString += String.format("%-15s", termList.get(i));
docList = docLists.get(i);
for (int j = 0; j < docList.size(); j++) {
matrixString += docList.get(j) + "\t";
}
matrixString += "\n";
}
return matrixString;
}
Ich zeige mit MatrixString wie kann ich übergeben - j zu dieser Funktion? – shockwave
@shockwave siehe bearbeiten – Eran