(57)【要約】【課題】自然言語処理におけるファジー・マッチングのための音声パターンに関する方法、コンピュータ・プログラム製品、およびコンピュータ・システムを提供する。【解決手段】トークンは自然言語入力から抽出される。音声パターンが、トークンに対応して計算され、音声パターンは、トークンが話されるときにトークンの一部を表す音パターンを含む。新しいデータが、音声パターンのデータから作成され、新しいデータが、音声パターンに対応する音節シーケンスを含む。データ・ストレージ・デバイスの状態が、トークンに対応する音節シーケンスのマトリクスに新しいデータを格納することによって変更される。プロセッサおよびメモリを使用してファジー・マッチング・アルゴリズムを実行することによってトークンに対応するオプションが選定され、オプションの選定は、マトリクス内の音節シーケンスに基づく。【選択図】図４
2021503097.tif 000002
【特許請求の範囲】
【請求項１】
自然言語（ＮＬ）入力からトークンを抽出することと、
前記トークンに対応する音声パターンを計算することであり、前記音声パターンは、前記トークンが話されるときに前記トークンの一部を表す音パターンを含む、前記計算することと、
前記音声パターンのデータから新しいデータを作成することであり、前記新しいデータが、前記音声パターンに対応する音節シーケンスを含む、前記作成することと、
前記トークンに対応する音節シーケンスのマトリクスに前記新しいデータを格納することによってデータ・ストレージ・デバイスの状態を変更することと、
プロセッサおよびメモリを使用してファジー・マッチング・アルゴリズムを実行することによって、前記トークンに対応するオプションを選定することであり、前記選定することが前記マトリクス内の音節シーケンスに基づく、前記選定することと
を含む方法。
【請求項２】
前記音声パターンに対応する第２の音節シーケンスを計算することと、
前記第２の音節シーケンスを前記マトリクスにセーブすることと
をさらに含む、請求項１に記載の方法。
【請求項３】
音声リポジトリ内の格納された音声パターンが前記トークンに対応するかどうかを決定することと、
前記格納された音声パターンが前記トークンに対応することに応答して、前記格納された音声パターンを前記音声パターンとして選定することと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記音声パターンを形成するために、音声リポジトリ内の第２のトークンに対応する格納された音声パターンを変更することであり、前記第２のトークンが、閾値よりも大きい前記トークンとの構造類似度を有する前記トークンに相当する、前記変更すること
をさらに含む、請求項１に記載の方法。
【請求項５】
少なくとも閾値の類似度が前記トークンのスペリングと前記第２のトークンのスペリングとの間に存在するので、構造類似性が存在する、請求項４に記載の方法。
【請求項６】
少なくとも閾値の類似度が前記トークンのスペリングの長さと前記第２のトークンのスペリングの長さとの間に存在するので、構造類似性が存在する、請求項４に記載の方法。
【請求項７】
少なくとも閾値の類似度が前記トークンの母音のシーケンスと前記第２のトークンの母音のシーケンスとの間に存在するので、構造類似性が存在する、請求項４に記載の方法。
【請求項８】
前記音パターンが音声表示を含み、少なくとも閾値の類似度が前記トークンのいくつかの音声表示と前記第２のトークンのいくつかの音声表示との間に存在するので、構造類似性が存在する、請求項４に記載の方法。
【請求項９】
前記音パターンが音声表示を含み、少なくとも閾値の類似度が前記トークンの音声表示の順序と前記第２のトークンの音声表示の順序との間に存在するので、構造類似性が存在する、請求項４に記載の方法。
【請求項１０】
前記音パターンが音声表示を含み、少なくとも閾値の類似度が前記トークンの前記音声表示の強調と前記第２のトークンの前記音声表示の強調との間に存在するので、構造類似性が存在する、請求項４に記載の方法。
【請求項１１】
第２の音パターンを第２の音声パターンに追加することによって、前記第２の音声パターンから前記音声パターンを計算すること
をさらに含む、請求項１に記載の方法。
【請求項１２】
第２の音声パターンから第２の音パターンを除去することによって前記第２の音声パターンから前記音声パターンを計算すること
をさらに含む、請求項１に記載の方法。
【請求項１３】
第２の音声パターンの第２の音パターンを前記音パターンと取り替えることによって前記第２の音声パターンから前記音声パターンを計算すること
をさらに含む、請求項１に記載の方法。
【請求項１４】
第２の音声パターンの音パターンのシーケンスを変更することによって前記第２の音声パターンから前記音声パターンを計算すること
をさらに含む、請求項１に記載の方法。
【請求項１５】
第２の音声パターンの第２の音パターンの期間を変更することによって前記第２の音声パターンから前記音声パターンを計算すること
をさらに含む、請求項１に記載の方法。
【請求項１６】
第２の音声パターンの第２の音パターンの強調を変更することによって、前記第２の音声パターンから前記音声パターンを計算すること
をさらに含む、請求項１に記載の方法。
【請求項１７】
前記トークンに対応する音声パターンのセットを計算することであり、前記音声パターンが前記音声パターンのセットのメンバである、前記計算すること
をさらに含む、請求項１に記載の方法。
【請求項１８】
前記トークンが言語の方言で話されるとき、前記音パターンが前記トークンの一部を表す、請求項１に記載の方法。
【請求項１９】
前記トークンが言語のアクセントを伴って話されるとき、前記音パターンが前記トークンの一部を表す、請求項１に記載の方法。
【請求項２０】
前記トークンが、話者の発話特異性をもつ言語で話されるとき、前記音パターンが前記トークンの一部を表す、請求項１に記載の方法。
【請求項２１】
前記トークンが、前記ＮＬ入力内に発話に関しての意味のある最短単位を含む、請求項１に記載の方法。
【請求項２２】
コンピュータ可読ストレージ・デバイスを含むコンピュータ使用可能プログラム製品であって、プログラム命令が前記ストレージ・デバイスに格納され、前記格納されたプログラム命令が、
自然言語（ＮＬ）入力からトークンを抽出するためのプログラム命令と、
前記トークンに対応する音声パターンを計算するためのプログラム命令であり、前記音声パターンは、前記トークンが話されるときに前記トークンの一部を表す音パターンを含む、前記プログラム命令と、
前記音声パターンのデータから新しいデータを作成するためのプログラム命令あり、前記新しいデータが、前記音声パターンに対応する音節シーケンスを含む、前記プログラム命令と、
前記トークンに対応する音節シーケンスのマトリクスに前記新しいデータを格納することによってデータ・ストレージ・デバイスの状態を変更するためのプログラム命令と、
プロセッサおよびメモリを使用してファジー・マッチング・アルゴリズムを実行することによって、前記トークンに対応するオプションを選定するためのプログラム命令であり、前記選定することが前記マトリクス内の音節シーケンスに基づく、前記プログラム命令と
を含む、コンピュータ使用可能プログラム製品。
【請求項２３】
コンピュータ使用可能コードが、データ処理システムのコンピュータ可読ストレージ・デバイスに格納され、前記コンピュータ使用可能コードが、リモート・データ処理システムからネットワークを介して転送される、請求項２２に記載のコンピュータ使用可能プログラム製品。
【請求項２４】
コンピュータ使用可能コードが、サーバ・データ処理システムのコンピュータ可読ストレージ・デバイスに格納され、前記コンピュータ使用可能コードが、リモート・データ処理システムに関連するコンピュータ可読ストレージ・デバイスで使用するためにネットワークを介して前記リモート・データ処理システムにダウロードされる、請求項２２に記載のコンピュータ使用可能プログラム製品。
【請求項２５】
コンピュータ・システムであって、請求項１ないし２１のいずれかに記載の方法を実行するために、プロセッサ、コンピュータ可読メモリ、およびコンピュータ可読ストレージ・デバイス、ならびに前記メモリを介した前記プロセッサによる実行のための前記ストレージ・デバイスに格納されたプログラム命令を含むコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、自然言語処理（ＮＬＰ）に関し、より詳細には、自然言語処理におけるファジー・マッチングのための音声パターンに関する方法、システム、およびコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
自然言語（ＮＬ）は、主として、他の人間とまたは自然言語インタフェースを有するシステムと通信するために人間によって利用される形態を有するスクリプト化（文書）または発声（話し言葉）言語である。
【０００３】
自然言語処理（ＮＬＰ）は、人間とデータ処理システムとの間の情報の交換を容易にする技法である。例えば、ＮＬＰの１つのブランチは、人間が読めるまたは人間が理解できるコンテンツを機械使用可能データに変換することに関する。例えば、ＮＬＰエンジンは、現在、新聞記事または人間の発話などの入力コンテンツを受け入れ、所与のコンテンツから、入力コンテンツの概要、最も重要な部分および最も重要でない部分、主題、参照、コンテンツ内の依存関係などのような構造化データを生成するために使用することができる。
【０００４】
ＮＬ入力は、自然言語の文法を使用して構築され、限定はしないが、テキスト、オーディオ、およびそれらの形式、例えば、オーディオ発話からの書き起こし、テキストからの機械生成オーディオなどを含む適切な形式で提示された入力である。ＮＬ入力の単位は、入力の意味のある最短部分である。例えば、英語では、単位は単語であり、単語は、ＮＬ入力の句、文、および段落などの他のより大きい構造を形成する。ＮＬ入力の単位は、本明細書ではトークンとも呼ばれる。
【０００５】
現在、ＮＬ入力を理解する際にマシンを有効にするために、アルゴリズムを利用することができる。ＮＬ入力を理解する主要部分は、ＮＬトークンの多くのありそうな機械解釈から正しい選択を繰り返して確実に選定することである。例えば、マシンは、「ｔｏｗ−ｍａｈ−ｔｏｗ」および「ｔｕｈ−ｍａｙ−ｔｏｗ」は「ｔｏｍａｔｏ」を表現する単に異なる方式であり、「ｔｏｗ−ｍａｈ−ｔｏｗ」がＮＬトークンとして提示される場合、そのトークンに対する正しい選定または選択は「ｔｏｍａｔｏ」であると結論を下すことができなければならない。
【０００６】
例示の実施形態は、トークンの機械理解が多くの要因に敏感であることを認識している。ある場合には、トークンまたはその一部に強調を置くことが、トークンに対応する選定を誤らせる場合がある。他の場合には、方言、アクセント、ＮＬ入力の局所性が、トークンの意味に影響を与える。さらに、トークンに対応する複数の有効な選択がある場合があるが、それらのうちの１つのみが、関連する要因に基づくと正しい。
【０００７】
例示の実施形態が意図している要因は、本明細書で説明するようなトークンの音声変化に関連する。そのため、ＮＬトークンの機械理解に影響を与える例示の実施形態が意図している要因は、正しいトークン認識に影響を与えるミススペリングおよびキー入力誤りタイプの理由とは異なる。現在、ミススペルされたトークンがテキストのＮＬ入力に発生している場合にＮＬＰマシンが正しい選択を選定するのに役立つ技法が存在する。ミススペルされたトークンが生じたときにＮＬＰマシンが正しい選定を行うように支援するために、いくつかのミススペルされたトークンは、同じ正しい単語にマッピングされる、例えば、「ｔｉｒｍｉｎａｔｅ」、「ｔｅｒｍａｔｅ」、および「ｔｅｒｍｅｎａｔｅ」などのミススペリングは、正しい選定の「ｔｅｒｍｉｎａｔｅ」にマッピングされる。
【０００８】
いくつかの現在使用されているＮＬＰアルゴリズムは、正しいスペリングにマッピングされたミススペリングの大きなキャッシュを構築している。そのようなキャッシュは大きくすることができるが、依然として完全にはほど遠い。例えば、単に英語のキャッシュでは、単一の８文字単語が、理論的に２６８（２０８，８２７，０６４，５７６）の可能な変形を有することができる。この種類のアルゴリズムのうちのいくつかのアルゴリズムは、例えば、最も一般的なミススペリングのみを含めることによってキャッシュを最適化している。依然として、マッピングのキャッシュは完全にはほど遠いままであり、拡張可能でなく、限定的なタイプの問題、テキスト入力におけるミススペリングしか扱えない。
【０００９】
ファジー・マッチングは、選定のセットからの選択または選定にＮＬトークンをマッピングするために使用される別の種類のアルゴリズムである。ファジー・マッチング・アルゴリズムは、テキスト入力からの所与のトークン・ストリングと選定のセット内の利用可能な選定ストリングとの間の類似性を見いだす手段として、編集距離アルゴリズムの変形を使用するストリング・マッチング・アルゴリズムである。ファジー・マッチング・アルゴリズムは、さらに、テキストのＮＬ入力で動作し、現在、ミススペルされた文字列を正しく理解するように構成されている。
【００１０】
現在、ファジー・マッチング・アルゴリズムは、精度を犠牲にして高い再現率（recall）を有するように設計されている。再現率は、検索された関連事例の分率（fraction）であり、精度は、関連している検索された事例の分率である。精度は、正確さまたは品質の尺度と見なすことができ、一方、再現率は完全性または数量の尺度である。最大精度はフォールス・ポジティブでないことを示し、最大再現率はフォールス・ネガティブでないことを示す。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
自然言語処理におけるファジー・マッチングのための音声パターンに関する方法、コンピュータ・プログラム製品、およびコンピュータ・システムを提供する。
【課題を解決するための手段】
【００１２】
例示の実施形態は、方法、システム、およびコンピュータ・プログラム製品を提供する。一実施形態は、自然言語（ＮＬ）入力からトークンを抽出する方法を含む。この実施形態は、トークンに対応する音声パターンを計算し、音声パターンは、トークンが話されるときにトークンの一部を表す音パターンを含む。この実施形態は、音声パターンのデータから新しいデータを作成し、新しいデータは、音声パターンに対応する音節シーケンスを含む。この実施形態は、トークンに対応する音節シーケンスのマトリクスに新しいデータを格納することによってデータ・ストレージ・デバイスの状態を変更する。この実施形態は、プロセッサおよびメモリを使用してファジー・マッチング・アルゴリズムを実行することによって、トークンに対応するオプションを選定し、選定することは、マトリクス内の音節シーケンスに基づく。このようにして、この実施形態は、ＮＬトークンに対するマッチング・オプションを選定することによってファジー・マッチング・アルゴリズムの精度の改善をもたらし、そのオプションは、そのオプションがトークンを表す音節シーケンスにも対応するので選定される。
【００１３】
別の実施形態は、さらに、音声パターンに対応する第２の音節シーケンスを計算する。この実施形態は、第２の音節シーケンスをマトリクスにセーブする。このようにして、この実施形態は、トークンを表す複数の音節シーケンスを構成するのを可能にする。
【００１４】
別の実施形態は、さらに、音声リポジトリ内の格納された音声パターンがトークンに対応するかどうかを決定する。この実施形態は、格納された音声パターンがトークンに対応することに応答して、格納された音声パターンを音声パターンとして選定する。このようにして、この実施形態は、トークンの以前の発生からの経時的に学習した音声パターンを使用する。
【００１５】
別の実施形態は、さらに、音声パターンを形成するために、音声リポジトリ内の第２のトークンに対応する格納された音声パターンを変更し、第２のトークンは、閾値よりも大きいトークンとの構造類似度を有するトークンに相当する。このようにして、この実施形態は、トークンの音声パターンを構築するために、類似しているが異なるトークンの音声パターンを使用する。
【００１６】
別の実施形態では、少なくとも閾値の類似度がトークンのスペリングと第２のトークンのスペリングとの間に存在するので、構造類似性が存在する。このようにして、この実施形態は、類似するトークンを選定する１つの方法を提供する。
【００１７】
別の実施形態では、少なくとも閾値の類似度がトークンのスペリングの長さと第２のトークンのスペリングの長さとの間に存在するので、構造類似性が存在する。このようにして、この実施形態は、類似するトークンを選定する別の方法を提供する。
【００１８】
別の実施形態では、少なくとも閾値の類似度がトークンの母音のシーケンスと第２のトークンの母音のシーケンスとの間に存在するので、構造類似性が存在する。このようにして、この実施形態は、類似するトークンを選定する別の方法を提供する。
【００１９】
別の実施形態では、音パターンが音声表示を含み、少なくとも閾値の類似度がトークンのいくつかの音声表示と第２のトークンのいくつかの音声表示との間に存在するので、構造類似性が存在する。このようにして、この実施形態は、類似するトークンを選定する別の方法を提供する。
【００２０】
別の実施形態では、音パターンが音声表示を含み、少なくとも閾値の類似度がトークンの音声表示の順序と第２のトークンの音声表示の順序との間に存在するので、構造類似性が存在する。このようにして、この実施形態は、類似するトークンを選定する別の方法を提供する。
【００２１】
別の実施形態では、音パターンが音声表示を含み、少なくとも閾値の類似度がトークンの音声表示の強調と第２のトークンの音声表示の強調との間に存在するので、構造類似性が存在する。このようにして、この実施形態は、類似するトークンを選定する別の方法を提供する。
【００２２】
別の実施形態は、さらに、第２の音パターンを第２の音声パターンに追加することによって、第２の音声パターンから音声パターンを計算する。それにより、この実施形態は、トークンの音声パターンを作成するために類似するトークンの音声パターンを変更する方法を提供する。
【００２３】
別の実施形態は、さらに、第２の音声パターンから第２の音パターンを除去することによって第２の音声パターンから音声パターンを計算する。それにより、この実施形態は、トークンの音声パターンを作成するために類似するトークンの音声パターンを変更する別の方法を提供する。
【００２４】
別の実施形態は、さらに、第２の音声パターンの第２の音パターンを音パターンと取り替えることによって第２の音声パターンから音声パターンを計算する。それにより、この実施形態は、トークンの音声パターンを作成するために類似するトークンの音声パターンを変更する別の方法を提供する。
【００２５】
別の実施形態は、さらに、第２の音声パターンの音パターンのシーケンスを変更することによって第２の音声パターンから音声パターンを計算する。それにより、この実施形態は、トークンの音声パターンを作成するために類似するトークンの音声パターンを変更する別の方法を提供する。
【００２６】
別の実施形態は、さらに、第２の音声パターンの第２の音パターンの期間を変更することによって第２の音声パターンから音声パターンを計算する。それにより、この実施形態は、トークンの音声パターンを作成するために類似するトークンの音声パターンを変更する別の方法を提供する。
【００２７】
別の実施形態は、さらに、第２の音声パターンの第２の音パターンの強調を変更することによって、第２の音声パターンから音声パターンを計算する。それにより、この実施形態は、トークンの音声パターンを作成するために類似するトークンの音声パターンを変更する別の方法を提供する。
【００２８】
別の実施形態は、さらに、トークンに対応する音声パターンのセットを計算し、音声パターンは音声パターンのセットのメンバである。したがって、この実施形態によって、複数の音声パターンがトークンを表すことができることが提供される。
【００２９】
別の実施形態では、トークンが言語の方言で話されるとき、音パターンはトークンの一部を表す。それにより、この実施形態によって、複数の音声パターンは、音声パターンが方言で話すことにより作成された音パターンに基づくようにトークンを表すことができることが提供される。
【００３０】
別の実施形態では、トークンが言語のアクセントを伴って話されるとき、音パターンはトークンの一部を表す。それにより、この実施形態によって、複数の音声パターンは、音声パターンがアクセントを伴って話すことにより作成された音パターンに基づくようにトークンを表すことができることが提供される。
【００３１】
別の実施形態では、トークンが話者の発話特異性（speech-peculiarity）をもつ言語で話されるとき、音パターンがトークンの一部を表す。それにより、この実施形態によって、複数の音声パターンは、音声パターンが話者の話し方関連の個人的特質により作成された音パターンに基づくようにトークンを表すことができることが提供される。
【００３２】
別の実施形態では、トークンは、ＮＬ入力内に発話に関しての意味のある最短単位を含む。それにより、この実施形態は、トークンを形成することができる特定のタイプの言語構成を提供する。
【００３３】
一実施形態は、コンピュータ使用可能プログラム製品を含む。コンピュータ使用可能プログラム製品は、コンピュータ可読ストレージ・デバイスと、ストレージ・デバイスに格納されたプログラム命令とを含む。
【００３４】
一実施形態はコンピュータ・システムを含む。コンピュータ・システムは、プロセッサ、コンピュータ可読メモリ、およびコンピュータ可読ストレージ・デバイス、ならびにメモリを介したプロセッサによる実行のためのストレージ・デバイスに格納されたプログラム命令を含む。
【００３５】
例示の実施形態は、テキスト入力のミススペリング以外の要因がＮＬトークンを理解する精度を担っていることを認識している。そのような要因は、トークンのテキストのスペリングの正確さまたは不正確さよりはむしろトークンの音色または音声特性に依存する。
【００３６】
例示の実施形態は、ＮＬ入力に対応する選定を行うときに再現率特性を変わらないようにしながら、ファジー・マッチング・アプリケーションの精度を向上させるために、トークンの音声変化をＮＬＰにおいて表すことができる方法が必要とされることを認識している。例示の実施形態は、トークンに対応する正しい選定を決定する際にトークンの音声特性を追加の入力として使用することができるように現在利用可能なファジー・マッチング・アルゴリズムを変更する必要があることを認識している。
【００３７】
本発明の特質と考えられるいくつかの新規な特徴は、添付の特許請求の範囲に記載される。しかしながら、本発明自体、ならびにその好ましい使用の態様、さらなる目的、および利点は、添付の図面と併せて読むとき、例示の実施形態の以下の詳細な説明を参照することによって最もよく理解されるであろう。
【図面の簡単な説明】
【００３８】
【図１】例示の実施形態を実施することができるデータ処理システムのネットワークのブロック図である。
【図２】例示の実施形態を実施することができるデータ処理システムのブロック図である。
【図３】例示の実施形態による自然言語処理におけるファジー・マッチングのための音声パターンの例示の構成のブロック図である。
【図４】例示の実施形態による自然言語処理におけるファジー・マッチングのための音声パターンの例示のアプリケーションのブロック図である。
【図５】例示の実施形態による自然言語処理におけるファジー・マッチングのための音声パターンの例示のプロセスのフローチャートである。
【図６】例示の実施形態によるＮＬトークンの音声パターン選定を改善するための機械学習の例示のプロセスのフローチャートである。
【発明を実施するための形態】
【００３９】
例示の実施形態は、現在利用可能なツールもしくは解決策が、これらのニーズ／問題に対処しないか、またはこれらのニーズ／問題に適切な解決策を提供しないことを認識している。本発明を説明するために使用される例示の実施形態は、一般に、自然言語処理におけるファジー・マッチングのための音声パターンによって上述の問題および他の関連する問題に対処し解決する。
【００４０】
一実施形態は、ソフトウェア・アプリケーションとして実装することができる。実施形態を実装するアプリケーションまたはその１つまたは複数のコンポーネントは、ファジー・マッチング・アルゴリズム（ファジー・マッチング・アプリケーション）を実装する既存のアプリケーション、すなわち、ファジー・マッチング・アプリケーションのネイティブ・アプリケーションの変形として、Ｂｌｕｅｔｏｏｔｈ（Ｒ）などの短距離無線通信ネットワークを介して、有線もしくはワイヤライン・ローカル・エリア・ネットワーク（ＬＡＮ）を介して既存のファジー・マッチング・アプリケーションと通信するデータ処理システムで実行するアプリケーション、すなわち、ＬＡＮ上のローカル・アプリケーションとして、ワイド・エリア・ネットワーク（ＷＡＮ）を介して既存のファジー・マッチング・アプリケーションと通信するデータ処理システムで実行するアプリケーション、すなわち、ＷＡＮ上のリモート・アプリケーションとして、他の方法で既存のファジー・マッチング・アプリケーションとともに動作する別個のアプリケーション、スタンド・アロン・アプリケーション、またはそれらの組合せとして構成することができる。
【００４１】
例示の実施形態の範囲内で、音声表示は、トークンが話されるときのＮＬトークンのすべてまたは一部を表す音パターンである。音節は、音韻の構成単位（phonological building block）、すなわち、所与の言語の発話で使用される音であり、それは、その言語の１つまたは複数の母音を使用して表すことができる。
【００４２】
例示の実施形態によれば、トークンはＮＬ入力から抽出される。実施形態は、１つまたは複数の別個の音声表示（別個の音声音）を決定し、それらが、一緒に、音声パターンを形成し、音声パターンがトークンを表す。例えば、例示のトークン「ｔｏｍａｔｏ」を表す１つの方法は、以下の場合であり、「ｔｏｗ」、「ｍａｈ」、および「ｔｏｗ」が３つの音声表示のセットを形成し、それらが、一緒に、音声パターン「ｔｏｗ−ｍａｈ−ｔｏｗ」を形成し、それが、トークン「ｔｏｍａｔｏ」を表す。例示のトークン「ｔｏｍａｔｏ」を表す別の例示の方法は、以下の場合であり、「ｔｕｈ」、「ｍａｙ」、および「ｔｏｗ」が３つの音声表示の異なるセットを形成し、それらが、一緒に、第２の音声パターン「ｔｕｈ−ｍａｙ−ｔｏｗ」を形成し、それが、さらに、トークン「ｔｏｍａｔｏ」を表す。
【００４３】
言い換えれば、トークンを与えられると、実施形態は、対応する音声表示のセットを使用して１つまたは複数の音声パターンを構築し、その結果、音声パターンのうちのいずれかが、所与のトークンを表すことができる可能性がある。
【００４４】
一実施形態は、トークンの音声パターンをリポジトリ、すなわち、音声リポジトリに格納する。時間とともに、異なる状況の下でいくつかのトークンとそのトークンのいくつかのインスタンスとが発生すると、音声リポジトリは、１つまたは複数のトークンに対応する１つまたは複数の音声パターンが格納されるようになる。
【００４５】
１つの実施形態では、トークンを与えられると、そのトークンに対応する音声パターンのセットが音声リポジトリ内で利用可能である。トークンの音声パターンがリポジトリ内で利用可能である場合、音声パターンが、そのトークンの音声パターンのセット内に抽出される。
【００４６】
別の実施形態では、音声構造において所与のトークンに類似するまたは同様の異なるトークンの音声パターンが、リポジトリ内で利用可能となり得る。一実施形態は、類似するトークンの音声パターンからトークンの音声パターンを計算する。
【００４７】
例えば、ｔｏｍａｔｏの音声パターンは利用可能でない場合があるが、「ｐｏｔａｔｏ」の音声パターンはリポジトリ内で利用可能である場合がある。一実施形態は、２つのトークンについて、スペリング、スペリングの長さ、その中の母音の構成、その中の音声表示の数、その中の音声表示の順序、特定の音声表示の強調、またはこれらおよび他のそのような特徴の組合せを比較することによって、所与のトークンと、類似するトークンとの間の構造類似性を決定する。所与のトークンと、類似するトークンとの間の構造類似性が、類似性の閾値レベルを超えると、実施形態は、リポジトリからの類似するトークンの音声パターンを使用し、その音声パターンから所与のトークンの音声パターンを計算する。
【００４８】
一実施形態では、所与のトークンの音声パターンの計算は、音声表示を類似するトークンの音声パターンに追加すること、音声表示を類似するトークンの音声パターンから削除すること、類似するトークンの音声パターンの音声表示を異なる音声表示と取り替えること、類似するトークンの音声パターンの音声表示のシーケンスを変更すること、類似するトークンの音声パターンが話されるかまたは発音される期間を圧縮すること、類似するトークンの音声パターンが話されるかまたは発音される期間を拡大すること、類似するトークンの音声パターンの音声表示に強調を追加すること、類似するトークンの音声パターンの音声表示から強調を除去すること、類似するトークンの音声パターンの１つの音声表示から異なる音声表示に強調を変更すること、言語、方言、アクセント、コンテキスト、話者の特異性に応じてこれらおよび他の多くの態様を組み合わせること、などを含むことができる。
【００４９】
ＮＬ入力が提供される形式、例えば、テキスト形式、オーディオ形式、または本明細書で説明する他の形式に関係なく、一実施形態は、リポジトリからのトークンの音声パターンおよびリポジトリからの類似するトークンの音声パターンを使用してトークンに対応する音声パターンのセットを構築することができる。オーディオ形式であるＮＬ入力からトークンが抽出される場合、トークンの音声パターンは、トークンのオーディオを構成要素音声表示にセグメント化することによって構築することもできる。
【００５０】
音声パターンがトークンに対して利用可能になると、一実施形態は、音声パターンの各音声表示に対応する音節を計算する。それにより、実施形態は、音声パターンを音節のシーケンスに変換する。音声表示の音節への変換は、音声表示に存在する音を、音節を発音することにより作られる音と一致させることによって、実行することができる。例えば、音声パターン「ｔｏｗ−ｍａｈ−ｔｏｗ」は、音のシーケンス（
【数１】
2021503097.tif 000003
、
【数２】
2021503097.tif 000004
）、および
【数３】
2021503097.tif 000005
を含む。それにより、トークンの音声パターンに対応する音節のシーケンスは、
【数４】
2021503097.tif 000006
である。
【００５１】
このように動作して、実施形態は、トークンに対応する音声パターンごとに音節シーケンスを構築する。１つを超える音節シーケンスが、単一の音声パターンに対して可能であり得る。このように作成された音節シーケンスのセットは、音節シーケンスのマトリクスを形成する。
【００５２】
一実施形態は、既存のファジー・マッチング・アプリケーションを変更して、音節シーケンスのマトリクスをサポート入力としてＮＬ入力と一緒に受け入れる。変更済ファジー・マッチング・アプリケーションは、マトリクスの音節シーケンスをファジー・マッチング・アルゴリズムで使用して、トークンに対応する適切な選定を識別する。音節シーケンスを使用して識別された選定は、音節シーケンスを使用せずに先行技術のファジー・マッチング・アルゴリズムのみを使用して識別された選定よりも高い精度を示す。
【００５３】
本明細書で説明する自然言語処理でのファジー・マッチングのための音声パターンの方法は、現在利用可能な方法では利用できない。本明細書で説明する一実施形態の方法は、デバイスまたはデータ処理システムで実行するように実装されると、ＮＬＰの技術分野におけるファジー・マッチング・アプリケーションの再現率特性を乱すことなくファジー・マッチング・アプリケーションの精度を改善するときのそのデバイスまたはデータ処理システムの機能の実質的な進歩を含む。
【００５４】
例示の実施形態は、単に例として、特定のタイプのＮＬ、ＮＬ入力、文法、トークン、音声表示、音声パターン、音節、音節シーケンス、マトリクス、ファジー・マッチング・アルゴリズム、ファジー・マッチング・アプリケーション、デバイス、データ処理システム、環境、コンポーネントおよびアプリケーションに関して説明される。これらおよび他の同様のアーチファクトの特定の体現形（manifestation）は、本発明を限定するものではない。これらおよび他の同様のアーチファクトの適切な体現形は、例示の実施形態の範囲内で選び出すことができる。
【００５５】
さらに、例示の実施形態は、任意のタイプのデータ、データ・ソース、またはデータ・ネットワークを介したデータ・ソースへのアクセスに関して実施することができる。任意のタイプのデータ・ストレージ・デバイスは、本発明の範囲内で、データ処理システムでローカルに、またはデータ・ネットワークを介して、本発明の一実施形態にデータを提供することができる。一実施形態がモバイル・デバイスを使用して説明される場合、モバイル・デバイスで使用するのに適した任意のタイプのデータ・ストレージ・デバイスは、例示の実施形態の範囲内で、モバイル・デバイスでローカルにまたはデータ・ネットワークを介して、そのような実施形態にデータを提供することができる。
【００５６】
例示の実施形態は、単に例として、特定のコード、設計、アーキテクチャ、プロトコル、レイアウト、概略図、およびツールを使用して説明され、例示の実施形態を限定するものではない。さらに、例示の実施形態は、説明の明瞭さのために単に例として、特定のソフトウェア、ツール、およびデータ処理環境を使用するいくつかの事例で説明される。例示の実施形態は、他の類似するまたは同様に意図された構造、システム、アプリケーション、またはアーキテクチャとともに使用することができる。例えば、他の類似するモバイル・デバイス、構造、システム、アプリケーション、またはそのアーキテクチャが、本発明の範囲内で本発明のそのような実施形態とともに使用されてもよい。例示の実施形態は、ハードウェア、ソフトウェア、またはそれらの組合せで実施することができる。
【００５７】
本開示の例は、説明を明確にするためにのみ使用され、例示の実施形態を限定するものではない。追加のデータ、動作、アクション、タスク、アクティビティ、および操作を本開示から考えることができ、同じことが、例示の実施形態の範囲内で考えられる。
【００５８】
本明細書に列挙されたいずれの利点も単なる例であり、例示の実施形態に限定するように意図されていない。追加のまたは異なる利点が、特定の例示の実施形態で実現され得る。さらに、特定の例示の実施形態は、上述で列挙された利点のうちの一部もしくはすべてを有することがあり、または全く有していないこともある。
【００５９】
図を参照すると、特に、図１および図２を参照すると、これらの図は、例示の実施形態を実施することができるデータ処理環境の例示の図である。図１および図２は単なる例であり、異なる実施形態を実施することができる環境に関して限定を主張または意味するものではない。特定の実施態様は、以下の説明に基づいて図示の環境に多くの変更を行うことができる。
【００６０】
図１は、例示の実施形態を実施することができるデータ処理システムのネットワークのブロック図を示す。データ処理環境１００は、例示の実施形態を実施することができるコンピュータのネットワークである。データ処理環境１００はネットワーク１０２を含む。ネットワーク１０２は、データ処理環境１００内で一緒に接続される様々なデバイスおよびコンピュータの間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線、無線の通信リンク、または光ファイバ・ケーブルなどの接続を含むことができる。
【００６１】
クライアントまたはサーバは、ネットワーク１０２に接続された特定のデータ処理システムの単なる例示の役割であり、これらのデータ処理システムの他の構成または役割を排除するものではない。サーバ１０４およびサーバ１０６は、ストレージ・ユニット１０８とともにネットワーク１０２に結合する。ソフトウェア・アプリケーションは、データ処理環境１００内の任意のコンピュータ上で実行することができる。クライアント１１０、１１２、および１１４もネットワーク１０２に結合される。サーバ１０４もしくは１０６またはクライアント１１０、１１２、もしくは１１４などのデータ処理システムは、データを含むことができ、その上で実行するソフトウェア・アプリケーションまたはソフトウェア・ツールを有することができる。
【００６２】
単に一例として、およびそのようなアーキテクチャへのいかなる限定も意味することなく、図１は、一実施形態の例示の実施で使用できる特定の構成要素を示す。例えば、サーバ１０４および１０６、ならびにクライアント１１０、１１２、１１４は、例としてのみサーバおよびクライアントとして示されており、クライアント−サーバ・アーキテクチャへの限定を意味するものではない。別の例として、一実施形態は、図示のようにいくつかのデータ処理システムおよびデータ・ネットワークにわたって分散されてもよく、一方、別の実施形態は、例示の実施形態の範囲内で単一のデータ処理システムに実装されてもよい。データ処理システム１０４、１０６、１１０、１１２、および１１４はまた、クラスタ、パーティション、および一実施形態を実装するのに適する他の構成における例示のノードを表す。
【００６３】
デバイス１３２は、本明細書で説明するデバイスの一例である。例えば、デバイス１３２は、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、固定もしくはポータブル形態のクライアント１１０、ウェアラブル・コンピューティング・デバイス、または任意の他の適切なデバイスの形態をとることができる。図１の別のデータ処理システムで実行するように説明されるいかなるソフトウェア・アプリケーションも、デバイス１３２で同様に実行するように構成することができる。図１の別のデータ処理システムにおいて格納または生成されるデータまたは情報は、デバイス１３２において同様に格納または生成されるように構成することができる。
【００６４】
アプリケーション１０５は、本明細書で説明する一実施形態を実装する。ファジー・マッチング・アプリケーション１０７は、ＮＬ入力のトークンに対応する正しい選定を識別するための追加の入力として音節シーケンスのマトリクスを受け入れるように変更されている変更済ファジー・マッチング・アルゴリズムを含む変更済ファジー・マッチング・アプリケーションである。音声リポジトリ１０９は、本明細書で説明するように、１つまたは複数の言語の１つまたは複数のトークンに関する１つまたは複数の音声パターンを含む。
【００６５】
サーバ１０４および１０６と、ストレージ・ユニット１０８と、クライアント１１０、１１２、および１１４と、デバイス１３２とは、有線接続、無線通信プロトコル、または他の適切なデータ接続を使用してネットワーク１０２に結合することができる。クライアント１１０、１１２、および１１４は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。
【００６６】
図示の例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント１１０、１１２、および１１４に提供することができる。クライアント１１０、１１２、および１１４は、この例では、サーバ１０４にとってのクライアントとすることができる。クライアント１１０、１１２、１１４、またはそれらの組合せは、それ自体のデータ、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションを含むことができる。データ処理環境１００は、追加のサーバ、クライアント、および図示されていない他のデバイスを含むことができる。
【００６７】
図示の例では、データ処理環境１００はインターネットとすることができる。ネットワーク１０２は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）および他のプロトコルを使用して互いに通信するネットワークおよびゲートウェイの集合を表すことができる。インターネットの中心には、データおよびメッセージをルーティングする何千もの商用、政府、教育、および他のコンピュータ・システムを含む、主要なノードまたはホスト・コンピュータ間のデータ通信リンクのバックボーンがある。当然、データ処理環境１００は、さらに、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）などのいくつかの異なるタイプのネットワークとして実装されてもよい。図１は、例として意図されており、異なる例示の実施形態に対するアーキテクチャの限定として意図されていない。
【００６８】
数ある用途の中で、データ処理環境１００は、例示の実施形態を実施することができるクライアント−サーバ環境を実現するために使用することができる。クライアント−サーバ環境により、ソフトウェア・アプリケーションおよびデータは、ネットワークにわたって分散され、その結果、アプリケーションは、クライアント・データ処理システムとサーバ・データ処理システムとの間の対話機能を使用することによって機能することができる。データ処理環境１００は、さらに、サービス指向アーキテクチャを使用することができ、ネットワークにわたって分散された相互運用可能なソフトウェア・コンポーネントは、コヒーレント・ビジネス・アプリケーションとして一緒にパッケージ化することができる。データ処理環境１００は、さらに、クラウドの形態をとり、最小の管理労力またはサービスのプロバイダとの対話により迅速に供給および解消することができる、設定可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共有プールへの便利でオン・デマンドのネットワーク・アクセスを可能にするためのサービス配布のクラウド・コンピューティング・モデルを使用することができる。
【００６９】
図２を参照すると、この図は、例示の実施形態を実施することができるデータ処理システムのブロック図を示す。データ処理システム２００は、図１のサーバ１０４および１０６、またはクライアント１１０、１１２、および１１４、あるいはプロセスを実施するコンピュータ使用可能プログラム・コードまたは命令を例示の実施形態のために配置することができる別のタイプのデバイスなどのコンピュータの一例である。
【００７０】
データ処理システム２００は、さらに、例示の実施形態のプロセスを実施するコンピュータ使用可能なプログラム・コードまたは命令を配置することができる図１のデータ処理システム１３２などのデータ処理システムまたはその構成を表す。データ処理システム２００は、単に例としてコンピュータとして説明され、それに限定されない。図１のデバイス１３２などの他のデバイスの形態での実装は、本明細書で説明するデータ処理システム２００の動作および機能の一般的説明から逸脱することなく、タッチ・インタフェースの追加などによってデータ処理システム２００を変更してもよく、さらに、データ処理システム２００から特定の図示の構成要素を削除してもよい。
【００７１】
図示の例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２とサウス・ブリッジおよび入力／出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４とを含むハブ・アーキテクチャを利用する。処理ユニット２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２に結合される。処理ユニット２０６は、１つまたは複数のプロセッサを含むことができ、１つまたは複数の異種プロセッサ・システムを使用して実装されてもよい。処理ユニット２０６はマルチコア・プロセッサとすることができる。グラフィックス・プロセッサ２１０は、特定の実施態様ではアクセラレーテッド・グラフィック・ポート（ＡＧＰ）を通してＮＢ／ＭＣＨ２０２に結合され得る。
【００７２】
図示の例では、ローカル・エリア・ネットワーク（ＬＡＮ）・アダプタ２１２が、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に結合される。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読出し専用メモリ（ＲＯＭ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ）および他のポート２３２、ならびにＰＣＩ／ＰＣＩｅデバイス２３４は、バス２３８を通してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合される。ハード・ディスク・ドライブ（ＨＤＤ）またはソリッド・ステート・ドライブ（ＳＳＤ）２２６およびＣＤ−ＲＯＭ２３０は、バス２４０を通してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合される。ＰＣＩ／ＰＣＩｅデバイス２３４は、例えば、イーサネット（Ｒ）・アダプタ、アドイン・カード、およびノートブック・コンピュータ用ＰＣカードを含むことができる。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅは使用しない。ＲＯＭ２２４は、例えば、フラッシュ・バイナリ・入力／出力システム（ＢＩＯＳ）とすることができる。ハード・ディスク・ドライブ２２６およびＣＤ−ＲＯＭ２３０は、例えば、インテグレーティド・ドライブ・エレクトロニクス（ＩＤＥ）、シリアル・アドバンスド・テクノロジ・アタッチメント（ＳＡＴＡ）・インタフェース、または外付けＳＡＴＡ（ｅＳＡＴＡ）およびマイクロＳＡＴＡ（ｍＳＡＴＡ）などの変形を使用することができる。スーパーＩ／Ｏ（ＳＩＯ）デバイス２３６は、バス２３８を通してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に結合され得る。
【００７３】
メイン・メモリ２０８、ＲＯＭ２２４、またはフラッシュ・メモリ（図示せず）などのメモリは、コンピュータ使用可能なストレージ・デバイスのいくつかの例である。ハード・ディスク・ドライブまたはソリッド・ステート・ドライブ２２６、ＣＤ−ＲＯＭ２３０、および他の同様に使用可能なデバイスは、コンピュータ使用可能な記憶媒体を含むコンピュータ使用可能なストレージ・デバイスのいくつかの例である。
【００７４】
オペレーティング・システムは処理ユニット２０６上で作動する。オペレーティング・システムは、図２のデータ処理システム２００内の様々な構成要素の制御を調整および実現する。オペレーティング・システムは、限定はしないが、サーバ・システム、パーソナル・コンピュータ、およびモバイル・デバイスを含む任意のタイプのコンピューティング・プラットフォームのための市販のオペレーティング・システムとすることができる。オブジェクト指向または他のタイプのプログラミング・システムは、オペレーティング・システムとともに動作し、データ処理システム２００上で実行するプログラムまたはアプリケーションからオペレーティング・システムに呼出しを行うことができる。
【００７５】
オペレーティング・システム、オブジェクト指向プログラミング・システム、および図１のアプリケーション１０５または変更済ファジー・マッチング・アプリケーション１０７あるいはその両方などのアプリケーションまたはプログラムのための命令は、ハード・ディスク・ドライブ２２６のコード２２６Ａの形態などでストレージ・デバイスに配置され、処理ユニット２０６による実行のためにメイン・メモリ２０８などの１つまたは複数のメモリのうちの少なくとも１つにロードされ得る。例示の実施形態のプロセスは、コンピュータ実装命令を使用して処理ユニット２０６で実行することができ、コンピュータ実装命令は、例えば、メイン・メモリ２０８、読出し専用メモリ２２４などのメモリ、または１つもしくは複数の周辺デバイスに配置することができる。
【００７６】
さらに、ある場合には、コード２２６Ａは、同様のコード２０１Ｃがストレージ・デバイス２０１Ｄに格納されているリモート・システム２０１Ｂからネットワーク２０１Ａを介してダウンロードされてもよい。別の場合には、コード２２６Ａは、ネットワーク２０１Ａを介してリモート・システム２０１Ｂにダウンロードされてもよく、ダウロードされたコード２０１Ｃはストレージ・デバイス２０１Ｄに格納される。
【００７７】
図１〜図２のハードウェアは、実施態様に応じて変わってもよい。フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなどのような他の内部ハードウェアまたは周辺デバイスが、図１〜図２に示されたハードウェアに加えてまたはその代わりに使用されてもよい。加えて、例示の実施形態のプロセスは、マルチプロセッサ・データ処理システムに適用されてもよい。
【００７８】
いくつかの例示的な例では、データ処理システム２００は、携帯情報端末（ＰＤＡ）とすることができ、携帯情報端末（ＰＤＡ）は、一般に、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を格納するための不揮発性メモリを備えるようにフラッシュ・メモリを用いて構成される。バス・システムは、システム・バス、Ｉ／Ｏバス、およびＰＣＩバスなどの１つまたは複数のバスを含むことができる。当然、バス・システムは、ファブリックまたはアーキテクチャに結びつけられた様々な構成要素またはデバイス間のデータの移送を可能にする任意のタイプの通信ファブリックまたはアーキテクチャを使用して実装することができる。
【００７９】
通信ユニットは、データを送受信するために使用される１つまたは複数のデバイス、例えば、モデムまたはネットワーク・アダプタなどを含むことができる。メモリは、例えば、メイン・メモリ２０８、またはノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に見いだされるキャッシュなどのキャッシュとすることができる。処理ユニットは、１つまたは複数のプロセッサまたはＣＰＵを含むことができる。
【００８０】
図１〜図２における図示の例および上述の例は、アーキテクチャの限定を暗に示すものではない。例えば、データ処理システム２００は、モバイルまたはウェアラブル・デバイスの形態をとることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスとすることもできる。
【００８１】
コンピュータまたはデータ処理システムが、仮想マシン、仮想デバイス、または仮想構成要素として説明される場合、仮想マシン、仮想デバイス、または仮想構成要素は、データ処理システム２００に示された一部またはすべての構成要素の仮想化された体現形を使用するデータ処理システム２００の方法で動作する。例えば、仮想マシン、仮想デバイス、または仮想構成要素において、処理ユニット２０６は、ホスト・データ処理システムにおいて利用可能な全数またはある数のハードウェア処理ユニット２０６の仮想化インスタンスとして体現形され、メイン・メモリ２０８は、ホスト・データ処理システムにおいて利用可能であり得るすべてまたは一部のメイン・メモリ２０８の仮想化インスタンスして体現形され、ディスク２２６は、ホスト・データ処理システムにおいて利用可能であり得るすべてまたは一部のディスク２２６の仮想化インスタンスとして体現形される。そのような場合のホスト・データ処理システムは、データ処理システム２００によって表される。
【００８２】
図３を参照すると、この図は、例示の実施形態による自然言語処理におけるファジー・マッチングのための音声パターンの例示の構成のブロック図を示す。アプリケーション３０２は、図１のアプリケーション１０５の一例である。ファジー・マッチング・アプリケーション３０４は、図１の変更済ファジー・マッチング・アプリケーション１０７の一例である。ファジー・マッチング・アプリケーション３０４は、一実施形態によれば、先行技術のファジー・マッチング・アルゴリズム３０４Ａと音声入力処理コンポーネント３０４Ｂとを含む。音声リポジトリ３０６は、図１の音声リポジトリ１０９の一例である。
【００８３】
ＮＬ入力３０８は、本明細書で説明するように、１つまたは複数の形態のＮＬデータを含む。ＮＬ入力３０８は、１つまたは複数のトークン、例えば、単語を含む。
【００８４】
アプリケーション３０２は、ＮＬ入力３０８を適切に解析してＮＬ入力３０８からトークンを抽出する。音声リポジトリ３０６からの１つまたは複数の音声パターンまたは使用可能な場合ＮＬ入力３０８からのオーディオ・データあるいはその両方を使用して、アプリケーション３０２は、トークンに対応する１つまたは複数の音声パターンを構築する。アプリケーション３０２は、各音声パターンに対応する１つまたは複数の音節シーケンスを計算し、音節シーケンス・マトリクス３１０を形成する。音節シーケンス、例えば、マトリクス３１０内の音節シーケンス３１２は、音節３１２Ａ、３１２Ｂ…３１２Ｃなどの１つまたは複数の音節のシーケンスを含む。
【００８５】
音声入力処理コンポーネント３０４Ｂは、１つの入力としてＮＬ入力３０８と、追加入力としてアプリケーション３０２からのマトリクス３１０とを受け取る。コンポーネント３０４Ｂは、ファジー・マッチング・アルゴリズム３０４Ａに、所与のトークンに対応する選定／選択識別プロセスにおいて音節シーケンスを使用させる。ファジー・マッチング・アプリケーション３０４は、ファジー・マッチング・アルゴリズム３０４Ａのみから出力された選定と比較して、より高い精度および少なくとも同じ再現率をもつ選定３１４を出力する。
【００８６】
１つの実施形態では、変更済ファジー・マッチング・アプリケーション３０４の選定出力を使用して、アプリケーション３０２を訓練する。例えば、選定３１４が所与のトークンにとってほぼ確実な選定であると別個のプロセス（図示せず）が決定する場合、機械学習フィードバック３１６により、アプリケーション３０２は、閾値の対応度内で選定３１４に対応する音声パターンを増加させるかまたは強化し、その結果、それらの音声パターンは、トークンの後続の発生において同じまたは同様のトークンに対して再度生成される（または比較的大きい重みが与えられる）。閾値の対応度内の選定３１４に対応しない音声パターンが構築されていた場合、フィードバック３１６により、アプリケーション３０２は、それらの音声パターンを減少させるかまたは弱め、その結果、それらの音声パターンは、トークンの後続の発生において同じまたは同様のトークンに対して生成されない（または比較的小さい重みが与えられる）。
【００８７】
図４を参照すると、この図は、例示の実施形態による自然言語処理におけるファジー・マッチングのための音声パターンの例示のアプリケーションのブロック図を示す。アプリケーション４０２は、図３のアプリケーション３０２として使用することができる。
【００８８】
コンポーネント４０４は、例えば入力３０８の言語の文法に従ってＮＬ入力３０８を解析することによってＮＬ入力からトークンを抽出する。コンポーネント４０６は、本明細書で説明する任意の１つまたは複数の方法でトークンの音声パターンを計算する。
【００８９】
コンポーネント４０８は、音声パターンに対応する音節シーケンスを計算する。コンポーネント４０８は、トークンに対応する音節シーケンスのマトリクス、例えばマトリクス３１０を出力する。
【００９０】
コンポーネント４１０は、図３の音声入力処理コンポーネント３０４Ｂとして動作するように構成することができる。コンポーネント４１０は、変更済ファジー・マッチング・アプリケーションで、例えばファジー・マッチング・アプリケーション３０４で使用するために音節シーケンスのマトリクスを処理する。
【００９１】
コンポーネント４１２は、変更済ファジー・マッチング・アプリケーションによって行われた選定のフィードバック、例えばフィードバック３１６を受け取る。コンポーネント４１４は、選定をほぼ確実（ＮＬ入力３０８のコンテキストにおける有効な選定）として、またはありそうもない（ＮＬ入力３０８のコンテキストにおける無効の選定）として分類するための適切なプロセスを実装する。
【００９２】
コンポーネント４１６は、ほぼ確実な選定に対応するトークンのこれらの音声パターンを強化する。コンポーネント４１８は、ありそうもない選定に対応するトークンの音声パターンを弱める。コンポーネント４２０は、音声リポジトリを、例えば、新しい音声パターンを追加すること、音声パターンを強化すること、音声パターンを弱めること、音声パターンを除去すること、またはさもなければリポジトリの音声パターンを操作することによって管理する。
【００９３】
図５を参照すると、この図は、例示の実施形態による自然言語処理におけるファジー・マッチングのための音声パターンの例示のプロセスのフローチャートを示す。プロセス５００は、図４のアプリケーション４０２に実装することができる。
【００９４】
アプリケーションは、ＮＬ入力を受け取る（ブロック５０２）。アプリケーションは、入力から発話の単位、すなわち、トークンを選定する（ブロック５０４）。選定されたトークンに対して、アプリケーションは、ブロック５０６、５０８、および５１０のうちの１つまたは複数を実行する。例えば、アプリケーションは、トークンの音声パターンが音声リポジトリに存在するかどうかを決定すること（ブロック５０６）、アプリケーションは、類似するトークンの音声パターンがリポジトリに存在するかどうかを決定すること（ブロック５０８）、またはアプリケーションは、ＮＬ入力のトークンの実際のまたは推定されたオーディオに基づいてトークンの音声パターンを計算すること（ブロック５１０）、あるいはその組合せを行う。アプリケーションがＮＬ入力のトークンの実際のまたは推定されたオーディオに基づいてトークンの音声パターンを計算するためにブロック５１０を実行する場合／とき、アプリケーションは、計算された音声パターンを用いて音声リポジトリを更新する（ブロック５１２）。
【００９５】
トークンの音声パターンがリポジトリに存在する（ブロック５０６の「はい」の経路の）場合、アプリケーションは、音声パターンに対応する１つまたは複数の音節シーケンスを計算する（ブロック５１４）。トークンの音声パターンがリポジトリに存在しない（ブロック５０６の「いいえ」の経路の）場合、アプリケーションはブロック５０８に進む。
【００９６】
類似するトークンの音声パターンがリポジトリに存在する（ブロック５０８の「はい」の経路の）場合、アプリケーションは、類似するトークンの音声パターンに基づいてトークンの音声パターンを計算する（ブロック５１６）。アプリケーションは、ブロック５１２においてトークンの計算された音声パターンを用いてリポジトリを更新する。
【００９７】
アプリケーションは、トークンのより多くの音声パターンを同様に計算する必要があるかどうかを決定する（ブロック５１８）。トークンのより多くの音声パターンを計算する必要がある（ブロック５１８の「はい」の経路の）場合、アプリケーションは、ブロック５０６、５０８、および５１０のうちのいずれかに戻る。トークンに対して音声パターンをこれ以上計算する必要がない（ブロック５１８の「いいえ」の経路の）場合、アプリケーションは、計算された音節シーケンスのマトリクスを生成する（ブロック５２０）。オプションとして、アプリケーションは、変更済ファジー・マッチング・アプリケーションへの追加入力として消費するためにマトリクスを前処理することができる（ブロック５２２）。
【００９８】
アプリケーションは、マトリクスを追加入力として変更済ファジー・マッチング・アプリケーションに提供する（ブロック５２４）。アプリケーションは、変更済ファジー・マッチング・アプリケーションに、改善された精度によるトークンに対応する選定を出力させる（ブロック５２６）。アプリケーションは、その後、プロセス５００を終了することができる。
【００９９】
トークンに対して音声パターンをこれ以上計算する必要がない（ブロック５１８の「いいえ」の経路の）場合、アプリケーションは、さらに、より多くのトークンをＮＬ入力から処理する必要があるかどうかを並列して決定することができる（ブロック５２８）。より多くのトークンをＮＬ入力から処理する必要がある（ブロック５２８の「はい」の経路の）場合、アプリケーションは、ブロック５０４に戻り、別のトークンを選定する。トークンをＮＬ入力からこれ以上処理する必要がない（ブロック５２８の「いいえ」の経路の）場合、アプリケーションは、その後、プロセス５００を終了する。
【０１００】
図６を参照すると、この図は、例示の実施形態によるＮＬトークンの音声パターン選定を改善するための機械学習の例示のプロセスのフローチャートを示す。プロセス６００は、図４のアプリケーション４０２に実装することができる。
【０１０１】
アプリケーションは、変更済ファジー・マッチング・アプリケーションによって行われた、トークンに対応する選定を受け取る（ブロック６０２）。アプリケーションは、ＮＬ入力コンテキストが与えられると、選定がほぼ確実であるかどうかを決定する（ブロック６０４）。選定がほぼ確実である（ブロック６０４の「ほぼ確実な」経路の）場合、アプリケーションは、選定に対応するトークンのこれらの音声パターンを強化する（ブロック６０６）。アプリケーションは、その後、プロセス６００を終了する。
【０１０２】
選定がありそうもない（ブロック６０４の「ありそうもない」経路の）場合、アプリケーションは、選定に対応するトークンのこれらの音声パターンを弱める（ブロック６０８）。アプリケーションは、その後、プロセス６００を終了する。
【０１０３】
このようにして、コンピュータ実装方法、システムまたは装置、およびコンピュータ・プログラム製品が、自然言語処理および他の関連する特徴、機能、または動作におけるファジー・マッチングのための音声パターンの例示の実施形態において提供される。一実施形態またはその一部が、あるタイプのデバイスに関して説明されている場合、コンピュータ実装方法、システムもしくは装置、コンピュータ・プログラム製品、またはその一部は、そのタイプのデバイスの適切で類似する体現形とともに使用するように適合または構成される。
【０１０４】
一実施形態がアプリケーションに実装されるとして説明される場合、サービスとしてのソフトウェア（ＳａａＳ）モデルのアプリケーションの送出は、例示の実施形態の範囲内で意図される。ＳａａＳモデルでは、一実施形態を実装するアプリケーションの機能は、クラウド・インフラストラクチャのアプリケーションを実行することによってユーザに提供される。ユーザは、様々なクライアント・デバイスを使用して、ウェブ・ブラウザ（例えば、ウェブ・ベース電子メール）または他の軽量クライアント・アプリケーションなどのシン・クライアント・インタフェースを通してアプリケーションにアクセスすることができる。ユーザは、クラウド・インフラストラクチャのネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎をなすクラウド・インフラストラクチャを管理または制御しない。ある場合には、ユーザは、ＳａａＳアプリケーションの機能を管理または制御することさえできない。他の場合には、アプリケーションのＳａａＳ実施態様は、限定されたユーザ固有のアプリケーション構成設定のあり得る例外を許可する場合がある。
【０１０５】
本発明は、任意の可能な技術的詳細レベルの統合における、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有する１つのコンピュータ可読記憶媒体（または複数の媒体）を含むことができる。
【０１０６】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および格納することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的符号化デバイス、および前述のものの任意の適切な組合せが含まれる。限定はしないが、本明細書で使用されるコンピュータ可読ストレージ・デバイスを含むコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、またはワイヤを通して伝送される電気信号などのそれ自体が一過性信号であると解釈されるべきではない。
【０１０７】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからのコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【０１０８】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、またはＳｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、またはその接続が外部コンピュータに（例えば、インターネット・サービス・プロバイダを使用してインターネットを通して）行われてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実行するために、電子回路を個人専用にするためのコンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行することができる。
【０１０９】
本発明の態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照して本明細書に記載されている。フローチャートまたはブロック図あるいはその両方の各ブロック、およびフローチャートまたはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実現され得ることが理解されるであろう。
【０１１０】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中に指定された機能／動作を実現するための手段を作り出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作り出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が格納されたコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中に指定された機能／動作の態様を実現する命令を含む製品を構成するように、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに対し、特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に格納されてもよい。
【０１１１】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中に指定された機能／動作を実施するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実行させて、コンピュータ実装プロセスを生じさせてもよい。
【０１１２】
図のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部を表すことができる。いくつかの代替実施態様では、ブロックに示された機能は、図に示された順序から外れて行われることがある。例えば、連続して示された２つのブロックは、実際には、実質的に同時に実行されることがあり、またはブロックは、時には、必要とされる機能に応じて逆順で実行されることがある。ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方のブロックの組合せは、指定された機能もしくは動作を実行する専用ハードウェア・ベース・システムによって実施されてもよく、または専用ハードウェアとコンピュータ命令の組合せを実行してもよいことにも留意されたい。
【図１】
2021503097.tif 000007
【図２】
2021503097.tif 000008
【図３】
2021503097.tif 000009
【図４】
2021503097.tif 000010
【図５】
2021503097.tif 000011
【図６】
2021503097.tif 000012
【国際調査報告】
2021503097.tif 000013
2021503097.tif 000014