-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft eine Vorrichtung, ein Programm und ein Verfahren zum Clustern einer Vielzahl von Dokumenten.
-
Hintergrund der Technik Art
-
IDA (Latent Dirichlet Allocation) ist beispielsweise als ein Algorithmus zum Analysieren einer Menge an Dokumenten (Dokumentenmenge) zum Clustern der Dokumente bekannt (siehe Nicht-Patent-Dokument 1).
-
Liste der Anführungen
-
Nicht-Patentliteratur
-
- Nicht-Patentliteratur 1: David M. Blei, Andrew Y. Ng, und Michael I Jordan, „Latent Dirichlet Allocation”, Online, http://www.cs.princeton.edu/~blei/papers/BleiNgJordan2003.pdf, aufgesucht am 1. Februar 2012.
- Nicht-Patentliteratur 2: Yi Wang, Hongjie Bai, Matt Stanton, Wen-Yen Chen, und Edward Y. Chang, „Parallel Latent Dirichlet Allocation for Large-scale Applications”, Online, http://code.google.com/p/plda/downloads/detail?name=aaim.pdf, aufgesucht am 1. Februar 2012.
- Nicht-Patentliteratur 3: William Chang und Abijit Bej, „PARALLELIZING LDA USING HADOOP MAP-REDUCE”, online, http://www-scf.usc.edu/~abej/parallelizing_lda.pdf, aufgesucht am 1. Februar 2012.
-
Kurzdarstellung der Erfindung
-
Technisches Problem
-
Wird eine Dokumentenmenge mittels IDA analysiert, muss ein Computer Verarbeitungsschritte ausführen, die in der Anzahl mindestens dem Quadrat der Anzahl von Wörtern entsprechen, die in dem zu analysierenden Dokument enthalten sind. Dies erschwert das Durchführen der IDA-Analyse an einer Dokumentenmenge, das beispielsweise zehn oder Hunderte von Millionen an in einem Netzwerk vorhandenen Dokumenten enthält.
-
Darüber hinaus ist bekannt, dass LDA-Prozesse im Allgemeinen parallel in einer verteilten Verarbeitungsumgebung durchgeführt werden (siehe z. B. Nicht-Patentdokument 2 und Nicht-Patentdokument 3). Selbst wenn jedoch LDA-Prozesse in solch einer verteilten Verarbeitungsumgebung parallel durchgeführt werden würden, wäre es immer noch schwierig, eine Dokumentenmenge zu analysieren, die zehn oder Hunderte Millionen von Dokumenten enthält.
-
Lösung für das Problem
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Vorrichtung, ein Programm zum Veranlassen eines Computers, als eine solche Vorrichtung zu fungieren, sowie ein Verfahren bereitgestellt, wobei die Vorrichtung aufweist: einen Auswahlabschnitt zum Auswählen einer Vielzahl von Beispieldokumenten aus einer Vielzahl von Dokumenten; einen ersten Parameter-Erzeugungsabschnitt zum Analysieren der Vielzahl von Beispieldokumenten zum Erzeugen einer Anfangsparametermatrix, die eine Wahrscheinlichkeit ausdrückt, dass jedes der Vielzahl von in der Vielzahl von Beispieldokumenten enthaltenen Wörtern in jedem einer Vielzahl von Themen enthalten ist; und einen zweiten Parameter-Erzeugungsabschnitt zum Analysieren der Vielzahl von Dokumenten durch Verwenden eines jeden der in der Anfangsparametermatrix enthaltenen Werte als einen Anfangswert zum Erzeugen einer Parametermatrix, die eine Wahrscheinlichkeit ausdrückt, dass jedes einer Vielzahl in der Vielzahl von Dokumenten enthaltenen Wörter in jedem einer Vielzahl von Themen enthalten ist.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Clustern einer Vielzahl von Dokumenten, ein Programm zum Veranlassen eines Computers, als solch eine Vorrichtung zu fungieren, sowie ein Verfahren bereitgestellt, wobei die Vorrichtung aufweist: einen Auswahlabschnitt zum Auswählen einer Vielzahl von Beispieldokumenten aus der Vielzahl von Dokumenten; einen Parameter-Erzeugungsabschnitt zum Analysieren der Vielzahl von Beispieldokumenten zum Erzeugen einer Parametermatrix, die eine Wahrscheinlichkeit ausdrückt, dass jedes einer Vielzahl von in der Vielzahl von Beispieldokumenten enthaltenen Wörtern in jedem einer Vielzahl von Themen enthalten ist; und einen Clustering-Abschnitt zum Clustern der Vielzahl von Dokumenten in eine Vielzahl von Clustern auf der Grundlage der Parametermatrix.
-
Hierbei sollte beachtet werden, dass die vorstehende Kurzdarstellung der Erfindung nicht unbedingt sämtliche Merkmale der Erfindung beschreibt, so dass die Erfindung auch aus einer Teilkombination dieser beschriebenen Merkmale gebildet sein kann.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Schaubild, das eine funktionale Konfiguration einer Clustering-Vorrichtung 10 gemäß einer bevorzugten Ausführungsform darstellt;
-
2 ist ein Ablaufplan, der einen Verarbeitungsablauf der Clustering-Vorrichtung 10 gemäß der Ausführungsform darstellt;
-
3 ist ein Schaubild, das ein Beispiel einer Verarbeitung für eine Parametermatrix βij in der Clustering-Vorrichtung 10 gemäß der Ausführungsform darstellt;
-
4 ist ein Blockschaubild, das die funktionale Konfiguration einer Clustering-Vorrichtung 10 gemäß einer ersten Modifizierung der Ausführungsform darstellt;
-
5 ist ein Ablaufplan, der einen Verarbeitungsablauf der Clustering-Vorrichtung 10 gemäß der ersten Modifizierung darstellt;
-
6 ist ein Diagramm, das ein Beispiel der Verarbeitung für eine Parametermatrix in der Clustering-Vorrichtung 10 gemäß der ersten Modifizierung darstellt;
-
7 ist ein Blockschaubild, das die funktionale Konfiguration einer Clustering-Vorrichtung 10 gemäß einer zweiten Modifizierung der Ausführungsform darstellt;
-
8 zeigt ein Beispiel eines Programmcodes, der von einem Computer zum Implementieren der LDA-Prozesse auszuführen ist; und
-
9 ist ein Blockschaubild, das ein Beispiel der Hardware-Konfiguration eines Computers 1900 gemäß der Ausführungsform darstellt.
-
Beschreibung der Ausführungsformen
-
Im Folgenden wird die vorliegende Erfindung mittels einer Ausführungsform der Erfindung beschrieben. Hierbei sollte beachtet werden, dass die folgende Ausführungsform die Erfindung gemäß den angehängten Ansprüchen nicht beschränkt und nicht alle der Kombinationen der in der Ausführungsform beschriebenen Merkmale zum Lösen der Probleme der Erfindung essentiell sind.
-
1 ist ein Blockschaubild, das die funktionale Konfiguration einer Clustering-Vorrichtung 10 gemäß der Ausführungsform darstellt. Die Clustering-Vorrichtung 10 gemäß der Ausführungsform clustert eine Menge an Textdokumenten (eine Dokumentenmenge) in kleine Mengen (Cluster) einer Vielzahl von Dokumenten, wobei jede kleine Menge oder jeder Cluster ähnliche Inhalte aufweist.
-
Die Clustering-Vorrichtung 10 weist einen Dokument-Bezugsabschnitt 22, einen Auswahlabschnitt 24, einen Beispielspeicherabschnitt 26, einen ersten Parameter-Erzeugungsabschnitt 28, einen zweiten Parameter-Erzeugungsabschnitt 30 und einen Clustering-Abschnitt 32 auf. Solch eine Clustering-Vorrichtung 10 wird von einem ein Programm ausführenden Computer implementiert.
-
Der Dokument-Bezugsabschnitt 22 bezieht, aus einer Speichereinheit, einem Server auf einem Netzwerk oder Ähnlichem, eine zu clusternde Dokumentenmenge. Der Dokument-Bezugsabschnitt 22 bezieht eine Dokumentenmenge, die Dokumente aufweist, die vorstrukturiert sind, um eine Suche nach Wörtern zu ermöglichen. Ist ein unstrukturiertes Dokument enthalten, kann der Dokument-Bezugsabschnitt 22 zum Strukturieren des Dokumentes auf ein Wörterbuch verweisen.
-
Der Auswahlabschnitt 24 wählt eine Vielzahl von Beispieldokumenten aus der von dem Dokument-Bezugsabschnitt 22 bezogenen Dokumentenmenge aus. So wählt der Auswahlabschnitt 24 beispielsweise Beispieldokumente zufallsbasiert aus. Des Weiteren wählt der Auswahlabschnitt 24 beispielsweise eine vorab eingestellte Anzahl von Beispieldokumenten aus.
-
Der Beispielspeicherabschnitt 26 speichert die Vielzahl von durch den Auswahlabschnitt 24 ausgewählten Beispieldokumenten Der Beispielspeicherabschnitt 26 kann Verknüpfungen speichern, von denen jede einen Ort anzeigt, an dem jedes Dokument gespeichert wird.
-
Der erste Parameter-Erzeugungsabschnitt 28 führt IDA-(Latent Dirichlet Allocation)Analyse an der Vielzahl von in dem Beispielspeicherabschnitt 26 gespeicherten Beispieldokumenten zum Erzeugen einer Anfangsparametermatrix durch, die eine Wahrscheinlichkeit ausdrückt, dass jedes der in der Vielzahl von Beispieldokumenten enthaltenen Wörter in jedem einer Vielzahl von Themen enthalten ist. Die Anfangsparametermatrix entspricht einer Parametermatrix β, die als Ergebnis der IDA-Analyse berechnet wird. Ein Algorithmus der IDA-Analyse und der Inhalt der Parametermatrix βwerden im späteren Verlauf ausführlich beschrieben.
-
Wird die Vielzahl von Beispieldokumenten mittels IDA analysiert, verwendet der erste Parameter-Erzeugungsabschnitt 28 einen vorab festgelegten Wert oder einen zufallsbasiert eingestellten Wert als einen ersten Parameteranfangswert. Des Weiteren verwendet der erste Parameter-Erzeugungsabschnitt 28 einen von einem Nutzer vorab eingestellten Wert oder Ähnliches als die Anzahl von in der Vielzahl von Beispieldokumenten enthaltenen Themen.
-
Der zweite Parameter-Erzeugungsabschnitt 30 führt IDA-Analyse an der von dem Dokument-Bezugsabschnitt 22 bezogenen Dokumentenmenge zum Erzeugen einer Parametermatrix durch, die eine Wahrscheinlichkeit ausdrückt, dass jedes einer Vielzahl von in der Dokumentenmenge enthaltenen Wörtern in jedem einer Vielzahl von Themen enthalten ist. Die Parametermatrix entspricht der Parametermatrix β, die als Ergebnis der IDA-Analyse berechnet wird.
-
Wenn hierbei eine Dokumentenmenge mittels IDA analysiert wird, verwendet der zweite Parameter-Erzeugungsabschnitt 30 als einen Anfangsparameterwert jeden Wert, der in der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Anfangsparametermatrix enthalten ist. Des Weiteren verwendet der zweite Parameter-Erzeugungsabschnitt 30 einen vorab vom Nutzer eingestellten Wert oder Ähnliches als die Anzahl der in der Dokumentenmenge enthaltenen Themen. In diesem Fall kann der zweite Parameter-Erzeugungsabschnitt 30 eine Anzahl von Themen verwenden, die größer ist als die Anzahl von Themen, die verwendet wird, wenn der erste Parameter-Erzeugungsabschnitt 28 IDA-Analyse an der Vielzahl von Beispieldokumenten durchführt.
-
Auf der Grundlage der von dem zweiten Parameter-Erzeugungsabschnitt 30 erzeugten Parametermatrix clustert der Clustering-Abschnitt 32 die von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge in eine Vielzahl von Clustern. Des Weiteren kann der Clustering-Abschnitt 32 auf der Grundlage der von dem zweiten Parameter-Erzeugungsabschnitt 30 erzeugten Parametermatrix die von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge schichten oder gliedern. Des Weiteren kann der Clustering-Abschnitt 32 auf der Grundlage der von dem zweiten Parameter-Erzeugungsabschnitt 30 erzeugten Parametermatrix Dokumente, die im Hinblick auf eingegebene Zeichen oder Text von der durch den Dokument-Bezugsabschnitt 22 bezogenen Dokumentmenge nahe beieinander sind, abrufen.
-
2 ist ein Ablaufplan, der einen Verarbeitungsablauf der Clustering-Vorrichtung 10 gemäß der Ausführungsform darstellt. Die Clustering-Vorrichtung 10 gemäß der Ausführungsform führt die folgenden Verarbeitungsaschritte S11 bis S14 zum Clustern der Dokumentenmenge in eine Vielzahl von Clustern durch.
-
Zunächst wählt in Schritt S11 der Auswahlabschnitt 24 der Clustering-Vorrichtung 10 aus der zu clusternden Dokumentenmenge eine vorab eingestellte Anzahl einer Vielzahl von Beispieldokumenten zufallsbasiert aus. Als die Anzahl von ausgewählten Beispieldokumenten stellt der Auswahlabschnitt 24 solch eine Anzahl ein, mit der die LDA-Verarbeitung innerhalb eines vorab festgelegten Zeitraums abgeschlossen ist und die Häufigkeit des Auftretens eines Wortes zu einem Thema innerhalb der Dokumentenmenge geschätzt werden kann.
-
Als Nächstes führt in Schritt S12 der erste Parameter-Erzeugungsabschnitt 28 der Clustering-Vorrichtung 10 IDA-Analyse an der Vielzahl von durch den Auswahlabschnitt 24 ausgewählten Beispieldokumenten zum Erzeugen einer Anfangsparametermatrix durch. In diesem Fall verwendet der erste Parameter-Erzeugungsabschnitt 28 als einen Parameteranfangswert einen vorab festgelegten Wert oder einen zufallsbasiert eingestellten Wert zum Durchführen der IDA-Analyse.
-
Als Nächstes führt in Schritt S13 der zweite Parameter-Erzeugungsabschnitt 30 der Clustering-Vorrichtung 10 IDA-Analyse an der von dem Dokument-Bezugsabschnitt 22 bezogenen Dokumentenmenge zum Erzeugen einer Parametermatrix durch. In diesem Fall verwendet der zweite Parameter-Erzeugungsabschnitt 30 als einen Parameteranfangswert jeden Wert der in Schritt S12 von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Anfangsparametermatrix.
-
Unter all den in den Dokumentenmengen enthaltenen Wörtern kann ein Wort vorkommen, das nicht in der Vielzahl von Beispieldokumenten enthalten ist. In diesem Fall ist ein Wert eines neuen Wortes, das nicht in der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Parametermatrix enthalten ist, in der Parametermatrix enthalten, die von dem zweiten Parameter-Erzeugungsabschnitt 30 enthalten ist. In solch einem Fall stellt beispielsweise der zweite Parameter-Erzeugungsabschnitt 30 den Anfangswert des Wortes, das nicht in der Anfangsparametermatrix enthalten ist, auf einen Wert ein, der relativ kleiner ist als die Anfangswerte einer Vielzahl von Wörtern, die in der Anfangsparametermatrix enthalten sind, um IDA-Analyse an der Dokumentenmenge zum Erzeugen einer Parametermatrix durchzuführen.
-
So stellt der zweite Parameter-Erzeugungsabschnitt 30 beispielsweise den Anfangswert eines Wortes, das nicht in der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Anfangsparametermatrix enthalten ist, auf einen Zufallswert ein, der kleiner als der Durchschnitt der Anfangswerte einer Vielzahl von in der Anfangsparametermatrix enthaltenen Wörter ist. Als ein Ergebnis können, da der zweite Parameter-Erzeugungsabschnitt 30 einen Anfangswert mit einer hohen Verteilung der Analyseergebnisse der Vielzahl von Beispieldokumenten verwendet, die Rechenkosten so lange verringert werden, bis die LDA-Prozesse konvergieren.
-
Der zweite Parameter-Erzeugungsabschnitt 30 kann eine Parametermatrix erzeugen, die ein Thema enthält, das nicht in der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten ersten Anfangsparametermatrix enthalten ist. In diesem Fall stellt der zweite Parameter-Erzeugungsabschnitt 30 den Anfangswert des Themas, das nicht in der Anfangsparametermatrix enthalten ist, auf einen Wert ein, der relativ kleiner als eine Vielzahl von Themen ist, die in der Anfangsparametermatrix enthalten ist, um die IDA-Analyse an der Dokumentenmenge zum Erzeugen einer Parametermatrix durchzuführen.
-
So stellt beispielsweise der zweite Parameter-Erzeugungsabschnitt 30 den Anfangswert eines Themas, das nicht in der Anfangsparametermatrix enthalten ist, auf einen Zufallswert ein, der kleiner als der Durchschnitt der Anfangswerte der Vielzahl von in der Anfangsparametermatrix enthaltenen Themen ist. Als ein Ergebnis können, da der zweite Parameter-Erzeugungsabschnitt 30 einen Anfangswert mit einer hohen Verteilung der Analyseergebnisse der Vielzahl von Beispieldokumenten verwendet, die Rechenkosten so lange verringert werden, bis die LDA-Prozesse konvergieren.
-
Als Nächstes clustert in Schritt S14 der Clustering-Abschnitt 32 der Clustering-Vorrichtung 10 die von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge in eine Vielzahl von Clustern auf der Grundlage der von dem zweiten Parameter-Erzeugungsabschnitt 30 erzeugten Parametermatrix. So erzeugt der Clustering-Abschnitt 32 beispielsweise für jedes der in der Dokumentenmenge erzeugten Dokumente einen Dokumentenvektor, der jede der Wahrscheinlichkeiten des Auftretens von Themen in dem Dokument auf der Grundlage der von dem zweiten Parameter-Erzeugungsabschnitt 30 erzeugten Parametermatrix ausdrückt. Anschließend clustert der Clustering-Abschnitt 32 die Dokumentenmenge in eine Vielzahl von Clustern, so dass in demselben Cluster eine Gruppe von Dokumenten enthalten ist, deren Dokumentenvektoren einander ähnlich sind.
-
Die Clustering-Vorrichtung 10 führt die vorstehende Verarbeitung so durch, dass die Vielzahl von Textdokumenten (Dokumentenmenge) in eine Vielzahl von Clustern geclustert werden kann.
-
3 zeigt ein Beispiel der Verarbeitung für eine Parametermatrix in der Clustering-Vorrichtung 10 gemäß der Ausführungsform. Bei IDA drückt die Parametermatrix die Wahrscheinlichkeit des Auftretens eines Wortes j zu einem Thema i aus. Die Parametermatrix βij ist eine Matrix, in der jedes aller in der Dokumentenmenge enthaltenen Wörter und jedes der vorab eingestellten Anzahl von Themen indexiert ist.
-
Hierbei bezeichnet i den Index eines in der Dokumentenmenge enthaltenen Themas (eine Ganzzahl von 1 bis zu der Anzahl von Themen der gesamten Dokumentenmenge). Des Weiteren bezeichnet j den Index eines in der Dokumentenmenge enthaltenen Wortes (eine Ganzzahl von 1 bis zu der Anzahl von in der Dokumentenmenge enthaltenen Wörtern).
-
Bei der Ausführung von IDA führt der Computer eine arithmetische Verarbeitung zum Aktualisieren eines jeden Wertes in der Parametermatrix βij durch, während die Kombination aus einem Wort und einem Thema geändert wird. Des Weiteren ermittelt nach Abschluss der arithmetischen Verarbeitung für alle der Wörter und alle der Themen der Computer, ob die Parametermatrix βij zu einem bestimmten Wert konvergiert, und wenn sie nicht zu einem bestimmten Wert konvergiert, wird dieselbe Verarbeitung wiederholt. Hierbei bezeichnet t die Anzahl von Wiederholungen der von dem Computer durchgeführten Verarbeitung, und βt bezeichnet β, nachdem die Verarbeitung t Male durchgeführt wurde.
-
Die Clustering-Vorrichtung 10 führt zuerst IDA an einer Vielzahl von Beispieldokumenten als Teil der Dokumentenmenge zum Erzeugen einer Anfangsparametermatrix βij durch. Als Nächstes führt die Clustering-Vorrichtung 10 IDA an der gesamten Dokumentenmenge zum Erzeugen einer Parametermatrix βij durch.
-
Hierbei führt bei der Ausführung von IDA der Computer Verarbeitung für jedes Dokument durch. Dementsprechend werden die Rechenkosten, die aus der Ausführung der IDA resultieren, verringert, da die Anzahl von Zieldokumenten verringert wird. Dementsprechend kann die Clustering-Vorrichtung 10 die Rechenkosten zum Erzeugen der Anfangsparametermatrix βijp verglichen mit den Rechenkosten zum Erzeugen der Parametermatrix βij verringern.
-
Des Weiteren verwendet bei der Ausführung von IDA an einer Vielzahl von Beispieldokumenten die Clustering-Vorrichtung 10 beispielswiese einen vorab festgelegten Wert oder eine zufallsbasierte Wertemenge als den Anfangswert der Anfangsparametermatrix βij. Im Gegensatz dazu verwendet bei der Ausführung von IDA an der gesamten Dokumentenmenge die Clustering-Vorrichtung 10 als Anfangswert der Parametermatrix βij jeden Wert in der Anfangsparametermatrix βijp als die Ergebnisse der Ausführung der LDA ab den Beispieldokumenten.
-
Hierbei wiederholt bei der Verarbeitung für jedes Dokument bei der Ausführung von IDA der Computer die arithmetische Verarbeitung so lange, bis die Parametermatrix βij zu einem bestimmten Wert konvergiert. Die Anzahl von Wiederholungen wird kleiner, wenn sich der Anfangswert näher bei dem Endwert befindet. Dementsprechend sinken die Rechenkosten, die sich aus der Ausführung von IDA ergeben, da sich der Anfangswert der Parametermatrix βij näher bei dem Endwert befindet.
-
Bei der Ausführung der IDA an der gesamten Dokumentenmenge verwendet die Clustering-Vorrichtung 10 als den Anfangswert der Parametermatrix βij jeden Wert in der Anfangsparametermatrix βijp von dem geschätzt wird, dass er sich nahe bei einem abschließenden konvergierten Wert befindet. Dementsprechend kann die Clustering-Vorrichtung die Rechenkosten bei Ausführung der IDA an der gesamten Dokumentenmenge verringern.
-
Dementsprechend steigen gemäß der Clustering-Vorrichtung 10 der Ausführungsform die Rechenkosten, da IDA an einer Vielzahl von Beispieldokumenten durchgeführt wird, wohingegen die Rechenkosten verringert werden können, da IDA an der Dokumentenmenge unter Verwendung der Parametermatrix βij als den Anfangswert, einschließlich eines Wertes, der nahe bei dem konvergierten Wert ist, ausgeführt wird. Dementsprechend kann gemäß der Clustering-Vorrichtung 10 die Anzahl von ausgewählten Beispieldokumenten auf geeignete Weise eingestellt werden, um die verringerten Rechenkosten größer als die gestiegenen Rechenkosten zu gestalten, so dass die Rechenkosten insgesamt verringert werden können. Als ein Ergebnis kann gemäß der Clustering-Vorrichtung 10 der Ausführungsform IDA an einer Dokumentenmenge durchgeführt werden, die beispielsweise eine enorme Anzahl von Dokumenten zum Durchführen von Clustering beinhaltet.
-
4 ist ein Blockschaubild, das die funktionale Konfiguration einer Clustering-Vorrichtung 10 gemäß einer ersten Modifizierung der Ausführungsform darstellt. Da die Clustering-Vorrichtung 10 gemäß der Modifizierung nahezu dieselbe Struktur und Funktionalität aufweist wie die der Clustering-Vorrichtung 10, die in 1 dargestellt ist, werden den Komponenten, die nahezu dieselbe Struktur und Funktionalität wie die in der in 1 dargestellten Clustering-Vorrichtung 10 bereitgestellten dieselben Bezugszahlen zugewiesen, um einen redundante Beschreibung mit Ausnahme für voneinander abweichende Punkte zwischen ihnen zu vermeiden.
-
Die Clustering-Vorrichtung 10 weist den Dokument-Bezugsabschnitt 22, den Auswahlabschnitt 24, den Beispielspeicherabschnitt 26, den ersten Parameter-Erzeugungsabschnitt 28, einen Unterteilungsabschnitt 40, einen Gruppenspeicherabschnitt 42, den zweiten Parameter-Erzeugungsabschnitt 30 und den Clustering-Abschnitt 32 auf.
-
Der Unterteilungsabschnitt 40 unterteilt eine von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge in eine Vielzahl von Gruppen. So weist der Unterteilungsabschnitt 40 beispielsweise einen Vor-Clustering-Abschnitt 52, einen Vor-Cluster-Speicherabschnitt 54 und einen Zuweisungsabschnitt 56 auf.
-
Auf der Grundlage der von dem ersten Parameter-Erzeugungsabschnitt erzeugten Anfangsparametermatrix clustert der Vor-Clustering-Abschnitt 52 die von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge in eine Vielzahl von Clustern. Der Vor-Cluster-Speicherabschnitt 54 speichert die Vielzahl von durch den Vor-Clustering-Abschnitt 52 geclusterten Clustern. Der Vor-Cluster-Speicherabschnitt 54 kann Verknüpfungen speichern, von denen jede einen Ort anzeigt, an dem ein entsprechendes Dokument gespeichert wird.
-
Der Zuweisungsabschnitt 56 wählt Dokumente aus den jeweiligen in dem Vor-Cluster-Speicherabschnitt 54 gespeicherten jeweiligen Clustern aus und weist die Dokumente jeweils der Vielzahl von Gruppen zu. Um genauer zu sein, weist der Zuweisungsabschnitt 56 die Dokumentenmenge der Vielzahl von Gruppen auf eine Weise zu, dass jedes der Vielzahl von Clustern, die durch Clustern der Dokumentenmenge auf der Grundlage der Anfangsparametermatrix erhalten wird, anteilsmäßig gleich innerhalb der Gruppen enthalten sein wird. Dadurch kann der Zuweisungsabschnitt 56 eine Vielzahl von Gruppen erzeugen, die im Hinblick auf die Ergebnisse der Ausführung der IDA nahe beieinander sind.
-
Der Gruppenspeicherabschnitt 42 speichert jeweils die Vielzahl von durch den Unterteilungsabschnitt 40 unterteilten Gruppen. So kann der Gruppenspeicherabschnitt 42 beispielsweise Verknüpfungen speichern, von denen jede einen Ort anzeigt, an dem ein entsprechendes Dokument gespeichert wird.
-
Der zweite Parameter-Erzeugungsabschnitt 30 weist eine Vielzahl von Elementparameter-Erzeugungsabschnitten 60 und einen Syntheseabschnitt 62 auf. Jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 wird so bereitgestellt, dass er jeder der Vielzahl von durch den Unterteilungsabschnitt 40 unterteilten Gruppen entspricht.
-
Jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 führt IDA-Analyse an einer Vielzahl von Dokumenten durch, die in einer entsprechenden Gruppe enthalten sind, um eine Elementparametermatrix zu erzeugen, die eine Wahrscheinlichkeit ausdrückt, dass jedes einer Vielzahl von in diesen Dokumenten enthaltenen Wörtern in jedem einer Vielzahl von Themen enthalten ist. Die Elementparametermatrix entspricht der Parametermatrix β, die als ein Ergebnis der IDA-Analyse berechnet wird.
-
[0048] Hierbei verwendet in der IDA-Analyse jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 jeden in der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Anfangsparametermatrix enthaltenen Wert als den Anfangswert der Parametermatrix β. Als ein Ergebnis können, da jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 einen Wert nahe bei einem abschließend konvergierten Wert als den Anfangsparameterwert der Parametermatrix β einstellt, die Rechenkosten verringert werden.
-
Des Weiteren kann die Vielzahl der Elementparameter-Erzeugungsabschnitte 60 beispielsweise Parametermatrizen β verwenden, die untereinander dieselbe Anzahl von Themen aufweisen. Wie bei dem zweiten in 1 dargestellten Parameter-Erzeugungsabschnitt 30 wird der Anfangswert der Parametermatrix β in jedem der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 eingestellt.
-
Der Syntheseabschnitt 62 synthetisiert eine Vielzahl von Elementparametermatrizen, die jeweils von der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 erzeugt werden, um eine Parametermatrix zu erzeugen. So erzeugt der Syntheseabschnitt 62 beispielsweise eine Parametermatrix, die einen Wert enthält, der erhalten wird, indem der Durchschnitt der in der Vielzahl von Elementparametermatrizen enthaltenen Werte desselben Indexes gebildet wird. Der Syntheseabschnitt 62 stellt die erzeugte Parametermatrix dem Clustering-Abschnitt 32 bereit.
-
Der Syntheseabschnitt 62 kann die erzeugte Parametermatrix zurück zu der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 leiten, um die Vielzahl von Elementparameter-Erzeugungsabschnitten 60 dazu zu veranlassen, erneut Elementparametermatrizen zu erzeugen. In diesem Fall stellt jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 jeden in der zurückgeleiteten Parametermatrix enthaltenen Wert als den Anfangswert zum Durchführen von IDA-Analyse an der Vielzahl von in der entsprechenden Gruppe enthaltenen Dokumenten ein, um erneut eine Elementparametermatrix zu erzeugen. Anschließend synthetisiert der Syntheseabschnitt 62 eine Vielzahl von Elementparametermatrizen, von denen jede unter Verwendung eines jeden in der zurückgeleiteten Parametermatrix enthaltenen Wertes als den Anfangswert erzeugt wurde, um erneut eine Parametermatrix zu erzeugen. Dadurch kann der zweite Parameter-Erzeugungsabschnitt 30 eine genaue Parametermatrix erzeugen.
-
Des Weiteren kann der Unterteilungsabschnitt 40 die vorstehend beschriebene Rückleitungsoperation wiederholt mehrere Male durchführen. Dadurch kann der zweite Parameter-Erzeugungsabschnitt 30 eine genauere Parametermatrix erzeugen.
-
Des Weiteren kann der Syntheseabschnitt 62 die erzeugte Parametermatrix zurück an den Unterteilungsabschnitt 40 leiten. In diesem Fall unterteilt der Unterteilungsabschnitt 40 die Dokumentenmenge erneut in eine Vielzahl von Gruppen auf eine Weise, dass jedes der Vielzahl von durch Clustern der Vielzahl von Dokumenten auf der Grundlage der zurückgeleiteten Parametermatrix erhaltenen Cluster anteilsmäßig gleich innerhalb der Gruppen enthalten ist. Anschließend führt jeder der Vielzahl von Elementparameter-Erzeugungsabschnitte 60 IDA-Analyse an einer Vielzahl von in einer entsprechenden Gruppe enthaltenen Dokumenten durch, die zum Erzeugen einer Elementparametermatrix erneut unterteilt wird. Dadurch kann der Unterteilungsabschnitt 40 eine Vielzahl von Gruppen erzeugen, die im Hinblick auf die Ergebnisse der IDA näher beieinander sind.
-
5 zeigt einen Verarbeitungsablauf der Clustering-Vorrichtung 10 gemäß der ersten Modifizierung. Die Clustering-Vorrichtung 10 gemäß dieser Modifizierung führt die folgenden Verarbeitungsschritte S21 bis S28 zum Clustern einer Dokumentenmenge in eine Vielzahl von Clustern durch.
-
Zuerst wählt in Schritt S21 der Auswahlabschnitt 24 der Clustering-Vorrichtung 10 eine Vielzahl von Beispieldokumenten aus der zu clusternden Dokumentenmenge aus. Die Verarbeitung in Schritt S21 ist dieselbe wie die Verarbeitung in Schritt S11 von 2.
-
Als Nächstes führt der erste Parameter-Erzeugungsabschnitt 28 der Clustering-Vorrichtung 10 IDA-Analyse an der Vielzahl von durch den Auswahlabschnitt 24 ausgewählten Beispieldokumenten zum Erzeugen einer Anfangsparametermatrix durch. Die Verarbeitung in Schritt S22 ist dieselbe Verarbeitung wie in Schritt S12 von 2.
-
Als Nächstes clustert in Schritt S23 der Vor-Clustering-Abschnitt 52 der Clustering-Vorrichtung 10 die von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge auf der Grundlage der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Anfangsparametermatrix in eine Vielzahl von Clustern. So erzeugt beispielsweise der Vor-Clustering-Abschnitt 52 auf der Grundlage der von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugten Anfangsparametermatrix für jedes in der Dokumentenmenge enthaltene Dokument einen Dokumentvektor, der jede der Wahrscheinlichkeiten des Auftretens einer Vielzahl von in dem Dokument enthaltenen Themen ausdrückt. Anschließend clustert der Vor-Clustering-Abschnitt 52 beispielsweise die Dokumentenmenge in eine Vielzahl von Clustern auf eine Weise, dass eine Gruppe von Dokumenten, welche im Hinblick auf ihren Dokumentvektor nahe beieinander sind, in demselben Cluster enthalten sind.
-
Als Nächstes weist in Schritt S24 der Zuweisungsabschnitt 56 der Clustering-Vorrichtung 10 die Dokumentenmenge einer Vielzahl von Gruppen auf eine Weise zu, dass jeder der Vielzahl von von dem Vor-Clustering-Abschnitt 52 geclusterten Cluster anteilsmäßig gleich innerhalb der Gruppen enthalten ist.
-
So sei beispielsweise angenommen, dass der Vor-Clustering-Abschnitt 52 in Schritt S23 eine Menge von 900 Dokumenten in Cluster A, Cluster B und Cluster C unterteilt, von denen jedes 300 Dokumente aufweist. Werden diese Dokumente drei Gruppen zugewiesen, weist der Vor-Cluster-Speicherabschnitt 54 die Dokumente auf eine Weise zu, dass jeweils 100 Dokumente, die jeweils in Cluster A, Cluster B und Cluster C enthalten sind, in jeder der drei Gruppen enthalten sind. Dadurch kann der Zuweisungsabschnitt 56 die Dokumente in der Dokumentenmenge einer Vielzahl von Gruppen auf eine Weise zuweisen, dass jeder der Vielzahl von Clustern anteilsmäßig gleich innerhalb der Gruppen enthalten ist.
-
Als Nächstes führt in Schritt S25 jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 der Clustering-Vorrichtung 10 IDA-Analyse an einer Vielzahl von in einer entsprechenden Gruppe enthaltenen Dokumenten durch, um eine Elementparametermatrix zu erzeugen, die eine Wahrscheinlichkeit ausdrückt, dass jedes einer Vielzahl von in diesen Dokumenten enthaltenen Wörtern in jedem einer Vielzahl von Themen enthalten ist. In diesem Fall verwendet jeder der Vielzahl von Element-Parametererzeugungsabschnitten 60 jeden in der von dem ersten Parameter-Erzeugungsabschnitt 28 enthaltenen Wert als den Anfangsparameterwert.
-
Als Nächstes synthetisiert in Schritt 526 der Syntheseabschnitt 62 der Clustering-Vorrichtung 10 eine Vielzahl von Elementparametermatrizen, die jeweils durch die Vielzahl von Elementparameter-Erzeugungsabschnitten 60 erzeugt werden, um eine Parametermatrix zu erzeugen.
-
Als Nächstes ermittelt in Schritt S27 der Syntheseabschnitt 62, ob die Loop-Verarbeitung beendet werden soll. So beendet der Syntheseabschnitt 62 beispielsweise die Loop-Verarbeitung wenn die Loop-Verarbeitung eine vorab eingestellte Anzahl von Malen durchgeführt wird oder wenn die erzeugte Parametermatrix zu einem bestimmten Wert konvergiert.
-
Wenn der Syntheseabschnitt 62 festlegt, die Loop-Verarbeitung nicht zu beenden (Nein in Schritt S27), kehrt die Vorgehensweise zurück zu Schritt S25. Kehrt die Vorgehensweise zurück, verwendet jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 in Schritt S25 jeden in der in dem vorherigen Schritt S26 durch den Syntheseabschnitt 62 synthetisierten Parametermatrix enthaltenen Wert als den Parameteranfangswert. Dadurch kann jeder der Vielzahl von Elementparameter-Erzeugungsabschnitten 60 IDA unter Verwendung eines Wertes als Parameteranfangswert durchführen, der näher bei einem konvergierten Wert ist.
-
Wenn des Weiteren der Syntheseabschnitt 62 festlegt, die Loop-Verarbeitung nicht zu beenden (Nein in Schritt S27), kann die Vorgehensweise zu Schritt S23 zurückkehren. Kehrt die Vorgehensweise zurück, clustert der Vor-Clustering-Abschnitt 52 in Schritt S23 die Dokumentenmenge erneut in eine Vielzahl von Clustern auf der Grundlage der in dem vorherigen Schritt S26 durch den Syntheseabschnitt 62 synthetisierten Parametermatrix. Anschließend weist, wenn die Vorgehensweise zurückgegeben wird, der Zuweisungsabschnitt 56 in Schritt S24 die Dokumentenmenge erneut einer Vielzahl von Gruppen auf eine Weise zu, dass jedes der Vielzahl von erneut geclusterten Clustern anteilsmäßig gleich innerhalb der Gruppen enthalten ist. Dadurch kann der Zuweisungsabschnitt 56 eine Vielzahl von Gruppen erzeugen, die im Hinblick auf die LDA-Ergebnisse näher beieinander sind.
-
Legt der Syntheseabschnitt 62 fest, die Loop-Verarbeitung zu beenden (Ja in Schritt S27), geht die Vorgehensweise in Schritt S28 über. In Schritt S28 clustert der Clustering-Abschnitt 32 der Clustering-Vorrichtung 10 auf der Grundlage der in dem vorherigen Schritt S26 synthetisierten Parametermatrix, die von dem Dokument-Bezugsabschnitt 22 bezogene Dokumentenmenge in eine Vielzahl von Clustern. Die Verarbeitung in Schritt S28 entspricht der Verarbeitung in Schritt S14 von 2.
-
Die Clustering-Vorrichtung 10 gemäß der Modifizierung führt die vorstehende Verarbeitung durch, so dass eine Menge an Dokumenten (eine Dokumentenmenge) in eine Vielzahl von Clustern geclustert werden kann.
-
6 zeigt ein Beispiel von Prozessen für eine Parametermatrix βij in der Clustering-Vorrichtung 10 gemäß der ersten Modifizierung. Die Clustering-Vorrichtung 10 gemäß der Modifizierung clustert die Dokumentenmenge in eine Vielzahl von Clustern auf der Grundlage einer Anfangsparametermatrix βijp als ein Ergebnis der Ausführung der IDA an den Beispieldokumenten. Anschließend erzeugt die Clustering-Vorrichtung 10 eine Vielzahl von Gruppen, so dass die erzeugten Cluster anteilsmäßig gleich vorhanden sind.
-
Wird die IDA an jeder Vielzahl von Gruppen unabhängig voneinander durchgeführt, wird geschätzt, das die resultierenden Parametermatrizen sich nahe beieinander befinden. Wenn dementsprechend eine Vielzahl von Elementparametermatrizen βijg synthetisiert wird, kann die Clustering-Vorrichtung 10 gemäß der Modifizierung eine Parametermatrix mit weniger Fehlern verglichen zu normal erhaltenen Parametermatrizen erhalten, ohne dass die Syntheseergebnisse zum erneuten Durchführen der IDA zurückgeleitet werden oder mit einer kleineren Anzahl von Loops, selbst wenn die Syntheseergebnisse zurückgeleitet werden. Dementsprechend kann gemäß der Clustering-Vorrichtung 10 der Modifizierung verteilte Verarbeitung effizient zum Verringern der Rechenkosten durchgeführt werden.
-
7 ist ein Blockschaubild, das die funktionale Konfiguration einer Clustering-Vorrichtung 10 gemäß einer zweiten Modifizierung der Ausführungsform darstellt. Da die Clustering-Vorrichtung 10 gemäß der Modifizierung nahezu dieselbe Struktur und Funktionalität aufweist wie die der Clustering-Vorrichtung 10, die in 1 dargestellt ist, werden den Komponenten, die nahezu dieselbe Struktur und Funktionalität wie die in der in 1 dargestellten Clustering-Vorrichtung 10 bereitgestellten dieselben Bezugszahlen zugewiesen, um einen redundante Beschreibung mit Ausnahme für voneinander abweichende Punkte zwischen ihnen zu vermeiden.
-
Die Clustering-Vorrichtung 10 gemäß der Modifizierung weist den Dokument-Bezugsabschnitt 22, den Auswahlabschnitt 24, den Beispiel-Speicherabschnitt 28, den ersten Parameter-Erzeugungsabschnitt 28, den zweiten Parameter-Erzeugungsabschnitt 30, den Clustering-Abschnitt 32 und einen Einstellabschnitt 70 auf. Der Einstellabschnitt 70 stellt mehrere Male die Anzahl von Beispielen von den durch den Auswahlabschnitt 24 ausgewählten Beispieldokumenten ein. Beim Einstellen der Anzahl von Beispielen stellt der Einstellabschnitt 70 die Anzahl von Beispielen ein, während die Anzahl von ausgewählten Beispieldokumenten schrittweise erhöht wird.
-
Jedes Mal, wenn die Anzahl von Auswahlen eingestellt wird, wählt der Auswahlabschnitt 24 aus der Dokumentenmenge Beispieldokumente aus, die in der Anzahl der Anzahl von Auswahlen entsprechen. Des Weiteren führt jedes Mal, wenn die Anzahl von Auswahlen eingestellt wird, der erste Parameter-Erzeugungsabschnitt 28 IDA-Analyse an einer Vielzahl von ausgewählten Beispieldokumenten zum Erzeugen von Anfangsparametern durch.
-
Hierbei verwendet, wenn die Anzahl von Auswahlen zum ersten Mal eingestellt wird, der erste Parameter-Erzeugungsabschnitt 28 einen Zufallswert als jeden Anfangswert in der Parametermatrix zum Durchführen von IDA-Analyse an den ausgewählten Beispieldokumenten zum Erzeugen einer Anfangsparametermatrix. Anschließend verwendet ab dem zweiten Mal der erste Parameter-Erzeugungsabschnitt 28 als den Anfangswert jeden in der vorher erzeugten Anfangsparametermatrix enthaltenen Wert, um IDA-Analyse an den ausgewählten Beispieldokumenten zum Erzeugen einer Anfangsparametermatrix zu erzeugen.
-
Es wird bevorzugt, dass die Anzahl von ausgewählten Beispieldokumenten solch eine ist, mit der die IDA-Prozesse innerhalb eines vorgegebenen Zeitraums abgeschlossen werden und die Häufigkeit des Auftretens eines Wortes zu einem Thema innerhalb der Dokumentenmenge geschätzt werden kann. Ist jedoch die Anzahl von in der Dokumentenmenge enthaltenen Dokumenten sehr groß, kann solch eine Anzahl von Beispieldokumenten, mit der die Häufigkeit des Auftretens eines Wortes zu einem Thema innerhalb der Dokumentenmenge geschätzt werden kann, in der ersten Auswahl von Beispieldokumenten nicht ausgewählt werden.
-
Selbst in so einem Fall führt die Clustering-Vorrichtung 10 gemäß der Modifizierung jedoch die IDA-Analyse mehrere Male an den Beispieldokumenten durch, während die Anzahl von ausgewählten Beispieldokumenten schrittweise erhöht wird. Dementsprechend kann gemäß der Clustering-Vorrichtung 10 der Modifizierung IDA mit niedrigen Rechenkosten an so einer Anzahl von Beispieldokumenten durchgeführt werden, mit der die Häufigkeit des Auftretens eines Wortes zu einem Thema innerhalb der Dokumentenmenge geschätzt werden kann, um eine Anfangsparametermatrix zu erzeugen.
-
8 zeigt ein Beispiel eines Programmcodes, der von einem Computer zum Implementieren von LDA-Prozessen auszuführen ist. Im Folgenden wird ein Programmcode beschrieben, der von dem Computer zum Implementieren von LDA-Prozessen auszuführen ist.
-
Zunächst wird das Konzept des IDA beschrieben. Beim IDA wird folgende Annahme zum Phänomen des Auftretens eines Wortes in Dokumenten getroffen.
- Annahme 1: Es ist eine Vielzahl von Themen in Dokumenten enthalten.
- Annahme 2: Die Häufigkeit des Auftretens eines in einem Dokument enthaltenen Wortes ergibt sich aus einem in dem Dokument enthaltenen Thema.
-
Des Weiteren wird bei dem IDA angenommen, dass eine Wahrscheinlichkeit p(θ|α) des Auftretens eines Themas mit einer Wahrscheinlichkeit θ einer Dirichlet-Verteilung folgt. Genauer gesagt, wird beim IDA angenommen, dass die Wahrscheinlichkeit p(θ|α) des Auftretens von Thema i mit der Wahrscheinlichkeit von einem Wahrscheinlichkeitsmodell gemäß der Dirichlet-Verteilung gemäß Darstellung in der folgenden Gleichung (1) ausgedrückt wird: [Gleichung 1]
-
In Gleichung (1) drückt jede Variable den folgenden Inhalt aus:
i bezeichnet den Index eines Themas, der einen Ganzzahlwert von 1 bis k annimmt. k bezeichnet die Anzahl von in der Dokumentenmenge enthaltenen Themen. k kann anhand der tatsächlichen Dokumentenmenge nicht observiert werden. Dementsprechend wird k von dem Nutzer vorab eingestellt.
-
αi bezeichnet einen unbekannten Parameter, der die Häufigkeit des Auftretens von Thema i ausdrückt. θx bezeichnet eine Wahrscheinlichkeit von wenigstens einem Auftreten von Thema x in der Dokumentenmenge. θx y bezeichnet eine Wahrscheinlichkeit des Auftretens von Thema x in der Dokumentenmenge y mal.
-
Als Nächstes wird eine Gleichung auf der Grundlage von anhand der tatsächlichen Dokumentenmenge observierbaren Werten von Gleichung (1) hergeleitet. Zuerst wird die Wahrscheinlichkeit des Auftretens des Wortes j zu Thema i als ausgedrückt. Daher wird die Wahrscheinlichkeit des Auftretens eines mit dem Thema i assoziierten bestimmten Wortes j als θiβij ausgedrückt.
-
Solch eine Wahrscheinlichkeit, dass θ
i einen bestimmten Wert annimmt, kann anhand von Gleichung (1) berechnet werden. Wird Gleichung (1) für jedes Thema von 0 bis 1 unter Verwendung von θ
i als eine Variable integriert, kann eine Wahrscheinlichkeitsverteilung in der folgenden Gleichung (2) berechnet werden. Gleichung (2) drückt eine Wahrscheinlichkeit p(w|α, β) aus, dass jedes Wort j mit einer Häufigkeit von w
n j auftritt. [Gleichg. 2]
-
j bezeichnet den Index eines in der tatsächlichen Dokumentenmenge enthaltenen Wortes, der einen Ganzzahlwert von 1 bis V annimmt. V bezeichnet die Anzahl von in der tatsächlichen Dokumentenmenge enthaltenen Worten.
-
n bezeichnet den Index eines Wortes in einem speziellen Dokument, der einen Ganzzahlwert von 1 bis N annimmt. N ist die Anzahl von in dem speziellen Dokument enthaltenen Wörtern.
-
Die Wahrscheinlichkeit p(w|α, β) dass das Wort j mit einer Häufigkeit wn j auftritt, kann anhand der tatsächlichen Dokumentenmenge observiert werden. Dementsprechend kann, wenn die Wahrscheinlichkeit p(w|α, β), dass das Wort j mit einer Häufigkeit von wn j auftritt, zum Berechnen von α und β anhand von Gleichung (2) observiert wird, die Beziehung zwischen einem Thema und einem Wort in einer Dokumentenmenge geschätzt werden. Dementsprechend werden bei IDA Parameter in dem Wahrscheinlichkeitsmodell von Gleichung (2) anhand der Häufigkeit des Auftretens eines Wortes in jedem Dokument berechnet, die anhand der tatsächlichen Dokumentenmenge gemessen wurde, um die Beziehung zwischen dem Thema und dem Wort in der Dokumentenmenge zu schätzen.
-
Als Nächstes wird ein Algorithmus zum Veranlassen eines Computers, IDA zu implementieren beschrieben.
-
In Gleichung (2) beeinflussen sowohl α als auch β die Wahrscheinlichkeit p(w|α, β) über θ. In diesem Fall ist es schwierig, den Computer zum Berechnen von α und β unter Verwendung von Gleichung (2) zu bewegen. Wenn dementsprechend α und β durch den Computer berechnet werden, werden ein Parameter γi, der die Häufigkeit des Auftretens eines Themas i in jedem Dokument und Φni, der die Häufigkeit des Auftretens eines Wortes n zu Thema i in dem Dokument ausdrückt, eingeführt.
-
Eine Wahrscheinlichkeit q wird durch die folgende Gleichung (3) definiert: [Gleichg. 3]
-
Gleichung (3) befasst sich mit θ und der Wahrscheinlichkeit γi des Auftretens eines Themas in einem Dokument unabhängig voneinander, die in Form eines einfachen Produktes ausgedrückt werden. Dies rührt daher, dass γi und Φni Parameter in jedem Dokument sind.
-
Hierbei werden Φ
ni und γ
i gemäß Darstellung in den folgenden Gleichung
(4) und Gleichung (5) definiert, um sich an Gleichung (3) bis Gleichung (2) anzunähern: [Gleichg. 4]
-
E
q[log(θ
i)|γ] in Gleichung (4) ist ein Wert, der durch Berechnen eines Erwartungswertes von log(θi) anhand der Wahrscheinlichkeit p(θ|γ) bezogen wird. Genauer gesagt wird E
q[log(θ
i)|γ] durch Verwendung von γ
i gemäß Darstellung in der
folgenden Gleichung (6) ausgedrückt. Hierbei ist zu beachten, dass Ψ(x) eine erste Ableitung einer Gammafunktion ist (⌈(x)). [Gleichg. 5]
-
Wenn die IDA-Prozesse durch den Computer implementiert werden, verwendet der Computer die vorstehenden Gleichungen zum Ausführen des Programmcodes wie in 8 an jedem Dokument. Im Folgenden wird der Programmcode in 8 beschrieben.
-
Die erste Codezeile gibt an, dass Φni auf 1/k für alle l und n initialisiert wird. Hierbei ist zu beachten, dass das Superscript von Φ die Anzahl von Wiederholungen von der dritten bis zu neunten Codezeile anzeigt, was bei der Initialisierung Null beträgt.
-
Die zweite Codezeile gibt an, dass γi auf αi + N/k für alle i initialisiert wird. Hierbei ist zu beachten, dass das Superscript von y die Anzahl von Wiederholungen von der dritten bis zu neunten Codezeile anzeigt, was bei der Initialisierung Null beträgt.
-
Die dritte und neunte Codezeile gibt an, dass die vierte bis achte Codezeile wiederholt so lange ausgeführt werden, bis γi t zu einem bestimmten Wert für alle i konvergiert. Hierbei ist zu beachten, dass das Superscript t von γ die Anzahl von Wiederholungen von der dritten bis zu neunten Codezeile anzeigt, was bei der Initialisierung Null beträgt.
-
Die vierte Codezeile gibt an, dass die fünfte bis achte Codezeile N mal ausgeführt werden und der Wert von n immer um Eins von 1 bis N erhöht wird.
-
Die fünfte Codezeile gibt an, dass die sechste bis siebte Codezeile k mal ausgeführt werden und der Wert von i immer um Eins von 1 bis k erhöht wird.
-
Die sechste Codezeile gibt an, dass Φni t+1 durch βiwnexp(Ψ(γi t)) ersetzt wird. Hierbei ist zu beachten, dass das Superscript t von Φ die Anzahl von Loops der dritten bis neunten Codezeile anzeigt. Des Weiteren bezeichnet t + 1 die Anzahl von Loops in der nächsten Schleifenverarbeitung.
-
Die siebente Codezeile gibt an, dass Φni t+1 so für jedes n normalisiert wird, dass der Gesamtwert von Φni t+1 für alle i „1” sein wird.
-
Die achte Codezeile gibt an, dass γ
i t+1 durch einen Wert in der folgenden Gleichung (7) ersetzt wird. [Gleichg. 6]
-
Der Computer führt die vorstehende erste bis neunte Codezeile jeweils an jedem einer Vielzahl von Dokumenten aus. Anschließend aktualisiert der Computer α und β anhand der berechneten γi und Φni jedes Mal, wenn die Ausführung des Programmcodes wie der in 8 für jedes Dokument abgeschlossen ist.
-
Genauer gesagt aktualisiert der Computer gemäß der folgenden Gleichung (8) jedes Mal, wenn die Ausführung des Programmcodes für jedes Dokument abgeschlossen wird. [Gleichg. 7]
-
d bezeichnet den Index eines Dokumentes, der einen Ganzzahlwert von 1 bis M annimmt. M bezeichnet die Anzahl von in der Dokumentenmenge enthaltenen Dokumenten. Des Weiteren drückt das Superscript-Sternchen von Φ die Anzahl von Wiederholungen der Verarbeitung für ein Dokument so lange aus, bis γdni zu einem bestimmten Wert konvergiert. Mit anderen Worten drückt βij in Gleichung (8) aus, dass ein Wert, der durch Multiplizieren der Wahrscheinlichkeit des Auftretens eines Wortes zu jedem Thema in jedem Dokument mit der Häufigkeit des Auftretens des Wortes in dem Dokument erhalten wird, proportional zu einem Wert als ein Ergebnis des Aufaddierens von Werten für alle Dokumente ist.
-
Anschließend gibt nach Abschluss der Verarbeitung für alle Dokumente der Computer schließlich das erhaltene als eine Parametermatrix aus, die die Wahrscheinlichkeit des Auftretens eines Wortes j zu einem bestimmten Thema i in der Dokumentenmenge ausdrückt.
-
In der Clustering-Vorrichtung 10 gemäß der Ausführungsform führt der erste Parameter-Erzeugungsabschnitt 28 den in 8 dargestellten Programmcode aus. Des Weiteren verwendet in der Clustering-Vorrichtung 10 gemäß der Ausführungsform der zweite Parameter-Erzeugungsabschnitt 30 als die erste und zweite Codezeile in dem in 8 dargestellten Programmcode αi und βij, die von dem ersten Parameter-Erzeugungsabschnitt 28 erzeugt wurden, zum Initialisieren von γi 0 und Φni 0. Auf diese Weise kann die Clustering-Vorrichtung 10 gemäß der Ausführungsform die Anzahl von Loops (Schleifendurchläufen) von der dritten bis zur neunten Zeile zum Verringern der Rechenkosten reduzieren.
-
9 ist ein Blockschaubild, das ein Beispiel der Hardware-Konfiguration eines Computers 1900 gemäß der Ausführungsform darstellt. Der Computer 1900 gemäß der Ausführungsform weist auf: einen CPU-Peripherieabschnitt mit einer CPU 2000, einem RAM 2020 und einem Grafik-Controller 2075, die durch einen Host-Controller 2082 verbunden sind, und einer Anzeigeeinheit 2080; einen Eingabe/Ausgabe-Abschnitt mit einer Kommunikationsschnittstelle 2030, ein Festplattenlaufwerk 2040 und ein CD-ROM-Laufwerk 2060, die durch einen Eingabe/Ausgabe-Controller 2084 mit dem Host-Controller 2082 verbunden sind; und einen Legacy-Eingabe/Ausgabe-Abschnitt mit einem ROM 2010, einem Diskettenlaufwerk 2050 und einem Eingabe/Ausgabe-Chip 2070, die mit dem Eingabe/Ausgabe-Controller 2084 verbunden sind.
-
Der Host-Controller 2082 verbindet den RAM 2020 mit der CPU 2000 und dem Grafik-Controller 2075, die bei einer hohen Übertragungsrate auf den RAM 2020 zugreifen. Die CPU 2000 arbeitet auf der Grundlage von Programmen, die in dem ROM 2010 und dem RAM 2020 gespeichert sind, um jeden Abschnitt zu steuern. Der Grafik-Controller 2075 bezieht von der CPU 2000 und Ähnlichem an einem in dem RAM 2020 bereitgestellten Frame-Buffer erzeugte Bilddaten und zeigt die Bilddaten an der Anzeigeeinheit 2080 an. Dafür kann der Grafik-Controller 2075 intern den Frame-Buffer zum Speichern von durch die CPU 2000 und Ähnlichem erzeugten Bilddaten aufweisen.
-
Der Eingabe/Ausgabe-Controller 2084 verbindet den Host-Controller 2082 mit der Kommunikationsschnittstelle 2030, dem Festplattenlaufwerk 2040 und dem CD-ROM-Laufwerk 2060 als Einheiten mit relativ hoher Eingabe-/Ausgabe-Geschwindigkeit. Die Kommunikationsschnittstelle 2030 kommuniziert mit anderen Einheiten über ein Netzwerk. Das Festplattenlaufwerk 2040 speichert Programme und Daten, die von der CPU 2000 in dem Computer 1900 verwendet werden. Das CD-ROM-Laufwerk 2060 liest ein Programm und Daten von einer CD-ROM 2095, um diese über den RAM 2020 dem Festplattenlaufwerk 2040 bereitzustellen.
-
Des Weiteren sind Einheiten mit relativ geringer Eingabe-/Ausgabe-Geschwindigkeit mit dem Eingabe/Ausgabe-Controller 2084 verbunden, und zwar der ROM 2010, das Diskettenlaufwerk 2050 und der Eingabe/Ausgabe-Chip 2070. Der ROM 2010 speichert ein Boot-Programm, das durch den Computer 1900 beim Hochfahren ausgeführt wird und/oder Programme oder Ähnliches je nach der Hardware des Computers 1900. Das Diskettenlaufwerk 2050 liest ein Programm oder Daten von einer Diskette 2090, um diese über den RAM 2020 dem Festplattenlaufwerk 2040 bereitzustellen. Der Eingabe/Ausgabe-Chip 2070 verbindet nicht nur das Diskettenlaufwerk 2050 mit dem Eingabe/Ausgabe-Controller 2084, sondern auch verschiedene E/A-Einheiten mit dem Eingabe/Ausgabe-Controller 2084 über beispielsweise einen Parallelanschluss, einen seriellen Anschluss, einen Tastaturanschluss, einen Mausanschluss und Ähnliches.
-
Ein dem Festplattenlaufwerk 2040 über den RAM 2020 bereitgestelltes Programm wird auf einem Aufzeichnungsmedium wie beispielsweise der Diskette 2090, der CD-ROM 2095 oder einer IC-Karte gespeichert und dem Nutzer bereitgestellt. Das Programm wird von dem Aufzeichnungsmedium gelesen, in dem Festplattenlaufwerk 2040 in dem Computer 1900 über den RAM 2020 installiert und von der CPU 2000 ausgeführt.
-
Zu den auf dem Computer 1900 installierten Programmen zum Veranlassen des Computers 1900 zum Fungieren als eine Clustering-Vorrichtung 10 gehören ein Dokument-Bezugsmodul, ein Auswahlmodul, ein Beispielspeichermodul, ein erstes Parameter-Erzeugungsmodul, ein zweites Parameter-Erzeugungsmodul und ein Clustering-Modul. Diese Programme oder Module arbeiten in der CPU 2000 und Ähnlichem, um den Computer 1900 zu veranlassen, jeweils als der Dokument-Bezugsabschnitt 22, der Auswahlabschnitt 24, der Beispielspeicherabschnitt 26, der erste Parameter-Erzeugungsabschnitt 28, der zweite Parameter-Erzeugungsabschnitt 30 und der Clustering-Abschnitt 32 zu fungieren.
-
Die in diesen Programmen beschriebene Datenverarbeitung wird in den Computer 1900 eingelesen, so dass er als spezielles Mittel fungiert, das von Software in Kooperation mit den vorstehend erwähnten verschiedenen Hardware-Ressourcen, und zwar dem Dokument-Bezugsabschnitt 22, den Auswahlabschnitt 24, dem Beispielspeicherabschnitt 26, dem ersten Parameter-Erzeugungsabschnitt 28, dem zweiten Parameter-Erzeugungsabschnitt 30 und dem Clustering-Abschnitt 32 implementiert wird. Anschließend werden Daten je nach der beabsichtigten Nutzung des Computers 1900 in der Ausführungsform durch diese speziellen Mittel berechnet oder verarbeitet, womit eine spezielle Clustering-Vorrichtung 10 gemäß der beabsichtigten Nutzung geschaffen wird.
-
Wenn beispielsweise der Computer 1900 mit einer externen Einheit oder Ähnlichem kommuniziert, führt die CPU ein auf den RAM 2020 geladenes Kommunikationsprogramm aus, um die Kommunikationsschnittstelle 2030 zum Durchführen von Kommunikationsverarbeitung auf der Grundlage des in dem Kommunikationsprogramm enthaltenen Verarbeitungsinhalts zu veranlassen. Unter der Steuerung der CPU 2000 liest die Kommunikationsschnittstelle 2030 in einem in einer Speichereinheit bereitgestellten Pufferspeicherplatz oder Ähnlichem wie beispielsweise dem RAM 2020, dem Festplattenlaufwerk 2040, der Diskette 2090 oder der CD-ROM 2095 gespeicherte Sendedaten, um die Sendedaten an ein Netzwerk zu senden, oder sie schreibt Empfangsdaten, die von dem Netzwerk empfangen werden, in einen in der Speichereinheit bereitgestellten Empfangspufferraum. Auf diese Weise kann die Kommunikationsschnittstelle 2030 mit der Speichereinheit über DMA(Direct Memory Access)-Verfahren ausgetauschte Daten übertragen. Stattdessen kann die CPU 2000 Daten von der Speichereinheit oder der Kommunikationsschnittstelle 2030 als eine Quelle lesen und die Daten an die Kommunikationsschnittstelle 2030 oder die Speichereinheit als ein Ziel schreiben und so die zu sendenden oder empfangenden Daten zu übertragen.
-
Des Weiteren liest die CPU 2000 alle oder erforderliche Teile von Dateien oder Datenbanken, die in einer externen Speichereinheit wie beispielswiese dem Festplattenlaufwerk 2040, dem CD-ROM-Laufwerk 2060 (CD-ROM 2095) oder dem Diskettenlaufwerk 2050 (Diskette 2090) gespeichert sind, mittels DMA-Übertragung oder Ähnlichem in den RAM 2020, um verschiedenartige Verarbeitung an den Daten in dem RAM 2020 durchzuführen. Anschließend speichert die CPU 2000 die verarbeiteten Daten zurück in die externe Speichereinheit mittels DMA-Übertragung oder Ähnlichem. Bei solch einer Verarbeitung kann der RAM 2020 als ein temporärer Speicher des Inhaltes der externen Speichereinheit erachtet werden. Dementsprechend werden in der Ausführungsform der RAM 2020, die externe Speichereinheit und Ähnliches in ihrer Gesamtheit als Arbeitsspeicher, Speicherabschnitt, Speichereinheit und Ähnliches bezeichnet. Verschiedene Programme in der Ausführungsform und verschiedene Arten von Informationen, wie Daten, Tabellen und Datenbanken, sind in solchen Speichereinheiten als Ziele der Datenverarbeitung gespeichert. Hierbei ist zu beachten, dass die CPU 2000 einen Teil des Inhaltes des RAM 2020 in dem Cachespeicher zum Durchführen von Lese- und Schreibvorgängen auf dem Cachespeicher halten kann. Selbst in solch einer Form sollte der Cachespeicher, da der Cachespeicher als Teil der Funktion des RAM 2020 dient, in dem RAM 2020, dem Arbeitsspeicher und/oder der Speichereinheit in der Ausführungsform mit Ausnahme von Fällen enthalten sein, in dem der Cachespeicher von anderen unterschieden werden sollte.
-
Des Weiteren führt die CPU 2000 verschiedenartige Verarbeitung an den von dem RAM 2020 gelesenen Daten gemäß einer Spezifizierung in einer Sequenz von Anweisungen eines Programms wie beispielsweise in der Ausführungsform beschriebenen arithmetischen Operationen, Datenverarbeitung, konditionellen Festlegungen und Datenverarbeitung zum Suchen und Ersetzen von Daten durch und speichert die verarbeiteten Daten zurück in den RAM 2020. Wenn beispielsweise eine konditionelle Festlegung getroffen wird, vergleicht die CPU 2000 jegliche von verschiedenen in der Ausführungsform dargestellten Variablen mit jeder beliebigen anderen Variablen oder Konstanten, um zu ermitteln, ob sie eine Bedingung wie beispielsweise größer, kleiner, mindestens, höchstens oder gleich erfüllt, und, wenn die Bedingung erfüllt wird (oder nicht erfüllt wird), verzweigt die Vorgehensweise zu einer anderen Anweisung oder ruft ein Unterprogramm auf.
-
Des Weiteren kann die CPU 2000 in einer Datei oder einer Datenbank gespeicherte Daten in der Speichereinheit speichern. Wenn beispielsweise eine Vielzahl von Einträgen in der Speichereinheit auf eine Weise gespeichert wird, dass der Attributwert eines zweiten Attributes mit dem Attributwert eines ersten Attributes assoziiert wird, ruft die CPU 2000 aus der Vielzahl von in der Speichereinheit gespeicherten Einträgen einen Eintrag auf, bei dem der Attributwert des ersten Attributes mit einer spezifizierten Bedingung zum Lesen des Attributwertes des zweiten in dem Eintrag gespeicherten Attributwertes übereinstimmt, so dass der Attributwert des zweiten mit dem ersten Attribut assoziierten Attributes, der mit einer vorab festgelegten Bedingung übereinstimmt, erhalten werden kann.
-
Die vorstehend beschriebenen Programme oder Module können auf einem externen Aufzeichnungsmedium gespeichert werden. Als Aufzeichnungsmedium können ein optisches Aufzeichnungsmedium wie beispielsweise eine DVD oder eine CD, ein magnetoptisches Aufzeichnungsmedium wie beispielsweise MO, ein Bandmedium und ein Halbleiterspeicher wie beispielsweise eine IC-Karte zusätzlich zu der Diskette 2090 und der CD-ROM 2095 verwendet werden. Des Weiteren können eine Speichereinheit wie beispielsweise eine Festplatte oder ein RAM, die in einem mit einem privaten Kommunikationsnetzwerk oder dem Internet verbundenen Serversystem bereitgestellt werden, ebenfalls als Aufzeichnungsmedium verwendet werden, um dem Computer 1900 über das Netzwerk ein Programm bereitzustellen.
-
Obgleich die vorliegende Erfindung in Bezug auf eine bevorzugte Ausführungsform beschrieben wurde, ist der technische Schutzumfang der vorliegenden Erfindung nicht auf die Beschreibung der vorstehenden Ausführungsform beschränkt. Den Fachleuten ist ersichtlich, dass an der vorstehenden Ausführungsform verschiedene Änderungen und Modifizierungen vorgenommen werden können. Anhand der angehängten Ansprüche ist ersichtlich, dass Formen, an denen solche Änderungen oder Hinzufügungen vorgenommen wurden, in den technischen Schutzumfang der vorliegenden Erfindung einbezogen werden.
-
Die in den angehängten Ansprüchen und der Beschreibung beschriebenen und in den begleitenden Zeichnungen dargestellten Operationen, die Vorgehensweise, die Schritte und die Ausführungssequenz von Prozessen wie beispielsweise Schritte in der Vorrichtung, dem System, dem Programm und dem Verfahren werden nicht wirklich als „vor”, „vorab” oder Ähnliches spezifiziert. Hierbei sollte beachtet werden, dass die Operationen und Ähnliches in jeder beliebigen Reihenfolge wiedergegeben werden, es sei denn, die Ausgabe des vorherigen Prozesses wird in dem sich daran anschließenden Prozess verwendet. In den angehängten Ansprüchen, der Beschreibung und den Operationsabläufen in den Zeichnungen werden „erster”, „nächster” und Ähnliches lediglich der Einfachheit halber verwendet, dies bedeutet jedoch nicht, dass die Operationen und Ähnliches in dieser Reihenfolge ausgeführt werden müssen.
-
Bezugszeichenliste
-
- 10
- Clustering-Vorrichtung
- 22
- Dokument-Bezugsabschnitt
- 24
- Auswahlabschnitt
- 26
- Beispielspeicherabschnitt
- 28
- Erster Parameter-Erzeugungsabschnitt
- 30
- Zweiter Parameter-Erzeugungsabschnitt
- 32
- Clustering-Abschnitt
- 40
- Unterteilungsabschnitt
- 42
- Gruppenspeicherabschnitt
- 52
- Vor-Clustering-Abschnitt
- 54
- Pre-Cluster-Speicherabschnitt
- 56
- Zuweisungsabschnitt
- 60
- Elementparameter-Erzeugungsabschnitt
- 62
- Syntheseabschnitt
- 70
- Einstellabschnitt
- 1900
- Computer
- 2000
- CPU
- 2010
- ROM
- 2020
- RAM
- 2030
- Kommunikationsschnittstelle
- 2040
- Festplattenlaufwerk
- 2050
- Diskettenlaufwerk
- 2060
- CD-ROM-Laufwerk
- 2070
- Eingabe/Ausgabe-Chip
- 2075
- Grafik-Controller
- 2080
- Anzeigeeinheit
- 2082
- Host-Controller
- 2084
- Eingabe/Ausgabe-Controller
- 2090
- Diskette
- 2095
- CD-ROM