JP2013218628A - 文字列類似度計算装置、方法、及びプログラム - Google Patents

文字列類似度計算装置、方法、及びプログラム Download PDF

Info

Publication number
JP2013218628A
JP2013218628A JP2012090841A JP2012090841A JP2013218628A JP 2013218628 A JP2013218628 A JP 2013218628A JP 2012090841 A JP2012090841 A JP 2012090841A JP 2012090841 A JP2012090841 A JP 2012090841A JP 2013218628 A JP2013218628 A JP 2013218628A
Authority
JP
Japan
Prior art keywords
katakana
character string
notation
alphabet
gram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012090841A
Other languages
English (en)
Other versions
JP5676517B2 (ja
Inventor
Masashi Uchiyama
匡 内山
Toshiko Shiobara
寿子 塩原
Yukako Iimura
結香子 飯村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012090841A priority Critical patent/JP5676517B2/ja
Publication of JP2013218628A publication Critical patent/JP2013218628A/ja
Application granted granted Critical
Publication of JP5676517B2 publication Critical patent/JP5676517B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】アルファベット表記−カタカナ表記間の対応関係が複数存在する場合でも、表記ゆれやノイズによる影響を抑制し、適切に文字列間の類似度を計算する。
【解決手段】学習文字列集合を用いて、アルファベット−カタカナ基底ベクトル生成部13が、アルファベット表記のN−グラムに対するカタカナ表記のM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを、カタカナ−カタカナ基底ベクトル生成部14が、二つのカタカナ表記のM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成し、特徴ベクトル計算部16が、文字列のアルファベット連続部分に含まれるN−グラムに対応するアルファベット−カタカナ基底ベクトルと、カタカナ連続部分のM−グラムに対応するカタカナ−カタカナ基底ベクトルとに基づいて、二つの文字列の各々の特徴ベクトルを計算する。
【選択図】図1

Description

本発明は、文字列類似度計算装置、方法、及びプログラムに係り、特に、アルファベット表記とカタカナ表記が混在する文字列集合において、この文字列集合に含まれる二つの文字列の読みの類似度を計算する文字列類似度計算装置、方法、及びプログラムに関する。
アルファベット表記のみ、もしくはカタカナ表記のみからなる文字列集合については、各文字列におけるN−グラムの出現頻度に基づいて類似度を定めることができる。
例として、アルファベット表記のみからなる次の文字列集合Aについて、各文字列における2−グラムの出現頻度に基づく類似度判定を説明する。
A = {"adam", "add", "admin", "dam", "damon"}
文字列sに含まれる2−グラムの集合をB(s)とすると、文字列集合Aの要素である各文字列についてのB(s)は、以下のとおりとなる。
B("adam") = {".a", "ad", "da", "am", "m."}
B("add") = {".a", "ad", "dd", "d."}
B("admin") = {".a", "ad", "dm", "mi", "in", "n."}
B("dam") = {".d", "da", "am", "m."}
B("damon") = {".d", "da", "am", "mo", "on", "n."}
ここで、"."は、文字列の先頭または末尾に対応させるダミー文字である。文字列各sと文字列tとの類似度S(s,t)は、Jaccard係数を用いて、
S(s, t) = |B(s) ∩ B(t)| / |B(s) ∪ B(t)|
として定めることができる。
例として、"adam"と"add"との類似度について考える。B("adam")とB("add")とに共通する2−グラムは、
B("adam") ∩ B("add") = {".a", "ad"}
の2個あるから、
|B("adam") ∩ B("add")| = 2
また、B("adam")とB("add")とに一つでも含まれる2−グラムは、
B("adam") ∪ B("add") = {".a", "ad", "am", "da", "dd", "d.", "m."}
の7個あるから、
|B("adam") ∪ B("add")| = 7
従って、"adam"と"add"との類似度は、
S("adam", "add") = 2/7
である。
アルファベット表記とカタカナ表記が混在する文字列集合における文字列間の類似度は、アルファベット表記をカタカナ表記へ変換してカタカナ表記同士で比較する、もしくはカタカナ表記をアルファベット表記へ変換してアルファベット表記同士で比較する方法がある。
前者については、アルファベット表記をカタカナ表記へ変換する技術が適用できる(例えば、非特許文献1参照)。非特許文献1の方法は、人名辞書におけるアルファベット表記の部分文字列とカタカナ表記の部分文字列との組の出現頻度の変化から、アルファベット表記とカタカナ表記との対応規則を自動的に得る方法である。
増田恵子、梅村恭司、「人名辞書から名前読み付与規則を抽出するアルゴリズム」、情報処理学会論文誌、V0l.40 No.7 pp.2927-2936、1999年
従来の方法は、表記の類似度に基づくものであり、特にアルファベット表記とカタカナ表記とが混在する場合は、かならずしも読みの類似度を反映した評価にはならない。
アルファベット表記とカタカナ表記とが混在する場合は、どちらか一方の表記に揃えて比較することが可能であるが、アルファベット表記をカタカナ表記へ変換する非特許文献1の方法では、一つの対応規則の正解率が80%程度であり、一つのアルファベット表記が複数の対応規則を含む場合の正解率はさらに低下する。従って、カタカナに変換された表記には相当数の表記ゆれやノイズが含まれるものと考えられるため、カタカナ変換した後の表記に基づくN−グラムの出現頻度の精度は低下し、適切に文字列間の類似度を計算することができない、という問題がある。
本発明は上記事情に鑑みて成されたものであり、アルファベット表記−カタカナ表記間の対応関係が複数存在する場合でも、表記ゆれやノイズによる影響を抑制し、適切に文字列間の類似度を計算することができる文字列類似度計算装置、方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明の文字列類似度計算装置は、アルファベット表記の文字列と該アルファベット表記に対応するカタカナ表記の文字列との組からなる学習文字列集合を用いて、アルファベット表記の各文字列に含まれるN−グラムに対するカタカナ表記の各文字列に含まれるM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを生成する第1生成手段と、前記学習文字列集合を用いて、カタカナ表記の各文字列に含まれる二つのM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成する第2生成手段と、アルファベット表記とカタカナ表記とが混在する類似度計算対象の対象文字列集合に含まれる文字列から、アルファベット表記の文字が連続する部分とカタカナ表記の文字が連続する部分とを抽出する抽出手段と、前記アルファベット表記の文字が連続する部分に含まれるN−グラムに対応する前記アルファベット−カタカナ基底ベクトルと、前記カタカナ表記の文字が連続する部分に含まれるM−グラムに対応する前記カタカナ−カタカナ基底ベクトルとに基づいて、前記対象文字列集合に含まれる文字列の特徴ベクトルを計算する特徴ベクトル計算手段と、前記特徴ベクトル計算手段により計算された前記対象文字列集合に含まれる二つの文字列の各々の特徴ベクトルに基づいて、前記二つの文字列間の類似度を計算する類似度計算手段と、を含んで構成されている。
本発明の文字列類似度計算装置によれば、アルファベット表記の文字列とアルファベット表記に対応するカタカナ表記の文字列との組からなる学習文字列集合が入力されると、第1生成手段が、学習用文字列集合を用いて、アルファベット表記の各文字列に含まれるN−グラムに対するカタカナ表記の各文字列に含まれるM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを生成し、第2生成手段が、学習文字列集合を用いて、カタカナ表記の各文字列に含まれる二つのM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成する。そして、アルファベット表記とカタカナ表記とが混在する類似度計算対象の対象文字列集合が入力されると、抽出手段が、対象文字列集合に含まれる文字列から、アルファベット表記の文字が連続する部分とカタカナ表記の文字が連続する部分とを抽出し、特徴ベクトル計算部が、アルファベット表記の文字が連続する部分に含まれるN−グラムに対応するアルファベット−カタカナ基底ベクトルと、カタカナ表記の文字が連続する部分に含まれるM−グラムに対応するカタカナ−カタカナ基底ベクトルとに基づいて、対象文字列集合に含まれる文字列の特徴ベクトルを計算し、類似度計算手段が、特徴ベクトル計算手段により計算された対象文字列集合に含まれる二つの文字列の各々の特徴ベクトルに基づいて、二つの文字列間の類似度を計算する。
このように、予め与えられたアルファベット表記とカタカナ表記との正しい対応関係を用いて生成されたアルファベット−カタカナ基底ベクトル及びカタカナ−カタカナ基底ベクトルに基づいて、文字列間の類似度を計算するため、アルファベット表記−カタカナ表記間の対応関係が複数存在する場合でも、表記ゆれやノイズによる影響を抑制し、適切に文字列間の類似度を計算することができる。
また、本発明の文字列類似度計算方法は、第1生成手段と、第2生成手段と、抽出手段と、特徴ベクトル計算手段と、類似度計算手段とを含む文字列類似度計算装置における文字列類似度計算方法であって、前記第1生成手段が、アルファベット表記の文字列と該アルファベット表記に対応するカタカナ表記の文字列との組からなる学習文字列集合を用いて、アルファベット表記の各文字列に含まれるN−グラムに対するカタカナ表記の各文字列に含まれるM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを生成し、前記第2生成手段が、前記学習文字列集合を用いて、カタカナ表記の各文字列に含まれる二つのM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成し、前記抽出手段が、アルファベット表記とカタカナ表記とが混在する類似度計算対象の対象文字列集合に含まれる文字列から、アルファベット表記の文字が連続する部分とカタカナ表記の文字が連続する部分とを抽出し、前記特徴ベクトル計算手段が、前記アルファベット表記の文字が連続する部分に含まれるN−グラムに対応する前記アルファベット−カタカナ基底ベクトルと、前記カタカナ表記の文字が連続する部分に含まれるM−グラムに対応する前記カタカナ−カタカナ基底ベクトルとに基づいて、前記対象文字列集合に含まれる文字列の特徴ベクトルを計算し、前記類似度計算手段が、前記特徴ベクトル計算手段により計算された前記対象文字列集合に含まれる二つの文字列の各々の特徴ベクトルに基づいて、前記二つの文字列間の類似度を計算する方法である。
また、本発明の文字列類似度計算プログラムは、コンピュータを、上記の文字列類似度計算装置を構成する各手段として機能させるためのプログラムである。
以上説明したように、本発明の文字列類似度計算装置、方法、及びプログラムによれば、予め与えられたアルファベット表記とカタカナ表記との正しい対応関係を用いて、アルファベット表記の各文字列に含まれるN−グラムに対するカタカナ表記の各文字列に含まれるM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルと、カタカナ表記の各文字列に含まれる二つのM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルとを生成し、これに基づいて文字列間の類似度を計算するため、アルファベット表記−カタカナ表記間の対応関係が複数存在する場合でも、表記ゆれやノイズによる影響を抑制し、適切に文字列間の類似度を計算することができる、という効果が得られる。
本実施の形態の文字列類似度計算装置の機能的構成を示すブロック図である。 本実施の形態における基底ベクトル生成処理ルーチンの内容を示すフローチャートである。 本実施の形態における類似度計算処理ルーチンの内容を示すフローチャートである。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<装置構成>
本発明の実施の形態に係る文字列類似度計算装置10は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する基底ベクトル生成処理及び類似度計算処理を含む文字列類似度計算処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成されている。このコンピュータは、機能的には、図1に示すように、学習用N−グラム抽出部11と、学習用M−グラム抽出部12と、アルファベット−カタカナ基底ベクトル生成部13と、カタカナ−カタカナ基底ベクトル生成部14と、連続部分抽出部15と、特徴ベクトル計算部16と、類似度計算部22とを含んだ構成で表すことができる。なお、アルファベット−カタカナ基底ベクトル生成部13は本発明の第1生成手段の一例であり、カタカナ−カタカナ基底ベクトル生成部14は本発明の第2生成手段の一例であり、連続部分抽出部15は本発明の抽出手段の一例である。
学習用N−グラム抽出部11は、アルファベット表記の文字列と、そのアルファベット表記に対応するカタカナ表記の文字列との組からなる学習文字列集合に含まれるアルファベット表記の文字列の各々から、N−グラムを抽出する。
学習用M−グラム抽出部12は、上記の学習文字列集合に含まれるカタカナ表記の文字列の各々から、M−グラムを抽出する。
アルファベット−カタカナ基底ベクトル生成部13は、学習用N−グラム抽出部11で抽出されたアルファベット表記のN−グラムに対する、学習用M−グラム抽出部12で抽出されたカタカナ表記のM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを生成する。具体的には、アルファベット表記のN−グラムの各々に対するカタカナ表記のM−グラムの各々の共起頻度を求め、各N−グラムについての共起頻度の総和が1となるよう正規化した条件付き共起確率を得、この条件付き共起確率を要素とするベクトルをアルファベット−カタカナ基底ベクトルとする。生成したアルファベット−カタカナ基底ベクトルは、アルファベット−カタカナ基底ベクトル記憶部30に記憶する。
カタカナ−カタカナ基底ベクトル生成部14は、学習用M−グラム抽出部12で抽出された二つのカタカナ表記のM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成する。具体的には、カタカナ表記のM−グラム間の共起頻度を求め、各M−グラムについての共起頻度の総和が1となるよう正規化した条件付き共起確率を得、この条件付き共起確率を要素とするベクトルをカタカナ−カタカナ基底ベクトルとする。生成したカタカナ−カタカナ基底ベクトルは、カタカナ−カタカナ基底ベクトル記憶部31に記憶する。
連続部分抽出部15は、アルファベット表記とカタカナ表記とが混在する類似度計算対象の対象文字列集合に含まれる文字列から、アルファベット表記の文字が連続する部分(以下、「アルファベット連続部分」という)と、カタカナ表記の文字が連続する部分(以下、「カタカナ連続部分」という)とを抽出する。
特徴ベクトル計算部16は、さらに、計算対象N−グラム抽出部17と、計算対象M−グラム抽出部18と、N−グラム基底ベクトル加算部19と、M−グラム基底ベクトル加算部20と、加算正規化部21とを含んだ構成で表すことができる。
計算対象N−グラム抽出部17は、連続部分抽出部15で抽出されたアルファベット連続部分から、N−グラムを抽出する。
計算対象M−グラム抽出部18は、連続部分抽出部15で抽出されたカタカナ連続部分から、M−グラムを抽出する。
N−グラム基底ベクトル加算部19は、計算対象N−グラム抽出部17で抽出されたN−グラムの各々について、アルファベット−カタカナ基底ベクトル記憶部30から、対応するアルファベット−カタカナ基底ベクトルを抽出して加算する。
M−グラム基底ベクトル加算部20は、計算対象M−グラム抽出部18で抽出されたM−グラムの各々について、カタカナ−カタカナ基底ベクトル記憶部31から、対応するカタカナ−カタカナ基底ベクトルを抽出して加算する。
加算正規化部21は、N−グラム基底ベクトル加算部19で加算された基底ベクトルと、M−グラム基底ベクトル加算部20で加算された基底ベクトルとを加算し、各要素を各要素の総和で除すことにより、各要素の総和が1となるように正規化したものを、対象文字列集合に含まれる文字列の特徴ベクトルとする。
類似度計算部22は、特徴ベクトル計算部16により計算された二つの文字列の各々の特徴ベクトルに基づいて、二つの文字列間の類似度を計算する。
<文字列類似度計算装置の作用>
次に、本実施の形態に係る文字列類似度計算装置10の作用について説明する。文字列類似度計算装置10に学習文字列集合が入力されると、文字列類似度計算装置10において、図2に示す基底ベクトル生成処理が実行されて、アルファベット−カタカナ基底ベクトル及びカタカナ−カタカナ基底ベクトルが生成されて、記憶される。アルファベット−カタカナ基底ベクトル及びカタカナ−カタカナ基底ベクトルが記憶された状態で、文字列類似度計算装置10に対象文字列集合が入力されると、文字列類似度計算装置10において、図3に示す類似度計算処理が実行される。以下、各処理について詳述する。
まず、基底ベクトル計算処理(図2)について説明する。ここでは、N=4、M=2として、アルファベット表記の4−グラム、カタカナ表記の2−グラムを用いる場合を例に説明する。
ステップ100で、入力された学習文字列集合を受け付ける。ここでは、以下に示す2つの文字列のアルファベット表記とカタカナ表記との組からなる学習文字列集合Aを受け付けるものとする。
A = {{"adam", "アダム"}, {"dam", "ダム"}}
次に、ステップ102で、学習用N−グラム抽出部11が、アルファベット表記の文字列に含まれる4−グラムaを抽出する。ここでは、"adam"から{"...a", "..ad",".ada", "adam", "dam.", "am..", "m..."}が抽出され、また、"dam"から{"...d", "..da",".dam", "dam.", "am..", "m..."}が抽出される。なお、"."は文字列の先頭または末尾に対応させるダミー文字である。
次に、ステップ104で、学習用M−グラム抽出部12が、カタカナ表記に含まれる2−グラムkを抽出する。ここでは、"アダム"から{".ア", "アダ", "ダム", "ム."}が抽出され、また、"ダム"から{".ダ", "ダム", "ム."}が抽出される。
次に、ステップ106で、アルファベット−カタカナ基底ベクトル生成部13が、アルファベット表記の4−グラムaについて共起するカタカナ表記の2−グラムkの条件付き共起確率を計算する。具体的には、まず、アルファベット表記の4−グラムaに対するカタカナ表記の2−グラムkの共起頻度C(a, k)を求める。4−グラム"...a"に対する2−グラム".ア"の共起頻度は、アルファベット表記の文字列"adam"及び"dam"の各々のうち、"...a"が抽出されたアルファベット表記の文字列に対応するカタカナ表記の文字列から抽出された2−グラムkに".ア"が出現する頻度である。求めた共起頻度C(a, k)を下記表1に示す。
Figure 2013218628
そして、各アルファベット表記の4−グラムaについて(表1の各行について)の共起頻度の総和が1となるよう正規化して、下記表2に示す条件付き共起確率C*(a, k)を得る。
Figure 2013218628
次に、ステップ108で、アルファベット−カタカナ基底ベクトル生成部13が、以下に示すように、表2の各行を切り出して、各アルファベット表記の4−グラムaに対するアルファベット−カタカナ基底ベクトルu(a)として、アルファベット−カタカナ基底ベクトル記憶部30に記憶する。
u("...a") = (1/4, 0, 1/4, 1/4, 1/4)
u("...d") = (0, 1/3, 0, 1/3, 1/3)
u("..ad") = (1/4, 0, 1/4, 1/4, 1/4)
u("..da") = (0, 1/3, 0, 1/3, 1/3)
u(".ada") = (1/4, 0, 1/4, 1/4, 1/4)
u(".dam") = (0, 1/3, 0, 1/3, 1/3)
u("adam") = (1/4, 0, 1/4, 1/4, 1/4)
u("dam.") = (1/7, 1/7, 1/7, 2/7, 2/7)
u("am..") = (1/7, 1/7, 1/7, 2/7, 2/7)
u("m...") = (1/7, 1/7, 1/7, 2/7, 2/7)
次に、ステップ110で、カタカナ−カタカナ基底ベクトル生成部14が、二つのカタカナ表記のM−グラム間の条件付き共起確率を計算する。具体的には、上記ステップ106と同様に、まず、カタカナ表記の2−グラムk及びk'の共起頻度D(k, k')を求める。求めた共起頻度D(k, k')を下記表3に示す。
Figure 2013218628
そして、各カタカナ表記の2−グラムkについて(表3の各行について)の共起頻度の総和が1となるよう正規化して、下記表4に示す条件付き共起確率D*(k, k')を得る。
Figure 2013218628
次に、ステップ112で、カタカナ−カタカナ基底ベクトル生成部14が、以下に示すように、表4の各行を切り出して、各カタカナ表記の2−グラムkに対するカタカナ−カタカナ基底ベクトルv(k)として、カタカナ−カタカナ基底ベクトル記憶部31に記憶し、基底ベクトル生成処理を終了する。
v(".ア") = (1/4, 0, 1/4, 1/4, 1/4)
v(".ダ") = (0, 1/3, 0, 1/3, 1/3)
v("アダ") = (1/4, 0, 1/4, 1/4, 1/4)
v("ダム") = (1/7, 1/7, 1/7, 2/7, 2/7)
v("ム.") = (1/7, 1/7, 1/7, 2/7, 2/7)
次に、類似度計算処理(図3)について説明する。
ステップ120で、入力された対象文字列集合を受け付ける。次に、ステップ122で、受け付けた対象文字列集合から1つの文字列を選択する。ここでは、例えば"WINTERクリアランスSale"が選択されたものとする。
次に、ステップ124で、連続部分抽出部15が、選択された文字列からアルファベット連続部分を抽出し、全て小文字に変換する。ここでは、"winter"及び"sale"が抽出される。
次に、ステップ126で、連続部分抽出部15が、選択された文字列からカタカナ連続部分を抽出する。ここでは、"クリアランス"が抽出される。
次に、ステップ128で、計算対象N−グラム抽出部17が、上記ステップ124で抽出されたアルファベット連続部分に含まれる4−グラムを抽出する。ここでは、アルファベット連続部分"winter"及び"sale"から、4−グラムとして{"...w", "..wi", ".win", "wint", "inte", "nter", "ter.", "er..", "r...", "...s", "..sa", ".sal", "sale", "ale.", "le..", "e..."}が抽出される。
次に、ステップ130で、計算対象M−グラム抽出部18が、上記ステップ126で抽出されたカタカナ連続部分に含まれる2−グラムを抽出する。ここでは、カタカナ連続部分"クリアランス"から、2−グラムとして{".ク", "クリ", "リア", "アラ", "ラン", "ンス", "ス."}が抽出される。
次に、ステップ132で、N−グラム基底ベクトル加算部19が、上記ステップ128で抽出した各4−グラムに対応するアルファベット−カタカナ基底ベクトルを、アルファベット−カタカナ基底ベクトル記憶部30から取得し、取得した全てのアルファベット−カタカナ基底ベクトルを加算したベクトルを計算する。
次に、ステップ134で、M−グラム基底ベクトル加算部20が、上記ステップ130で抽出した各2−グラムに対応するカタカナ−カタカナ基底ベクトルを、カタカナ−カタカナ基底ベクトル記憶部31から取得し、取得した全てのカタカナ−カタカナ基底ベクトルを加算したベクトルを計算する。
次に、ステップ136で、加算正規化部21が、上記ステップ132及び134で計算されたベクトルの両者を加算し、さらに各要素を各要素の総和で除すことにより、各要素の総和が1となるように正規化したものを、上記ステップ122で選択した文字列の特徴ベクトルとする。
次に、ステップ138で類似度を計算する2つの文字列について特徴ベクトルを計算したか否かを判定し、否定判定された場合は、ステップ122に戻り、2つ目の文字列を選択して、ステップ124〜136の処理を繰り返して、特徴ベクトルを計算する。肯定判定された場合は、ステップ140へ移行する。
ステップ140では、計算された2つの特徴ベクトルに基づいて、2つの文字列の類似度を計算する。各特徴ベクトルを(a1,a2,…,aI)及び(b1,b2,…,bI)とすると、類似度は、例えば下記(1)式により計算することができる。
Figure 2013218628
以上説明したように、本実施の形態に係る文字列類似度計算装置によれば、予め与えられたアルファベット表記とカタカナ表記との正しい対応関係を用いて、アルファベット表記のN−グラムに対するカタカナ表記のM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトル、及びカタカナ表記のM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成し、これに基づいて文字列間の類似度を計算するため、アルファベット表記−カタカナ表記間の対応関係が複数存在する場合でも、表記ゆれやノイズによる影響を抑制し、適切に文字列間の類似度を計算することができる。
本発明は、上記実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上述の文字列類似度計算装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 文字列類似度計算装置
11 学習用N−グラム抽出部
12 学習用M−グラム抽出部
13 アルファベット−カタカナ基底ベクトル生成部
14 カタカナ−カタカナ基底ベクトル生成部
15 連続部分抽出部
16 特徴ベクトル計算部
16 類似度計算部
17 計算対象N−グラム抽出部
18 計算対象M−グラム抽出部
19 N−グラム基底ベクトル加算部
20 M−グラム基底ベクトル加算部
21 加算正規化部
22 類似度計算部
30 アルファベット−カタカナ基底ベクトル記憶部
31 カタカナ−カタカナ基底ベクトル記憶部

Claims (3)

  1. アルファベット表記の文字列と該アルファベット表記に対応するカタカナ表記の文字列との組からなる学習文字列集合を用いて、アルファベット表記の各文字列に含まれるN−グラムに対するカタカナ表記の各文字列に含まれるM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを生成する第1生成手段と、
    前記学習文字列集合を用いて、カタカナ表記の各文字列に含まれる二つのM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成する第2生成手段と、
    アルファベット表記とカタカナ表記とが混在する類似度計算対象の対象文字列集合に含まれる文字列から、アルファベット表記の文字が連続する部分とカタカナ表記の文字が連続する部分とを抽出する抽出手段と、
    前記アルファベット表記の文字が連続する部分に含まれるN−グラムに対応する前記アルファベット−カタカナ基底ベクトルと、前記カタカナ表記の文字が連続する部分に含まれるM−グラムに対応する前記カタカナ−カタカナ基底ベクトルとに基づいて、前記対象文字列集合に含まれる文字列の特徴ベクトルを計算する特徴ベクトル計算手段と、
    前記特徴ベクトル計算手段により計算された前記対象文字列集合に含まれる二つの文字列の各々の特徴ベクトルに基づいて、前記二つの文字列間の類似度を計算する類似度計算手段と、
    を含む文字列類似度計算装置。
  2. 第1生成手段と、第2生成手段と、抽出手段と、特徴ベクトル計算手段と、類似度計算手段とを含む文字列類似度計算装置における文字列類似度計算方法であって、
    前記第1生成手段が、アルファベット表記の文字列と該アルファベット表記に対応するカタカナ表記の文字列との組からなる学習文字列集合を用いて、アルファベット表記の各文字列に含まれるN−グラムに対するカタカナ表記の各文字列に含まれるM−グラムの条件付き共起確率を要素とするアルファベット−カタカナ基底ベクトルを生成し、
    前記第2生成手段が、前記学習文字列集合を用いて、カタカナ表記の各文字列に含まれる二つのM−グラム間の条件付き共起確率を要素とするカタカナ−カタカナ基底ベクトルを生成し、
    前記抽出手段が、アルファベット表記とカタカナ表記とが混在する類似度計算対象の対象文字列集合に含まれる文字列から、アルファベット表記の文字が連続する部分とカタカナ表記の文字が連続する部分とを抽出し、
    前記特徴ベクトル計算手段が、前記アルファベット表記の文字が連続する部分に含まれるN−グラムに対応する前記アルファベット−カタカナ基底ベクトルと、前記カタカナ表記の文字が連続する部分に含まれるM−グラムに対応する前記カタカナ−カタカナ基底ベクトルとに基づいて、前記対象文字列集合に含まれる文字列の特徴ベクトルを計算し、
    前記類似度計算手段が、前記特徴ベクトル計算手段により計算された前記対象文字列集合に含まれる二つの文字列の各々の特徴ベクトルに基づいて、前記二つの文字列間の類似度を計算する
    文字列類似度計算方法。
  3. コンピュータを、請求項1記載の文字列類似度計算装置を構成する各手段として機能させるための文字列類似度計算プログラム。
JP2012090841A 2012-04-12 2012-04-12 文字列類似度計算装置、方法、及びプログラム Expired - Fee Related JP5676517B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012090841A JP5676517B2 (ja) 2012-04-12 2012-04-12 文字列類似度計算装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012090841A JP5676517B2 (ja) 2012-04-12 2012-04-12 文字列類似度計算装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2013218628A true JP2013218628A (ja) 2013-10-24
JP5676517B2 JP5676517B2 (ja) 2015-02-25

Family

ID=49590621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012090841A Expired - Fee Related JP5676517B2 (ja) 2012-04-12 2012-04-12 文字列類似度計算装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5676517B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062888A (zh) * 2018-06-04 2018-12-21 昆明理工大学 一种出现错误文本输入时的自纠正方法
US10795964B2 (en) 2015-02-13 2020-10-06 Alibaba Group Holding Limited Text address processing method and apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142877A (ja) * 1999-11-16 2001-05-25 Nippon Telegr & Teleph Corp <Ntt> アルファベット文字・日本語読み対応付け装置と方法およびアルファベット単語音訳装置と方法ならびにその処理プログラムを記録した記録媒体
JP2003167913A (ja) * 2001-11-29 2003-06-13 Hitachi Ltd 類似文書検索方法
JP2003288366A (ja) * 2002-03-28 2003-10-10 Fujitsu Ltd 類似テキスト検索装置
US20070016571A1 (en) * 2003-09-30 2007-01-18 Behrad Assadian Information retrieval
JP2009193584A (ja) * 2008-02-13 2009-08-27 Fujitsu Ltd ワードセットに関係するワードの決定
JP2010044597A (ja) * 2008-08-13 2010-02-25 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理方法、情報処理システム、およびプログラム
US20120271827A1 (en) * 2007-12-31 2012-10-25 Merz Christopher J Methods and systems for implementing approximate string matching within a database

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142877A (ja) * 1999-11-16 2001-05-25 Nippon Telegr & Teleph Corp <Ntt> アルファベット文字・日本語読み対応付け装置と方法およびアルファベット単語音訳装置と方法ならびにその処理プログラムを記録した記録媒体
JP2003167913A (ja) * 2001-11-29 2003-06-13 Hitachi Ltd 類似文書検索方法
JP2003288366A (ja) * 2002-03-28 2003-10-10 Fujitsu Ltd 類似テキスト検索装置
US20070016571A1 (en) * 2003-09-30 2007-01-18 Behrad Assadian Information retrieval
US20120271827A1 (en) * 2007-12-31 2012-10-25 Merz Christopher J Methods and systems for implementing approximate string matching within a database
JP2009193584A (ja) * 2008-02-13 2009-08-27 Fujitsu Ltd ワードセットに関係するワードの決定
JP2010044597A (ja) * 2008-08-13 2010-02-25 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理方法、情報処理システム、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795964B2 (en) 2015-02-13 2020-10-06 Alibaba Group Holding Limited Text address processing method and apparatus
CN109062888A (zh) * 2018-06-04 2018-12-21 昆明理工大学 一种出现错误文本输入时的自纠正方法
CN109062888B (zh) * 2018-06-04 2023-03-31 昆明理工大学 一种出现错误文本输入时的自纠正方法

Also Published As

Publication number Publication date
JP5676517B2 (ja) 2015-02-25

Similar Documents

Publication Publication Date Title
US20190087403A1 (en) Online spelling correction/phrase completion system
Náplava et al. Diacritics restoration using neural networks
US10242323B2 (en) Customisable method of data filtering
Laboreiro et al. Tokenizing micro-blogging messages using a text classification approach
US10762293B2 (en) Using parts-of-speech tagging and named entity recognition for spelling correction
Schnabel et al. Flors: Fast and simple domain adaptation for part-of-speech tagging
US8380488B1 (en) Identifying a property of a document
JP5809381B1 (ja) 自然言語処理システム、自然言語処理方法、および自然言語処理プログラム
Proisl SoMeWeTa: A part-of-speech tagger for German social media and web texts
KR20130038959A (ko) 문자 변환 처리 장치, 기록 매체 및 방법
Malykh et al. Robust word vectors: Context-informed embeddings for noisy texts
JP4266222B2 (ja) 単語翻訳装置およびそのプログラム並びにコンピュータ読み取り可能な記録媒体
Roark et al. Hippocratic abbreviation expansion
JP5676517B2 (ja) 文字列類似度計算装置、方法、及びプログラム
UzZaman et al. A comprehensive bangla spelling checker
US11934779B2 (en) Information processing device, information processing method, and program
Isroilov et al. Personal names spell-checking–a study related to Uzbek
US10896296B2 (en) Non-transitory computer readable recording medium, specifying method, and information processing apparatus
Yıldırım et al. An unsupervised text normalization architecture for turkish language
Islam et al. A context-sensitive approach to find optimum language model for automatic Bangla spelling correction
JP2009199434A (ja) アルファベット文字列日本語読み変換装置及びアルファベット文字列日本語読み変換プログラム
US20180033425A1 (en) Evaluation device and evaluation method
Singvongsa et al. Lao-Thai machine translation using statistical model
Kim et al. Reliable automatic word spacing using a space insertion and correction model based on neural networks in Korean
Sowmya et al. Transliteration based text input methods for telugu

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141225

R150 Certificate of patent or registration of utility model

Ref document number: 5676517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees