(57)【要約】  本開示の実施形態において、発言のユーザ意図を識別するための方法が開示される。本方法は、分析対象の発言のユーザ意図を決定する必要があるときに、当該分析対象の発言が位置しているＨＣＩセッションから、当該分析対象の発言の少なくとも１つの履歴発言を決定することができることを含む。ＨＣＩは一般に一定の連続性を有しており、それゆえ、ＨＣＩセッションにおける履歴発言の内容が分析対象の発言の内容と関連している場合がある。分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルを参照して決定された履歴ベクトルは、履歴発言において関連する内容を含む場合があり、その内容は、分析対象の発言の内容とある程度関連している場合がある。分析対象の発言のユーザ意図が履歴ベクトルを参照して決定される場合、履歴ベクトルに含まれる、分析対象の発言と関連する内容を追加の決定基準として使用してもよく、その結果、分析対象の発言のユーザ意図の決定精度を向上させることができる。本開示の実施形態において、発言のユーザ意図を識別するための装置も開示される。
2020537777.tif 000002
【特許請求の範囲】
【請求項１】
ＨＣＩセッションにおいて適用される、発言のユーザ意図を識別するための方法であって、前記ＨＣＩセッションが複数の発言を含み、前記方法が、
前記複数の発言から、分析対象の発言および前記分析対象の発言に対応する少なくとも１つの履歴発言を取得する段階であって、前記少なくとも１つの履歴発言が、前記ＨＣＩセッションにおいて前記分析対象の発言の前に出現する発言である、段階と、
前記分析対象の発言の発言ベクトルおよび前記少なくとも１つの履歴発言の発言ベクトルに従い、前記分析対象の発言の履歴ベクトルを決定する段階であって、前記履歴ベクトルが、前記少なくとも１つの履歴発言における前記分析対象の発言と関連する情報を含む、段階と、
前記履歴ベクトルに従い、前記分析対象の発言のユーザ意図を決定する段階と、
を含む、方法。
【請求項２】
複数の分析対象の発言が存在し、前記複数の分析対象の発言が、前記複数の発言のうち、対話順序における最後の複数の発言である、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの履歴発言と前記分析対象の発言との間の発言間隔が、事前設定閾値より小さい、請求項１に記載の方法。
【請求項４】
前記少なくとも１つの履歴発言が複数の履歴発言を含む場合、前記複数の履歴発言は、第１の履歴発言および第２の履歴発言を含み、前記分析対象の発言の発言ベクトルおよび前記少なくとも１つの履歴発言の発言ベクトルに従い、前記分析対象の発言の履歴ベクトルを決定する前記段階は、
前記分析対象の発言の前記発言ベクトル、前記第１の履歴発言の発言ベクトル、および前記第２の履歴発言の発言ベクトルに従い、前記分析対象の発言に対する前記第１の履歴発言の意味的類似性および前記分析対象の発言に対する前記第２の履歴発言の意味的類似性を決定する段階と、
前記ＨＣＩセッションにおける、前記第１の履歴発言と前記分析対象の発言との間の出現位置関係、ならびに前記第２の履歴発言と前記分析対象の発言との間の出現位置関係を決定する段階と、
前記第１の履歴発言の前記意味的類似性、前記第２の履歴発言の前記意味的類似性、前記第１の履歴発言の前記出現位置関係、および前記第２の履歴発言の前記出現位置関係に従い、前記分析対象の発言の前記履歴ベクトルを決定する段階と
を含む、請求項１に記載の方法。
【請求項５】
前記履歴ベクトルに従い、前記分析対象の発言のユーザ意図を決定する前記段階が、
前記分析対象の発言の前記履歴ベクトルおよび前記発言ベクトルに従い、前記分析対象の発言の融合ベクトルを決定する段階と、
前記融合ベクトルに従い、前記分析対象の発言の前記ユーザ意図を決定する段階と
を含む、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記分析対象の発言の前記履歴ベクトルおよび前記発言ベクトルに従い、前記分析対象の発言の融合ベクトルを決定する前記段階が、
前記分析対象の発言の前記履歴ベクトルおよび前記発言ベクトルを加重加算して、前記分析対象の発言の前記融合ベクトルを得る段階を含む、請求項５に記載の方法。
【請求項７】
前記融合ベクトルに従い、前記分析対象の発言の前記ユーザ意図を決定する前記段階が、
前記融合ベクトルを複数の事前設定されたユーザ意図にマッピングする段階と、
前記複数の事前設定されたユーザ意図へのマッピング結果に従い、前記複数の事前設定されたユーザ意図から前記分析対象の発言の前記ユーザ意図を決定する段階と
を含む、請求項５に記載の方法。
【請求項８】
前記分析対象の発言が少なくとも１つの単語セグメントを含み、前記分析対象の発言の前記発言ベクトルおよび前記少なくとも１つの履歴発言の前記発言ベクトルに従い、前記分析対象の発言の前記履歴ベクトルを決定した後に、前記方法がさらに、
第１の単語セグメントの単語ベクトルを決定する段階であって、前記第１の単語セグメントが前記少なくとも１つの単語セグメントのうちの１つである、段階と、
前記第１の単語セグメントの前記履歴ベクトルおよび前記単語ベクトルに従い、前記第１の単語セグメントの融合単語ベクトルを決定する段階と、
前記第１の単語セグメントの前記融合単語ベクトルに従い、前記第１の単語セグメントのエンティティタイプを決定する段階と
を含む、請求項１に記載の方法。
【請求項９】
前記分析対象の発言が複数の単語セグメントを含む場合、前記第１の単語セグメントの前記融合単語ベクトルに従い、前記第１の単語セグメントのエンティティタイプを決定する前記段階が、
前記第１の単語セグメントの前記融合単語ベクトル、第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従い、前記第１の単語セグメントの前記エンティティタイプを決定する段階を含み、前記第２の単語セグメントが前記複数の単語セグメントのうちの１つである、請求項８に記載の方法。
【請求項１０】
ＨＣＩセッションにおいて適用される、発言のユーザ意図を識別するための装置であって、前記ＨＣＩセッションが複数の発言を含み、前記装置が、取得ユニットと、第１の決定ユニットと、第２の決定ユニットとを備え、
前記取得ユニットが、前記複数の発言から、分析対象の発言および前記分析対象の発言に対応する少なくとも１つの履歴発言を取得し、前記少なくとも１つの履歴発言は、前記ＨＣＩセッションにおいて前記分析対象の発言の前に出現する発言であり、
前記第１の決定ユニットが、前記分析対象の発言の発言ベクトルおよび前記少なくとも１つの履歴発言の発言ベクトルに従い、前記分析対象の発言の履歴ベクトルを決定し、前記履歴ベクトルは、前記少なくとも１つの履歴発言における前記分析対象の発言と関連する情報を含み、
前記第２の決定ユニットが、前記履歴ベクトルに従い、前記分析対象の発言のユーザ意図を決定する、装置。
【請求項１１】
ＨＣＩセッションにおいて適用される、発言のユーザ意図を識別するためのデバイスであって、前記ＨＣＩセッションが複数の発言を含み、前記デバイスがプロセッサおよびメモリを含み、
前記メモリが、プログラムコードを記憶し、かつ前記プログラムコードを前記プロセッサに送信し、
前記プロセッサが、前記プログラムコード中の命令に従い、
前記複数の発言から、分析対象の発言および前記分析対象の発言に対応する少なくとも１つの履歴発言を取得する段階であって、前記少なくとも１つの履歴発言が、前記ＨＣＩセッションにおいて前記分析対象の発言の前に出現する発言である、段階と、
前記分析対象の発言の発言ベクトルおよび前記少なくとも１つの履歴発言の発言ベクトルに従い、前記分析対象の発言の履歴ベクトルを決定する段階であって、前記履歴ベクトルが、前記少なくとも１つの履歴発言における前記分析対象の発言と関連する情報を含む、段階と、
前記履歴ベクトルに従い、前記分析対象の発言のユーザ意図を決定する段階と
を含む方法を実施する、デバイス。
【請求項１２】
記憶媒体であって、前記記憶媒体がプログラムコードを記憶し、前記プログラムコードが、請求項１から９のいずれか１項に記載の、発言のユーザ意図を識別するための方法を実施するために使用される、記憶媒体。
【請求項１３】
コンピュータに、請求項１から９のいずれか１項に記載の方法を実施させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１７年１０月２０日出願の中国特許出願第２０１７１０９８７００４．７号の優先権を主張する、２０１８年１０月１６日出願の国際出願第ＰＣＴ／ＣＮ２０１８／１１０３９５号の優先権を主張し、かつその国内移行段階である。これらはいずれも、それらの全体が参照により本明細書に組み込まれる。
【０００２】
本開示は、データ処理の分野に関し、具体的には、発言のユーザ意図を識別するための方法および装置に関する。
【背景技術】
【０００３】
人工知能技術の発展に伴い、マシンは、人間の言語を分析することにより、発言の意味を識別することができ、そのようにしてユーザと言語の対話を実施する。
【０００４】
質問−回答シナリオが典型的な対話シナリオであり、マシンは、ユーザの質問に対して目的の返答を提供することができる。返答する前に、マシンは、質問のユーザ意図および質問の具体的な意味を識別できる必要があり、その結果、マシンは質問に対して正確に返答を提供することができる。
【０００５】
現在のシステムにおいて、マシンは主に、質問のユーザ意図を識別するための参考として、ユーザの質問に含まれるテキストを使用する。しかしながら、いくつかの場合では、識別されたユーザ意図が不正確であり、そのため、提供される回答がユーザ意図と一致しない場合があり、これはネガティブなユーザ体験をもたらす。
【発明の概要】
【０００６】
上述の技術的問題を解決するために、発言のユーザ意図を識別するための方法が本開示において提供され、本方法は、従来の識別方法の低精度の問題を解決し、ユーザ体験を向上させる。以下の技術的解決策は、実施形態の説明においてさらに詳細に論じられる。
【０００７】
一実施形態において、発言のユーザ意図を識別するための方法が本開示の実施形態において開示され、本方法はＨＣＩセッションにおいて適用され、ＨＣＩセッションは複数の発言を含む。本方法は、複数の発言から、分析対象の発言および分析対象の発言に対応する少なくとも１つの履歴発言を取得する段階であって、少なくとも１つの履歴発言が、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言である、段階と、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定する段階であって、履歴ベクトルが、少なくとも１つの履歴発言における分析対象の発言と関連する情報を含む、段階と、履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する段階と、を含む。
【０００８】
一実施形態において、複数の分析対象の発言が存在し、複数の分析対象の発言は、複数の発言のうち、対話順序における最後の複数の発言である。
【０００９】
一実施形態において、少なくとも１つの履歴発言と分析対象の発言との間の発言間隔は、事前設定閾値より小さい。
【００１０】
一実施形態において、少なくとも１つの履歴発言が複数の履歴発言を含む場合、複数の履歴発言は、第１の履歴発言および第２の履歴発言を含み、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定する段階は、分析対象の発言の発言ベクトル、第１の履歴発言の発言ベクトル、および第２の履歴発言の発言ベクトルに従い、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定する段階と、ＨＣＩセッションにおける、第１の履歴発言と分析対象の発言との間の出現位置関係、ならびに第２の履歴発言と分析対象の発言との間の出現位置関係を決定する段階と、第１の履歴発言の意味的類似性、第２の履歴発言の意味的類似性、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い、分析対象の発言の履歴ベクトルを決定する段階と、を含む。
【００１１】
一実施形態において、履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する段階は、分析対象の発言の履歴ベクトルおよび発言ベクトルに従い、分析対象の発言の融合ベクトルを決定する段階と、融合ベクトルに従い、分析対象の発言のユーザ意図を決定する段階と、を含む。
【００１２】
一実施形態において、分析対象の発言の履歴ベクトルおよび発言ベクトルに従い、分析対象の発言の融合ベクトルを決定する段階は、分析対象の発言の履歴ベクトルおよび発言ベクトルを加重加算して、分析対象の発言の融合ベクトルを得る段階を含む。
【００１３】
一実施形態において、融合ベクトルに従い、分析対象の発言のユーザ意図を決定する段階が、融合ベクトルを複数の事前設定されたユーザ意図にマッピングする段階と、複数のユーザ意図へのマッピング結果に従い、複数のユーザ意図から分析対象の発言のユーザ意図を決定する段階とを含む。
【００１４】
一実施形態において、分析対象の発言が少なくとも１つの単語セグメントを含み、分析対象の発言の発言ベクトルおよび複数の履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定した後に、本方法はさらに、第１の単語セグメントの単語ベクトルを決定する段階であって、第１の単語セグメントが少なくとも１つの単語セグメントのうちの１つである、段階と、第１の単語セグメントの履歴ベクトルおよび単語ベクトルに従い、第１の単語セグメントの融合単語ベクトルを決定する段階と、第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する段階と、を含む。
【００１５】
一実施形態において、分析対象の発言が複数の単語セグメントを含む場合、第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する段階は、第１の単語セグメントの融合単語ベクトル、第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従い、第１の単語セグメントのエンティティタイプを決定する段階を含み、第２の単語セグメントは複数の単語セグメントのうちの１つである。
【００１６】
別の実施形態において、発言のユーザ意図を識別するための装置が本開示の実施形態において開示され、本装置はＨＣＩセッションにおいて適用され、ＨＣＩセッションは複数の発言を含む。本装置は、取得ユニットと、第１の決定ユニットと、第２の決定ユニットとを含み、取得ユニットは、複数の発言から、分析対象の発言および分析対象の発言に対応する少なくとも１つの履歴発言を取得し、少なくとも１つの履歴発言は、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言であり、第１の決定ユニットは、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定し、履歴ベクトルは、少なくとも１つの履歴発言における分析対象の発言と関連する情報を含み、第２の決定ユニットは、履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する。
【００１７】
一実施形態において、複数の分析対象の発言が存在し、複数の分析対象の発言は、複数の発言のうち、対話順序における最後の複数の発言である。
【００１８】
一実施形態において、少なくとも１つの履歴発言と分析対象の発言との間の発言間隔は、事前設定閾値より小さい。
【００１９】
一実施形態において、第１の決定ユニットは、意味的類似性決定サブユニットと、位置関係決定サブユニットと、履歴ベクトル決定サブユニットとを含み、意味的類似性決定サブユニットは、少なくとも１つの履歴発言が複数の履歴発言を含み、かつ複数の履歴発言が第１の履歴発言および第２の履歴発言を含むとき、分析対象の発言の発言ベクトル、第１の履歴発言の発言ベクトル、および第２の履歴発言の発言ベクトルに従い、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定し、位置関係決定サブユニットは、ＨＣＩセッションにおける、第１の履歴発言と分析対象の発言との間の出現位置関係、ならびに第２の履歴発言と分析対象の発言との間の出現位置関係を決定し、履歴ベクトル決定サブユニットは、第１の履歴発言の意味的類似性、第２の履歴発言の意味的類似性、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い、分析対象の発言の履歴ベクトルを決定する。
【００２０】
一実施形態において、第２の決定ユニットは、融合ベクトル決定サブユニットおよびユーザ意図決定サブユニットを含み、融合ベクトル決定サブユニットは、分析対象の発言の履歴ベクトルおよび発言ベクトルに従い、分析対象の発言の融合ベクトルを決定し、ユーザ意図決定サブユニットは、融合ベクトルに従い、分析対象の発言のユーザ意図を決定する。
【００２１】
一実施形態において、融合ベクトル決定サブユニットは、分析対象の発言の履歴ベクトルおよび発言ベクトルを加重加算して、分析対象の発言の融合ベクトルを得る。 
【００２２】
一実施形態において、ユーザ意図決定サブユニットは、マッピングサブユニットおよび決定サブユニットを含み、マッピングサブユニットは、融合ベクトルを複数の事前設定されたユーザ意図にマッピングし、決定サブユニットは、複数のユーザ意図へのマッピング結果に従い、複数のユーザ意図から分析対象の発言のユーザ意図を決定する。
【００２３】
一実施形態において、本装置はさらに、第３の決定ユニット、第４の決定ユニット、および第５の決定ユニットを含み、第３の決定ユニットは、少なくとも１つ単語セグメントのうちの１つである第１の単語セグメントの単語ベクトルを決定し、第４の決定ユニットは、第１の単語セグメントの履歴ベクトルおよび単語ベクトルに従い、第１の単語セグメントの融合単語ベクトルを決定し、第５の決定ユニットは、第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する。
【００２４】
一実施形態において、第５の決定ユニットは、分析対象の発言が複数の単語セグメントを含む場合、第１の単語セグメントの融合単語ベクトル、複数の単語セグメントのうちの１つである第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従い、第１の単語セグメントのエンティティタイプを決定する。
【００２５】
別の実施形態において、発言のユーザ意図を識別するためのデバイスが本開示の実施形態において開示され、本デバイスはＨＣＩセッションにおいて適用され、ＨＣＩセッションは複数の発言を含む。本デバイスは、プロセッサおよびメモリを含み、メモリは、プログラムコードを記憶し、かつプログラムコードをプロセッサに送信し、プロセッサは、プログラムコード中の命令に応じて、複数の発言から、分析対象の発言および分析対象の発言に対応する少なくとも１つの履歴発言を取得する段階であって、少なくとも１つの履歴発言が、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言である、段階と、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定する段階であって、履歴ベクトルが、少なくとも１つの履歴発言における分析対象の発言と関連する情報を含む、段階と、履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する段階と、を含む方法を実施する。
【００２６】
一実施形態において、複数の分析対象の発言が存在し、複数の分析対象の発言は、複数の発言のうち、対話順序における最後の複数の発言である。
【００２７】
一実施形態において、少なくとも１つの履歴発言と分析対象の発言との間の発言間隔は、事前設定閾値より小さい。
【００２８】
一実施形態において、プロセッサは、プログラムコード中の命令に応じて、分析対象の発言の発言ベクトル、第１の履歴発言の発言ベクトル、および第２の履歴発言の発言ベクトルに従い、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定する段階と、ＨＣＩセッションにおける、第１の履歴発言と分析対象の発言との間の出現位置関係、ならびに第２の履歴発言と分析対象の発言との間の出現位置関係を決定する段階と、第１の履歴発言の意味的類似性、第２の履歴発言の意味的類似性、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い、分析対象の発言の履歴ベクトルを決定する段階と、を含む方法を実施する。
【００２９】
一実施形態において、プロセッサは、プログラムコード中の命令に応じて、分析対象の発言の履歴ベクトルおよび発言ベクトルに従い、分析対象の発言の融合ベクトルを決定する段階と、融合ベクトルに従い、分析対象の発言のユーザ意図を決定する段階と、を含む方法を実施する。
【００３０】
一実施形態において、プロセッサは、プログラムコード中の命令に応じて、分析対象の発言の履歴ベクトルおよび発言ベクトルを加重加算して、分析対象の発言の融合ベクトルを得る段階を含む方法を実施する。
【００３１】
一実施形態において、プロセッサは、プログラムコード中の命令に応じて、融合ベクトルを複数の事前設定されたユーザ意図にマッピングする段階と、複数のユーザ意図へのマッピング結果に従い、複数のユーザ意図から分析対象の発言のユーザ意図を決定する段階と、を含む方法を実施する。
【００３２】
一実施形態において、プロセッサはさらに、プログラムコード中の命令に応じて、少なくとも１つ単語セグメントのうちの１つである第１の単語セグメントの単語ベクトルを決定する段階と、第１の単語セグメントの履歴ベクトルおよび単語ベクトルに従い、第１の単語セグメントの融合単語ベクトルを決定する段階と、第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する段階と、を含む方法を実施する。
【００３３】
一実施形態において、プロセッサはさらに、プログラムコード中の命令に応じて、第１の単語セグメントの融合単語ベクトル、複数の単語セグメントのうちの１つである第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従い、第１の単語セグメントのエンティティタイプを決定する段階を含む方法を実施する。
【００３４】
別の実施形態において、記憶媒体が本開示の実施形態において開示され、当該記憶媒体はプログラムコードを記憶し、当該プログラムコードは、本開示の前述の実施形態において提供される、発言のユーザ意図を識別するための方法を実施するために使用される。
【００３５】
別の実施形態において、命令を含むコンピュータプログラム製品が本開示の実施形態において開示され、当該コンピュータプログラム製品がコンピュータで動作すると、コンピュータは、本開示の前述の実施形態において提供される、発言のユーザ意図を識別するための方法を実施させられる。
【００３６】
上に要約され、かつ本明細書にさらに詳細に説明されるように、分析対象の発言のユーザ意図を決定する必要がある場合、当該分析対象の発言が位置しているＨＣＩセッションから、当該分析対象の発言の少なくとも１つの履歴発言を決定することができ、ＨＣＩは一般に一定の連続性を有しており、それゆえ、ＨＣＩセッションにおける履歴発言の内容が分析対象の発言の内容と関連している場合がある。分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルを参照して決定された履歴ベクトルは、履歴発言において関連する内容を含む場合があり、その内容は、分析対象の発言の内容とある程度関連している場合がある。分析対象の発言のユーザ意図が履歴ベクトルを参照して決定される場合、履歴ベクトルに含まれる分析対象の発言と関連する内容を追加の決定基準として使用することができ、決定基準がより多くなることにより、分析対象の発言のユーザ意図を決定する精度を向上させることができる。
【図面の簡単な説明】
【００３７】
本開示の実施形態における技術的解決策を説明するために、実施形態の説明に用いられる添付図面を以下に簡潔に紹介する。以下の説明の添付図面は、本開示の一部の実施形態にすぎない。当業者は、大きな努力を伴わずにこれらの添付図面に基づき他の添付図面をさらに得ることができる。
【００３８】
【図１】開示されるいくつかの実施形態に係る、発言のユーザ意図を識別するための方法を示すフロー図である。
【００３９】
【図２】開示される実施形態に係る、融合ベクトルに従い、ユーザ意図を決定することについての図である。
【００４０】
【図３】開示されるいくつかの実施形態に係る、発言のユーザ意図を識別するための方法を示すフロー図である。
【００４１】
【図４】開示されるいくつかの実施形態に係る、分析対象の発言の単語セグメントタイプをラベリングするための方法を示すフロー図である。
【００４２】
【図５】開示されるいくつかの実施形態に係る、発言のユーザ意図を識別するためのプログラムのブロック図である。
【００４３】
【図６】開示されるいくつかの実施形態に係る、発言のユーザ識別およびエンティティラベリングを実装するためのプログラムのブロック図である。
【００４４】
【図７】開示されるいくつかの実施形態に係る履歴メモリコンポーネントのブロック図である。
【００４５】
【図８】開示されるいくつかの実施形態に係る最新の発言の処理コンポーネントのブロック図である。
【００４６】
【図９】開示されるいくつかの実施形態に係るエンティティラベリングコンポーネントのブロック図である。
【００４７】
【図１０】開示されるいくつかの実施形態に係る、発言のユーザ意図を識別するための装置のブロック図である。
【００４８】
【図１１】本開示のいくつかの実施形態に係る、発言のユーザ意図を識別するためのデバイスのブロック図である。
【発明を実施するための形態】
【００４９】
開示される実施形態を、添付図面を参照して以下に説明する。
【００５０】
現在、人工知能技術は発展の只中にあり、そのような技術は日常生活にますます適用されている。例えば、ユーザは、Ａｐｐｌｅ  Ｉｎｃ．（カリフォルニア州クパチーノ）により提供されるｉＰｈｏｎｅ（登録商標）デバイスに設けられたＳｉｒｉ（登録商標）デジタルアシスタント、およびＭｉｃｒｏｓｏｆｔ  Ｉｎｃ．（ワシントン州レドモンド）により提供されるチャットロボット（Ｘｉａｏｂｉｎｇ）と会話して、天気を検索したり、道順を尋ねたり、音楽を流したり、一般的な質問をしたりするなどができる。日常生活における適用に加え、職場における人工知能技術の適用もまた主要な開発傾向である。従来の労力の代わりにロボットを使用する（例えば、物流分野において荷物の仕分けのためにロボットを使用する）ことにより、効果的に労働コストを低減し、企業経営を容易にすることができる。産業時代における蒸気機関および情報時代におけるコンピュータと同様に、人工知能は、社会に大きな変化をもたらし、人間の生活に新たな変化をもたらすことになる。
【００５１】
人工知能の中心にあるのは、ヒューマンコンピュータインタラクション（ＨＣＩ）技術である。人間をマシンと区別する最も重要な点は、人間は自主的に思考することができ、マシンは機械的である点である。したがって、人工知能の目的は、マシンが人間のように思考するのを可能にすることである。マシンが思考することができ、かつマシンが人間の意図を理解し、その人間の意図に応答することができるという前提に基づき、人間とマシンとの間の対話（すなわち、ＨＣＩ）はそのように実施される。したがって、ＨＣＩの発展は、ユーザ意図の識別精度の向上に依存している。
【００５２】
従来のユーザ意図識別は、固定の発言パターンを参照して、ユーザの最新の発言を分析することにより実施される。人間の言語の柔軟性や変動性に起因して、この技術を使用して得られるユーザ意図はしばしば、ユーザの実際の意図と一致しない。例えば、以下のシナリオを考察する（ここで、「Ｑ」はユーザの質問を表し、「Ａ」はマシンの回答を表し、数字は質問および回答の順序を表し、「ｘｘｘ」は質問に対する回答を表しており、これらの内容は、問答に関する検討において重要ではない）。
Ｑ１：明日のウルムチの天気はどうですか？
Ａ１：ｘｘｘ
Ｑ２：明後日はどうですか？
Ａ２：ｘｘｘ
Ｑ３：上海はどうですか？
Ａ３：ｘｘｘ
【００５３】
この一連の問答において、マシンは、各質問（Ｑ１、Ｑ２、Ｑ３等；Ｑとして総称される）の意図、すなわち、Ｑの内容を通してユーザが何を表現することを意図しているか、および目的が何であるかを識別する必要がある。Ｑ２およびＱ３の意図について、従来の方法に従って正確な結果を取得することが困難であることは明らかであり、これらの意図は、履歴情報（例えば、Ｑ１等の以前の質問）を参照することによってのみ正確に判断され得る。Ｑ３を例として説明を行う。従来の方法において、「上海はどうですか？」という分析対象の発言の意図を識別する場合、一般に、分析対象の発言の内容に従い分析を行うことができる。しかしながら、分析対象の発言は、分析対象の発言の意図を正確に決定するには不十分である。得られる意図は、他の多くの意図の中でも、上海の天気はどうか、または、上海にはどんな景勝地があるかになり得る。これは、分析対象の発言の実際の意図、すなわち、「明後日の上海の天気はどうですか？」とは明らかに異なる。従来の方法を使用して決定された意図に応じてマシンが返答すると、返答の内容は、ユーザが知りたいと意図する内容とは明らかに一致せず、ユーザ体験の低下および不正確な結果をもたらす。
【００５４】
したがって、発言のユーザ意図を識別するための方法および装置が本開示の実施形態において提供される。分析対象の発言のユーザ意図を決定する必要がある場合、当該分析対象の発言が位置しているＨＣＩセッションから、当該分析対象の発言の少なくとも１つの履歴発言を決定することができ、ＨＣＩは一般に一定の連続性を有しており、それゆえ、ＨＣＩセッションにおける履歴発言の内容が分析対象の発言の内容と関連している場合がある。分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルを参照して決定された履歴ベクトルは、履歴発言において関連する内容を含む場合があり、その内容は、分析対象の発言の内容とある程度関連している場合がある。分析対象の発言のユーザ意図が履歴ベクトルを参照して決定される場合、履歴ベクトルに含まれる分析対象の発言と関連する内容を追加の決定基準として使用することができ、決定基準が多くなるほど、分析対象の発言のユーザ意図の決定精度を向上させることができる。
【００５５】
開示される実施形態は、主にリカレントニューラルネットワーク（ＲＮＮ）に適用され、発言の発言ベクトルは、ＲＮＮによって決定することができる。本開示の実施形態において言及される発言は、１つまたは複数の文字を含んでもよく、異なる言語形態または言語に応じて、複数の異なる文字形態および文字の組み合わせが存在し得る。発言の発言ベクトルは、発言中のすべての単語の情報を保有し、ベクトル化形態で得られるベクトルである。例えば、単語セグメント化された発言が入力され、発言がｎ個の単語セグメントを有すると仮定すると、ＲＮＮを通過した後、ｎ個の単語セグメントにそれぞれ対応するｎ個の出力ベクトルｒ１...ｒｎ−１，ｒｎが存在し、これらの出力ベクトルを単語セグメントの単語ベクトルとして使用することができる。ＲＮＮのメモラビリティに起因して、ｉ番目の単語セグメントの出力ベクトルｒｉは、すべての単語セグメント、すなわち、その単語セグメントの前のｒ１，...ｒｉ−１の情報を含み、そのため、最後の単語セグメントの出力ベクトルは、発言中のすべての単語セグメントの情報を含むはずである。したがって、最後の単語セグメントの出力ベクトルｒｎを、発言の発言ベクトルとして使用することができる。
【００５６】
発言、すなわち、分析対象の発言のユーザ意図が決定されると、開示される実施形態において、分析対象の発言のユーザ意図は、少なくとも１つの履歴発言の発言ベクトルを参照して決定される。ここでの履歴発言は、ユーザ意図が分析される分析対象の発言に対して決定される。分析対象の発言は、マシンによってユーザ意図を決定する必要がある発言である。一般に、分析対象の発言は、ＨＣＩセッションにおいてユーザによって入力される最後の発言であり、マシンによる返答および応答が必要とされる発言である。マシンの返答が遅い場合、分析対象の発言は、ユーザが入力した発言のうち、マシンによって返答されていない発言でもあり得る。１つの分析対象の発言または複数の分析対象の発言が存在し得る。複数の分析対象の発言が存在する場合、複数の分析対象の発言は、複数の発言のうち、対話順序における最後の複数の発言であってもよい。本開示の実施形態に現れるマシンは従来の意味でのマシンに限定されず、対話機能を実装可能なソフトウェア、またはそのソフトウェアが利用される端末もしくはサーバ等であってもよいことに留意すべきである。
【００５７】
分析対象の発言および分析対象の発言に対応する履歴発言はいずれも、同一のＨＣＩセッションに出現する。このＨＣＩセッションでは、ＨＣＩは連続的なプロセスである。履歴発言は、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言であり、履歴発言および分析対象の発言はいずれもユーザによって入力された発言である。例えば、Ｑ１→Ａ１、Ｑ２→Ａ２、およびＱ３→Ａ３の上述の例では、マシンがＱ２のユーザ意図を分析する必要がある場合、Ｑ１をＱ２の履歴発言として使用することができる。マシンがＱ３のユーザ意図を分析する必要がある場合、Ｑ１およびＱ２をＱ３の履歴発言として使用することができる。
実施形態１
【００５８】
本開示のいくつかの実施形態に係る、発言のユーザ意図を識別するための方法を、添付図面を参照して以下に詳細に説明する。図１は、本開示の一実施形態に係る、発言のユーザ意図を識別するための方法を示すフロー図である。本方法は、以下の段階を含む。
【００５９】
Ｓ１０１：複数の発言から、分析対象の発言および分析対象の発言に対応する少なくとも１つの履歴発言を取得する。ここで、少なくとも１つの履歴発言は、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言である。
【００６０】
例示された実施形態において、上記の発言は同一のＨＣＩセッション内に位置しており、いずれもユーザによって入力される。入力方法は限定されない。例えば、発言は、キーボード等の入力デバイスを介してユーザによって手動で入力されてもよいし、ユーザによる音声入力からマシンによって認識されてもよい。例えば、デジタル音声アシスタントのＳｉｒｉ（登録商標）では、音声の意味をまず構文解析して音声をテキストに変換することにより、ユーザ意図を識別する必要がある。音声の構文解析は本開示により解決すべき技術的問題ではないため、本開示におけるユーザ意図の識別の技術的解決策は、本開示の実施形態において、テキスト形態の発言を例として示す。
【００６１】
上述の天気の質問の適用シナリオでは、従来の方式で分析対象の発言が決定される場合、分析対象の発言のユーザ意図は、一般に、分析対象の発言自体の統語構造または意味論上の意味などを参照して決定され得る。分析対象の発言がＱ３（「上海はどうですか？」）である場合、マシンは、Ｑ３自体の統語構造および意味論上の意味に従い、Ｑ３のユーザ意図を分析することができる。Ｑ３に含まれる内容では、マシンが、この質問のテキストのみに基づいてＱ３のユーザ意図を正確に決定することは困難になる。したがって、例示された実施形態では、分析対象の発言のユーザ意図は、分析対象の発言および対応する履歴発言を参照して決定される。少なくとも１つの履歴発言を参照して分析対象の発言のユーザ意図を決定することにより、複数の一連の問答における、ユーザが入力した情報の不完全性および省略に起因する分析対象の発言のユーザ意図の不正確な識別の発生が低減され得る。
【００６２】
しかしながら、履歴発言の数の要件は、異なる適用シナリオにおいてしばしば異なる。例えば、ＴａｏｂａｏまたはＪｉｎｇｄｏｎｇ  Ｍａｌｌなどのショッピングサイトでは、カスタマーサービス担当者が忙しいときにカスタマーサービス担当者の代わりに一部のよくある質問（「返品方法は？」および「送料は含まれていますか？」等）に回答するためにカスタマーサービスロボットが設けられていることが多い。この種類の質問は非常に独立したものであることが多く、現在論じられているトピックは、概して２回または３回以内の一連の質問で完了され得る。したがって、このシナリオでは、分析対象の発言の前にユーザにより入力された２つの発言が分析対象の発言に対応する履歴発言であると設定することができる。当然ながら、別の適用シナリオにおいて、ユーザにより入力された多くの発言がＨＣＩセッション中に存在するときに、分析対象の発言の履歴発言を決定する必要がある場合、後戻りする発言の個数を指定することができる（例えば、５つの発言）。したがって、分析対象の発言の前にユーザにより入力された５つの発言を分析対象の発言の履歴発言として使用することができ、それ以前の発言は無視してよい。後戻りする発言の個数を指定することにより、履歴発言の数を低減し、その後の履歴発言の関連度の計算の複雑さを効果的に低減し、計算効率を向上させることができる。それにより、ユーザ意図をより迅速かつより正確に識別し、ユーザ意図に迅速かつ正確に応答することができ、より良好なユーザ体験がもたらされる。
【００６３】
履歴発言の数は、特定の適用シナリオに応じてカスタマイズすることができる。当然ながら、履歴発言の数の設定も、識別結果に対して一定の影響を及ぼす。したがって、異なるシナリオでは、履歴発言の個数は、固定されていてもよいし、変動してもよい（例えば、文脈が変わると変動する）。履歴発言の個数は事前設定されていてもよいし、履歴発言の個数は絶え間ない学習を通して最適化されてもよいので、識別精度はこの適用シナリオにおいてさらに向上する。
【００６４】
異なる位置にある履歴発言も、分析対象の発言のユーザ意図の識別に対して一定の影響を有することになる。同一または同様の意味論上の意味の場合、距離がより短い履歴発言は分析対象の発言のユーザ意図の識別に対する影響がより大きく、距離が長い履歴発言は分析対象の発言のユーザ意図の識別に対する影響がより小さい。履歴発言の位置がある程度遠い場合、分析対象の発言のユーザ意図の識別に対する履歴発言の影響は無視してもよい。この位置での履歴発言と分析対象の発言との間の発言間隔が、事前設定閾値として設定されてもよい。本開示の実施形態の考えられる実装において、ユーザ意図の識別精度を向上させるために、少なくとも１つの履歴発言と分析対象の発言との間の発言間隔は、事前設定閾値より小さく設定されてもよい。事前設定閾値は、経験的に設定されてもよい。 
【００６５】
Ｓ１０２：分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定する。
【００６６】
履歴ベクトルは、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従った計算によって得られるベクトルであり、分析対象の発言および履歴発言に対応する発言ベクトルと見なされ得る。履歴ベクトルに含まれる情報は、分析対象の発言と関連する少なくとも１つの履歴発言の情報を反映することができるだけでなく、分析対象の発言の情報もある程度反映することができる。
【００６７】
履歴ベクトルの計算プロセスは、本開示において限定されない。履歴ベクトルの計算は、分析対象の発言の発言ベクトルおよび履歴発言の発言ベクトルの加算であってもよいし、他の計算方法であってもよい。例えば、分析対象の発言の発言ベクトルがｍｎであり、履歴発言の発言ベクトルがそれぞれｍ１〜ｍｎ−１であり、履歴ベクトルは、２つを加算した結果、すなわち、ｍ１＋...ｍｎ−１＋ｍｎであってもよい。
【００６８】
Ｓ１０３：履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する。
【００６９】
履歴ベクトルに含まれる情報は、分析対象の発言の情報を反映してよく、分析対象の発言と関連する少なくとも１つの履歴発言の情報も反映してよい。したがって、マシンが履歴ベクトルにより分析対象の発言のユーザ意図を決定する場合、分析対象の発言のユーザ意図の識別がより正確となるように、より多くの、かつ有効な参照可能な情報が存在し得る。複数の一連の問答において、より正確なユーザ意図に基づき、マシンは、ユーザにより入力された分析対象の発言に対してより正確に応答することができ、そのため、より良好な体験をユーザにもたらす。
【００７０】
一実施形態において、履歴ベクトルに従い、分析される発言のユーザ意図を決定する方法は限定されない。一般に、ユーザ意図の種類は限られており、事前に集約することができる。その結果、履歴ベクトルに従い、分析対象の発言のユーザ意図が決定されると、履歴ベクトルは、事前に取得された様々なユーザ意図に一定のルールでマッピングされ得る。特定の種類のユーザ意図のスコアまたはカテゴリがマッピング中で最も高い場合、この種類のユーザ意図を、分析対象の発言のユーザ意図として使用することができる。
【００７１】
ステップＳ１０３について、分析対象の発言の情報は、常に履歴ベクトルに十分に反映されるとは限らず、したがって、分析対象の発言のユーザ意図をより正確に決定するために、追加の実施形態がさらに提供される。この追加の実施形態において、分析対象の発言の融合ベクトルは、分析対象の発言の履歴ベクトルおよび発言ベクトルに従ってまず決定されてよく、その後、融合ベクトルに従い、分析対象の発言のユーザ意図が決定される。例えば、履歴ベクトルはｈであり、最新の分析対象の発言の発言ベクトルはｕである。履歴ベクトルｈおよび分析対象の発言の発言ベクトルｕを融合して、融合ベクトルоを得ることができる。融合方法は、単に２つのベクトルの加算であってもよいし、意図識別に対する影響に応じて２つのベクトルの各々に重みが割り当てられた後の加重加算の実施であってもよく、あるいは他の融合方法も使用してもよい。本開示の実施形態では、理解を容易にするために、２つのベクトルの加算、すなわち、о＝ｈ＋ｕによって説明を行う。融合ベクトルを得た後、融合ベクトルは、事前に取得された様々なユーザ意図に一定のルールでマッピングされ得る。特定の種類のユーザ意図のスコアまたはカテゴリがマッピング中で最も高い場合、この種類のユーザ意図を、分析対象の発言のユーザ意図として使用することができる。
【００７２】
融合ベクトルをマッピングすることによるユーザ意図の取得を、図２を参照して以下に紹介する。
【００７３】
図２において、２つの融合ベクトル、すなわち、о１およびо２が存在する。分析対象の発言１について計算された融合ベクトルがо１であり、分析対象の発言２について計算された融合ベクトルがо２である。ｎ種類の考えられるユーザ意図が事前に取得され、これらのユーザ意図はそれぞれｘ１，ｘ２…ｘｎによって表される。様々なユーザ意図のスコアを得るために、о１およびо２は各々、マシンによりｎ種類のユーザ意図にマッピングされる。о１およびо２に対応する様々なユーザ意図のスコアは、ｂ１１，ｂ１２...ｂ１ｎおよびｂ２１，ｂ２２...ｂ２ｎである。最高スコア値の意図が、分析対象の発言のユーザ意図である。事前に取得された異なるユーザ意図への融合ベクトルのマッピングは異なる重みを有してよく、これらの重みはマシンに学習させることによって得ることができることに留意すべきである。
【００７４】
意図取得モジュールには複数の意図カテゴリが存在し、それぞれｘ１，ｘ２…ｘｎによって表される。マッピングモジュールは、о１およびо２の各々をｘ１，ｘ２...ｘｎにマッピングし、ｘ１，ｘ２...ｘｎのスコアを得る。意図取得モジュールは、最新の発言の意図として機能する最大スコアを選択する。例えば、о１のマッピングについて、ｘ２のスコアが最大である場合、ｘ２が分析対象の発言１のユーザ意図である。
【００７５】
上述の実施形態において、分析対象の発言の履歴ベクトルは、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルを計算することにより求められ、ユーザ意図は、分析対象の発言の履歴ベクトルに従って決定される。既存のシステムと比較して、この方法は、分析対象の発言と関連し、かつ履歴発言に含まれる情報を十分に考慮するため、ユーザ意図識別がより正確である。
【００７６】
いくつかの実施形態では、Ｓ１０２において、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定する必要がある。計算の際には、異なる履歴発言と分析対象の発言との間の関連性の程度を考慮する必要がある。履歴発言と分析対象の発言との間の意味的類似性のみならず、ＨＣＩセッションにおける履歴発言と分析対象の発言との間の距離も考慮する必要がある。
【００７７】
一般に、ＨＣＩプロセスにおいて、対話内容は、トピックについての連続的なプロセスを含んでよい。同一のトピックが論じられるとき、ユーザにより入力される発言はいずれもそのトピックと関連している場合があり、続けて入力される発言もまたそれらの間に一定の関連性を有する場合がある。したがって、同一のトピックを論じる発言の間の意味的類似性は一般により高くなる。さらに、通常の対話は一般に連続性を有するが、その連続性はあまり長続せず、したがって、分析対象の発言により近い履歴発言は、分析対象の発言とより関連しており、同一の事柄または同一のトピックを論じている可能性が高く、分析対象の発言から遠く離れた履歴発言は、分析対象の発言との関連性が非常に低い場合があり、異なる事柄または異なるトピックを論じている可能性が高い。
【００７８】
したがって、ＨＣＩセッションにおいて分析対象の発言により近い履歴発言は、意図識別に対する影響がより大きくなる。当然ながら、履歴発言と分析対象の発言との間の位置関係のみを考慮することは不十分であり、分析対象の発言のユーザ意図を決定するときに、より正確な意図識別を達成するためには、履歴発言と分析対象の発言との間の意味的類似性も考慮する必要がある。したがって、分析対象の発言が決定されるとき、分析対象の発言から遠く離れているが、意味的類似性が高い履歴発言は、分析対象の発言のユーザ意図の決定のための主要な基準として使用されないようにすることができる。これは、分析対象の発言から遠く離れたこの種類の履歴発言は、分析対象の発言とは異なる事柄またはトピックを論じている場合があるためである。その履歴発言が分析対象の発言のユーザ意図を決定するための主要な基準として使用されると、決定されたユーザ意図が、分析対象の発言の実際のユーザ意図と一致しない場合がある。特定のシナリオに関連した例を通じて、以下に説明を行う。
Ｑ１：明日のウルムチの天気はどうですか？
Ａ１：ｘｘｘ
Ｑ２：明後日はどうですか？
Ａ２：ｘｘｘ
Ｑ３：杭州にはどんな景勝地がありますか？
Ａ３：ｘｘｘ
Ｑ４：上海はどうですか？
Ａ４：ｘｘｘ
【００７９】
分析対象の発言はＱ４の「上海はどうですか？」であり、Ｑ１からＱ３はＱ４の履歴発言であると仮定する。３つの履歴発言から２つユーザ意図が決定される可能性があるため、一方は、景勝地を尋ねることであり、他方は天気を尋ねることであり、これらはいずれもＱ４と関連している場合がある。景勝地を尋ねる履歴質問が分析対象の発言により近くに出現するという位置関係が考慮されない場合、Ｑ４の意図として天気の質問が誤って識別される可能性が高い。
【００８０】
ユーザ意図識別に対する履歴発言の位置関係の影響を考慮して、Ｓ１０２において、分析対象の発言の発言ベクトルおよび履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定するための方法が、開示される実施形態に提供される。
【００８１】
本開示の実施形態における、分析対象の発言の発言ベクトルおよび履歴発言の発言ベクトルに従い、履歴ベクトルを決定するための方法を、図３を参照して以下に紹介する。１つの履歴発言または複数の履歴発言が存在し得る。分析対象の発言の発言ベクトルおよび１つの履歴発言の発言ベクトルに従い、履歴ベクトルを決定するための方法は、分析対象の発言の発言ベクトルおよび複数の履歴発言の発言ベクトルに従い、履歴ベクトルを決定するための方法と同様である。分析対象の発言の発言ベクトルおよび複数の履歴発言の発言ベクトルに従い、履歴ベクトルを決定するための方法を以下に紹介する。履歴発言の個数が１つである場合、複数の履歴発言についての方法を参照することができ、詳細はここで再度説明しない。
【００８２】
複数の履歴発言は、第１の履歴発言および第２の履歴発言を含む。この実施形態において、第１の履歴発言および第２の履歴発言を例として説明を行うが、本開示は、第１の履歴発言および第２の履歴発言に限定されない。本方法は、以下の段階を含む。
【００８３】
Ｓ３０１：分析対象の発言の発言ベクトル、第１の履歴発言の発言ベクトル、および第２の履歴発言の発言ベクトルに従い、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定する。
【００８４】
意味的類似性は、意味論の観点から２つの発言の間の関連度を表す概念である。例えば、分析対象の発言に対する第１の履歴発言の意味的類似性のレベルとは、意味論の観点からの第１の履歴発言と分析対象の発言との間の関連度を意味する。意味的類似性は、第１の履歴発言の発言ベクトルおよび分析対象の発言の発言ベクトルを通して決定することができる。
【００８５】
本開示の実施形態において、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定するための方法は限定されず、実現可能な実装は、分析対象の発言に対する複数の履歴発言の関連度の分布を見つけることである。
【００８６】
例えば、分析対象の発言の発言ベクトルはｕであり、履歴発言の発言ベクトルはｍｉである。具体的には、本開示の実施形態において、第１の履歴発言および第２の履歴発言の発言ベクトルはそれぞれｍ１およびｍ２であってよい。分析対象の発言に対する履歴発言の意味的類似性はｐｉであり、分析対象の発言に対する履歴発言の意味的類似性の分布は、ｐｉ＝ｓｏｆｔｍａｘ（ｍｉｕＴ）によって取得することができ、ここで、ｍｉｕＴは、履歴発言の発言ベクトルおよび最新の分析対象の発言の発言ベクトルの内積を表す。ここで、Ｔは移項を意味し、発言ベクトルの移項から得られるベクトルを表し、すなわち、元の行ベクトル形態が列ベクトル形態に変換される。ソフトマックス関数の機能は正規化であり、その結果、
【数１】
2020537777.tif 000003
となる。この正規化は、意味的類似性の結果をより直感的に示すように機能する。本開示の別の実施形態において、正規化が実施されなくてもよく、すなわち、意味的類似性の別の分布は、ｐｉ＝ｍｉｕＴである。正規化が実施されるどうかは本開示の実施形態の実装に影響しない。
【００８７】
意味的類似性を計算するための好ましい実装解決策は、ｍｉｕＴの行列計算のためにＰｙｔｈｏｎプログラミング言語におけるＮｕｍＰｙパッケージまたはＪａｖａ（登録商標）プログラミング言語におけるＪａｍａパッケージを選択することであり、ここで、ＮｕｍＰｙパッケージおよびＪａｍａパッケージは各々、対応するプログラミング言語におけるベクトルまたは行列の計算を実施するための一組のクラスを含む。次に、正規化処理のためにソフトマックス関数を呼び出すことができる。ｐｉ値が大きいほど、履歴発言ｉと分析対象の発言との間の関連度が高く、履歴発言ｉが分析対象の発言とよく類似していることを示す。対照的に、ｐｉ値が小さいほど、履歴発言ｉと分析対象の発言との間の関連度が低く、履歴発言ｉが分析対象の発言と類似しないことを示す。
【００８８】
意味的類似性は、履歴発言の発言ベクトルおよび分析対象の発言の発言ベクトルの内積によって計算される。一方では、履歴情報が十分に考慮され、様々な履歴発言の発言ベクトルを同時に計算することができる。他方では、関数を直接呼び出すことによって内積の行列計算を実施することができ、実装プロセスは比較的単純であり、それにより、計算効率が向上し、類似の意味論上の意味の結果が素早く得られる。
【００８９】
Ｓ３０２：第１の履歴発言の類似度、第２の履歴発言の類似度、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い、分析対象の発言の履歴ベクトルを決定する。
【００９０】
位置関係は、ＨＣＩセッションにおける履歴発言と分析対象の発言との間の距離を表すために使用することができる。位置関係の観点から、分析対象の発言により近い履歴発言は、ユーザ意図識別に対する影響がより大きい。位置関係を参照して履歴ベクトルを計算することにより、ユーザ意図識別のより正確な結果がもたらされ得る。履歴発言の位置関係が無視されると、類似する意味上の類似性を有する２つ以上の履歴発言が履歴発言に存在する場合、ユーザ意図識別の精度が低下する場合がある。
【００９１】
位置関係は、複数の様式で反映される場合があり、最新の履歴発言と分析対象の発言との間の行数の違いであってもよいし、他の表現形式であってもよい。位置関係の反映方法は、本開示の実施形態の実装に影響しない。
【００９２】
位置関係の反映の１つの実装は、ＨＣＩセッションにおける分析対象の発言に対して、ｉ番目の履歴発言の位置を表すためにｐｏｓｉを使用することであり、ｑｉは位置関係を表し、ここで、ｑｉ＝ｓｏｆｔｍａｘ（ｐｏｓｉ）である。当然ながら、正規化は実施されなくてもよく、正規化が実施されるかどうかは本開示の実施形態の実装に影響しない。例えば、ウルムチの天気を尋ねるシナリオにおいて、「明日の／ウルムチ／の／天気は／どう／ですか？」が第１の履歴質問であり、ｐｏｓ１＝０等である。第２および第３の履歴発言において、ｐｏｓ２＝１、ｐｏｓ３＝２であり、ｑｉ＝ｓｏｆｔｍａｘ（ｐｏｓｉ）に従って計算が実施され、その結果、ｑ１＝０．０９、ｑ２＝０．２４、およびｑ３＝０．６７を得ることができる。この例から分かるように、分析対象の発言により近い履歴発言が、より高い位置関係の重みを有する。履歴発言と分析対象の発言との間の位置関係を反映することができる限り、ｐｏｓｉ値を設定する方法は本開示の実施形態において限定されない。
【００９３】
分析対象の発言の履歴ベクトルは、第１の履歴発言の類似度、第２の履歴発言の類似度、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い決定される。履歴ベクトルの決定プロセスは本開示において限定されず、発言の意味的類似性を位置関係に加算すること、または発言の意味的類似性に位置関係を乗算することによって実施されてもよいし、他の計算方式によって実施されてもよい。
【００９４】
履歴ベクトルを計算する１つの実装は、分析対象の発言に対する履歴発言の類似度の平均と、履歴発言の発言ベクトルの係数として機能する履歴発言の対応する位置関係とを得ることである。表現および後の参照を容易にするために、係数はαｉによって表され、分析対象の発言ｕに対する履歴発言ｍｉの意味的類似性はｐｉであり、位置関係はｑｉであり、そして、履歴発言の発言ベクトルｍｉの係数は、αｉ＝（ｐｉ＋ｑｉ）／２である。そして、履歴ベクトルｍｉとその係数αｉの積を加算して履歴ベクトルが得られ、履歴ベクトルは、ｈによって表される。履歴ベクトルの計算式は、
【数２】
2020537777.tif 000004
として得ることができる。
【００９５】
履歴発言の発言ベクトルの係数は、意味的類似性および位置関係を参照して計算する必要がある。意味的類似性のみまたは位置関係のみを考慮することは、不正確なユーザ意図識別をもたらすことになる。位置関係が無視されると、セッションにおいて類似の意味上の類似性を有する少なくとも２つの履歴発言が存在するときに、分析対象の発言から遠く離れた履歴発言が主要な基準として使用された場合、決定されたユーザ意図は実際のユーザ意図と一致しない可能性が高い。意味的類似性が無視されて位置関係のみが考慮され、分析対象の発言により近い履歴発言が主要な基準として使用されると、より近い履歴発言が分析対象の発言に対してより低い意味的類似性を有する場合、決定されるユーザ意図は実際のユーザ意図と一致しない可能性が高い。したがって、履歴ベクトルを計算するときに、分析対象の発言に対する履歴発言の意味的類似性および位置関係が十分に考慮されるべきであり、すなわち、履歴発言の発言ベクトルの係数は、分析対象の発言に対する履歴発言の意味的類似性および位置関係に従って決定されるべきである。履歴ベクトルｈには、実際には様々な履歴発言の発言ベクトルに含まれる有用な情報が凝縮されていることは明らかであろう。より大きい重み、すなわちより大きいαｉを有する履歴発言の発言ベクトルは、履歴ベクトル全体に対する影響がより大きくなる。履歴ベクトルはユーザ意図識別の結果に直接影響するため、係数αｉを正確に計算することは特に重要である。
【００９６】
本開示の他の実装において、平均化は実施されなくてもよく、意味的類似性および位置関係のそれぞれに重みが割り当てられてもよく、加算、乗算、または他の計算方法を実施してもよい。履歴発言の発言ベクトルの係数を計算するための方法は、本開示の実施形態の実装に影響しない。平均化は、計算の利便性のためのものである。具体的に、実際の適用シナリオでは、シナリオの特徴に応じた適応数学モデルが確立されてもよく、異なるパラメータが定義される。パラメータはまた事前設定されてもよいし、反復学習および最適化によって得られてもよい。学習および最適化によって得られたパラメータは、より正確な履歴ベクトル計算をもたらすことができ、それにより、ユーザ意図識別の精度が向上し、ユーザに対してより良好な体験がもたらされる。
【００９７】
上述の実施形態において、履歴ベクトルは、分析対象の発言に対する履歴発言の意味的類似性および位置関係を参照して計算され、履歴ベクトルに従ってユーザ意図が決定されるため、意味的類似性または位置関係のみを考慮することにより引き起こされる、ユーザの実際の意図と一致しないユーザ意図を得るリスクが低減される。したがって、ユーザ意図識別はより正確であり、マシンは、このより正確な意図に応じて正確に応答することができるため、ユーザに対してより良好な体験をもたらす。
実施形態２
【００９８】
この実施形態では、主に、発言中の単語セグメントに対してエンティティラベリングを実施する方法について説明を行う。この実施形態における解決策は、実施形態１に基づいて実装されてもよいし、分析対象の発言の履歴ベクトルが決定された後に実装されてもよい。
【００９９】
本開示の実施形態において、ユーザ意図の識別に加え、正確な応答をするために、ユーザの質問中のエンティティを識別し、ラベリングする必要がある。具体的には、上述の天気の質問のシナリオでは、エンティティラベリングは以下の表１に示される。表１は、ユーザ意図の識別のための概略的な表である。
【表１】
2020537777.tif 000005
【０１００】
表の１行目は、発言の単語セグメント化を示し、２行目はラベリングを示す。「ＢＩＯ」システムでは、Ｂはエンティティの開始を識別し、Ｉはエンティティの中間を識別し、Ｏは無意味である。上述のエンティティがラベリングされた後、以下と類似する応答を行うことができる。
Ｑ１：明日のウルムチの天気はどうですか？
Ａ１：明日のウルムチは曇りのち晴れで、気温は１２〜２０度になります。
Ｑ２：明後日はどうですか？
Ａ２：明後日のウルムチは曇りで、気温は１２〜１８度になります。
Ｑ３：上海はどうですか？
Ａ３：明後日の上海は雨で、気温は１５〜１７度になります。
【０１０１】
上述のエンティティラベリングも、履歴発言の意味論上の意味を参照して実施される必要がある。そうでなければ、Ｑ２およびＱ３に正確に回答することはできない。
【０１０２】
履歴発言の意味論上の意味を考慮することに加え、履歴発言の位置関係も考慮する必要がある。異なる位置にある履歴発言は、異なる結果を生み出す場合がある。以下のシナリオについて検討する。
Ｑ：Ｚｈａｏ  Ｗｅｉが出演した映画は？
Ａ：...
Ｑ：Ｊａｙ  Ｃｈｏｕは？
Ｑ：Ｘｕ  Ｓｏｎｇが歌った歌は？
Ａ：...
Ｑ：Ｊａｙ  Ｃｈｏｕは？
【０１０３】
「Ｊａｙ  Ｃｈｏｕは？」は、２つの一連の問答の両方に存在する。履歴情報が考慮されないと、「Ｊａｙ  Ｃｈｏｕ」という単語をどのようにラベリングするか完全に手掛かりがないが、履歴情報が考慮され、かつ履歴情報の位置も参照されると、モデルは明確に、１回目のＪａｙ  ＣｈｏｕをＢ−役者としてラベリングし、２回目のＪａｙ  ＣｈｏｕをＢ−歌手としてラベリングすることができる。位置が考慮されないと、２つ目の一連の問答におけるＪａｙ  Ｃｈｏｕが誤ってＢ−役者としてラベリングされる場合がある。
【０１０４】
ユーザ意図識別について与えられた理由と同じ理由に基づいて、履歴発言の意味論上の意味および履歴発言の位置情報が参照されない場合、従来の方法でのエンティティラベリングの精度は比較的低くなる。さらに、意図識別およびエンティティラベリングは別々に実施されるため、リソースを共有することができず、意図識別およびエンティティラベリングを同期して実施することができない。その結果、マシンは、意図識別およびエンティティラベリングを別々に実施するために２倍の時間を掛ける必要があり、これはリソースの浪費および効率の低下をもたらす。
【０１０５】
複数の一連のセッションにおけるユーザ意図に応答する際のエンティティラベリングの機能を考慮すると、分析対象の発言の発言ベクトルおよび複数の履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルが決定された後に、分析対象の発言中の単語セグメントのエンティティタイプを決定するための方法が、本開示の別の実施形態において提供される。
【０１０６】
本開示の実施形態における分析対象の発言の単語セグメントのエンティティタイプの決定を、図４を参照して以下に紹介する。分析対象の発言の単語セグメントのエンティティタイプの決定において、分析対象の発言は、少なくとも１つの単語セグメントを含む。第１の単語セグメントのエンティティタイプの決定は、その後の参照および解決策の紹介を容易にするために例示される。第１の単語セグメントは、少なくとも１つの単語セグメントのうちの１つであり、他の単語セグメントと連続関係を持たない。別の単語セグメントのエンティティタイプの決定プロセスは、第１の単語セグメントのエンティティタイプの決定プロセスと同じであり、詳細はここで再度説明しない。Ｓ１０２を通して分析対象の発言の履歴ベクトルを決定した後、本方法は、以下の段階を含む。
【０１０７】
Ｓ４０１：第１の単語セグメントの単語ベクトルを決定する。
【０１０８】
したがって、発言中に含まれる単語セグメントのエンティティタイプがラベリングされる前に、まず発言を分解して少なくとも１つの単語セグメントを取得する必要がある。単語セグメントは、意味のあるエンティティであってもよいし、無意味な補助的な単語であってもよい。単語セグメントは、比較的抽象的な概念であり、マシンが理解することは比較的困難である。したがって、単語セグメントを、マシンが理解できる具体的概念へと変換することが非常に必要とされる。マシンが理解できる概念は、単語ベクトルであってもよい。単語セグメントの単語ベクトルは、単語セグメントをベクトル形態へと変換することにより得られ、単語セグメントのすべての情報を含む。代替的には、単語セグメントが位置している発言において当該単語セグメントより前に他の単語セグメントが存在する場合、単語セグメントの単語ベクトルは、当該単語セグメントのすべての情報に加え、さらに他の単語セグメントのすべての情報を含んでもよい。
【０１０９】
本開示の実施形態において、単語ベクトルは、単語セグメントに対してＲＮＮ符号化を実施することにより得られてもよい。ＲＮＮのメモラビリティに起因して、発言の最後の単語セグメントは、それ以前のすべての単語セグメントの情報を含み、最後の単語セグメントの単語ベクトルを発言の発言ベクトルとして使用することができる。具体的に、最新の分析対象の発言にｎ個の単語セグメントが存在し、ｎが１より大きいか１に等しい正の整数である場合、単語ベクトルｃ１，ｃ２...ｃｎをＲＮＮ符号化により得ることができる。
【０１１０】
単語セグメントに対してＲＮＮ符号化が実施される前に、まず単語セグメントを符号化してもよく、単語セグメントは一定寸法の空間にマッピングされる。この空間において、意味論上の意味をより良好に表現するために、意味が類似している単語セグメントは互いに近接している。本開示の実施形態において、Ｗｏｒｄ２ｖｅｃ符号化方法が採用されており、また、ｏｎｅ−ｈｏｔ符号化等の別の符号化方法が採用されてもよい。符号化方法は、本開示の実施形態の実装に影響しない。
【０１１１】
Ｓ４０２：第１の単語セグメントの履歴ベクトルおよび単語ベクトルに従い、第１の単語セグメントの融合単語ベクトルを決定する。
【０１１２】
履歴ベクトルは、Ｓ１０２および／またはＳ２０２のベクトルに記載される履歴ベクトルであり、履歴ベクトルを取得するための方法は、第１の実施形態および第２の実施形態における方法と同一であり、詳細はここで再度説明しない。第１の単語セグメントの単語ベクトルは、Ｓ４０１における単語ベクトルである。融合単語ベクトルは、最新の単語ベクトルに含まれる情報および履歴ベクトルに含まれる情報を統合することにより得られる新たなベクトルである。履歴ベクトルに含まれる情報および最新の単語ベクトルに含まれる情報の統合は、有効な参照可能な情報の集約および無関係な情報の除去として理解されてよい。
【０１１３】
この融合は、履歴ベクトルの情報および最新の単語ベクトルの情報の統合プロセスである。複数の融合方法が存在し、これらは本開示において限定されない。融合は、ベクトルを加算することによって実施されてもよいし、融合は、ベクトルの内積または行列によって実施されてもよいし、あるいは情報を統合するための他の方法によって実施されてもよい。融合方法は、本開示の実施形態の実装に影響しない。
【０１１４】
融合ベクトルの決定の機能は、履歴ベクトルに含まれる情報および最新の単語ベクトルに含まれる情報を統合して、最新の単語セグメント、すなわち第１の単語セグメントを分類すること、または履歴情報を参照してエンティティタイプを決定することである。このようにして、文脈を参照せずに最新の発言のみを考慮することにより引き起こされる、単語セグメントをラベリングする精度が比較的低いという先行技術の問題が回避される。一方で、融合単語ベクトルは、履歴ベクトルに従って計算される。この履歴ベクトルは、ユーザ意図の識別プロセスにおいて計算されており、エンティティタイプを決定するときにこれを直接使用することができることにより、リソースの共有が達成される。さらに、ユーザ意図識別プロセスおよびエンティティタイプラベリングプロセスは互いに干渉することはなく、同期的に実施することができ、それにより、計算効率が向上し、ユーザに対する応答に要する時間が短縮され、より良好なユーザ体験効果が達成される。
【０１１５】
例えば、最新の分析対象の発言は３つの単語セグメントを有し、これらの単語セグメントの単語ベクトルはそれぞれ、ｃ１、ｃ２、およびｃ３であり、履歴ベクトルはｈである。３つの単語セグメントに対応する融合ベクトルは、ｃ１＋ｈ、ｃ２＋ｈ、およびｃ３＋ｈであってよい。単語ベクトルの融合プロセスは、ユーザ意図識別プロセスにおけるベクトルを融合するプロセスと同期して実施されてもよく、それにより、計算効率が向上する。当然ながら、この例における融合単語ベクトルは、説明の利便性のために単純な加算により得られた融合単語ベクトルである。具体的には、実際の適用において、異なる適用シナリオに応じて異なる融合モデルを確立して、より正確な融合単語ベクトルを得て、単語セグメントのエンティティタイプをより正確に決定してもよい。
【０１１６】
Ｓ４０３：第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する。
【０１１７】
第１の単語セグメントの融合単語ベクトルに従った第１の単語セグメントのエンティティタイプの決定は、融合単語ベクトルに含まれる情報を参照して、複数のエンティティタイプの中で、第１の単語セグメントとの関連度が最も高いエンティティタイプを決定することと見なされてよい。関連度は、単語の意味および位置関係を参照して得た関連度であってよい。
【０１１８】
融合単語ベクトルを通した第１の単語セグメントのエンティティタイプの決定の機能は、融合単語ベクトル中の履歴情報を参照して単語セグメントのエンティティタイプをより正確に決定して、文脈を参照せずにエンティティタイプが誤ってラベリングされるという先行技術における問題を解消することができることである。
【０１１９】
具体的には、本開示の実施形態において、融合単語ベクトルは、マッピングモジュールを介して異なるエンティティタイプのモジュールにマッピングされてもよく、様々なエンティティタイプのモジュールのスコアが得られる。スコアが最も高いモジュールのエンティティタイプが、第１の単語セグメントのエンティティタイプである。第１の単語セグメントのエンティティタイプを決定するための方法はマッピングに限定されず、エンティティタイプを決定するために他の方法を使用してもよい。決定方法は、本開示の実施形態の実装に影響しない。
【０１２０】
例えば、単語セグメントの融合単語ベクトルは、о１＝ｃ１＋ｈである。事前にｎ種類の考えられるエンティティタイプが取得され、それぞれ、ｘ１，ｘ２，...ｘｎで表される。例えば、Ｂ−日、Ｂ−場所、およびＢ−歌手が含まれてよい。マシンは、融合単語ベクトルо１をｎ種類のエンティティタイプにマッピングし、様々なエンティティタイプのスコアを得る。о１に対応する様々なエンティティタイプのスコアは、ｂ１１，ｂ１２，...ｂ１ｎであり、様々なエンティティタイプのスコアは別々に合計され、スコアが最も高いエンティティタイプが、その単語セグメントのエンティティタイプである。
【０１２１】
Ｓ４０３では、複数のエンティティタイプから、あるエンティティタイプを決定する作業量は比較的重い。複数の単語セグメントを有する発言において、本明細書では第１の単語セグメントおよび第２の単語セグメントを含む発言を例にとり、第１の単語セグメントが第２の単語セグメントの後に位置し、かつ第２の単語セグメントのタイプが無意味を意味するＯである場合、「Ｏの後には、ＩではなくＯまたはＢが続かなければならない」という依存関係に従い、第１の単語セグメントのタイプがＩであることは除外される。依然としてステップＳ３０３に従って決定が実施される場合、不必要な時間が浪費され、間違った結果が得られる場合があるため、効率が低下する。
【０１２２】
複数の単語セグメントを有する発言中の単語セグメント間のエンティティタイプ依存関係を知らないことにより引き起こされる、エンティティタイプ識別精度の低さおよび低効率という問題を解消するために、Ｓ４０３に以下の改善を施してもよい。
【０１２３】
第１の単語セグメントのエンティティタイプは、第１の単語セグメントの融合単語ベクトル、第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従って決定される。
【０１２４】
融合単語ベクトルに従ったエンティティタイプの決定は、本質的には、融合単語ベクトルを参照して、複数のエンティティタイプから単語セグメントとの関連度が最も高いエンティティタイプを選択するプロセスである。次に、事前学習したエンティティタイプ依存関係に従い、まず選択範囲を縮小することができ、それにより、計算量を減らし、モデルの複雑さを低減し、効率を向上させることができる。したがって、応答時間をさらに短縮することができるため、より良好なユーザ体験がもたらされる。３秒の応答時間と１０分の応答時間とでは、ユーザ体験に非常に大きい違いがあることは明らかである。したがって、エンティティタイプ依存関係を加えることにより、エンティティタイプの決定が大きく向上する。
【０１２５】
当業者であれば、上述の方法の実施形態のステップのすべてまたはその一部は、関連するハードウェアに命令するプログラムによって実装され得ることを理解することができる。前述のプログラムは、方法のステップに対応する機能モジュールを含む。プログラムが実行されると、上述の方法の実施形態のステップが実施される。
【０１２６】
プログラムは、図５に示されるように、単語符号化モジュール５０１、履歴メモリコンポーネント５０２、最新の発言の処理コンポーネント５０３、関連度計算コンポーネント５０４、および意図識別コンポーネント５０５を含んでよい。エンティティラベリングのためにエンティティラベリングコンポーネントをさらに加えてもよい。当然ながら、本開示の他の実装において、上述の方法の実施形態のステップを実施するために他の機能モジュールも使用してもよく、これは本開示において限定されない。
【０１２７】
単語符号化モジュールは主に、発言の単語セグメントを符号化し、その結果、好都合なことに、履歴メモリコンポーネントおよび最新の発言の処理コンポーネントは、符号化された単語セグメントに対してＲＮＮ符号化を実施して、履歴発言の発言ベクトルおよび分析対象の発言の発言ベクトルをそれぞれ得る。履歴メモリコンポーネントはまた、後戻りする発言の個数を指定してもよい。分析対象の発言が位置するセッションにおいて、ユーザによって入力される発言の個数が多い場合、後戻りする発言の個数が指定される。例えば、後戻りする発言の個数が５に指定されると、分析対象の発言の前の５つの発言が分析対象の発言の履歴発言として使用され、その５つの発言の前の発言は無視されることになり、ＲＮＮ符号化を受けない。履歴発言の数の低減により、履歴ベクトルの計算の複雑さを効果的に低減することができ、それにより、計算効率が向上する。主要な計算コンポーネントは、一方で、履歴メモリコンポーネント内の履歴発言の発言ベクトルおよび最新の発言の処理コンポーネント内の分析対象の発言の発言ベクトルに従い、履歴発言と分析対象の発言との間の意味的類似性を得るが、他方で、様々な履歴発言の位置を符号化して位置の重みを得て、意味的類似性および位置の重みを融合して履歴ベクトルを得る。履歴ベクトルをより直感的に表すために、履歴ベクトルをさらに正規化してもよい。関連度計算コンポーネントは、実際にはステップＳ１０２またはステップＳ２０１＋Ｓ２０２を実施する。意図識別コンポーネントは、関連度計算コンポーネント内の履歴ベクトルおよび最新の発言の処理コンポーネント内の分析対象の発言の発言ベクトルに従い、複数の意図から最新の分析対象の発言のユーザ意図を識別する、すなわち、ステップＳ１０３を実施する。
【０１２８】
エンティティラベリング機能を実装するために、上記に加え、エンティティラベリングコンポーネントもプログラムに加えてよい。図６に示されるように、エンティティラベリングコンポーネント６０６は、関連度計算コンポーネント５０４および最新の発言の処理コンポーネント５０３に別々に接続される。関連度計算コンポーネント５０４によって出力された履歴ベクトルおよび最新の発言の処理コンポーネント５０３によって出力された単語ベクトルを、エンティティラベリングコンポーネント６０６の入力として使用することができる。
【０１２９】
図７を参照して履歴メモリコンポーネントについて以下に説明する。履歴メモリコンポーネントの構造は以下のとおりである。
【０１３０】
履歴メモリコンポーネントは主に、履歴発言入力モジュール、エンコーダモジュール、および発言ベクトル出力モジュールを含む３つのモジュールに分割されている。分析対象の発言の履歴発言は履歴発言入力モジュールに入力され、エンコーダは履歴質問に対してＲＮＮ符号化を実施し、発言ベクトル出力モジュールは、符号化後にエンコーダにより得られた発言ベクトルを出力する。
【０１３１】
天気の質問の適用シナリオを例として履歴メモリコンポーネントを以下に例示する。
【０１３２】
まず、履歴発言が入力される。
ｓ１：明日のウルムチの天気はどうですか？
ｓ２：明後日はどうですか？
ｓ３：杭州にはどんな景勝地がありますか？
【０１３３】
次に、ＲＮＮメモリエンコーダは入力された履歴質問を符号化して、様々な履歴質問の出力ベクトルｍ１、ｍ２、およびｍ３を得る。
【０１３４】
最後に、発言ベクトル出力モジュールは履歴発言の発言ベクトルｍ１、ｍ２、およびｍ３を出力する。
【０１３５】
図８を参照して最新の発言の処理コンポーネントについて以下に説明する。最新の発言の処理コンポーネントの構造は以下のとおりである。
【０１３６】
最新の発言の処理コンポーネントは主に、最新の発言の入力モジュール、エンコーダモジュール、および単語ベクトル出力モジュールを含む３つのモジュールに分割されている。単語セグメント化された分析対象の発言は最新の発言の入力モジュールに入力され、エンコーダモジュールは、最新の発言、すなわち分析対象の発言に対してリカレントニューラルネットワーク符号化を実施して、様々な単語セグメントに対応する単語ベクトルを取得する。ここで、最後の単語ベクトルが最新の発言の発言ベクトルである。
【０１３７】
天気の質問における「上海はどうですか？」という発言を例として、最新の発言の処理モジュールを以下に例示する。
【０１３８】
まず、単語セグメント化された最新の発言が入力される。上海／は／どうですか？
【０１３９】
次に、エンコーダは入力モジュール内の単語セグメントに対してリカレントニューラルネットワーク符号化を実施して、様々な単語セグメントに対応する単語ベクトル、すなわち、ｃ１、ｃ２、およびｃ３を得る。
【０１４０】
最後に、出力モジュールは、最新の発言における様々な単語セグメントに対応する単語ベクトルを出力する。ｃ３は、発言の発言ベクトルでもあることに留意すべきである。
【０１４１】
意図識別コンポーネントについて以下に説明する。
【０１４２】
意図識別コンポーネントは主に、入力モジュール、マッピングモジュール、および意図取得モジュールを含む３つのモジュールに分割されている。最新の発言の履歴情報を有する融合ベクトルが入力モジュールに入力される。融合ベクトルは、マッピングモジュールにより意図取得モジュール内の様々なカテゴリにマッピングされ、意図取得モジュールは、様々なカテゴリのスコアに応じて判断を行い、ユーザ意図を決定する。マッピングモジュールは、意図識別コンポーネントのコアモジュールである。図２を参照して、マッピングモジュールについて以下に説明する。
【０１４３】
例えば、図２では、２つの融合ベクトル、すなわちо１およびо２が存在する。意図取得モジュール内には複数のカテゴリが存在し、それぞれ、ｘ１，ｘ２...ｘｎで表される。マッピングモジュールは、о１およびо２をｘ１，ｘ２...ｘｎにマッピングして、ｘ１，ｘ２...ｘｎのスコアを得る。意図取得モジュールは、スコアが最も高いカテゴリを最新の発言の意図として選択する。例えば、融合ベクトルо１について、ｘ２のスコアが最も高い場合、ｘ２が分析対象の発言のユーザ意図である。
【０１４４】
エンティティラベリングコンポーネントは、実際にはステップＳ３０２およびＳ３０３を実施し、ステップＳ３０１は、最新の発言の処理コンポーネントによって実施される。エンティティラベリングコンポーネントは、最新の発言の処理コンポーネントにおける単語ベクトルおよび関連度計算コンポーネントにおける履歴ベクトルに従って融合単語ベクトルを得た後に、融合単語ベクトルに従って単語セグメントのエンティティタイプを決定する。
【０１４５】
図９を参照して、エンティティラベリングコンポーネントについて以下に説明する。エンティティラベリングコンポーネントの構造は、以下のとおりである。
【０１４６】
エンティティラベリングコンポーネントは主に、最新の発言の入力モジュール、エンコーダモジュール、単語ベクトル出力モジュール、単語ベクトル融合モジュール、フル接続モジュール、ＣＲＦモジュール、およびエンティティラベリングモジュールを含む。最新の発言の入力モジュールは、単語セグメント化された最新の発言を入力する。最新の発言の入力モジュール、エンコーダモジュール、単語ベクトル出力モジュール、および最新の発言の処理コンポーネントは、共有することができる。単語ベクトル融合モジュールは、単語ベクトルおよび履歴ベクトルを融合して、融合単語ベクトルを得る。フル接続モジュールは融合単語ベクトルの特徴を組み合わせ、組み合わされた特徴がＣＲＦモジュールに入って全体的な特徴とラベリング結果との間のネットワーク影響、すなわち、「Ｏの後には、ＩではなくＯまたはＢが続かなければならない」といったエンティティ間の依存関係を学習する。各単語の最終的なラベルスコアが出力され、システムは、スコアが最も高いラベルを、最新の単語の最終的なラベルとして選択する。
【０１４７】
上述の実施形態に提供される、発言のユーザ意図を識別するための方法に基づき、図１０に示されるように、発言のユーザ意図を識別するための装置が本開示の実施形態においてさらに提供される。図１０は、本開示の一実施形態に係る、発言のユーザ意図を識別するための装置のブロック図であり、本装置は、ＨＣＩセッションにおいて適用することができる。ＨＣＩセッションは、複数の発言を含む。本装置は、取得ユニット１００１と、第１の決定ユニット１００２と、第２の決定ユニット１００３とを含み、取得ユニット１００１は、複数の発言から、分析対象の発言および分析対象の発言に対応する少なくとも１つの履歴発言を取得し、少なくとも１つの履歴発言は、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言であり、第１の決定ユニット１００２は、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定し、履歴ベクトルは、少なくとも１つの履歴発言における分析対象の発言と関連する情報を含み、第２の決定ユニット１００３は、履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する。
【０１４８】
一実施形態において、複数の分析対象の発言が存在し、複数の分析対象の発言は、複数の発言のうち、対話順序における最後の複数の発言である。
【０１４９】
一実施形態において、少なくとも１つの履歴発言と分析対象の発言との間の発言間隔は、事前設定閾値より小さい。
【０１５０】
一実施形態において、第１の決定ユニット１００２は、意味的類似性決定サブユニットと、位置関係決定サブユニットと、履歴ベクトル決定サブユニットとを含む。意味的類似性決定サブユニットは、少なくとも１つの履歴発言が複数の履歴発言を含み、かつ複数の履歴発言が第１の履歴発言および第２の履歴発言を含むとき、分析対象の発言の発言ベクトル、第１の履歴発言の発言ベクトル、および第２の履歴発言の発言ベクトルに従い、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定する。位置関係決定サブユニットは、ＨＣＩセッションにおける、第１の履歴発言と分析対象の発言との間の出現位置関係、ならびに第２の履歴発言と分析対象の発言との間の出現位置関係を決定する。履歴ベクトル決定サブユニットは、第１の履歴発言の意味的類似性、第２の履歴発言の意味的類似性、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い、分析対象の発言の履歴ベクトルを決定する。
【０１５１】
一実施形態において、第２の決定ユニット１００３は、融合ベクトル決定サブユニットおよびユーザ意図決定サブユニットを含み、融合ベクトル決定サブユニットは、分析対象の発言の履歴ベクトルおよび発言ベクトルに従い、分析対象の発言の融合ベクトルを決定し、ユーザ意図決定サブユニットは、融合ベクトルに従い、分析対象の発言のユーザ意図を決定する。
【０１５２】
一実施形態において、融合ベクトル決定サブユニットは、分析対象の発言の履歴ベクトルおよび発言ベクトルを加重加算して、分析対象の発言の融合ベクトルを得る。
【０１５３】
一実施形態において、ユーザ意図決定サブユニットは、マッピングサブユニットおよび決定サブユニットを含み、マッピングサブユニットは、融合ベクトルを複数の事前設定されたユーザ意図にマッピングし、決定サブユニットは、複数のユーザ意図へのマッピング結果に従い、複数のユーザ意図から分析対象の発言のユーザ意図を決定する。
【０１５４】
一実施形態において、本装置はさらに、第３の決定ユニット、第４の決定ユニット、および第５の決定ユニットを含み、第３の決定ユニットは、少なくとも１つ単語セグメントのうちの１つである第１の単語セグメントの単語ベクトルを決定し、第４の決定ユニットは、第１の単語セグメントの履歴ベクトルおよび単語ベクトルに従い、第１の単語セグメントの融合単語ベクトルを決定し、第５の決定ユニットは、第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する。
【０１５５】
一実施形態において、第５の決定ユニットは、分析対象の発言が複数の単語セグメントを含む場合、第１の単語セグメントの融合単語ベクトル、複数の単語セグメントのうちの１つである第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従い、第１の単語セグメントのエンティティタイプを決定する。
【０１５６】
本開示の実施形態における、発言のユーザ意図を識別するための装置について、モジュラー機能エンティティの観点から上記に説明した。発言のユーザ意図を識別するためのデバイスが、本開示の実施形態にさらに提供される。本開示の一実施形態における、発言のユーザ意図を識別するためのデバイスについて、ハードウェアの観点から以下に説明する。
【０１５７】
図１１は、本開示の一実施形態に係る、発言のユーザ意図を識別するためのデバイスを示す。本デバイスは、ＨＣＩセッションにおいて適用され、ＨＣＩセッションは、複数の発言を含む。図１１を参照すると、デバイス１１００は、プロセッサ１１０２およびメモリ１１０１を含む。メモリ１１０１は、プログラムコードを記憶し、かつプログラムコードをプロセッサに送信する。プロセッサ１１０２は、プログラムコード中の命令に応じて、複数の発言から、分析対象の発言および分析対象の発言に対応する少なくとも１つの履歴発言を取得する段階であって、少なくとも１つの履歴発言が、ＨＣＩセッションにおいて分析対象の発言の前に出現する発言である、段階と、分析対象の発言の発言ベクトルおよび少なくとも１つの履歴発言の発言ベクトルに従い、分析対象の発言の履歴ベクトルを決定する段階であって、履歴ベクトルが、少なくとも１つの履歴発言における分析対象の発言と関連する情報を含む、段階と、履歴ベクトルに従い、分析対象の発言のユーザ意図を決定する段階とを含む方法を実施する。
【０１５８】
一実施形態において、複数の分析対象の発言が存在し、複数の分析対象の発言は、複数の発言のうち、対話順序における最後の複数の発言である。
【０１５９】
一実施形態において、少なくとも１つの履歴発言と分析対象の発言との間の発言間隔は、事前設定閾値より小さい。
【０１６０】
一実施形態において、プロセッサ１１０２は、プログラムコード中の命令に応じて、分析対象の発言の発言ベクトル、第１の履歴発言の発言ベクトル、および第２の履歴発言の発言ベクトルに従い、分析対象の発言に対する第１の履歴発言の意味的類似性および分析対象の発言に対する第２の履歴発言の意味的類似性を決定する段階と、ＨＣＩセッションにおける、第１の履歴発言と分析対象の発言との間の出現位置関係、ならびに第２の履歴発言と分析対象の発言との間の出現位置関係を決定する段階と、第１の履歴発言の意味的類似性、第２の履歴発言の意味的類似性、第１の履歴発言の出現位置関係、および第２の履歴発言の出現位置関係に従い、分析対象の発言の履歴ベクトルを決定する段階とを含む方法を実施する。
【０１６１】
一実施形態において、プロセッサ１１０２は、プログラムコード中の命令に応じて、分析対象の発言の履歴ベクトルおよび発言ベクトルに従い、分析対象の発言の融合ベクトルを決定する段階と、融合ベクトルに従い、分析対象の発言のユーザ意図を決定する段階とを含む方法を実施する。
【０１６２】
一実施形態において、プロセッサ１１０２は、プログラムコード中の命令に応じて、分析対象の発言の履歴ベクトルおよび発言ベクトルを加重加算して、分析対象の発言の融合ベクトルを取得する段階を含む方法を実施する。
【０１６３】
一実施形態において、プロセッサ１１０２は、プログラムコード中の命令に応じて、融合ベクトルを複数の事前設定されたユーザ意図にマッピングする段階と、複数のユーザ意図へのマッピング結果に従い、複数のユーザ意図から分析対象の発言のユーザ意図を決定する段階とを含む方法を実施する。
【０１６４】
一実施形態において、プロセッサ１１０２はさらに、プログラムコード中の命令に応じて、少なくとも１つ単語セグメントのうちの１つである第１の単語セグメントの単語ベクトルを決定する段階と、第１の単語セグメントの履歴ベクトルおよび単語ベクトルに従い、第１の単語セグメントの融合単語ベクトルを決定する段階と、第１の単語セグメントの融合単語ベクトルに従い、第１の単語セグメントのエンティティタイプを決定する段階とを含む方法を実施する。
【０１６５】
一実施形態において、プロセッサ１１０２はさらに、プログラムコード中の命令に応じて、第１の単語セグメントの融合単語ベクトル、複数の単語セグメントのうちの１つである第２の単語セグメントの融合単語ベクトル、および事前学習したエンティティタイプ依存関係に従い、第１の単語セグメントのエンティティタイプを決定する段階を含む方法を実施する。
【０１６６】
上述の実施形態は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせによって完全にまたは部分的に実装されてよい。ソフトウェアによって実装される場合、上述の実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実装されてよい。
【０１６７】
コンピュータプログラム製品は、１つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されると、本発明の実施形態において説明されたプロセスまたは機能が完全にまたは部分的にもたらされる。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または任意の他のプログラマブルデバイスであってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよいし、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、有線手段（例えば、同軸ケーブル、光ファイバ、もしくはデジタル加入者回線（ＤＳＬ））、または無線手段（例えば、赤外線、電波、もしくはマイクロ波）によって、あるウェブサイト、コンピュータ、サーバ、またはデータセンターから、別のウェブサイト、コンピュータ、サーバ、またはデータセンターに送信されてよい。コンピュータ可読記憶媒体は、コンピュータがアクセス可能な任意の利用可能な媒体、またはサーバなどのデータ記憶デバイス、および統合された１つまたは複数の利用可能な媒体を含むデータセンターであってよい。利用可能媒体は、磁気媒体（例えば、フロッピーディスク、ハードディスク、もしくは磁気テープ）、光学式媒体（例えば、ＤＶＤ）、または半導体媒体（例えば、ソリッドステートディスク（ＳＳＤ））等であってよい。
【０１６８】
本明細書の実施形態は漸進的に説明されており、異なる実施形態間での同一または類似する部分について、それらの実施形態の各々において他の実施形態との相違点に焦点を当てられるように、互いを参照している場合があることに留意すべきである。特に、デバイスおよびシステムの実施形態は方法の実施形態と実質的に類似しているため、比較的簡潔に説明されており、関連する部分については方法の実施形態の説明を参照することができる。上記のデバイスおよびシステムの実施形態は例示にすぎず、別個のコンポーネントとして説明されているユニットは物理的に離れていてもいなくてもよく、ユニットとして表示されているコンポーネントは物理的なユニットであってもなくてもよく、すなわち、それらのコンポーネントは同じ場所に位置してもよいし、複数のネットワークユニットに分散されていてもよい。この実施形態の解決策の目的は、実際の要件に応じてモジュールの一部またはすべてを選択することによって実装されてよい。当業者は、創造的な努力を伴わずに本開示を理解し、実施することができる。
【０１６９】
上記の説明は本開示の具体的な実装例に過ぎず、本開示の保護範囲はこれに限定されない。当業者は、本開示により開示される技術範囲内の変更または置換を容易に想到することができ、これらの変更または置換はすべて本開示の保護範囲内に含まれるべきである。したがって、本開示の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【図１】
2020537777.tif 000006
【図２】
2020537777.tif 000007
【図３】
2020537777.tif 000008
【図４】
2020537777.tif 000009
【図５】
2020537777.tif 000010
【図６】
2020537777.tif 000011
【図７】
2020537777.tif 000012
【図８】
2020537777.tif 000013
【図９】
2020537777.tif 000014
【図１０】
2020537777.tif 000015
【図１１】
2020537777.tif 000016
【国際調査報告】
2020537777.tif 000017
2020537777.tif 000018
2020537777.tif 000019
2020537777.tif 000020