JP2014085724A - 文字列分割装置、モデルファイル学習装置および文字列分割システム - Google Patents

文字列分割装置、モデルファイル学習装置および文字列分割システム Download PDF

Info

Publication number
JP2014085724A
JP2014085724A JP2012232182A JP2012232182A JP2014085724A JP 2014085724 A JP2014085724 A JP 2014085724A JP 2012232182 A JP2012232182 A JP 2012232182A JP 2012232182 A JP2012232182 A JP 2012232182A JP 2014085724 A JP2014085724 A JP 2014085724A
Authority
JP
Japan
Prior art keywords
character string
delimiter
probability
character
pattern
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
JP2012232182A
Other languages
English (en)
Other versions
JP6055267B2 (ja
Inventor
Naoki Shibata
直樹 柴田
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.)
Fuetrek Co Ltd
Original Assignee
Fuetrek Co Ltd
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 Fuetrek Co Ltd filed Critical Fuetrek Co Ltd
Priority to JP2012232182A priority Critical patent/JP6055267B2/ja
Publication of JP2014085724A publication Critical patent/JP2014085724A/ja
Application granted granted Critical
Publication of JP6055267B2 publication Critical patent/JP6055267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

【課題】表音文字列からなる分割対象データを比較的短時間で的確に形態素に分割する。
【解決手段】表音文字列に対して区切り位置を表す区切り記号「/」が挿入された区切り付き文字列データを多数用意し、区切り文字列データから指定gram数Nずつ抽出した文字列からなるパターン単位で、文字間、文字列先端および終端の各位置における区切り確率を求め、パターンと区切り確率とからなるモデルファイルMFを作成しておく。表音文字列からなる分割対象データから指定gram数Nずつ抽出した文字列からなるパターンに対応する区切り確率をモデルファイルMFから求め(ステップS24)、同一の文字間を含むパターンそれぞれについて検出された前記区切り確率に基づき、前記同一の文字間における、各パターンの区切り確率の平均値を演算し(ステップS26)、この区切り確率の平均値が閾値以上となる位置を、区切り位置と判定する(ステップS27)。
【選択図】図5

Description

本発明は、文字列を形態素単位に分割する文字列分割装置、モデルファイル学習装置および文字列分割システムに関する。
従来、音声入力による曲名検索システムでは、ユーザが所望の曲名を発話することにより入力される発話データを、音声認識辞書を用いて文字列に変換している。
例えば、曲名検索システムに、曲名「ホワイトクリスマス」という発話データが入力された場合には、「ホワイトクリスマス」という発話データに対応する情報が音声認識辞書に登録されていれば、「ホワイトクリスマス」という発話データを、対応する文字列に適切に変換することができる。
一方、曲名「ホワイトクリスマス」の一部、例えば、「ホワイト」または「クリスマス」という発話データが曲名検索システムに入力された場合には、「ホワイト」または「クリスマス」という発話データに対応する情報が音声認識辞書に登録されていなければ、「ホワイト」または「クリスマス」という発話データを、対応する文字列に適切に変換することができない可能性がある。
そのため、例えば、曲名検索システムにおいて、「ホワイト」または「クリスマス」という発話データが入力された場合には、「ホワイト」または「クリスマス」という文言を曲名に含む、曲名全てをリストアップするように構成されていたとしても、曲名検索システムでは、「ホワイト」または「クリスマス」という発話データを、適切な文字列に変換することができないため、「ホワイトクリスマス」という曲名をリストアップすることができない可能性がある。これはすなわち、ユーザが、「ホワイトクリスマス」という曲名を検索する目的で、「ホワイト」または「クリスマス」というように、曲名「ホワイトクリスマス」の一部のみを発話した場合には、「ホワイトクリスマス」という曲名を検索することができないことになり、使い勝手が悪い。
「ホワイト」または「クリスマス」というように、曲名「ホワイトクリスマス」の一部のみが発話された場合でも「ホワイトクリスマス」という曲名を検索することのできる曲名検索システムを実現するためには、曲名全体だけでなく「ホワイト」、「クリスマス」というように曲名の一部に相当する発話データに対応する情報についても、音声認識辞書に登録しておく必要がある。
そのためには、たとえば新曲が出るとき等のタイミングで、新曲名(例えばホワイトクリスマス)を形態素に分割した、「ホワイト」、「クリスマス」といった単語を、音声認識辞書に登録する必要があり、さらに、この作業を新曲が出るときなどのタイミングでその都度行う必要がある。
ここで、新曲名を形態素ごとに分割する方法として、形態素解析方法を用いることが考えられる。
しかしながら、形態素解析用の辞書を用いた一般的な形態素解析方法にあっては、形態素解析を正しく行うためには、形態素解析用の辞書を新曲名に合わせて更新する必要がある。すなわち、新曲対応を行う都度、形態素解析用の辞書の更新に手間がかかることになり現実的ではない。つまり、形態素解析用の辞書を用いた一般的な形態素解析方法では、品詞などの情報付きの単語リストなどを辞書として形態素解析を行うとともに、文法のルールや、漢字やカタカナとひらがなとのつながりなどを考慮して解析している。そのため、漢字や助詞などを含む「文」などにおいては前後の単語のつながりなどを考慮して形態素に分割することができるため、比較的精度良く形態素に分割することができる。しかしながら、一般に曲名の場合、「文」というよりは、助詞などを含まない複数の単語を並べたものが多い。また、新曲名が、漢字を含まずにカタカナあるいはひらがなのみで表記されている場合、すなわち、新曲名に含まれる漢字が表音文字列に書き下して表記されている場合などには、「文」の形態素解析に適した一般的な形態素解析方法を用いて新曲名を形態素解析しても、形態素に正しく分割することができない可能性がある。
そのため、複数の単語を並べたような曲名について、正しく形態素解析を行うためには、形態素解析用の辞書を新曲名に合わせて更新する必要がある。
一方、形態素解析用の辞書を用いずに解析を行う方法として、例えば、特許文献1が提案されている。
特開平10−326275号公報
上記形態素解析用の辞書を用いずに解析を行う方法にあっては、N−gramの文字列の部分連鎖確率を格納した拡張文字テーブルに基づき、形態素解析を行っており、全ての拡張文字列について連鎖確率を求める必要がある。つまり、演算過程における演算結果を格納するための大容量の一時記憶領域を必要とし、また演算処理負荷が大きく、比較的長い処理時間を要するという問題がある。
そのため、より短時間で、形態素に分割することの可能な方法が望まれていた。
そこで、この発明は、上記従来の未解決の問題に着目してなされたものであり、表音文字列からなる文字列データを、比較的短時間で的確に形態素に分割することの可能な、文字列分割装置、モデルファイル学習装置および文字列分割システムを提供することを目的としている。
本発明の一態様は、設定された文字数の文字列からなるキーと当該文字列の文字間が区切りとなる確率を表す区切り確率とが対応付けられたものが複数格納されてなるモデルファイルを読み込むモデルファイル読み込み部と、表音文字列からなる分割対象データを入力する分割対象データ入力部と、前記モデルファイル読み込み部で読み込んだモデルファイルをもとに、前記分割対象データ入力部で入力した前記分割対象データを構成する文字列における文字間の区切り確率を検出する区切り確率検出部と、当該区切り確率検出部で検出した前記分割対象データを構成する文字列における文字間の区切り確率に基づき、前記分割対象データを構成する文字列の区切り位置を判定する区切り判定部と、を備えることを特徴とする文字列分割装置である。
前記区切り判定部は、前記分割対象データを構成する文字列における文字間の区切り確率が予め設定した閾値以上である位置を前記区切り位置と判定し、前記閾値は変更可能に構成されていてよい。
前記区切り判定部は、前記分割対象データの、前記区切り判定部で判定された区切り位置間の文字列の長さを検出し、当該文字列の長さに応じて前記閾値を変更して前記区切り位置を再判定するようになっていてよい。
前記区切り確率検出部は、前記分割対象データを構成する文字列の端から順に1文字ずつずらしながら予め設定した数の文字列をパターンとして抽出するパターン抽出部と、当該パターンそれぞれについて前記モデルファイルをもとに前記区切り確率を検出する検出部と、前記分割対象データを構成する文字列のうちの同一の文字間を文字列に含むパターンそれぞれについて検出された前記区切り確率に基づき、前記同一の文字間位置における前記区切り確率の平均値を演算する平均値演算部と、を備え、前記区切り判定部は、当該平均値演算部で演算された区切り確率の平均値に基づき、前記区切り位置を判定するものであってよい。
本発明の他の態様は、表音文字列からなる文字列データに対して当該文字列データの文字列の区切り位置を表す区切り位置情報が付加されてなる区切り付き文字列データを入力する区切り付き文字列データ入力部と、当該区切り付き文字列データ入力部で入力された区切り付き文字列データから、前記区切り位置情報を抽出する区切り情報抽出部と、前記区切り付き文字列データから指定された文字数の文字列をパターンとして抽出し、当該パターンを構成する文字列の文字間、前記パターンを構成する文字列の先頭文字の前側位置および終端文字の後側位置における区切り確率を、前記区切り情報抽出部で抽出した前記区切り位置情報に基づき検出し、前記パターンと当該パターンを構成する文字列の各位置における区切り確率とを対応付けてモデルファイルを作成するモデルファイル作成部と、を備えることを特徴とするモデルファイル学習装置である。
前記モデルファイル作成部は、前記区切り付き文字列データから指定された文字数の文字列をパターンとして抽出し、当該パターンを構成する文字列の文字間、前記パターンを構成する文字列の先頭文字の前側位置および終端文字の後側位置における区切り確率を、前記区切り情報抽出部で抽出した前記区切り位置情報に基づき検出する区切り確率演算部と、異なる前記区切り付き文字列パターンから抽出された共通の文字列からなる複数のパターンについて、当該パターンについて検出された前記区切り確率に基づき、前記共通の文字列の文字間、前記共通の文字列の先頭文字の前側位置および終端文字の後側位置それぞれの各位置における区切り確率の平均値を演算する平均値演算部と、を備え、複数のパターンに共通の文字列については、前記平均値演算部で演算された前記各位置における区切り確率の平均値と前記共通の文字列とを対応付けて、前記モデルファイルを作成するものであってよい。
本発明の他の態様は、上記いずれかの態様の文字列分割装置と、上記いずれかの態様のモデルファイル学習装置と、を備え、前記文字列分割装置は、前記モデルファイル学習装置で作成したモデルファイルを用いて前記分割対象データの文字列における文字間の区切り確率を検出することを特徴とする文字列分割システムである。
本発明によれば、予め生成されたモデルファイルをもとに、分割対象データ入力部で入力した分割対象データを構成する文字列における文字間の区切り確率を検出し、この区切り確率に基づき、分割対象データを構成する文字列の区切り位置を判定するため、表音文字列からなる比較的短い文字列であっても的確に形態素に分割することができる。
また、表音文字列からなる文字列データに対してこの文字列データの文字列の区切り位置を表す区切り位置情報が付加されてなる複数の区切り付き文字列データから、指定された文字数の文字列からなるパターンを抽出し、このパターンを構成する文字列の文字間、文字列の先頭文字の前側位置および終端文字の後側位置における区切り確率を、区切り位置情報に基づき検出し、パターンとパターンを構成する文字列の各位置における区切り確率とを対応付けてモデルファイルを作成したため、区切り付き文字列データにおける区切り位置を反映したモデルファイルを容易に作成することができる。
本発明を適用した文字列分割システムの一例を示す構成図である。 モデルファイル学習部の処理手順の一例を示すフローチャートである。 パターンと区切り確率との対応の一例である。 区切り位置検出結果の一例である。 文字列分割装置の処理手順の一例を示すフローチャートである。 文字列分割装置の処理手順のその他の例を示すフローチャートである。 区切り位置判定用の閾値と、文字列分割装置により得られた区切り位置間の文字列の平均長さとの関係を示したものである。
以下、図面を参照して本発明の実施の形態を説明する。
本実施形態は、本発明の文字列分割システムを用いて、音声認識辞書を作成する場合について説明する。
この音声認識辞書は、発話データに対応する曲名を特定する曲名検索システムで用いられる音声認識辞書である。曲名検索システムでは、発話データに対応する文字列を、音声認識辞書を用いて取得し、取得した文字列に基づき発話データに対応する曲名を検索するようになっている。
<文字列分割システム1の構成>
図1は、文字列分割システム1の一例を示す構成図である。
文字列分割システム1は、文字列分割装置2と、文字列分割装置2で用いるモデルファイル作成するモデルファイル学習装置3と、を備える。
ここでは、初めに、モデルファイル学習装置3について説明した後、文字列分割装置2について説明する。
<モデルファイル学習装置3の構成および動作>
モデルファイル学習装置3は、図1に示すように、区切り付き文字列データ入力部31と、区切り情報抽出部32と、モデルファイル作成部33と、モデルファイル記憶部34と、を備える。
区切り付き文字列データ入力部31は、区切り付き文字列データを、学習文として入力する。この区切り付き文字列データとして、例えば、以下のような文字列データがあげられる。
学習文1:カイガイ/ハッシン/ナド/アニメ/シンコウ/ニ/チカラ/ヲ/コメル
学習文2:カイテン/ドア/ニ/サワル
学習文3:ブドウカン/コンサート/ナド/アニバーサリー/イヤー/ヘ/ムケタ/キカク
学習文4:ドア/ニ/テ/ヲ/カケル
学習文5:ペット/アンド/アニマル/ノ/セイト
学習文6:アナタ/ワ/ダレ
すなわち区切り付き文字列データは、例えば、多数の表音文字列で表した文字列データに対して、意味のある文字のまとまりごと、すなわち形態素ごとに、文字の区切りを表す区切り記号「/」が挿入された、文字列データである。
区切り付き文字列データ入力部31は、例えば、キーボードであって、ユーザがキーボード操作を行い、表音文字列からなる文字列データを入力し、且つこの文字列データに対して区切り記号「/」を挿入することによって、区切り付き文字列データを入力する。
あるいは、区切り付き文字列データ入力部31は、外部装置と通信を行う通信機能を備えており、区切り付き文字列データを外部装置から入力するようにしてもよい。また、外部装置から、表音文字列からなる文字列データのみを入力し、区切り付き文字列データ入力部31において、ユーザが区切り記号「/」のみを挿入するようにしてもよい。
区切り情報抽出部32は、区切り付き文字列データ入力部31により入力された区切り付き文字列データからなる学習文それぞれについて、先頭から順に指定gram数Nの文字列を抽出し且つ抽出開始位置を1つずつずらして指定gram数Nの文字列を順次抽出し、抽出した指定gram数Nの文字列ごとに、この文字列に含まれる区切り記号「/」の位置情報を取得し、この位置情報に基づき区切り確率を検出する。なお、区切り記号「/」は文字として扱わない。
また、例えば、「ァィゥェォャュョヮンー」などについては直前で区切りになることはないので、前の文字に連結して1文字として扱う。例えば、「ディ」、「ファ」など拗音、「タッ」、「ハッ」など促音、「カー」、「バー」などの長音、「カン」、「パン」など撥音は、これら拗音等をその前の文字に含めて1文字とする。また、「ニュース」など、拗音に続けて長音を含む場合には、拗音および長音を拗音の前の文字に含めて1文字とする。すなわち、「ニュース」の場合には2文字とする。
また、区切り付き文字列データの先頭および終端は、通常単語や文の切れ目となるため、無条件に分割位置とみなす。
例えば、区切り付き文字列データが前記学習文6「アナタ/ワ/ダレ」の場合には、指定gram数Nを“3”とすると、指定gram数Nの文字列からなる以下の4パターンが得られる。
「/アナタ/」、「ナタ/ワ/」、「タ/ワ/ダ」、「/ワ/ダレ/」
そして、各パターンについて、区切り記号「/」を除去した文字列をキーとする。また、各パターンにおいて隣接する2つの文字間に区切り記号「/」が挿入されている場合には、これら文字間の区切り確率を「1.0」とする。隣接する2つの文字間に区切り記号「/」が挿入されていない場合には、これら文字間の区切り確率を「0.0」とする。また、各パターンの文字列の前または後に区切り記号「/」がある場合には、区切り記号「/」に隣接する文字の、区切り記号「/」側の区切り確率を「1.0」とする。
例えば、上記4パターンの場合には、各区切り確率は、以下のようになる。
「/アナタ/」 ……「1.0:0.0:0.0:1.0」
「ナタ/ワ/」 ……「0.0:0.0:1.0:1.0」
「タ/ワ/ダ」 ……「0.0:1.0:1.0:0.0」
「/ワ/ダレ/」……「1.0:1.0:0.0:1.0」
そして、キーと、区切り確率とを対応付ける。例えば、第1パターン「/アナタ/」の場合には、キーは「アナタ」となり、区切り確率は「1.0:0.0:0.0:1.0」となる。
この処理を、入力された切り付き文字列データ(学習文)全てについて行い、キーとこれに対応する区切り確率とを得る。
モデルファイル作成部33は、区切り情報抽出部32で得られた全てのキーとこれに対応する区切り確率とからなるモデルファイルMFを作成し、これをモデルファイル記憶部34に格納する。
ここで、例えば、区切り付き文字列データとして前記学習文1〜5が入力された場合には、各学習文1〜5それぞれに「ドアニ」という文字列が含まれるため、各学習文1〜5のそれぞれにおいてキー「ドアニ」と、区切り確率とが得られることになる。
この場合には、各学習文1〜5により得られたキー「ドアニ」に対応する区切り確率について平均値を求め、これをキー「ドアニ」の平均区切り確率とする。
すなわち、学習文1〜5において、キー「ドアニ」の区切り確率が、以下に示すとおりであるとすると、各学習文のキーの同一位置における区切り確率それぞれを平均した値が、平均区切り確率となる。例えば、各学習文における文字「ド」の前側位置における区切り確率は、それぞれ「0.0,1.0,0.0,0.0,0.0」であるため、これらの平均値「0.2」が平均区切り確率となる。すなわち、学習文1〜5における「ドアニ」の各位置における平均区切り確率は、「0.2:0.6:0.4:0.4」となる。
学習文1:ド/アニ ……「0.0:1.0:0.0:0.0」
学習文2:/ドア/ニ/……「1.0:0.0:1.0:1.0」
学習文3:ド/アニ ……「0.0:1.0:0.0:0.0」
学習文4:ドア/ニ/ ……「0.0:0.0:1.0:1.0」
学習文5:ド/アニ ……「0.0:1.0:0.0:0.0」
平均区切り確率 ……「0.2:0.6:0.4:0.4」
なお、他の学習文にもキー「ドアニ」が含まれる場合、また、1つの学習文に複数の同じキーが含まれる場合にも、これらキーの区切り確率も含めて平均区切り確率を演算する。また、既に、モデルファイルとして、キー「ドアニ」が登録されている場合には、登録されている区切り確率も含めて平均区切り確率を演算する。
そして、このようにして求めた平均区切り確率を、このキー(上記の場合には「ドアニ」)の区切り確率としてモデルファイルMFを作成する。
次に、モデルファイル学習装置3の処理手順を、図2のフローチャートを伴って説明する。
モデルファイル学習装置3では、モデルファイルMFを作成する場合には、まず、区切り付き文字列データを入力する(ステップS11)。
次いで、ステップS12に移行し、入力した区切り付き文字列データの先頭から指定gram数Nの文字列を抽出する。ここで、指定gram数Nは、予め設定しておく。この指定gram数Nは、大きな値に設定すると区切り文字列データを分割して得られるパターンの文字数が多くなり、指定gram数Nを小さな値に設定すると、パターンの文字数が少なくなるため、形態素解析において一般的に用いられているgram数N=3が好ましい。
例えば、指定gram数NをN=3とし、区切り付き文字列データが前記学習文6「アナタ/ワ/ダレ」の場合には、前述のように第1パターン「/アナタ/」が得られる。
次に、抽出したパターンについて、区切り記号「/」の挿入位置を抽出する(ステップS13)。
続いて、区切り付き文字列データにおいて、抽出開始文字を1文字進め(ステップS14)、抽出開始文字から文字列を抽出することができる場合には、区切り付き文字列データの終端ではないとして(ステップS15)、ステップS12に戻る。
そして、抽出開始文字から指定gram数Nの文字列を抽出し、区切り記号「/」の挿入位置を抽出する(ステップS13)。ステップS12〜ステップS14の処理を、区切り付き文字列データの終端になるまで繰り返し行う。これにより、第2パターン「ナタ/ワ/」、第3パターン「タ/ワ/ダ」、第4パターン「/ワ/ダレ/」が抽出され、各パターンについて、区切り記号「/」の挿入位置が抽出される。
そして、ステップS13で、第4パターンの文字列「/ワ/ダレ/」について区切り記号「/」が抽出された後、ステップS14で抽出開始文字を1文字進めると、区切り付き文字列データの終端に達していることから、ステップS15からステップS16に移行する。そして、ステップS12で抽出した全パターンから得られるキーについて、区切り確率を求める。
そして、得られた全てのキーとこれに対応する区切り確率とから、モデルファイルMFを作成し、これをモデルファイル記憶部34に格納する(ステップS17)。
このとき、同一の文字列からなるキーが複数ある場合には、区切り確率の平均値である平均区切り確率を求め、これを、このキーの区切り確率とする。また、既にモデルファイルMFに同一キーが登録されている場合には、登録されている区切り確率を含めて平均区切り確率を求め、これを区切り確率とする。
以上の処理によって、モデルファイルMFには、学習文として入力された区切り付き文字列データから得られるキーとこれに対応する区切り確率とが、登録されることになる。
なお、上記実施形態では、区切り付き文字列データの先頭および終端は、無条件に分割位置とみなすようにしているが、区切り付き文字列データの先頭および終端に「/」が挿入されていれば分割位置、挿入されていなければ分割位置ではないと判断するようにしてもよい。
また、上記実施形態では、区切り付き文字列データにおいて、拗音、撥音、長音などをその前の文字に含めて1文字とする場合について説明したがこれに限らず、拗音、撥音なども1文字として扱うように構成することも可能である。
また、区切り付き文字列データにおいて、特に重要な単語については、重みを付けて、モデルファイルMFを作成するように構成してもよい。例えば、重要な単語を含む学習文を多数用いて、モデルファイルMFを作成すればよい。
また、上記実施形態では、区切り位置を表す情報として区切り記号「/」を用いる場合について説明したが、これに限るものではなく、他の記号を区切り記号として用いてもよく、また、例えば、文字列の先頭から3番目の文字と4番目の文字との間などといった区切り位置を表す位置情報を、表音文字列からなる文字列データに付加するように構成してもよい。
<文字列分割装置2の構成および動作>
次に、文字列分割装置2について説明する。
文字列分割装置2は、図1に示すように、分割対象データ入力部21と、モデルファイル読み込み部22と、区切り確率検出部23と、区切り判定部24と、表示装置25と、を備える。
分割対象データ入力部21は、形態素への分割対象である分割対象データを入力する入力部である。分割対象データは、新曲名が、表音文字列で記述されたデータ、すなわち、漢字を含まないカタカナのみあるいは平仮名のみからなる文字列データである。分割対象データ入力部21は、例えば、通信回線を介して外部装置から表音文字列からなる新曲名の文字列データを入力する。あるいは、分割対象データ入力部21はキーボードなどの入力装置であって、ユーザが入力装置を操作し、表音文字列からなる新曲名の文字列データを入力すること、などにより入力される。
モデルファイル読み込み部22は、モデルファイルMFをモデルファイル記憶部34から読み込む。つまり、モデルファイル学習装置3で生成したモデルファイルMFを読み込む。
区切り確率検出部23は、分割対象データ入力部21で読み込んだ分割対象データを、指定gram数Nの文字列ごとに抽出し、且つ抽出開始文字を1文字ずつずらして、指定gram数Nの文字列を順次抽出する。
なお、この指定gram数Nは、モデルファイルMF作成時の指定gram数Nと同数である。
つまり、例えば、分割対象データとして、「ブランドアニマルガー」が入力された場合には、分割対象データの先頭から指定gram数Nの文字列を抽出し、以後、抽出開始文字を1つずつずらしながら指定gram数Nの文字列を順に抽出する。
つまり、分割対象データが「ブランドアニマルガー」の場合には、「ブランド」、「ランドア」、「ドアニ」、「アニマ」、「ニマル」、「マルガー」の6パターンを抽出する。
そして、分割対象データを分割して得た指定gram数Nの文字列それぞれについて、これと同じ文字列からなるキーを、モデルファイルMFから検索し、対応する区切り確率を得る。つまり、分割対象データが「ブランドアニマルガー」の場合には、前述の6パターンのキーそれぞれについて、モデルファイルMFから区切り確率を得る。
たとえば、モデルファイルMFには、キー「ドアニ」に対応する区切り確率として、「0.2:0.6:0.4:0.4」が登録されている。そのため、分割対象データ「ブランドアニマルガー」から得られたパターン「ドアニ」の区切り確率は「0.2:0.6:0.4:0.4」として特定される。なお、モデルファイルMFに、パターンに対応する区切り確率が登録されていない場合、すなわち未知語である場合には、このパターンに対応する区切り確率は、零とする。このように、未知語については区切り確率を零とすることによって、分割対象データに未知語が含まれる場合に、未知語を構成する文字列内が、区切り位置として検出されることが抑制され、未知語は一まとまりの単語として区切り判定されやすくすることができる。
区切り判定部24は、区切り確率検出部23で検出した、分割対象データから得た指定gram数Nの文字列それぞれに対応する「区切り確率」に基づき、区切り位置の判定を行う。そして、区切り位置の判定結果を表示装置25に出力する。
具体的には、分割対象データから得た指定gram数Nの文字列それぞれに対応する区切り確率について、分割対象データの同一の文字間の区切り確率どうしを加算し、その平均を演算することにより、分割対象データにおける区切り確率の平均値を求める。
そして、区切り確率の平均値が予め設定した閾値以上となる文字間を、区切り位置とする。この閾値は、例えば分割対象データに対する過去の区切り位置の検出結果などに基づいて予め設定される値である。
つまり、例えば分割対象データが「ブランドアニマルガー」の場合、前述のように6パターンのキーそれぞれについて区切り確率が得られる。
ここで、分割対象データの「ブランドアニマルガー」を分割して得られる指定gram数N(N=3)の文字列からなる6個のパターンそれぞれの区切り確率を以下であるものとする。
第1パターン「ブランド」 ……「0.8:0.0:0.2:0.8」
第2パターン「ランドア」 ……「0.0:0.0:0.5:0.0」
第3パターン「ドアニ」 ……「0.2:0.6:0.4:0.4」
第4パターン「アニマ」 ……「0.5:0.0:0.1:0.2」
第5パターン「ニマル(未知語)」……「0.0:0.0:0.0:0.0」
第6パターン「マルガー」 ……「0.2:0.0:0.7:0.8」
この第1〜第6の各パターンについて、分割対象データにおける同一の文字間の区切り確率を表すものどうしを対応させると、図3に示すようになる。
図3に示すように、分割対象データにおいて、最初の文字「ブ」の前側位置での区切り確率が得られているパターンは、第1パターン「ブランド」だけであるから、文字「ブ」の前側位置での区切り確率の平均値は、第1パターンにより得られた区切り確率「0.8」となる。
分割対象データの「ブ」と「ラン」との間での区切り確率が得られているパターンは、第1パターン「ブランド」と第2パターン「ランドア」であるから、第1パターンにおける「ブ」と「ラン」との間の区切り確率「0.0」と、第2パターンにおける区切り確率「0.0」とから、区切り確率の平均値は、「0.0」となる。
同様に、分割対象データの「ラン」と「ド」との間の区切り確率の平均値は、第1パターンにおける区切り確率「0.2」と、第2パターンにおける区切り確率「0.0」と、第3パターンにおける区切り確率「0.2」とから、区切り確率の平均値は、「0.133」となる。
分割対象データの「ド」と「ア」との間の区切り確率の平均値は、第1パターンにおける区切り確率「0.8」と、第2パターンにおける区切り確率「0.5」と、第3パターンにおける区切り確率「0.6」と、第4パターンにおける区切り確率「0.5」と、から、区切り確率の平均値は、「0.6」となる。
分割対象データの「ア」と「ニ」との間の区切り確率の平均値は、第2パターンにおける区切り確率「0.0」と、第3パターンにおける区切り確率「0.4」と、第4パターンにおける区切り確率「0.0」と、第5パターンにおける区切り確率「0.0」と、から、区切り確率の平均値は、「0.1」となる。
分割対象データの「ニ」と「マ」との間の区切り確率の平均値は、第3パターンにおける区切り確率「0.4」と、第4パターンにおける区切り確率「0.1」と、第5パターンにおける区切り確率「0.0」と、第6パターンにおける区切り確率「0.2」と、から、区切り確率の平均値は、「0.175」となる。
分割対象データの「マ」と「ル」との間の区切り確率の平均値は、第4パターンにおける区切り確率「0.2」と、第5パターンにおける区切り確率「0.0」と、第6パターンにおける区切り確率「0.0」と、から、区切り確率の平均値は、「0.067」となる。
分割対象データの「ル」と「ガー」との間の区切り確率の平均値は、第5パターンにおける区切り確率「0.0」と、第6パターンにおける区切り確率「0.7」と、から、区切り確率の平均値は、「0.35」となる。
分割対象データの「ガー」の後の位置での区切り確率の平均値は、第6パターンにおける区切り確率「0.8」から、区切り確率の平均値は、「0.8」となる。
したがって、分割対象データの前後および文字間の区切り確率の平均値は、図3の最下行に示すように、「0.8:0.0:0.133:0.6:0.1:0.175:0.067:0.35:0.8」となる。
そして、予め設定した閾値と比較し、区切り確率の平均値が閾値以上となる位置を、区切り位置と判定する。例えば分割対象データの「ブランドアニマルガー」の場合、閾値を「0.3」とすると、区切り確率の平均値が閾値「0.3」以上となるのは、図3に示すように、「ブ」の前(0.8)、「ド」と「ア」との間(0.6)、「ル」と「ガー」との間(0.35)、「ガー」の後(0.8)である。したがって、図4(a)に示すように、「/」が挿入された位置が区切り位置となる。
また、閾値を「0.6」とすると、区切り確率の平均値が閾値「0.6」以上となるのは、図3に示すように、「ブ」の前(0.8)、「ド」と「ア」との間(0.6)、「ガー」の後(0.8)である。したがって、図4(b)に示すように、「/」が挿入された位置が区切り位置となる。
前記閾値は、予め設定しておいてもよく、また、実際の区切り位置検出結果に応じて、閾値を切り替えるようにしてもよい。例えば、閾値を設定するためのキーボードなどの閾値入力装置を設ける。この閾値入力装置をユーザが操作することにより、上述のように、閾値「0.3」と「0.6」との間で切り替え、良好な結果を得ることのできた区切り位置検出結果を選択するようにしてもよい。
このように閾値入力装置を設けることによって、ユーザが閾値を任意に設定できる。したがって、例えば、予め設定された閾値の初期値に基づいて、区切り位置の判定が行われ、区切り位置の判定結果が表示装置25に表示された場合に、区切り位置の判定結果にしたがって区切られた結果得られる区切り位置間の文字列の長さが、長い、あるいは短いなどの場合に、閾値入力装置において閾値を変更することができる。したがって、分割対象データを、所望の長さの文字列に区切ることができる。
次に、文字列分割装置2の処理手順を、図5のフローチャートを伴って説明する。
分割対象データの分割を行う場合には、まず、モデルファイル記憶部34から、モデルファイルMFを読み込む(ステップS21)。
続いて、ステップS22に移行し、分割対象データ入力部21により分割対象データを入力する(ステップS22)。この分割対象データの先頭から、指定gram数Nの文字列を抽出する(ステップS23)。これを第1パターンとし、第1パターンの文字列をキーとする、区切り確率を、モデルファイルMFから取得し所定の記憶領域に記憶する(ステップS24)。
次いで、指定gram数Nの文字列の抽出開始位置を1文字進める(ステップS25)。
続いて、ステップS26に移行し、区切り確率の平均値を算出する。具体的には、所定の記憶領域に記憶している、分割対象データの指定gram数Nの文字列からなるパターンのうち、最新パターンの文字列の先頭の文字の前側位置を、区切り確率の平均値の演算対象位置とする。そして、記憶領域に記憶している各パターンのうち、前記演算対象位置を含む全てのパターンについて演算対象位置の区切り確率を求め、各パターンの演算対象位置の区切り確率の平均値を演算する。また、最新パターンが分割対象データの末尾の指定gram数Nの文字列からなる末尾パターンである場合には、末尾パターンの各文字間、および末尾の文字の後側位置のそれぞれについても同様に区切り確率の平均値を演算する。
つまり、分割対象データが、図3の「ブランドアニマルガー」であるとき、最新パターンが第1パターン「ブランド」の場合には、演算対象位置は、「ブ」の前側位置になる。この時点で記憶領域には、第1パターンしか格納されていないので、第1パターンの文字列をキーとする区切り確率から特定される「ブ」の前側位置における区切り確率「0.8」が、区切り確率の平均値となる。
最新パターンが第2パターン「ランドア」の場合には、演算対象位置は、「ラン」の前側位置となる。この演算対象位置は、第1パターンおよび第2パターンに含まれるため、第1パターンから特定される「ブ」と「ラン」との間の区切り確率「0.0」と、第2パターンから特定される「ラン」の前側位置の区切り確率「0.0」との平均値が区切り確率の平均値となる。
同様に、最新パターンが第3パターン「ドアニ」の場合には、演算対象位置は、「ド」の前側位置となり、この演算対象位置は、第1パターン、第2パターン、第3パターンに含まれるため、第1パターンから特定される「0.2」と、第2パターンから特定される「0.0」と、第3パターンから特定される「0.2」と、の平均値「0.133」が区切り確率の平均値となる。
最新パターンが第4パターン「アニマ」の場合には、演算対象位置は、「ア」の前側位置となり、この演算対象位置は、第1から第4パターンに含まれるため、各パターンから特定される「0.8」、「0.5」、「0.6」、「0.5」の平均値「0.6」が区切り確率の平均値となる。
最新パターンが第5パターン「ニマル」の場合には、演算対象位置は、「ニ」の前側位置となり、この演算対象位置が含まれる第2から第5パターンから特定される「0.0」、「0.4」、「0.0」、「0.0」の平均値「0.1」が区切り確率の平均値となる。
最新パターンが第6パターン「マルガー」の場合には、演算対象位置は、「マ」の前側位置となり、この演算対象位置が含まれる第3から第6パターンから特定される「0.4」、「0.1」、「0.0」、「0.2」の平均値「0.175」が区切り確率の平均値となる。
そして、第6パターンは末尾パターンであるから、第6パターンの、「マ」と「ル」との間、「ル」と「ガー」との間、「ガー」の後側位置、についてそれぞれを演算対象位置として区切り確率の平均値を求める。
その結果、「マ」と「ル」との間、「ル」と「ガー」との間、「ガー」の後側位置について、区切り確率の平均値「0.067」、「0.35」、「0.8」が求まる。
このようにして、最新パターンについて、区切り確率の平均値を求めたならば、ステップS27に移行し、予め設定した閾値と区切り確率の平均値とを比較し、閾値を超える演算対象位置を、区切り位置と判定する。なお、最新パターンが末尾パターンである場合には、末尾パターンの文字列先頭の文字の前側位置における区切り確率の平均値だけでなく、文字間および末尾の文字の後側位置における区切り確率の平均値についても閾値と比較する。この比較結果は所定の記憶領域に格納しておく。
そして、末尾パターンについて、閾値との比較が終了していなければ、ステップS23に戻って、次のパターンの抽出を行い、末尾パターンについて閾値との比較が終了したならば、ステップS28からステップS29に移行し、区切り位置の判定結果を表示装置25に出力する。すなわち、例えば、図4(a)、(b)に示すように、分割対象データの「ブランドアニマルガー」という文字列において、区切り位置と判定された位置に、区切り記号「/」を挿入して表示することにより、結果表示を行う。
なお、図5のフローチャートでは、パターン毎に、区切り確率を読み込んだ後、区切り位置判定を行う構成としているが、これに限るものではない。
例えば、図5のステップS26の区切り確率の平均値を算出する処理とステップS27での区切り位置判定の処理とを行う区切り位置判定用の処理装置を別途設け、ステップS24でパターンの文字列に対応する区切り確率を求めた後、求めた区切り確率をパターンと対応付けて所定の区切り確率記憶領域に格納するように構成する。そして、区切り確率記憶領域にパターンと区切り確率とが格納されるタイミングで、図5のステップS26の区切り確率の平均値を算出する処理とステップS27での区切り位置判定の処理とを、区切り位置判定用の処理装置で実行する構成とする。すなわち、分割対象データの各パターンの区切り確率の検出処理と、区切り確率の平均値の算出および区切り位置判定の処理とを並行して行うように構成してもよい。
これら分割対象データの各パターンの区切り確率の検出処理と、区切り確率の平均値の算出および区切り位置の判定の処理とを並行して行うことによって、分割対象データに対する区切り位置の検出に要する所要時間を短縮することができる。そのため、新曲の発売タイミングなどに合わせて大量の曲名を音声認識辞書に登録するような場合であっても、分割対象データの形態素への分割に要する所要時間の短縮を図ることができるため、新曲の発売対応に要する所要時間を短縮することができる。
なお、区切り確率の検出処理については、モデルファイルにおいて、分割対象データの各パターンにおけるキー(つまり、各パターンにおいて、区切り記号「/」を除去した文字列)と、このパターンの区切り確率との対応を、ハッシュテーブルを用いて管理することで、より高速に分割対象データの各パターンの区切り確率を検出することができる。
また、例えば、分割対象データの各パターンの区切り確率の検出処理を、各パターン間で並行して実行するように構成することも可能である。すなわち、複数の処理部を設け、各処理部において、分割対象データからの指定gram数Nの文字列の抽出開始位置を一つずつずらして設定し、複数の処理部において、異なるパターンについて区切り確率の検出を行うように構成してもよい。さらに、各処理部で検出した区切り確率を共通の記憶領域に格納する構成とし、各処理部において、共通の記憶領域に格納された複数のパターンをもとに、区切り確率の平均値を演算しさらに閾値と比較して区切り位置であるかを判定する処理までを各処理部で実行するように構成してもよい。このように構成することによって、分割対象データに対する区切り位置判定に要する全体の処理時間の短縮を図ることができる。
すなわち、区切り位置判定は、指定gram数Nの文字列の単位で処理を行っており、区切り確率の平均値の算出を行う際に、他の指定gram数Nの文字列における区切り確率を利用するだけである。そのため、上述のように、区切り位置判定に伴い実行される処理を並行して行うことができる。その結果、分割対象データに対する処理時間の短縮を図ることができる。すなわち文字列分割装置2の高速化を図ることができる。
また、図5のフローチャートでは、予め設定した閾値に基づいて区切り位置判定を行う構成としているが、これに限るものではない。
前述のように、閾値を設定するための閾値入力装置を設け、ユーザが閾値を任意に設定できるようにしてもよい。また、例えば図6に示すように、ステップS24で最新パターンの区切り確率を読んだときに、区切り確率の記憶領域にパターンと対応付けて区切り確率を格納し、抽出開始位置を1文字進めた後(ステップS25)、ステップS31に移行し、分割対象データの末尾に達していなければ、ステップS23に戻り、分割対象データの末尾に達していれば、ステップS32に移行し、所定の区切り確率の記憶領域にパターンと対応付けて格納した、全てのパターンの区切り確率をもとに、分割対象データの各文字間および先頭文字の前側位置および末尾の文字の後側位置それぞれを演算対象位置としてそれぞれについての区切り確率の平均値を求め(ステップS33)、求めた平均値と閾値と比較し、区切り位置判定を行う(ステップS34)。
このとき、閾値は、分割対象データに対する区切り位置検出結果から区切り位置間の文字列の平均長さがわかっているのであれば、この平均的な長さに近づくように、調整すればよい。つまり、区切り位置検出結果がえられたとき、この検出結果に基づき区切り位置間の文字列の平均長さを演算する処理を行う。そして、その結果得られた、区切り位置間の文字列の平均長さに基づき、閾値を設定する。
例えば、閾値として基準値「0.5」を用いて、区切り位置判定を行ったが、区切り位置間の文字列の平均長さが目標値よりも短い場合には、細かく分割しすぎであるため、閾値を「0.6」に調整するなどの処理を行う。
図7は、分割対象データが「ブランドアニマルガー」である場合の、区切り位置判定用の閾値と、得られた区切り位置間の文字列の平均長さとの関係を示したものである。
図7から閾値が大きいときほど、区切り位置間の文字列の平均長さが長くなり、区切り位置間の文字列の平均長さを、「5」にする場合には「0.6〜0.7」を閾値として用いればよいことがわかる。
そして、このようにしきい値の自動調整を行った結果、適切な文字列の長さとなるように区切り位置が設定された時点で、そのときの区切り位置を挿入した分割対象データを、区切り位置判定結果として表示装置などに表示する(ステップS34)。
このように構成することによって、分割対象データの区切り位置間の文字列の長さが適度な長さになるように自動的に調整することができる。
また、上記実施形態においては、各パターンの区切り確率に基づき、区切り確率の平均値を算出する場合について説明したが、これに限るものではない。例えば、平均値ではなく、区切り確率そのものが最大となる位置を区切り位置と判定するようにしてもよい。
例えば、図3に示すパターンと区切り確率との対応において、区切り確率が最大であるのは、「0.8」であるため、区切り確率が「0.8」である、「ブ」の前側位置、「ド」と「ア」との間、「ガー」の後を区切り位置と判定するようにしてもよい。
<全体動作>
次に、分割対象データとしての新曲名を分割する際の全体動作を説明する。
まず、モデルファイル学習装置3において、予めモデルファイルMFを作成し、モデルファイル記憶部34に格納しておく。このとき、モデルファイルMFは予め設定した指定gram数Nの文字列からなるキーについて作成する。
ここで、前述のように、文字列分割装置2では、モデルファイルMFに登録されている区切り確率に基づき、分割対象データを分割している。そのため、良好なモデルファイルMFを用いるほど、分割対象データの分割を適切に行うことができる。
したがって、モデルファイル学習装置3では、より多くの多様な学習文を用いてモデルファイルMFを作成することが好ましい。
また、モデルファイルMFを、定期的あるいは新曲が出るタイミング等といった予め設定したタイミングで、新曲の名前になりそうな流行語や世情を表す言葉などが含まれた学習文を用いて、更新するようにしてもよい。このように、流行語などを含む学習文を用いてモデルファイルMFを作成することによって、区切り位置の検出精度の向上につながる。
このようにしてモデルファイルMFを作成したならば、文字列分割装置2により、分割対象データの分割を行う。まず表音文字列からなる分割対象データ(すなわち曲名を表す文字列データ)、分割対象データ入力部21により入力し、分割対象データから指定gram数Nの文字列からなるパターンを生成する。
そして、パターンを生成する毎に、モデルファイルMFに基づき区切り確率を求め、さらに所定の演算対象位置における各パターンに基づく区切り確率の平均値を求める。そして、区切り確率の平均値が閾値を上回る位置を区切り位置と判断し、全てのパターンについて区切り位置の判定が終了したとき、分割対象データの区切り位置の検出結果を表示する。
そして、このようにして分割対象データの区切り位置、すなわち曲名の区切り位置をもとに分割対象データを分割し、分割した文字列をもとに音声認識辞書を作成する。曲名検索システムでは、この音声認識辞書を用いて曲名検索を行う。
例えば、「ホワイトクリスマス」という表音文字列を分割対象データとして、文字列分割装置2を用いて区切り位置を検出することによって、「ホワイト」と「クリスマス」とに分割することができる。
したがって、文字列分割装置2による分割結果を用いて音声認識辞書を作成することによって、曲名「ホワイトクリスマス」が的確な位置で分割された「ホワイト」および「クリスマス」を含む、音声認識辞書が作成されることになる。したがって、このようにして生成された音声認識辞書を用いて曲名検索を行うことによって、「ホワイト」、「クリスマス」といった、曲名「ホワイトクリスマス」の一部だけが発話された場合であっても、曲名「ホワイトクリスマス」を的確に検索することができる。
ここで、文字列分割装置2では、予め生成したモデルファイルMFを用いて区切り位置を判定しており、すなわち、指定gram数Nの文字列について統計的に区切りとなる傾向が高い位置を区切り位置と判定するようにしている。したがって、漢字や助詞などが含まれない表音文字列からなる分割対象データ、すなわち、前後の単語間のつながりやつながりのルールなどを考慮して形態素解析による分割位置を判別することができない場合であっても、比較的的確に区切り位置を検出することができる。つまり、統計的に区切りとなる傾向が高い位置を区切り位置と判定しているため、形態素単位で区切り位置と判定することができない可能性があるが、ある程度の精度は確保することができる。
前述のように、前後の単語のつながりなどを考慮して形態素解析を行う一般的な形態素解析方法を用いて、漢字や助詞などを含まない分割対象データ(曲名)を分割した場合、特に、曲名などの場合には、分割対象データの文字列が短いため、漢字や助詞など、また、前後の言葉のつながりなどを考慮しようとしても十分に考慮することは難しく、そのため、所望の分割結果を得ることができない可能性がある。
そのため、文字列分割装置2のように、単に、統計的に区切りとなる傾向が高い位置を区切り位置と判定する方が、形態素ごとに分割するという点では十分な精度を得ることができない可能性があるが、曲名など比較的短い文字列データの分割には好適である。
また、漢字や助詞、また、文全体での単語のつながりなど考慮して形態素解析を行う一般的な方法を用いた場合、比較的精度よく形態素解析を行うことができる反面、例えば一カ所区切り位置を誤ると、文全体に渡って、区切り位置が誤って設定される可能性がある。
しかしながら、本実施形態による文字列分割装置2では、局所的な区切り確率にのみ基づいて区切り位置を設定しているため、分割対象データにおいて一カ所区切り位置を誤ったとしても、この区切り位置の誤りが影響することによって、分割対象データ全体に渡って誤った区切り位置が設定されることを回避することができる。同様の理由で分割対象データに未知語が含まれる場合も、この未知語が含まれることにより誤った区切り位置が設定された場合であっても、この区切り位置の誤りが影響することによって、分割対象データ全体に渡って誤った区切り位置が設定されることを回避することができる。
また、文字列分割装置2では、分割対象データの分割を行う場合には、分割対象データから指定gram数Nの文字列をパターンとして抽出し、このパターンについてモデルファイルMFから対応する区切り確率を求め、各パターンの区切り確率に基づき区切り確率の平均値を求め、これと閾値とを比較することで区切り位置を検出する構成とした。そのため、複雑な演算処理を伴うことなく簡易な演算処理で区切り位置を検出することができる。すなわち、比較的簡易なアルゴリズムで実現することができ、前述の、形態素解析用の辞書を用いない従来の形態素解析方法に比較して、大幅な処理時間の短縮また処理負荷軽減を図ることができる。
また、このように比較的簡易なアルゴリズムで実現することができ、また処理時間も比較的短いため、繰り返し処理を行ったとしても、比較的短時間ですむ。そのため、例えば前述のように閾値入力装置を設け、区切り判定結果を参照しつつ、適切な区切り位置となるように閾値を調整しながら区切り位置を探索する場合であっても、短時間で所望の位置で分割された分割対象データを得ることができ、使い勝手を向上させることができる。
また、上述のように比較的簡易なアルゴリズムで区切り位置判定を行うことができ、また、処理時間の短縮、処理負荷の軽減を行うことができるため、文字列分割装置2としてはそれほど性能のよい処理装置を用いる必要はない。したがってその分、コスト削減を図ることができる。
また、モデルファイル学習装置3は、モデルファイルMFを作成するためには、学習文として、表音文字列からなる文字列データに区切り記号「/」を挿入した区切り付き文字列データを用意すればよく、漢字表記を行う必要はない。したがって、例えば、新曲名のリストなどが表音文字列からなる文字列データとして生成されている場合などには、この表音文字列からなる文字列データを、漢字を含む文字列データに変換する必要はなく、漢字を含むデータへの変更を行わなくても、的確に区切り位置検出を行うことができる。
また、学習文として、表音文字列からなる文字列データに区切り記号「/」を挿入した区切り付き文字列データを多数用意することは手間がかかることではあるが、文字列分割装置2では、各パターンから得られる区切り確率の平均値に基づき区切り位置判定を行っているため、それほど緻密に正しく区切り位置が設定された区切り付き文字列データである必要はない。すなわち、区切り付き文字列データの区切り位置に誤りがあったとしても、文字列分割装置2では、分割対象データを分割してなるパターンに対応する区切り確率の平均値に基づき、区切り位置を判定しているため、一つの区切り付き文字列データの区切り位置に誤りがあったとしても、この区切り付き文字列データの区切り位置の誤りが、文字列分割装置2での区切り位置判定に与える影響を低減することができる。
また、表音文字列からなる文字列データを、漢字や助詞、前後の単語のつながりを考慮して形態素解析を行う一般的な形態素解析方法を用いて分割した場合、前述のように漢字や助詞などを含む文を分割する場合に比較して、分割位置の精度が低下する。
学習文としての表音文字列からなる文字列データを、一般的な形態素解析方法を用いて区切った場合、誤った箇所に区切り位置が設定される可能性がある。そのため、一般的な形態素解析方法により分割して得た、区切り位置が設定された文字列データを、モデルファイル作成用の区切り付き文字列データとしてそのまま用いることは、区切り位置検出の精度の点で不向きである。しかしながら、一般的な形態素解析方法により分割して得た区切り位置が設定された文字列データを多数用意し、これら多数の文字列データを学習用の区切り付き文字列データとして、モデルファイルMFを作成するならば、一般的な形態素解析方法により分割して得た区切り位置が設定された文字列データを、学習用の区切り付き文字列データとして適用した場合であっても、ある程度の精度を確保することができる。
このように、文字列分割装置2では、表音文字列からなる分割対象データであってもある程度的確に分割することができる。特に、曲名などの場合には、カタカナだけ、あるいはひらがなだけ、といった漢字や助詞などが含まれない表音文字列からなることが多い。そのため、一般的な形態素解析方法を用いた場合には、適切に分割することができない可能性があるが、表音文字列を分割対象データとする文字列分割装置2を用いることによって比較的的確に分割することができる。
したがって、表音文字列からなる曲名であっても、人手によらず、比較的的確に分割することができ、使い勝手のよい曲名検索システムを実現し得る音声認識辞書を容易に得ることができる。
また、前述のように、使い勝手のよい曲名検索システムを実現するためには、新曲が出るとき等のタイミングで、新曲名を形態素に分割した「ホワイト」、「クリスマス」などといった単語を、音声認識辞書に登録する必要がある。
ここで、例えば漢字の「口」という文字を、カタカナの「ロ」にみたてて「ろ」と読むなど、文字列を本来の読み方とは異なる特殊な読み方で読む文字列を含む文字列データの場合には、一般的な形態素解析方法を用いて形態素への分割を図ったとしても、特殊な読み方の文字列を未知語として認識し、的確に形態素に分割することができない可能性がある。つまり、特殊な読みの文字列を音声認識辞書に登録することができないため、特殊な読みの文字列を、的確に分割することができた形態素とは別に、別途音声認識辞書に登録するなどの操作を行う必要がある。特に、大量の新曲名を音声認識辞書に登録する場合において、このような特殊な読みの文字列が多数含まれる場合には、多数の特殊な読みの文字列を別途音声認識辞書に登録することになり、手間がかかる。
しかしながら、上記実施形態では、表音文字列からなる文字列データを用いて作成したモデルファイルMFを用いて、表音文字列からなる分割対象データを分割するため、特殊な読みの文字列を含む分割対象データであっても、適切に形態素に分割することができる。つまり、特殊な読み方をする文字列であっても意味のある文字列として分割することができ、適切に分割できた他の形態素と同様に取り扱うことができる。したがって、特殊な読みの文字列を音声認識辞書に別途登録する手間を省くことができる。したがって、大量の新曲名に、特殊な読みの文字列が多数含まれる場合であっても、新曲名を形態素に的確に分割することができ、音声認識辞書への登録を容易に行うことができる。
なお、上記分割対象データ、また、区切り付き文字列データは、ひらがな、カタカナからなる場合すなわち日本語に限るものではなく、英語などのローマ字や中国語などの漢字を用いた言語、また、その他の言語であっても適用することができる。
また、上記実施形態において、文字列分割装置2と、モデルファイル学習装置3とは、同じ場所に設ける必要はない。例えば、文字列分割装置2とモデルファイル学習装置3とを通信回線などで接続し、モデルファイル学習装置3のモデルファイル記憶部34に記憶されたモデルファイルMFを、通信回線を介して文字列分割装置2で取得するように構成してもよい。同様に、モデルファイル記憶部34は、区切り付き文字列データ入力部31、区切り情報抽出部32およびモデルファイル作成部33と同じ場所に設ける必要はなく、要はモデルファイル作成部33で作成したモデルファイルMFをモデルファイル記憶部34に格納することができ、且つ、モデルファイル記憶部34に格納されたモデルファイルMFを、モデルファイル読み込み部22が取得することができれば、各部がどこに配置されていてもよい。
上記実施形態において、図5のステップS23の処理がパターン抽出部に対応し、ステップS24の処理が検出部に対応し、ステップS26の処理が平均値演算部に対応している。
また、図2のステップS16の処理が区切り確率演算部および平均値演算部に対応している。
1 文字列分割システム
2 文字列分割装置
3 モデルファイル学習装置
21 分割対象データ入力部
22 モデルファイル読み込み部
23 区切り確率検出部
24 区切り判定部
25 表示装置
31 区切り付き文字列データ入力部
32 区切り情報抽出部
33 モデルファイル作成部
34 モデルファイル記憶部

Claims (7)

  1. 設定された文字数の文字列からなるキーと当該文字列の文字間が区切りとなる確率を表す区切り確率とが対応付けられたものが複数格納されてなるモデルファイルを読み込むモデルファイル読み込み部と、
    表音文字列からなる分割対象データを入力する分割対象データ入力部と、
    前記モデルファイル読み込み部で読み込んだモデルファイルをもとに、前記分割対象データ入力部で入力した前記分割対象データを構成する文字列における文字間の区切り確率を検出する区切り確率検出部と、
    当該区切り確率検出部で検出した前記分割対象データを構成する文字列における文字間の区切り確率に基づき、前記分割対象データを構成する文字列の区切り位置を判定する区切り判定部と、を備えることを特徴とする文字列分割装置。
  2. 前記区切り判定部は、前記分割対象データを構成する文字列における文字間の区切り確率が予め設定した閾値以上である位置を前記区切り位置と判定し、
    前記閾値は変更可能に構成されていることを特徴とする請求項1記載の文字列分割装置。
  3. 前記区切り判定部は、前記分割対象データの、前記区切り判定部で判定された区切り位置間の文字列の長さを検出し、当該文字列の長さに応じて前記閾値を変更して前記区切り位置を再判定することを特徴とする請求項2記載の文字列分割装置。
  4. 前記区切り確率検出部は、
    前記分割対象データを構成する文字列の端から順に1文字ずつずらしながら予め設定した数の文字列をパターンとして抽出するパターン抽出部と、
    当該パターンそれぞれについて前記モデルファイルをもとに前記区切り確率を検出する検出部と、
    前記分割対象データを構成する文字列のうちの同一の文字間を文字列に含むパターンそれぞれについて検出された前記区切り確率に基づき、前記同一の文字間位置における前記区切り確率の平均値を演算する平均値演算部と、を備え、
    前記区切り判定部は、当該平均値演算部で演算された区切り確率の平均値に基づき、前記区切り位置を判定することを特徴とする請求項1から請求項3のいずれか1項に記載の文字列分割装置。
  5. 表音文字列からなる文字列データに対して当該文字列データの文字列の区切り位置を表す区切り位置情報が付加されてなる区切り付き文字列データを入力する区切り付き文字列データ入力部と、
    当該区切り付き文字列データ入力部で入力された区切り付き文字列データから、前記区切り位置情報を抽出する区切り情報抽出部と、
    前記区切り付き文字列データから指定された文字数の文字列をパターンとして抽出し、当該パターンを構成する文字列の文字間、前記パターンを構成する文字列の先頭文字の前側位置および終端文字の後側位置における区切り確率を、前記区切り情報抽出部で抽出した前記区切り位置情報に基づき検出し、前記パターンと当該パターンを構成する文字列の各位置における区切り確率とを対応付けてモデルファイルを作成するモデルファイル作成部と、を備えることを特徴とするモデルファイル学習装置。
  6. 前記モデルファイル作成部は、
    前記区切り付き文字列データから指定された文字数の文字列をパターンとして抽出し、当該パターンを構成する文字列の文字間、前記パターンを構成する文字列の先頭文字の前側位置および終端文字の後側位置における区切り確率を、前記区切り情報抽出部で抽出した前記区切り位置情報に基づき検出する区切り確率演算部と、
    異なる前記区切り付き文字列パターンから抽出された共通の文字列からなる複数のパターンについて、当該パターンについて検出された前記区切り確率に基づき、前記共通の文字列の文字間、前記共通の文字列の先頭文字の前側位置および終端文字の後側位置それぞれの各位置における区切り確率の平均値を演算する平均値演算部と、を備え、
    複数のパターンに共通の文字列については、前記平均値演算部で演算された前記各位置における区切り確率の平均値と前記共通の文字列とを対応付けて、前記モデルファイルを作成することを特徴とする請求項5記載のモデルファイル学習装置。
  7. 前記請求項1から請求項4のいずれか1項に記載の文字列分割装置と、
    前記請求項5または請求項6に記載のモデルファイル学習装置と、を備え、
    前記文字列分割装置は、前記モデルファイル学習装置で作成したモデルファイルを用いて前記分割対象データの文字列における文字間の区切り確率を検出することを特徴とする文字列分割システム。
JP2012232182A 2012-10-19 2012-10-19 文字列分割装置、モデルファイル学習装置および文字列分割システム Active JP6055267B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012232182A JP6055267B2 (ja) 2012-10-19 2012-10-19 文字列分割装置、モデルファイル学習装置および文字列分割システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012232182A JP6055267B2 (ja) 2012-10-19 2012-10-19 文字列分割装置、モデルファイル学習装置および文字列分割システム

Publications (2)

Publication Number Publication Date
JP2014085724A true JP2014085724A (ja) 2014-05-12
JP6055267B2 JP6055267B2 (ja) 2016-12-27

Family

ID=50788757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012232182A Active JP6055267B2 (ja) 2012-10-19 2012-10-19 文字列分割装置、モデルファイル学習装置および文字列分割システム

Country Status (1)

Country Link
JP (1) JP6055267B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173743A (ja) * 2015-03-17 2016-09-29 株式会社Jsol 顔文字抽出装置、方法及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022102177A1 (de) 2022-01-31 2023-08-03 List Technology Ag Anlage und Verfahren zur Verarbeitung eines Ausgangsmaterials zu einer Formlösung nach dem Trockenlöseverfahren

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249922A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 単語分割方式及び装置
JP2006031295A (ja) * 2004-07-14 2006-02-02 Internatl Business Mach Corp <Ibm> 単語境界確率推定装置及び方法、確率的言語モデル構築装置及び方法、仮名漢字変換装置及び方法、並びに、未知語モデルの構築方法、
JP2013097395A (ja) * 2011-10-27 2013-05-20 Casio Comput Co Ltd 情報処理装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249922A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 単語分割方式及び装置
JP2006031295A (ja) * 2004-07-14 2006-02-02 Internatl Business Mach Corp <Ibm> 単語境界確率推定装置及び方法、確率的言語モデル構築装置及び方法、仮名漢字変換装置及び方法、並びに、未知語モデルの構築方法、
JP2013097395A (ja) * 2011-10-27 2013-05-20 Casio Comput Co Ltd 情報処理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173743A (ja) * 2015-03-17 2016-09-29 株式会社Jsol 顔文字抽出装置、方法及びプログラム

Also Published As

Publication number Publication date
JP6055267B2 (ja) 2016-12-27

Similar Documents

Publication Publication Date Title
KR101083540B1 (ko) 통계적인 방법을 이용한 한자에 대한 자국어 발음열 변환 시스템 및 방법
US9582489B2 (en) Orthographic error correction using phonetic transcription
TWI293455B (en) System and method for disambiguating phonetic input
US8041559B2 (en) System and method for disambiguating non diacritized arabic words in a text
JP4791984B2 (ja) 入力された音声を処理する装置、方法およびプログラム
US20150179173A1 (en) Communication support apparatus, communication support method, and computer program product
JP2013117978A (ja) タイピング効率向上のためのタイピング候補の生成方法
US9460718B2 (en) Text generator, text generating method, and computer program product
CN110826301B (zh) 标点符号添加方法、系统、移动终端及存储介质
JP5323652B2 (ja) 類似語決定方法およびシステム
JP2000298667A (ja) 構文情報による漢字変換装置
KR100509917B1 (ko) 어절 엔-그램을 이용한 띄어쓰기와 철자 교정장치 및 방법
JP6055267B2 (ja) 文字列分割装置、モデルファイル学習装置および文字列分割システム
US20130080163A1 (en) Information processing apparatus, information processing method and computer program product
JP5642037B2 (ja) 検索装置、検索方法およびプログラム
JP5853595B2 (ja) 形態素解析装置、方法、プログラム、音声合成装置、方法、プログラム
KR20120045906A (ko) 코퍼스 오류 교정 장치 및 그 방법
JP7102710B2 (ja) 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法
JP4941495B2 (ja) ユーザ辞書作成システム、方法、及び、プログラム
KR20130122437A (ko) 영어의 한글 표기 방법 및 시스템
KR20120046850A (ko) 한글에 대한 유사도 계산 방법
JP2009176148A (ja) 未知語判定システム、方法及びプログラム
KR101658598B1 (ko) 로마자 발음 표기를 매개로 하는 한글 기반의 중국어 입력 장치 및 방법
Saychum et al. Efficient Thai Grapheme-to-Phoneme Conversion Using CRF-Based Joint Sequence Modeling.
JP2019159118A (ja) 出力プログラム、情報処理装置及び出力制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161018

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: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161202

R150 Certificate of patent or registration of utility model

Ref document number: 6055267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250