-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf eine Suchvorrichtung und ein Suchprogramm zum Suchen des Namens eines Suchziels anhand von Indices, die vorher erzeugt wurden.
-
Hintergrund der Erfindung
-
Wenn eine Volltextsuche durchgeführt wird, kann eine herkömmliche Suchvorrichtung ein großes Volumen von Indices erzeugen, mit denen ein Name, der ein Suchziel ist, vorher von teilweisen Zeichenreihen in Bezug genommen werden kann, die den Namen bilden durch Verwendung einer Menge von Dokumentendaten, um eine Teilübereinstimmungssuche bei dem großen Volumen von Indices mit einer hohen Geschwindigkeit durchzuführen. Ein Wort oder ein N-Zeichengramm wird als die kleinste zu suchende Einheit verwendet. Wenn Wörter als Sucheinheiten definiert sind, während Suchergebnisse, die linguistisch angemessen sind, als zu erfassen erwartet werden können, findet eine Suchunterlassung statt, wenn ein Fehler in einer früheren Sprachanalyse auftritt. Weiterhin kann eine derartige herkömmliche Suchvorrichtung keine Suche in Einheiten eines Elements, dass kürzer als ein Wort ist, durchführen. Weiterhin besteht, wenn N-Zeichengramme als Sucheinheiten definiert sind, während keine Suchunterlassung auftritt, eine Möglichkeit, dass Kandidaten für den Namen, die jeweils Trennzeichen haben, die linguistisch nicht angemessen sind, unerwartet auftreten. Beispielsweise ist es möglich, obgleich es unmöglich ist, ein Worttrennzeichen, dass
der Schrägstrich zeigt ein Trennzeichen) in Entsprechung mit dem folgenden Wort:
zu bringen, die folgenden Zeichen:
durch eine Übereinstimmungsteilsuche in Entsprechung mit Zeichentrennzeichen zu bringen, die
anzeigen. Daher ist, obgleich
nicht in Suchergebnissen enthalten ist, wenn eine Suche nach
auf einer Wort-für-Wort-Basis durchgeführt wird,
in Suchergebnissen enthalten, wenn eine Suche nach
auf einer Zeichen-für-Zeichen-Basis durchgeführt wird, und dieses Suchergebnisse hat keine linguistische Gültigkeit.
-
Um dieses Problem zu lösen, ist eine derartige herkömmliche Suchvorrichtung so ausgebildet, dass sie in der Lage ist, eine Suche auf einer Wort-für-Wort-Basis und auf einer Zeichen-für-Zeichen-Basis durchzuführen. Ein Problem besteht jedoch darin, dass die Zeit, die erforderlich ist zum Erzeugen von Indices, und die Suchzeit, die zum Durchführen einer Suche erforderlich ist, verlängert wird auf die Summe der Zeit, die erforderlich ist zum Erzeugen von Indices für eine Suche auf einer Wort-für-Wort-Basis, und die Summe der Zeit, die erforderlich ist zum Erzeugen von Indices für eine Suche auf einer Zeichen-für-Zeichen-Basis und die Summe der Suchzeit, die erforderlich ist zum Durchführen einer Suche auf einer Wort-für-Wort-Basis, und der Suchzeit, die erforderlich ist zum Durchführen einer Suche auf einer Zeichen-für-Zeichen-Basis. Im Gegensatz hierzu fügt eine Informationssuchvorrichtung, die in dem Patentdokument 1 offenbart ist, Wortinformationen zu jedem Index, der eine Zeicheneinheit ist, hinzu und führt eine Suche auf einer Wort-für-Wort-Basis und auf einer Zeichen-für-Zeichen-Basis in einer komplexen Weise durch, wodurch eine Verlängerung der Verarbeitungszeit unterdrückt wird.
-
Weiterhin ist, wenn ein Name gesetzt wird, den ein Benutzer als einen Suchbegriff geäußert hat, und einen Namenssuche nach Namen, von denen jeder teilweise mit einem Index übereinstimmt, beispielsweise eine Fuzzy-Übereinstimmungs-Suchtechnik nützlich, da der von dem Benutzer geäußerte Name nicht immer teilweise mit einem Index übereinstimmt. Die Patentdokumente 2 und 3 schlagen Fuzzy-Übereinstimmungs-Suchtechniken vor, die Indices für Volltextsuche verwenden. Eine Zeichenreihen-Suchvorrichtung, die durch das Patentdokument 2 offenbart wird, teilt einen Suchbegriff in N-Zeichengramme, sucht durch die Indices nach einem Namen, der teilweise mit jedem der N-Zeichengramme übereinstimmt, und gibt den Namen enthaltend die größte Anzahl von N-Zeichengrammen, von denen jedes teilweise mit dem Suchbegriff übereinstimmt, als ein Suchergebnis aus. Weiterhin zählt eine durch das Patentdokument 3 offenbarte Textsuchvorrichtung die Anzahl von Zeichen in jedem Index, von denen jedes an der selben Position wie das selbe Zeichen in einem Suchbegriff oder an einer Position, die in einen vorbestimmten Bereich von der Position desselben Zeichens aus fällt, erscheint, um den Grad der Ähnlichkeit jedes Index zu berechnen, und gibt den Namen mit dem höchsten Grad von Ähnlichkeit als ein Suchergebnis aus.
-
Dokumente nach dem Stand der Technik
-
Patentdokumente
-
- Patentdokument 1: JP 3636941
- Patentdokument 2: JP 3665112
- Patentdokument 3: JP 3715672
-
Zusammenfassung der Erfindung
-
Daher herkömmliche Suchvorrichtungen wie vorbeschrieben ausgebildet sind, besteht ein Problem mit einer Fuzzy-Übereinstimmungssuche bei einer Volltext-Suchvorrichtung, die Indices verwendet, darin, dass ein unerwarteter Fehler leicht auftritt und der Grad der Suchgenauigkeit niedrig ist, weil verschiedene Vergleiche zulässig sind. Insbesondere ist, wenn eine Suche auf der Basis eines Suchausdrucks durchgeführt wird, der nahe eines Sprachausdrucks auf der Grundlage von Sucheinheiten ist, wie japanischen Kana-Zeichen (etwa 100 Zeichen) oder englischen phonemischen Symbolen (etwa 40 phonemische Symbole), die Zunahme der Anzahl von Kandidaten bemerkenswert, da die Anzahl von Zeichen oder Symbolen klein ist im Vergleich mit der Anzahl von Wörtern und der Anzahl von chinesischen Zeichen, und ein höherer Grad von Unschärfe wird erhalten. Jedoch tritt in einem Fall, in welchem Indices, die Worteinheiten sind, erzeugt werden, eine Suchunterlassung auf, wenn ein Analysefehler zu der Zeit der Erzeugung der Indices auftritt, wie vorstehend erwähnt ist, während eine Möglichkeit besteht, dass der Suchausdruck zu der Zeit der Durchführung einer Suche fehlerhaft in Wörter geteilt wird. Weiterhin kann eine derartige auf den Indices basierende Technik nicht eine Paraphrase stützen, die häufig im Japanischen gesehen wird und die ein degeneriertes Wort ist
das eine Abkürzung von
ist). Ein weiteres Problem besteht darin, dass in einem Fall, in welchem der Suchausdruck aus Sprachdaten besteht, selbst wenn eine Spracherkennung bei nur einem Zeichen fehlerhaft durchgeführt wird, die Erfassung des Wortes fehlschlägt und ein Kandidat, der in der Ähnlichkeit sehr weit von dem ursprünglichen Suchausdruck entfernt ist, ausgewählt wird.
-
Die vorliegende Erfindung wurde gemacht, um die vorbeschriebene Probleme zu lösen, und es ist daher eine Aufgabe der vorliegende Erfindung, eine Suchvorrichtung und ein Suchprogramm vorzusehen, die eine hochgenaue Fuzzy-Übereinstimmungssuche implementieren, in dem eine Suche nach einer Eingangszeichenreihe, die ein Suchziel ist, durchgeführt wird auf der Grundlage von minimalen Einheiten, während die auf längeren Einheiten basierende linguistische Gültigkeit berücksichtigt wird.
-
Gemäß der vorliegenden Erfindung ist eine Suchvorrichtung vorgesehen, welche enthält: eine Namenanalyseinheit zum Teilen von Namendaten, die aus einer Zeichenreihe bestehen, in mehrere Datenstücke in zumindest einem Typ von Einheiten, um Grenzinformationen zu erzeugen, die einen Anfang und ein Ende von jedem der vorgenannten mehreren Datenstücke zeigen; eine Anfangs- und Endinformations-Hinzufügungseinheit zum Herausziehen von Teilzeichenreihen, die die Namendaten bilden, um die Teilzeichenreihen als Eingaben zu definieren und zum Hinzufügen von Positionsinformationen über eine Position von jeder der Eingaben in den Namendaten und der Grenzinformationen der Datenstücke, die in der vorgenannten Eingabe enthalten sind, zu dieser Eingabe; und eine Teilzeichenreihenindex-Erzeugungseinheit zum Sortieren von Ausgangsergebnissen der Anfangs- und Endinformations-Hinzufügungseinheit in der Reihenfolge der Eingaben, um Indices zu erzeugen.
-
Weiterhin ist gemäß der vorliegenden Erfindung ein Suchprogramm vorgesehen, um zu bewirken, dass ein Computer arbeitet als: eine Namenanalyseeinheit zum Teilen von Namendaten, die aus einer Zeichenreihe bestehen, in mehrere Datenstücke in zumindest einem Typ von Einheiten, um Grenzinformationen zu erzeugen, die einen Anfang und eine Ende von jedem der vorgenannten mehreren Datenstücke zeigen; eine Anfangs- und Endinformations-Hinzufügungseinheit zum Herausziehen von Teilzeichenreihen, die die Namendaten bilden, um die Teilzeichenreihen als Eingaben zu definieren, und zum Hinzufügen von Positionsinformationen über eine Position von jeder der vorgenannten Eingaben in den Namendaten und der Grenzinformationen der in der vorgenannten Eingabe enthaltenen Datenstücke zu dieser Eingabe; und eine Teilzeichenreihenindex-Erzeugungseinheit zum Sortieren von Ausgangsergebnissen der Anfangs- und Endinformations-Hinzufügungseinheit in der Reihenfolge der Eingaben, um Indices zu erzeugen.
-
Gemäß der vorliegenden Erfindung kann, da Namendaten, die aus einer Zeichenreihe bestehen, in mehrere Datenstücke in zumindest einem Typ von Einheiten geteilt werden, um Grenzinformationen zu erzeugen, die einen Anfang und ein Ende von jedem der mehreren Datenstücke zeigen, und Positionsinformationen über die Position von jeder der Eingaben in den Namendaten und die Grenzinformationen der Datenstücke, die in der vorgenannten Eingabe enthalten sind, zu der Eingabe hinzugefügt werden, um Indices zu erzeugen, während eine Suche nach einer Eingangszeichenreihe, die ein Suchziel ist, auf einer pro minimum-Einheitbasis durchgeführt wird, die auf längeren Einheiten basierende linguistische Gültigkeit auch berücksichtigt werden. Als eine Folge kann eine hochgenaue Fuzzy-Übereinstimmungssuche implementiert werden.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein funktionelles Blockschaltbild, dass die Struktur einer Suchvorrichtung gemäß dem Ausführungsbeispiel 1 der vorliegenden Erfindung zeigt;
-
2 ist ein funktionelles Blockschaltbild, dass die interne Struktur einer in 1 gezeigten Index-Erzeugungseinheit zeigt;
-
3 ist eine Ansicht, die ein Beispiel für Suchzieldaten zeigt;
-
4 ist eine Ansicht, die ein Beispiel für Suchzieldaten zeigt, die jeweils in geschriebene Wörter geteilt sind;
-
5 ist eine Ansicht, die ein Beispiel für Suchzieldaten zeigt, die jeweils in geschriebene Zeichen geteilt sind;
-
6 ist eine Ansicht, die ein Beispiel für eine Tabelle zeigt, die durch eine Anfangs- und Endinformations-Hinzufügungseinheit erzeugt ist;
-
7 ist eine Ansicht, die ein Beispiel für eine Liste (einen Namens-ID, eine Position, und Anfangs- und Endergebnisse), die durch eine Teilzeichenreihenindex-Erzeugungseinheit erzeugt wird;
-
8 ist ein funktionelles Blockschaltbild, dass die innere Struktur einer Sucheinheit zeigt;
-
9 ist ein Flussdiagramm, dass die Arbeitsweise der Sucheinheit erläutert; und
-
10 ist eine Ansicht, dass ein Beispiel für eine Vergleichsergebnistabelle zeigt.
-
Ausführungsbeispiele der Erfindung
-
Nachfolgend werden, um diese Erfindung im Einzelnen zu erläutern, die bevorzugten Ausführungsbeispiele der vorliegenden Erfindung mit Bezug auf die begleitenden Zeichnungen beschrieben.
-
Ausführungsbeispiel 1
-
Eine in 1 gezeigte Suchvorrichtung ist versehen mit einer Indexerzeugungseinheit 20 zum vorhergehenden Erzeugen von Indices anhand von Suchzieldaten 10, einer Indexspeichereinheit 30 zum Speicher der Indices und einer Sucheinheit 40 zum Vergleichen von in diese eingegebenen Eingangsdaten (einer Eingangszeichenreihe) als Daten für die Suche mit den Indices, um Kandidaten, die den Eingangsdaten ähnlich sind, zu erfassen. Die innere Struktur der Indexerzeugungseinheit 20 ist in 2 gezeigt, und die innere Struktur der Sucheinheit 40 ist in 8 gezeigt. Diese Suchvorrichtung wird verwendet zum Durchführen einer Suche durch eine Menge von Kandidaten für den Namen auf der Grundlage einer Lesezeichenreihe, um Kandidaten mit einem hohen Gültigkeitsgrad aus teilweise übereinstimmenden Kandidaten enthaltend einen Kandidaten mit einer verschiedenen Wortreihenfolge und einen Kandidaten mit einer teilweisen Unterlassung zu erfassen.
-
Die Suchzieldaten 10 sind Namendaten über die Namen von Suchzielen und dienen als eine Grundlage für die Indices. Die jeweiligen Namendaten enthalten zumindest eine Lesung, die eine mit den Eingangsdaten zu vergleichende Zeichenreihe ist, und einen Namens-ID zum Identifizieren dieser Namendaten. Bei einem in 3 gezeigten Beispiel der Suchzieldaten 10 bestehen die jeweiligen Namendaten aus einem Namens-ID, einem Schreiben und einem Lesen.
-
Einen Namensanalyseeinheit 21 in den in 2 gezeigten Indexerzeugungseinheiten 20 liest die Information über die Suchzieldaten 10 und teilt die Zeichenreihe, die die jeweiligen Namendaten bildet, in mehrere Datenstücke in einem oder mehr Typen von linguistischen Einheiten, während auf Wörterbuchinformationen Bezug genommen wird. Als konkrete linguistische Einheit sind beispielsweise in dem Fall von Japanisch Wort(Morphem)-Einheiten und Zeicheneinheiten, die jeweils einem Schreiben eines Zeichens entsprechen, vorgesehen. Bei diesem Ausführungsbeispiel analysiert die Namensanalyseeinheit die Zeichenreihe in den zwei Typen von linguistischen Einheiten, die eine Kombination von Worteinheiten und Zeicheneinheiten sind. Der Grund, weshalb die Namensanalyseeinheit die Zeichenreihe in den zwei Typen von linguistischen Einheiten analysiert, liegt darin, dass die Grade der Analysegenauigkeit sowohl in Worteinheiten als auch in Zeicheneinheiten einander unterschiedlich sind und die Empfänglichkeit für jede Paraphrase vorgesehen ist, die in einer Schritt-für-Schritt-Weise erfasst wird. Es besteht eine Möglichkeit, dass, währen die Analyse der Zeichenreihe auf einer Wort-für-Wort-Basis einen starken linguistischen Zwang hat, das Analyseergebnis einen Analysefehler enthält, und es besteht auch eine Möglichkeit, dass die Analyse nicht eine Paraphrase handhaben kann, deren Länge kürzer als Wörter ist. Die Analyse der Zeichenreihe auf einer Zeichen-für-Zeichen-Basis hat einen hohen Grad von Analysegenauigkeit. Weiterhin sind in den meisten Fällen Zeichen die minimale Einheit von Pharaphrasen. In dem Wörterbuch werden Zeichen, Wörter und ihre Lesung sowie Anzeigewerte, die jeweils zum korrekten Hinzufügen eines Trennungszeichens verwendet werden und jeweils den Grad des Erscheinens von entweder einem Zeichen oder Wort selbst oder einem Zeichen oder Wort, das mit einem anderen Zeichen oder Wort übereinstimmt, zeigen, gespeichert. Diese Anzeigewerte werden statistisch in einer solchen Weise gelernt, dass ein Ergebnis, des die Summe von Anzeigewerten ist, einen großen Wert für korrekte Trennzeichen auf der Basis eines großen Volumens von Textdaten enthaltend Informationen über die korrekten Trennzeichen hat.
-
Die Namensanalyseeinheit 21 gibt die Lesungen von Wörtern, in die die Eingangszeichenreihe geteilt ist, und das Ergebnis dieser Teilung sowie die Lesungen von Zeichen, in die die Eingangszeichenreihe geteilt ist, und das Ergebnis dieser Teilung als ein Analyseergebnis aus, während auf die Wörterbuchinformationen Bezug genommen wird. Das Hinzufügen von Trennzeichen wird in einer solchen Weise durchgeführt, dass ein Ergebnis zu der Zeit der Verwendung jedes beliebigen Trennverfahrens berechnet wird auf der Grundlage von aus dem Wörterbuch gelesenen Anzeigewerten, und ein Satz von Trennzeichen, der das größte Ergebnis liefert, wird bestimmt. Ein Beispiel für Suchzieldaten 10, die jeweils ein in Wörter geteiltes Schreiben haben, ist in 4 gezeigt, und ein Beispiel für Suchzieldaten 10, die jeweils ein in Zeichen geteilte Schreiben haben, ist in 5 gezeigt. In den 4 und 5 zeigt jeder Schrägstrich (Schrägstrich) ein Trennzeichen.
-
Eine Anfangs- und Endinformations-Hinzufügungseinheit
22 zersetzt das durch die Namensanalyseeinheit
21 erhaltene Analyseergebnis in Teilzeichenreihen (Eingaben), die als Indices zu speichern sind, und erzeugt eine Tabelle, die aus der Position jeder Eingabe, die in dem Namen der Teilzeichenreihe erscheint, und dem Wortanfangspunkt, dem Wortendpunkt, dem Zeichenanfangspunkt und dem Zeichenendpunkt jeder Eingabe in dem Analyseergebnis besteht. Ein Beispiel für die durch die Anfangs- und Endinformations-Hinzufügungseinheit
22 erzeugte Tabelle ist in
6 gezeigt. In diesem Beispiel ist jede Eingabe mit einer Lesung (jeder Lesung in der Figur) ein Bigramm, das eine Einheit von Moras ist. Ein Mora ist eine Einheit entsprechend einem Haku im Japanischen. In einer Eingabe mit einem Anfangspunkt „1” zeigt dieser Anfangspunkt, dass eine Grenze zwischen Wörtern oder Zeichen bei einem Zeichen vor dem Lesen dieser Eingabe vorhanden ist. In einer Eingabe mit einem Endpunkt „1” zeigt dieser Endpunkt, dass eine Grenze zwischen Wörtern oder Zeichen bei zwei Zeichen nach dem Lesen dieser Eingabe ist. Beispielsweise beginnt die Teilzeichenreihe
mit dem selben Namens-ID „01” von einer Position „1”, ist der Anfangspunkt einer Worteinheit und hat den Anfangspunkt und den Endpunkt einer Zeicheneinheit.
-
Zusätzlich fügt die Anfangs- und Endinformations-Hinzufügungseinheit 22 Anfangs- und Endpunkt-Grenzinformationen zu jeder Eingabe hinzu durch Verwendung von Informationen über den Anfangspunkt und den Endpunkt, die für jede Worteinheit definiert sind, und den Anfangspunkt und den Endpunkt, die für jede Zeicheneinheit definiert sind. Da bei diesem Beispiel jede Wortgrenze in einer Zeichengrenze enthalten ist, kann die Anfangs- und Endpunkt-Grenzinformation einer der folgenden drei möglichen Werte sein: „2” in einem Fall, in welchem die Eingabe eine Wortgrenze und eine Zeichengrenze hat, „1” in einem Fall, in welchem die Eingabe eine Zeichengrenze hat, die nicht eine Wortgrenze ist, und „3” in anderen Fällen. In einem in 6 gezeigten Beispiel für die Anfangs- und Endpunkt-Grenzinformation werden Ergebniswerte, die auf den vorgenannten drei möglichen Werten basieren, einem Anfangsergebnis bzw. einem Endergebnis jeder Eingabe zugewiesen.
-
Eine Teilzeichenreihen-Indexerzeugungseinheit
23 bezieht sich auf die durch die Anfangs- und Endinformations-Hinzufügungseinheit
22 erzeugte Tabelle, um jede der Eingaben in Entsprechung mit einer oder mehr Listen zu bringen, von denen jede aus einem Namens-ID, einer Position und Anfangs- und Endergebnissen besteht, und sortiert die eine oder mehr Listen für jede Eingabe, um sie als Indices vorzusehen. Ein Beispiel für die eine oder mehr Listen (jede mit einem Namens-ID, einer Position und Anfangs- und Endergebnis), die von der Teilzeichenreihen-Indexerzeugungseinheit
23 erzeugt wurden, ist in
7 gezeigt. Beispielsweise ist, da die Eingabe von
sowohl in dem Namen
als auch dem Namen
enthalten ist, die Eingabe in Entsprechung mit den beiden Namens-IDn „01” und „02” gebracht.
-
Die Indexspeichereinheit 30 speichert die Indices der Eingaben, die durch die Teilzeichenreihen-Indexerzeugungseinheit 23 erzeugt wurden, und gibt jede Liste (ein Namens-ID, eine Position und Anfangs- und Endbedingung) frei, die in Entsprechung mit einer zu erhaltenden Eingabe gebracht ist.
-
Eine Teilzeichenreihen-Zersetzungseinheit 41, die in den in 8 gezeigten Sucheinheiten 40 enthalten ist, zersetzt eine Eingangszeichenreihe, die ein in die Suchvorrichtung eingegebenes Suchziel ist, in Teilzeichenreihen gemäß dem selben Kriterium, das zu der Zeit verwendet wird, zu der die Indexerzeugungseinheit 20 jeden Namen in Eingaben zersetzt. Nachfolgend wird angenommen, dass die Teilzeichenreihen-Zersetzungseinheit die Eingangszeichenreihe, die ein Suchziel ist, in Bigramme, von den jedes eine Einheit von Moras ist, gemäß der vorstehenden Erläuterung zersetzt.
-
Eine Teilzeichenreihen-Indexbezugseinheit 42 sucht nach Eingaben, die jeweils mit einer der Teilzeichenreihen übereinstimmen, die in der Eingangszeichenreihe von der Indexspeichereinheit 30 enthalten sind, um die Listen dieser Eingaben (die jeweils einen Namens-ID, eine Position sowie Anfangs- sowie Endergebnis haben) für jede der Teilzeichenreihen abzurufen.
-
Eine Kandidatenergebnis-Aktualisierungseinheit 43 aktualisiert eine Vergleichshistorie und ein Kandidatenergbnis für die Liste (eine Namens-ID, eine Position sowie Anfangs- und Endergebnis) von jeder der Kandidateneingaben, die durch die Teilzeichenreihen-Indexbezugseinheit 42 erhalten wurden und bestimmt eine Kandidatennamensliste, die gemäß Kandidatenergebnissen, die zu der Zeit bestimmt sind, zu der das Ende der in dieser eingegebenen Teilzeichenreihen erreicht wird, bestimmt sind, auszugeben ist. Die Einzelheiten der Kandidatenergebnis-Aktualisierungseinheit 43 werden später beschreiben.
-
Als Nächstes wird die Arbeitsweise der Sucheinheit 40 unter Verwendung eines in 9 gezeigten Flussdiagramms erläutert. Die Sucheinheit 40 hat eine Kandidatennamensliste (Kandidatennamensliste) und berechnet ein Kandidatenergebnis durch Verwendung dieser Kandidatennamensliste als eine Vergleichshistorie zum vorübergehenden Halten verschiedener Informationsstücke über Namensdaten, die die Teilzeichenreihen-Indexbezugseinheit 42 von der Index-Speichereinheit 30 erhalten hat. Genauer gesagt, für jeden von Kandidatennamen id(s) (1 ≤ id ≤ maximaler Namens-ID) von Namendaten (nachfolgend als Kandidatennamen bezeichnet), die Kandidaten für einen Namen sind, enthält diese Kandidatennamensliste die folgenden Informationssstücke:
score[id]; ein Kandidatenergebnis,
inpOfs[id]; die Position einer Teilzeichenreihe, mit der ein Vergleich in einer Eingangszeichenreihe gemacht ist (nachfolgend als die Eingangszeichenreihen-Vergleichsposition bezeichnet),
idxOfs[id]; die Position einer Eingabe, mit der ein Vergleich in dem Kandidatennamen gemacht wird (nachfolgend als die Kandidatennamen-Vergleichsposition bezeichnet),
boundary[id]; das Endergebnis einer Eingabe, mit der ein Vergleich zum letzten Mal in dem Kandidatennamen gemacht wurde (nachfolgend als das unmittelbar vorhergehende Eingabeendergebnis bezeichnet).
-
Während die Sucheinheit 40 im Schritt ST1 das Kandidatenergebnis, die Eingangszeichenreihen-Vergleichsposition und die Kandidatennamen-Vergleichsposition in der Kandidatennamensliste zu score[id] = inpOfs[id] = idxOfs[id] = 0 initialisiert, setzt die Sucheinheit das unmittelbar vorhergehende Eingabeendergebnis auf boundary[id] = 2. Bei diesem Ausführungsbeispiel zeigt boundary[id] nur das Endergebnis von dem Start- und dem Endergebnis, und boundary[id] = 2 zeigt, dass das Ende der Eingabe einen Wert „2” hat, was zeigt, dass das Ende eine Wortgrenze und eine Zeichengrenze ist.
-
Die Sucheinheit 40 erhält im Schritt ST2 die Eingangszeichenreihe, die ein Suchziel ist. Die Teilzeichenreihen-Zersetzungseinheit 41 zersetzt im nächsten Schritt ST3 die durch die Sucheinheit erhaltene Eingabezeichenreihe in Teilzeichenreihen, um eine Teilzeichenreihenliste zu erzeugen. Jede von den Teilzeichenreihen ist ein Bigramm, das eine Einheit von Moras ist, wie vorstehend beschrieben ist. Wenn das Lesen der Eingangszeichenreihe ausgedrückt wird als InpLen moras {s[1], s[2], ..., s[InpLen]}, wird jede Teilzeichenreihe ausgedrückt als s2[i] = (s[i], s[i + 1]). Das tiefer gestellte i zeigt die Zeichenposition jeder Teilzeichenreihe in der Eingangszeichenreihe und hat einen Bereich von 1 ≤ i ≤ InpLen – 1.
-
Wennbeispielsweise das Lesen der Eingangszeichenreihe
ist, ist InpLen gleich drei (die Eingangszeichenreihe enthält die folgenden drei Moras:
das ausgedrückt wird als s2[1] und
das ausgedrückt wird als s2[2], sind in der Teilzeichenreihenliste enthalten.
-
Die Teilzeichenreihen-Zersetzungseinheit 41 initialisiert im Schritt ST4 die Tieferstellung i zu i = 1 und bewirkt den Start des Vergleichsvorgangs von der in der Eingangszeichenreihe enthaltenen Kopfteilzeichenreihe s2[1] aus.
-
Die Teilzeichenreihen-Indexbezugseinheit 42 bezieht sich im Schritt ST5 auf die Indexspeichereinheit 30 für jede der Teilzeichenreihen, um die Liste (einen Namens-ID, eine Position und das Start- und Endergebnis) von jeder von einer oder mehr Eingaben (nachfolgend jede als eine Kandidateneingabe bezeichnet), die mit jeder der Teilzeichenreihen übereinstimmen, zu erhalten und eine Kandidateneingabeliste zu erzeugen. Die Anzahl von Kandidatennamen entsprechend der i-ten Zeichenposition wird ausgedrückt als IndexNum[i]. Weiterhin werden die eine oder mehr Kandidateneingaben entsprechend der Teilzeichenreihe an der i-ten Zeichenposition ausgedrückt als Index[i][j] (1 ≤ j ≤ IndexNum[i]). Das tiefer gestellte j zeigt die Kandidateneingabe, bei der der Vergleichsvorgang das nächste Mal durchzuführen ist. Genauer gesagt, der Namens-ID, die Position, das Anfangsergebnis und das Endergebnis in der Kandidateneingangsliste, die in Entsprechung mit der j-ten Kandidateneingabe gebracht ist, werden in der folgenden Weise ausgedrückt:
Index[i][j].id; Namens-ID
Index[i][j].ofs; Position,
Index[i][j].begin; Anfangsergebnis,
Index[i][j].end; Endergebnis.
-
Beispielsweise sind die eine oder mehr Kandidateneingaben entsprechend der Teilzeichenreihe s2[1] von
der Eingangszeichenreihe
(02, 1, 20). In diesem Fall ist, da zwei (= IndexNum[1]) Kandidatennamen enstprechend der i = 1sten Teilzeichenreihe
wie folgt vorhanden sind:
mit einem Namens-ID von 01 und
mit einem Namens-ID von 02, die j = 1ste Kandidateneingabe definiert als
(01, 2, 00) mit einem Namens-ID von 01, und die j = 2te Kandidateneingabe ist definiert als
(02, 1, 20) mit einem Namens-ID von 02. Daher ist in der Kandidateneingabeliste die Information, die in Entsprechung mit der j = 1sten Kandidateneingabe
gebracht ist, gleich Index[1][1].id = 01, Index[1][1].ofs = 2, Index[1][1].begin = 0, und Index[1][1].end = 0.
-
Die Teilzeichenreihen-Indexbezugseinheit
42 initialisiert im Schritt ST6 das tiefer gestellte j zu 1 und wandelt im nächsten Schritt ST7 die Kandidatennamensliste in id = Index[i][j].id um. Wenn zwei oder mehr Kandidatennamen entsprechend der Teilzeichenreihe s2[1] von
vorhanden sind, wie
bewirkt die Teilzeichenreihen-Indexbezugseinheit, dass die Sucheinheit den Vergleichsvorgang von der Kopfeingabe von einem der mehreren Kandidatennamen zuerst startet.
-
Die Kandidatenergebnis-Aktualisierungseinheit 43 führt im Schritt ST8 einen Vergleich zwischen der Kandidatennamensliste der Indices, der Kandidateneingabeliste und der Liste von Teilzeichenreihen der Eingabezeichenliste durch, um die Kontinuität in der Eingabezeichenreihe zu beurteilen. In einem Zustand, in welchem Index[i][j].id, dass den Namens-ID von der einen oder mehr Kandidateneingaben zeigt, bereits in der Kandidatennamensliste enthalten sind, und die Eingabezeichenreihen-Vergleichsposition inpOfs[id] um eins (in diesem Fall um eine Mora-Einheit) vorgerückt ist und die Kandidatennamens-Vergleichsposition idxOfs[id] um eins (in diesem Fall um eine Mora-Einheit) vorgerückt ist, d. h. wenn der Bewegungsabstand der Vergleichsposition des Kandidatennamens der folgenden Gleichung genügt: Index[i][j].ofsidxOfs[id] = 1, und der Bewegungsabstand der Vergleichsposition in der Eingangszeichenreihe der folgenden Gleichung genügt: i – inpOfs[id] = 1, beurteilt die Kandidatenergebnis-Aktualisierungseinheit, dass die Kontinuität aufrechterhalten ist. Ansonsten beurteilt die Kandidatenergebnis-Aktualisierungseinheit, dass die Kontinuität nicht aufrechterhalten ist.
-
Wenn die Eingangszeichenreihe, die ein Suchziel ist, das Ergebnis einer Spracherkennung bei einer Spracheingabe ist, wird der Zwang auf die Kontinuitätsbeurteilung wie folgt gelockert. In einem Zustand, in welchem die Eingabezeichenreihen-Vergleichsposition inpOfs[id] und die Kandidatennamenvergleichsposition idxOfs[id] um beliebige Zahlen D1 bzw. D2 vorgerückt sind, d. h., wenn der Bewegungsabstand der Vergleichsposition bei dem Kandidatennamen der folgenden Gleichung genügt: 1 ≤ Index[i][j].ofs-idxOfs[id] = D1, und der Bewegungsabstand der Vergleichsposition bei der Eingangszeichenreihe der folgenden Gleichung genügt: 1 ≤ i – inpOfs[id] = D2, beurteilt die Kandidatenergebnis-Aktualisierungseinheit, dass die Kontinuität aufrechterhalten ist, wodurch einige Veränderungen zulässig sind.
-
Wenn die Kontinuität aufrechterhalten ist (wenn „ja” im Schritt ST8), setzt die Kandidatenergebnis-Aktualisierungseinheit 43 im nächsten Schritt ST9 ein Vergleichsergebnis sc(i, j) = 1.0 für die Kandidateneingabe, bei der ein Vergleich durchgeführt wird. Die Kandidatenergebnis-Aktualisierungseinheit setzt das Vergleichsergebnis sc(i, j), das ein maximaler Wert ist, für die Kandidateneingabe, wenn die Kontinuität aufrechterhalten ist, während die Kandidatenergebnis-Aktualisierungseinheit den Wert des Vergleichsergebnisses gemäß dem Grad der linguistischen Gültigkeit der Kandidateneingaben einstellt, wenn die Kontinuität nicht aufrechterhalten ist.
-
Wenn die Kontinuität nicht aufrechterhalten ist (wenn „nein” im Schritt ST8), wählt die Kandidatenergebnis-Aktualisierungseinheit 43 im nächsten Schritt ST10 ein Vergleichsergebnis sc(i, j) für die Kandidateneingabe, bei der ein Vergleich durchgeführt wird, aus der Vergleichsergebnistabelle aus auf der Grundlage von sowohl end score boundary [id] der Kandidateneingabe (d. h., der unmittelbar vorhergehenden Eingabe), die in der Kandidatennamensliste gespeichert ist und mit der das letzte Mal ein Vergleich durchgeführt wurde, als auch start score index [i][j].begin der Kandidateneingabe, mit der ein Vergleich durchgeführt wird, gespeichert in der Kandidateneingabeliste.
-
Ein Beispiel für die Vergleichsergebnistabelle ist in 10 gezeigt. In diesem Beispiel setzt, wenn die Kandidateneingabe, bei der das letzte Mal ein Vergleich durchgeführt, den Endpunkt eines Wortes hat, und die Kandidateneingabe, bei der ein Vergleich durchgeführt wird, den Startpunkt eines Wortes in dem Kandidatennamen hat, die Kandidatenergebnis-Aktualisierungseinheit ein Vergleichsergebnis sc(i, j) von 1.0, das ein Maximum für die Kandidateneingabe ist, bei der ein Vergleich durchgeführt wird, da angenommen werden kann, dass ein Austausch in der Wortfolge in Einheiten eines Wortes in dem Kandidatennamen erfolgt, und daher besteht eine linguistische Gültigkeit zwischen ihnen. Weiterhin setzt, wenn die Kandidateneingabe, bei der das letzte Mal der Vergleich durchgeführt wurde, den Endpunkt eines Zeichens hat, und die Kandidateneingabe, bei der ein Vergleich durchgeführt wird, den Startpunkt eines Wortes in dem Kandidatennamen hat, die Kandidatenergebnis-Aktualisierungseinheit ein hohes Vergleichsergebnis von 0,9 für die Kandidateneingabe, bei der ein Vergleich durchgeführt wird, da angenommen werden kann, dass der Kandidatenname eine Paraphrase ist, in der das Ende eines Worte weggelassen ist. Das Muster einer Paraphrase, deren Erwartung angenommen werden kann, kann durch die in der Vergleichsergebnistabelle gespeicherten Vergleichsergebnisse in dieser Weise begrenzt werden.
-
Als eine Alternative kann das Muster einer Paraphrase, deren Erwartung angenommen werden kann, begrenzt werden durch Vorsehen eines Nachteils an Stelle des vorgenannten Vergleichsergebnisse sc(i, j) für die Kandidateneingabe, bei der ein Vergleich durchgeführt wird, wenn beispielsweise der im Schritt ST7 berechnete Bewegungsabstand negativ ist. Genauer gesagt, in einer Fall, in welchem die Eingabezeichenreihe einen Eingabefehler enthalten kann, wie einen Auslassungsfehler, einen Einfügungsfehler oder einen Ersetzungsfehler, verringert die Kandidatenergebnis-Aktualisierungseinheit das Vergleichsergebnis sc(i, j), wenn der Bewegungsabstand der Vergleichsposition bei dem Kandidatennamen (d. h., eine Positionsbeziehung zwischen den Eingaben in den Namendaten) negativ ist. Als eine Alternative kann anstelle der direkten Einstellung des Vergleichsergebnisse sc(i, j) die Kandidatenergebnis-Aktualisierungseinheit ein anderes Gewicht verwenden in Abhängigkeit davon, ob der Bewegungsabstand positiv oder negativ ist. Als eine Folge kann die Kandidatenergebnis-Aktualisierungseinheit verhindern, dass die Suchergebnisse ein ausgetauschtes Wort mit einem Austausch in der Wortfolge enthalten, wie in dem vorbeschriebenen Fall.
-
Die Kandidatenergebnis-Aktualisierungseinheit 43 fügt im Schritt ST11 das Vergleichsergebnis sc(i, j) zu dem Kandidatenergebnis score[id] für den Kandidatennamen score[id] = score[id] + sc(i, j)) hinzu. Die Kandidatenergebnis-Aktualisierungseinheit 43 aktualisiert weiterhin Informationen der Kandidatennamenliste, die andere als die Kandidatenergebnisse sind, zu der Zeit des Vergleichsergebnisses sc(i, j) > 0. Da die Kandidatenergebnis-Aktualisierungseinheit spezifizieren kann, dass der Vergleichsvorgang durchgeführt wurde durch Aktualisieren der Eingabezeichenreihen-Vergleichsposition und der Kandidatennamen-Vergleichsposition durch diesen Aktualisierungsvorgang, können die Informationen über diese Vergleichspositionen als eine Vergleichshistorie verwendet werden. Genauer gesagt, die Kandidatenergebnis-Aktualisierungseinheit aktualisiert das Kandidatenergebnis, die Eingabezeichenreihen-Vergleichsposition, die Kandidatennamen-Vergleichsposition und das unmittelbar vorhergehende Eingabeendergebnis wie folgt:
score[id] = score[id] + sc(i, j),
inpOfs[id] = i,
idxOfs[id] = Index[i][j].end, und
boundary[id] = Index[i][j].end.
-
Beispielsweise wird, da die j = 1ste Kandidateneingabe
(der Kandidatenname von id01) für die i = 1ste Teilzeichenreihe
einen Bewegungsabstand von 2( = 2 – 0) der Vergleichsposition für den Kandidatennamen
und einen Bewegungsabstand von 1(= 1 – 0) der Vergleichsposition für die Eingangszeichenreihe
hat, beurteilt, dass die Kontinuität nicht aufrechterhalten ist, und das Vergleichsergebnisse sc(1, 1) = 0.4 wird zu der Kandidateneingabe gemäß der in
10 gezeigten Vergleichsergebnistabelle hinzugefügt. Durch diesen Vergleichsvorgang wird das Kandidatenergebnis des Kandidatennamens
(der Kandidatenname von id01) zu dem Ergebnis [01] = 0 + 0.4 = 0.4. aktualisiert.
-
Die Sucheinheit 40 aktualisiert im Schritt ST12 das tiefer gestellte j zu j = j + 1, um zu bewirken, dass die i-te Teilzeichenreihe, bei der ein Vergleich durchgeführt wird, mit dem nächsten Kandidatennamen zu vergleichen ist, und prüft im nächsten Schritt ST13, ob diese Sucheinheit den Vergleich zwischen der i-ten Teilzeichenreihe und sämtlichen der j Kandidatennamen beendet hat. Wenn die Sucheinheit den Vergleich zwischen der i-ten Teilzeichenreihe und sämtlichen der Kandidatennamen (j ≤ IndexNum[i] nicht beendet hat (d. h., wenn ”ja” im Schritt ST13), kehrt die Sucheinheit zum Schritt ST7 zurück und führt den Vergleichsvorgang der Schritte ST7 bis ST11 bei allen der Kandidatennamen durch. Wenn jedoch zwei oder mehr selbe Namens-ID an verschiedenen Positionen der Eingangszeichenreihe existieren, wählt die Sucheinheit die Position, die das Kandidatenergebnis, in welchem die Vergleichsergebnisse summiert wurden, maximiert, auf einer Prioritätsbasis aus.
-
Beispielsweise führt, wenn der Vergleich zwischen der Teilzeichenreihe und sämtlichen der Kandidatennamen nicht beendet wurde, die Sucheinheit einen Vergleich zwischen der i = 1sten Teilzeichenreihe
und der j=2ten Kandidateneingabe
durch. Da diese Kandidateneingabe
einen Bewegungsabstand von 1 (= 1 – 0) der Vergleichsposition für den Kandidatennamen
(den Kandidatennamen von id02) und einen Bewegungsabstand von 1(1 – 0) der Vergleichsposition für die Eingangszeichenreihe
hat, wird beurteilt, dass die Kontinuität aufrechterhalten ist, und dass Vergleichsergebnis sc(1, 2) = 1.0 wird der Kandidateneingabe zugeteilt. Durch diesen Vergleichsvorgang wird das Kandidatenergebnis des Kandidatennamens
(das Kandidatennamens von id02) aktualisiert zu score[02] = 0 + 1.0 = 1.0.
-
Wenn der Vergleich zwischen der Teilzeichenreihe und sämtlichen der Kandidatennamen beendet ist ((j > IndexNum[i], d. h. wenn „nein” im Schritt ST13), aktualisiert die Sucheinheit 40 im nächsten Schritt ST14 das tiefer gestellte i zu i = i + 1, um zu bewirken, dass die nächste Teilzeichenreihe in der Eingangszeichenreihe mit jedem der Kandidatennamen zu vergleichen ist, und prüft im Schritt ST15 weiterhin, ob die Sucheinheit den Vergleichsvorgang bei sämtlichen der in der Eingangszeichenreihe enthaltenen i Teilzeichenreihen beendet hat.
-
Wenn sie beispielsweise den Vergleich bei sämtlichen der Teilzeichenreihen nicht beendet hat, führt die Sucheinheit den Vergleichsvorgang bei der i = 2ten Teilzeichenreihe, d. h.
die die Teilzeichenreihe s2[2] der Eingangszeichenreihe
ist, in dem nächsten Vergleichsvorgang durch.
-
Wenn der Vergleich bei allen der i Teilzeichenreihen beendet ist (i > InpLen – 1, d. h., wenn ”nein” im Schritt ST15), sortiert im nächsten Schritt ST16 die Teilzeichenreihen-Indexerzeugungseinheit 23 die in der Kandidatennamensliste enthaltenen Kandidatennamen zu der Zeit des Erreichens des Endes der Eingangszeichenreihe in der Reihenfolge auf der Grundlagen ihrer Kandidatenergebnisse (z. B. in abnehmender Reihenfolge des Kandidatenergebnisses), und gibt die hierdurch sortierten Kandidatennamen als eine Kandidatennamensliste aus und präsentiert diese Kandidatennamensliste dem Benutzer. Demgegenüber, wenn der Vergleich bei allen der i Teilzeichenreihen nicht beendet wurde (i ≤ InpLen – 1, d. h., wenn ”ja” im Schritt ST15), kehrt die Sucheinheit 41 zum Schritt ST5 zurück und führt den Vergleichsvorgang bei der nächsten Teilzeichenreihe durch.
-
Da die Sucheinheit 40 somit die Anfangs- und Endgrenzinformationen verwendet, die die linguistische Gültigkeit zeigen, die zu jeder Eingabe hinzugefügt werden, die in den von der Indexerzeugungseinheit 20 erzeugten Indices enthalten sind, und die einen Namen bilden, um eine Fuzzy-Übereinstimmungssuche bei der Eingangszeichenreihe durchzuführen, ergibt die Suchvorrichtung einen verbesserten Genauigkeitsgrad im Vergleich zu einem Fall, in welchem die Suchvorrichtung eine Suche ohne Verwendung jeglicher Anfangs- und Endgrenzinformationen durchführt. Da die Suchvorrichtung weiterhin das Muster einer annehmbaren Paraphrase einstellen kann gemäß dem Zwang auf die Bewegungsabstände in dem Vergleichsvorgang und den in der Vergleichsergebnistabelle gespeicherten Vergleichsergebnissen, kann die Suchvorrichtung die Eingangszeichenreihe flexibel handhaben unter Berücksichtigung eines Auslassungsfehlers, eines Einfügungsfehlers und eines Ersetzungsfehlers, die durch Spracherkennung beim Erkennen der Eingangszeichenreihe bewirkt werden. Beispielsweise kann die Suchvorrichtung den Zwang auf die Extraktion einer Paraphrase lockern, um ein erwartetes Wort in einer weiten Weise herauszuziehen oder kann die Extraktion einer Paraphrase zurückhalten, indem im Gegensatz große Wichtigkeit auf die Genauigkeit gelegt wird.
-
Bei der vorstehenden Erläuterung sind Schreiben und Lesen in Japanisch als Beispiel genommen. Dieses Ausführungsbeispiel ist nicht auf dieses Beispiel beschränkt. Auch in einem Fall, in welchem die Suchvorrichtung auf Englisch angewendet wird, kann die Suchvorrichtung die selben Vorgänge durchführen, indem Silben als Zeicheneinheiten, Phoneme oder Silben anstelle von Lesungen oder Silben oder Morpheme als Zeicheneinheiten verwendet werden.
-
Wie vorstehend beschrieben ist, ist die Suchvorrichtung gemäß dem Ausführungsbeispiel 1 so ausgebildet, dass sie enthält: die Namensanalyseeinheit 21 zum Teilen von Namendaten, die aus einer Zeichenreihe bestehen, sowohl in Wörter als auch in Zeichen, um Anfangs- und Endergebnisse, die einen Anfang und ein Ende von jedem der Wörter zeigen, und Anfangs- und Endergebnisse, die einen Anfang und eine Ende von jedem der Zeichen zeigen, zu erzeugen; die Anfangs- und Endinformations-Hinzufügungseinheit 22 zum Herausziehen von Teilzeichenreihen, die die Namendaten bilden, um Teilzeichenreihen als Eingaben zu definieren, und zum Hinzufügen einer Liste, die die Position von jeder der Eingaben in den Namensdaten, das Anfangs- und das Endergebnis von jedem Wort und das Anfangs- und das Endergebnis von jedem Zeichen, dass in der Eingabe enthalten ist, zeigt (ein Namens-ID, eine Position und ein Anfangs- und ein Endergebnis) zu der Eingabe; und die Teilzeichenreihen-Indexerzeugungseinheit 23 zum Sortieren der durch die Anfangs- und Endinformations-Hinzufügungseinheit 22 erhaltenen Ausgangsergebnisse in der Reihenfolge der Eingaben, um Indices zu erzeugen. Daher kann die Suchvorrichtung Indices erzeugen, die Sprachinformationen in Einheiten eines Zeichens, dass eine minimale Einheit ist, sowie Sprachinformationen in Einheiten eines Wortes, dass eine längere Einheit ist, enthalten. Als eine Folge kann die Suchvorrichtung eine Fuzzy-Übereinstimmungssuche hoher Genauigkeit implementieren.
-
Weiterhin ist die Suchvorrichtung gemäß dem Ausführungsbeispiel 1 so ausgebildet, dass sie enthält: die Teilzeichenreihen-Zersetzungseinheit 41 zum Herausziehen von Teilzeichenreihen, die eine Eingangszeichenreihe bilden; die Teilzeichenreihen-Indexbezugseinheit 42 zum Erhalten der Liste (ein Namens-ID, eine Position, und Anfangs- und Endergebnis) von jeder der einen oder mehr Kandidateneingaben entsprechend jeder der Teilzeichenreihen für die jeweiligen Namensdaten anhand der Indices, die vorher erzeugt und in der Indexspeichereinheit 30 gespeichert wurden, die Kandidatenergebnis-Aktualisierungseinheit 43 zum Beurteilen der Kontinuität in den Kandidatennamensdaten zwischen Kandidateneingaben, die die Teilzeichenreihen-Indexbezugseinheit 42 erhalten hat, auf der Grundlage ihrer Listen (jede einen Namens-ID, eine Position, und Anfangs- und Endergebnis aufweisend), zum Hinzufügen eines maximalen Vergleichsergebnisses sc(i, j) zu einer der Kandidateneingaben, von der die Kandidatenergebnis-Aktualisierungseinheit bestimmt hat, dass sie kontinuierlich zu der anderen Kandidateneingabe ist, oder Hinzufügen eines Vergleichsergebnisses sc(i, j) gemäß der Gültigkeit der Verbindung mit jeder von Kandidateneingaben, die vor und hinter der Kandidateneingabe, von der die Kandidatenergebnis-Aktualisierungseinheit bestimmt hat, dass sie diskontinuierlich zu der anderen Kandidateneingabe ist, angeordnet sind, zu der Kandidateneingabe auf der Grundlage des Anfangs- und Endergebnisses dieser Kandidateneingabe, zum Berechnen eines Kandidatenergebnisses score sc(i, j) durch Summieren des Vergleichsergebnisses sc(i, j) von jeder Kandidateneingabe, die in dem Kandidatennamen enthalten ist, und zum Sortieren der Kandidatennamen in abnehmender Reihenfolge des Kandidatenergebnisse score[id], um sie auszugeben. Daher kann, während die Suchvorrichtung eine Suche auf der Grundlage von Zeichen, die minimale Einheiten sind, durchführen kann, die Suchvorrichtung eine Suche durchführen durch Berücksichtigung der linguistischen Gültigkeit auf der Grundlage von Wörtern, die längere Einheiten sind. Daher kann, selbst wenn der Kandidat für einen Namen nicht die Eingangszeichenreihe selbst ist, oder sogar in einem Fall der Durchführung einer unvollkommenen Teilübereinstimmungssuche die Suchvorrichtung die Suche durchführen und die Suche mit einem hohen Genauigkeitsgrad und in einer Fuzzy Weise implementieren. Insbesondere kann die Suchvorrichtung ihre Robustheit in einem Fall, in welchem die Eingabe eine Sprache ist und die Eingangszeichenreihe ein Fehlererkennungsergebnis enthält, verbessern.
-
Weiterhin ist die Kandidatenergebnis-Aktualisierungseinheit 43 gemäß dem Ausführungsbeispiel 1 derart ausgebildet, dass sie bestimmt, dass die Kontinuität aufrechterhalten ist, wenn ein Bewegungsabstand zwischen einer Teilzeichenreihe, die in der Eingangszeichenreihe enthalten ist und mit der zuletzt ein Vergleich durchgeführt wurde, und einer Teilzeichenreihe, mit der ein Vergleich durchgeführt wird, und ein Bewegungsabstand zwischen den Kandidateneingaben in dem Kandidatennamen jeweils entsprechend den Teilzeichenreihen gleich bzw. kürzer als vorbestimmte Bewegungsabstände sind. Daher kann durch Einstellen der vorgenannten vorbestimmten Bewegungsabstände zum Beurteilen der Kontinuität die Kandidatenergebnis-Aktualisierungseinheit das Kandidatenergebnis berechnen unter Berücksichtigung der Grenze zwischen Wörtern, der Grenze zwischen Zeichen, Eingangsfehlern und verschiedenen Mustern ausgetauschter Wörter. Daher kann im Vergleich mit einem herkömmlichen Fuzzy-Übereinstimmungssuchverfahren, das diese nicht berücksichtigt, das vorliegende Ausführungsbeispiel einen höheren Grad von Suchgenauigkeit ergeben.
-
Weiterhin ist die Kandidatenergebnis-Aktualisierungseinheit 43 gemäß dem Ausführungsbespiel 1 so ausgebildet, dass sie das Vergleichsergebnis sc(i, j) gemäß dem Bewegungsabstand zwischen Kandidateneingaben in jedem Namenskandidaten einstellt. Daher kann, indem sie einen Nachteil für das Vergleichsergebnis sc(i, j) vorsieht, wenn der Bewegungsabstand negativ ist, die Suchvorrichtung das Herausziehen einer Paraphrase aus den Indices unterdrücken, wodurch sie in der Lage ist, die Suchgenauigkeit weiter zu verbessern.
-
In einem Fall, in welchem die Suchvorrichtung als ein Computer ausgebildet ist, kann ein Suchprogramm, in welches die Prozessbeschreibungen der Indexerzeugungseinheit 20, der Indexspeichereinheit 30 und Sucheinheit 40 geschrieben sind, in einem Speicher des Computers gespeichert sein, und eine CPU des Computers kann ausgebildet sein, das in dem Speicher gespeicherte Suchprogramm auszuführen.
-
Gewerbliche Anwendbarkeit
-
Wie vorstehend beschrieben ist, ist, da die Suchvorrichtung gemäß der vorliegenden Erfindung eine Suche durchführen kann unter Berücksichtigung der Grenze zwischen Wörtern, der Grenze zwischen Zeichen, Eingangsfehler und verschiedener Muster von ausgetauschten Wörtern, um Kandidaten mit einem hohen Gültigkeitsgrad aus teilweise übereinstimmenden Kandidaten enthaltend einen Kandidaten mit einer verschiedenen Wortfolge und einen Kandidaten mit einer Teilunterlassung zu erhalten, die Suchvorrichtung der vorliegenden Erfindung geeignet zur Verwendung als eine Suchvorrichtung für Spracherkennung oder dergleichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 3636941 [0005]
- JP 3665112 [0005]
- JP 3715672 [0005]