(57)【要約】      （修正有）【課題】非構造化メッセージの解析方法、プログラム及びコンピュータ装置を提供する。【解決手段】本方法は、ニューラルネットワークを使用して一対の非構造化メッセージの各メッセージに関連する埋め込みからコンテンツ特徴を抽出することと、抽出されたコンテンツ特徴に基づいて、第２のニューラルネットワークを使用して一対のメッセージ間のテキスト類似度スコアを生成することと、生成されたテキスト類似度スコアをメッセージに関連する追加データと組み合わせて合計類似度スコアを生成することと、複数の非構造化メッセージから選択されるメッセージ対に対して生成された合計類似度スコアに基づいて、メッセージスレッドを生成することを含む。【選択図】図３Ａ
2019121377.tif 000002
【特許請求の範囲】
【請求項１】
非構造化メッセージを解析する方法であって、
ニューラルネットワークを使用して一対の非構造化メッセージの各メッセージに関連する埋め込みからコンテンツ特徴を抽出することと、
抽出されたコンテンツ特徴に基づいて、第２のニューラルネットワークを使用して前記一対のメッセージ間のテキスト類似度スコアを生成することと、
前記生成されたテキスト類似度スコアを前記メッセージに関連する追加データと組み合わせて合計類似度スコアを生成することと、
複数の非構造化メッセージから選択されるメッセージ対に対する前記生成された合計類似度スコアを基に、メッセージスレッドを生成することと、
を含む方法。
【請求項２】
少なくとも１つの前記メッセージスレッドを生成することは、リンク閾値を超える前記生成された合計類似度スコアに基づいて、前記メッセージ対の各メッセージ間のリンクを検出することを含む、請求項１に記載の方法。
【請求項３】
前記メッセージスレッドを生成することは、前記生成された合計類似度に基づくリンクが前記リンク閾値より小さく、かつ非リンク閾値より大きい不確定範囲にあることを示す、ユーザ入力を受信することを含む、請求項２に記載の方法。
【請求項４】
前記リンクを示す前記ユーザ入力は、前記生成された合計類似度が前記不確定範囲にあると計算されることに応答してユーザへ送信されたユーザクエリに応答して受信される、請求項３に記載の方法。
【請求項５】
前記送信されるユーザクエリは、提案されるリンク及び前記ユーザへの確認要求を含む、請求項４に記載の方法。
【請求項６】
前記ユーザ入力に基づいて前記ニューラルネットワークを再訓練することを更に含む、請求項４に記載の方法。
【請求項７】
前記メッセージスレッドに基づく可視化の生成を更に含み、前記可視化は、メーセージ対の各メッセージと、メーセージ対の各メッセージの間に検出されるリンクを示すアイコンとを含む、請求項４に記載の方法。
【請求項８】
前記可視化は、前記生成された合計類似度が前記不確定範囲にあると計算されることに応答して前記ユーザへ前記ユーザクエリを提供するユーザインタフェースを更に含む、請求項７に記載の方法。
【請求項９】
ユーザ入力に基づいて前記複数のメッセージから選択されたメッセージに関する１又は複数の検出されたリンクを強調するために、可視化を更新することをさらに含む、請求項７に記載の方法。
【請求項１０】
前記可視化は、前記複数の非構造化メッセージから選択される前記非構造化メッセージが、前記複数の非構造化メッセージから選択される他のいかなる非構造化メッセージにもリンクしないことを示す、ユーザが選択可能なアイコンを更に含む、請求項７に記載の方法。
【請求項１１】
前記生成された合計類似度スコアに基づいて少なくとも１つの前記メッセージスレッドを生成することが、
非構造化メッセージに対して、前記合計類似度スコアに基づいて前記非構造化メッセージに関連する複数のメッセージ対をランク付けすることと、
前記ランク付けされた複数のメッセージ対から最高の合計類似度スコアに基づいて少なくとも１つのメッセージ対を選択し、前記選択された少なくとも１つのメッセージ対をメッセージグラフの少なくとも１つの端部として使用することと、
前記メッセージグラフを、それぞれが会話スレッドを表す連結成分に分割することと、
を含む、請求項１に記載の方法。
【請求項１２】
最高の合計類似度スコアに基づいて、前記ランク付けされた複数のメッセージ対から少なくとも１つのメッセージ対を選択することが、
前記ランク付けされた複数のメッセージ対から１又は複数のメッセージ対を識別するユーザ入力を受信することと、
前記ユーザ入力と前記最高の合計類似度スコアの組み合わせに基づいて少なくとも１つのメッセージ対を選択することと、
前記選択された少なくとも１つのメッセージ対をメッセージグラフの前記少なくとも１つの端部として使用することと、
を含む、請求項１１に記載の方法。
【請求項１３】
複数の非構造化メッセージから成るコーパスの解析方法をコンピュータに実行させるためのプログラムであって、
前記解析方法が、
ニューラルネットワークを使用して一対の非構造化メッセージの各メッセージに関連する埋め込みからコンテンツ特徴を抽出することと、
抽出されたコンテンツ特徴に基づいて、第２のニューラルネットワークを使用して前記一対のメッセージ間のテキスト類似度スコアを生成することと、
前記生成されたテキスト類似度スコアを前記メッセージに関連する追加データと組み合わせて合計類似度スコアを生成することと、
前記複数の非構造化メッセージから選択されるメッセージ対に対する前記生成された合計類似度スコアに基づいて、メッセージスレッドを生成することと、
を含む、プログラム。
【請求項１４】
前記メッセージスレッドを生成することは、リンク閾値を超える前記生成された合計類似度スコアに基づいて前記メッセージ対の各メッセージ間のリンクを検出することを含む、請求項１３に記載のプログラム。
【請求項１５】
前記メッセージスレッドを生成することは、前記生成された合計類似度に基づくリンクが前記リンク閾値より小さく、かつ非リンク閾値より大きい不確定範囲にあることを示す、ユーザ入力を受信することを含む、請求項１４に記載のプログラム。
【請求項１６】
前記リンクを示す前記ユーザ入力は、前記生成された合計類似度が前記不確定範囲にあると計算されることに応答してユーザへ送信されたユーザクエリに応答して受信される、請求項１５に記載のプログラム。
【請求項１７】
前記メッセージスレッドに基づく可視化の生成を更に含み、前記可視化は、１つのメーセージ対の各メッセージと、少なくとも１つのメーセージ対の各メッセージ間に検出されたリンクを示すアイコンとを含む、請求項１６に記載のプログラム。
【請求項１８】
前記生成された合計類似度スコアに基づいて少なくとも１つのメッセージスレッドを生成することが、
非構造化メッセージに対して、合計類似度スコアに基づいて前記非構造化メッセージに関連する複数のメッセージ対をランク付けすることと、
前記ランク付けされた複数のメッセージ対から最高の合計類似度スコアに基づいて少なくとも１つのメッセージ対を選択して、前記選択された少なくとも１つのメッセージ対をメッセージグラフの少なくとも１つの端部として使用することと、
前記メッセージグラフを、それぞれが会話スレッドを表す連結成分に分割することと、
を含む、請求項１３に記載のプログラム。
【請求項１９】
複数の非構造化メッセージからなるコーパスを解析するように構成されたコンピュータ装置であって、
前記コンピュータ装置が
複数の非構造化メッセージと、前記複数の非構造化メッセージのそれぞれに関連する埋め込みとを格納するメモリと、
プロセスを実行するプロセッサと、
を備え、
前記プロセスが、
ニューラルネットワークを使用して前記複数の非構造化メッセージのそれぞれに関連する埋め込みから少なくとも１つのコンテンツ特徴を抽出することと、
前記抽出されたコンテンツ特徴に基づいて、前記複数の非構造化メッセージから選択された各メッセージの、メッセージ対間のテキスト類似度スコアを第２のニューラルネットワークを使用して生成することと、
前記生成されたテキスト類似度スコアを各メッセージ対に関連する追加データと組み合わせて各メッセージ対に対する合計類似度スコアを生成することと、
前記複数の非構造化メッセージから選択される少なくとも１つのメッセージ対に関する前記生成された合計類似度スコアを基に、少なくとも１つのメッセージスレッドを生成すること、
を含む、コンピュータ装置。
【請求項２０】
前記プロセッサは、
前記複数の非構造化メッセージから選択される非構造化メッセージに対して、前記合計類似度スコアに基づいて前記非構造化メッセージに関連する複数のメッセージ対をランク付けすることと、
前記ランク付けされた複数のメッセージ対から最高の合計類似度スコアに基づいて少なくとも１つのメッセージ対を選択して、前記選択された少なくとも１つのメッセージ対をメッセージグラフの少なくとも１つの端部として使用することと、
前記メッセージグラフを、それぞれが会話スレッドを表す連結成分に分割することと、
により生成された前記合計類似度スコアに基づいて前記少なくとも１つのメッセージスレッドを生成するように構成された、請求項１９に記載のコンピュータ装置。
【請求項２１】
複数の非構造化メッセージからなるコーパスを解析するように構成されたコンピュータ装置であって、
前記コンピュータ装置は、
複数の非構造化メッセージとその複数の非構造化メッセージのそれぞれに関連する埋め込みとを格納するメモリと、
ニューラルネットワークを使用して複数の非構造化メッセージのそれぞれに関連する埋め込みから少なくとも１つのコンテンツ特徴を抽出する手段と、
抽出されたコンテンツ特徴に基づいて、複数の非構造化メッセージから選択された各メッセージのメッセージ対間のテキスト類似度スコアを第２のニューラルネットワークを使用して生成する手段と、
生成されたテキスト類似度スコアを各メッセージ対に関連する追加データと組み合わせて各メッセージ対に対する合計類似度スコアを生成する手段と、
複数の非構造化メッセージから選択された少なくとも１つのメッセージ対に関する生成された合計類似度スコアを基に、少なくとも１つのメッセージスレッドを生成する手段と、
を含む、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は電子通信システムに関し、より具体的には電子通信システムにおける割り込み会話をデタングル化するシステムと方法に関する。
【背景技術】
【０００２】
関連技術のチャットプラットフォーム（例えば伝言板、インスタントメッセージシステム、など）において、ユーザは、一般的な「話題」に対応する非構造化メッセージチャネル上にコメントやメッセージを投稿することができる。例えば、ユーザは都合の良いときに、しばしば進行中の会話、時には同期してない会話に割り込むかあるいは遮って、投稿をすることがある。結果として、割り込まれた会話では、目的の会話の迅速な追跡が困難となり、またチャットプラットフォームシステムによる個々の会話の自動要約が困難となる。会話を「デタングル（ｄｅｔａｎｇｌｅ＝解きほぐす）」する機能があれば、ユーザの会話の理解及び追従を容易にすることができる。ユーザのチャットチャネルのブラウズ（ｂｒｏｗｓｅ）及び議論内容の理解を容易にし、またチャネル内の個別の会話の検索及び要約に応じてより適切な関連投稿を提示する助けとなる、いくつかのアプリケーションにとってもまたデタングル化は重要であり得る。
【０００３】
従来のデタングル化法のいくつかは、デタングル化に利用する特徴として、メッセージ又は投稿に関連するメタデータ（「著者」や「時刻」など）に着目してきた。他の従来技術の方法では、メッセージ内での同じ用語やフレーズの使用をデタングル化の頼りとしてきた。さらに他の従来技術の方法では、デタングル化をおこなう投稿に関連する質問と回答の類似度の判断に依存している。このような既存の方法では、割り込みのある会話のデタングル化の困難さには完全に対処しきれていない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Shikib Mehri et al., "Chat Disentanglement: Identifying Semantic Reply Relationships with Random Forests and Recurrent Neural Networks", Taipei, Taiwan, pages 615-623, November 27-December 1,2017 (9 pages).
【非特許文献２】Erik Aumayr et al., "Reconstruction of Threaded Conversations in Online Discussion Forums", Proceeding of the Fifth International AAA1 Conference on Weblogs and Social Media,htttp://www.internetbrands.com; pages-26-33 (2011)(8Pages).
【非特許文献３】Micha Elsner et al.,"Disentangling Chat", Computational Linguistics, Volume 36, Number 3, pp 389-409 (March 3,2010) (22 pages).
【非特許文献４】Micha Elsner et al., "Disentangling Chat with Local Coherence Models", Proceeding of the 49th Annual Meeting of the Association for Computational Linguistics, pages 1179-1189, Portland, Oregon, June 19-24,2011(11 pages).
【非特許文献５】Florian Laws et al., "Active Learning with Amazon Mechanical Turk", Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing, pages 1546-1556, Edinburgh, Scotland, UK, July 27-31,2011(11 pages).
【非特許文献６】Aliaksei Severyn et al., "Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks", SIRGIR'15, August 09-13,2015, Santiago, Chile (10 pages).
【非特許文献７】Mingxuan Sun et al., "Learning Multiple-Question Decision Trees for Cold-Start Recommendation" WSDM’13, February 4-8 2013, Rome, Italy (10 pages).
【非特許文献８】Shuohang Wang et al., "A Compare-Aggregate Model for Matching Text Sequences", ICLR 2017, https://github.com/shuohangwang/SeqMatchSeq, November 6, 2016,(10 pages).
【非特許文献９】lidan wang et al., "Context-based Message Expansion for Disentanglement of Interleaved Text Conversations, Human language of Technologies: The 2009 Annual Conference of the North American Chapter of the ACL, pages 200-208, Boulder, Colorado, June 2009 (9 pages).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示の技術は、メッセージスレッドを生成するための非構造化メッセージを解析する方法、プログラム、及びコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本出願の第１の態様は、非構造化メッセージの解析方法に関係する。本方法は、ニューラルネットワークを使用して一対の非構造化メッセージの各メッセージに関連する埋め込みからコンテンツ特徴を抽出すること、抽出されたコンテンツ特徴に基づいて、第２のニューラルネットワークを使用して一対のメッセージ間のテキスト類似度スコアを生成すること、生成されたテキスト類似度スコアをメッセージに関連する追加データと組み合わせて合計類似度スコアを生成すること、及び複数の非構造化メッセージから選択されるメッセージ対に対する生成された合計類似度スコアを基にメッセージスレッドを生成することを含んでよい。
【０００７】
本出願の第２の態様は、第１の態様において、前記少なくとも１つのメッセージスレッドを生成することは、リンク閾値を超える前記生成された合計類似度スコアに基づいて、前記メッセージ対の各メッセージ間のリンクを検出することを含む。
【０００８】
本出願の第３の態様は、第２の態様において、前記メッセージスレッドを生成することは、前記生成された合計類似度に基づくリンクが前記リンク閾値より小さく、かつ非リンク閾値より大きい不確定範囲にあることを示す、ユーザ入力を受信することを含む。
【０００９】
本出願の第４の態様は、第３の態様において、前記リンクを示す前記ユーザ入力は、前記生成された合計類似度が前記不確定範囲にあると計算されることに応答してユーザへ送信されたユーザクエリに応答して受信される。
【００１０】
本出願の第５の態様は、第４の態様において、前記送信されるユーザクエリは、提案されるリンク及び前記ユーザへの確認要求を含む。
【００１１】
本出願の第６の態様は、第４の態様において、前記ユーザ入力に基づいて前記ニューラルネットワークを再訓練することを更に含む。
【００１２】
本出願の第７の態様は、第４の態様において、前記メッセージスレッドに基づく可視化の生成を更に含み、前記可視化は、前記メーセージ対の各メッセージと、メーセージ対の各メッセージの間に検出されるリンクを示すアイコンとを含む。
【００１３】
本出願の第８の態様は、第７の態様において、前記可視化は、前記生成された合計類似度が前記不確定範囲にあると計算されることに応答して前記ユーザへ前記ユーザクエリを提供するユーザインタフェースを更に含む。
【００１４】
本出願の第９の態様は、第７の態様において、ユーザ入力に基づいて前記複数のメッセージから選択されたメッセージに関する１又は複数の検出されたリンクを強調するために、可視化を更新することをさらに含む。
【００１５】
本出願の第１０の態様は、第７の態様において、前記可視化は、前記複数の非構造化メッセージから選択される前記非構造化メッセージが、前記複数の非構造化メッセージから選択される他のいかなる非構造化メッセージにもリンクしないことを示す、ユーザが選択可能なアイコンを更に含む。
【００１６】
本出願の第１１の態様は、第１の態様において、第１の態様において、前記生成された合計類似度スコアに基づいて前記少なくとも１つのメッセージスレッドを生成することが、非構造化メッセージに対して、前記合計類似度スコアに基づいて前記非構造化メッセージに関連する複数のメッセージ対をランク付けすることと、前記ランク付けされた複数のメッセージ対から最高の合計類似度スコアに基づいて少なくとも１つのメッセージ対を選択し、前記選択された少なくとも１つのメッセージ対をメッセージグラフの少なくとも１つの端部として使用することと、前記メッセージグラフを、それぞれが会話スレッドを表す連結成分に分割することと、を含む。
【００１７】
本出願の第１２の態様は、第１１の態様において、最高の合計類似度スコアに基づいて、前記ランク付けされた複数のメッセージ対から少なくとも１つのメッセージ対を選択することが、前記ランク付けされた複数のメッセージ対から１又は複数のメッセージ対を識別するユーザ入力を受信することと、前記ユーザ入力と前記最高の合計類似度スコアの組み合わせに基づいて少なくとも１つのメッセージ対を選択することと、前記選択された少なくとも１つのメッセージ対をメッセージグラフの前記少なくとも１つの端部として使用することと、を含む。
【００１８】
本出願の第１３の態様は、複数の非構造化メッセージから成るコーパス（ｃｏｒｐｕｓ）の解析方法をコンピュータに実行させるためのプログラムに関係し得る。本方法は、ニューラルネットワークを使用して一対の非構造化メッセージの各メッセージに関連する埋め込みからコンテンツ特徴を抽出すること、抽出されたコンテンツ特徴に基づいて、第２のニューラルネットワークを使用して前記一対のメッセージ間のテキスト類似度スコアを生成すること、生成されたテキスト類似度スコアをメッセージに関連する追加データと組み合わせて合計類似度スコアを生成すること、及び複数の非構造化メッセージから選択されるメッセージ対に対する生成された合計類似度スコアを基にメッセージスレッドを生成することを含んでよい。
【００１９】
本出願の第１４の態様は、第１３の態様において、前記メッセージスレッドを生成することは、リンク閾値を超える前記生成された合計類似度スコアに基づいて前記メッセージ対の各メッセージ間のリンクを検出することを含む。
【００２０】
本出願の第１５の態様は、第１４の態様において、前記メッセージスレッドを生成することは、前記生成された合計類似度に基づくリンクが前記リンク閾値より小さく、かつ非リンク閾値より大きい不確定範囲にあることを示す、ユーザ入力を受信することを含む。
【００２１】
本出願の第１６の態様は、第１５の態様において、前記リンクを示す前記ユーザ入力は、前記生成された合計類似度が前記不確定範囲にあると計算されることに応答してユーザへ送信されたユーザクエリに応答して受信される。
【００２２】
本出願の第１７の態様は、第１６の態様において、前記メッセージスレッドに基づく可視化の生成を更に含み、前記可視化は、前記１つのメーセージ対の各メッセージと、前記少なくとも１つのメーセージ対の各メッセージ間に検出されたリンクを示すアイコンとを含む。
【００２３】
本出願の第１８の態様は、第１３の態様において、前記生成された合計類似度スコアに基づいて前記少なくとも１つのメッセージスレッドを生成することが、非構造化メッセージに対して、合計類似度スコアに基づいて前記非構造化メッセージに関連する複数のメッセージ対をランク付けすることと、前記ランク付けされた複数のメッセージ対から最高の合計類似度スコアに基づいて少なくとも１つのメッセージ対を選択して、前記選択された少なくとも１つのメッセージ対をメッセージグラフの少なくとも１つの端部として使用することと、前記メッセージグラフを、それぞれが会話スレッドを表す連結成分に分割することと、を含む。
【００２４】
本出願の第１９の態様は、複数の非構造化メッセージからなるコーパスを解析するように構成されたコンピュータ装置に関係し得る。コンピュータ装置は、複数の非構造化メッセージ、及び複数の非構造化メッセージのそれぞれに関連する埋め込みを格納するメモリと、プロセスを実行するプロセッサとを含んでよい。このプロセッサは、ニューラルネットワークを使用して複数の非構造化メッセージのそれぞれに関連する埋め込みから少なくとも１つのコンテンツ特徴を抽出すること、抽出されたコンテンツ特徴に基づいて、複数の非構造化メッセージから選択された各メッセージの、メッセージ対間のテキスト類似度スコアを第２のニューラルネットワークを使用して生成すること、生成されたテキスト類似度スコアを各メッセージ対に関連する追加データと組み合わせて各メッセージ対に対する合計類似度スコアを生成することと、及び複数の非構造化メッセージから選択された少なくとも１つのメッセージ対に関する生成された合計類似度スコアを基に、少なくとも１つのメッセージスレッドを生成すること、を含んでよい。
【００２５】
本出願の第２０の態様は、第１９の態様において、前記プロセッサは、前記複数の非構造化メッセージから選択される非構造化メッセージに対して、前記合計類似度スコアに基づいて前記非構造化メッセージに関連する複数のメッセージ対をランク付けすることと、前記ランク付けされた複数のメッセージ対から最高の合計類似度スコアに基づいて少なくとも１つのメッセージ対を選択して、前記選択された少なくとも１つのメッセージ対をメッセージグラフの少なくとも１つの端部として使用することと、前記メッセージグラフを、それぞれが会話スレッドを表す連結成分に分割することと、により生成された前記合計類似度スコアに基づいて前記少なくとも１つのメッセージスレッドを生成するように構成された。
【００２６】
本出願の第２１の態様は、複数の非構造化メッセージからなるコーパスを解析するように構成されたコンピュータ装置に関係し得る。このコンピュータ装置は、複数の非構造化メッセージとその複数の非構造化メッセージのそれぞれに関連する埋め込みとを格納するメモリと、ニューラルネットワークを使用して複数の非構造化メッセージのそれぞれに関連する埋め込みから少なくとも１つのコンテンツ特徴を抽出する手段と、抽出されたコンテンツ特徴に基づいて、複数の非構造化メッセージから選択された各メッセージのメッセージ対間のテキスト類似度スコアを第２のニューラルネットワークを使用して生成する手段と、生成されたテキスト類似度スコアを各メッセージ対に関連する追加データと組み合わせて各メッセージ対に対する合計類似度スコアを生成する手段と、複数の非構造化メッセージから選択された少なくとも１つのメッセージ対に関する生成された合計類似度スコアを基に、少なくとも１つのメッセージスレッドを生成する手段と、を含んでよい。
【００２７】
本特許または出願のファイルには少なくとも１つのカラー図面が含まれる。カラー図面を有する本発明又は発明出願刊行物の写しは、申請及び必要額の支払いにより、当該オフィスから提供される。
【図面の簡単な説明】
【００２８】
【図１】本出願の例示的実施形態による、会話のスレッド化のためのプロセスの概略図である。
【図２】本出願の例示的実施形態による、同一スレッドの一部であるべき投稿対を識別するためのプロセスのフローチャートを示す。
【図３Ａ】本出願の例示的実施形態による、非構造化メッセージからスレッドを生成するプロセスのフローチャートを示す。
【図３Ｂ】本出願の例示的実施形態による、類似度スコアに基づいてスレッドを生成するサブプロセスのフローチャートを示す。
【図４】本出願の例示的実装形態による、シャムニューラルネットワーク（Ｓｉａｍｅｓｅ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）の概略図である。
【図５】本出願の例示的実装形態による、ユーザにクエリ（ｑｕｅｒｙ＝問い合わせ）するユーザインタフェース（ＵＩ）の図である。
【図６】本出願の例示的実装形態による、別のＵＩの図である。
【図７】本出願の例示的実装形態による、別のＵＩの図である。
【図８】本出願の例示的実装形態による、別のＵＩの図である。
【図９Ａ】本出願の例示的実装形態による、別のＵＩの図である。
【図９Ｂ】本出願の例示的実装形態による、別のＵＩの図である。
【図１０】本出願の例示的実装形態による、別のＵＩの図である。
【図１１】本出願の例示的実装形態による、別のＵＩの図である。
【図１２】本出願の例示的実装形態による、別のＵＩの図である。
【図１３】本出願の例示的実装形態による、別のＵＩの図である。
【図１４】本出願の例示的実装形態による、別のＵＩの図である。
【図１５】本出願のいくつかの例示的実装形態での使用に好適な例示的コンピュータデバイスを有する、コンピューティング環境例を示す図である。
【発明を実施するための形態】
【００２９】
以下の詳細な説明において、本出願の図面及び例示的実装形態の更なる詳細を提供する。明確にするために、図面間で重複する要素の参照番号及び説明は省略されている。明細書全体を通して使用される用語は例示として提供されるものであり、限定を意図するものではない。例えば、「自動的」という用語の使用は、本出願の実装形態を実行する当業者の所望の実装形態に応じて、完全自動の実装形態、又は実装形態の特定の態様をユーザ又はオペレータが制御することを含む半自動の実装形態を含み得る。
【００３０】
会話スレッドの自動的なデタングル化を改善するために、本出願の実施形態が、第１のニューラルネットワークを使用して各投稿のそれぞれに関連する埋め込みから特徴を抽出し、異なる投稿に関連する抽出された特徴との比較により第２のニューラルネットワークを使用してテキスト類似度スコアを生成し、生成されたテキスト類似度スコアを他のメタデータと組み合わせて合計類似度スコアを生成し、生成された合計類似度スコアに基づいて新しいスレッドを生成する、プロセスを提供することができる。
【００３１】
さらにいくつかの例示的実装形態において、例示的実装形態がユーザインタフェース（例えば投稿、メッセージング又はチャットインタフェースの拡張）を使用して、ユーザに時折質問してもよい。いくつかの例示的実装形態では、ユーザが投稿をタイプしているときにポップアップとして２つの種類のクエリが提示されてもよい。それは（１）タイプした投稿が以前の投稿に応答するものかどうかをそのユーザに尋ねるクエリ、又は（２）タイプした投稿が新しいスレッドであるかどうかをユーザに尋ねるクエリである。ユーザを煩わせないために、クエリの数は制限されてもよい。そしてスレッド分離プロセスにとって最も不確かなデータポイントのみがニューラルネットワークによる能動学習の一形式として提示される。
【００３２】
フィードバック及び会話のよりよいデタングル化を利用して、例えば投稿に回答がなされたときとか新しいスレッドが開始されたときに、ユーザに随意的な通知を提供すること、あるいはいくつかの例示的実装形態の各スレッドに投稿を表示することが可能である。いくつかの例示的実装形態においては、代替入力インタフェースによってユーザがスレッドに対する新しいコメントをワンクリック（ｓｉｎｇｌｅ  ｃｌｉｃｋ）で割り当て可能としてもよい。
【００３３】
図１は、本出願の例示的実装形態による、半教師ありの会話のデタングル化又はスレッド化のためのプロセス概略図１００である。図に示すようにいくつかの例示的実装形態において、新規の投稿１０５は複数のそれ以前の投稿１１０と組み合わせて投稿対１１５を決定する。「投稿対の決定」１１５という構成要素は、以下の図３に関連して議論するプロセスを指している。以下で議論するように、投稿対決定１１５のときに、投稿対の類似度が計算されてもよい。そうしていくつかの場合にはユーザ１３０が投稿対を組み合わせるように要請されてもよい。決定された投稿対に基づいて、１２０で投稿がスレッドにグループ化され、スレッド化された投稿１２５が出力されてよい。いくつかの例示的実装形態では、１又は複数のニューラルネットワークを使用して投稿対１１５の決定と対のスレッドへのグループ化１２０がなされてよい。
【００３４】
図２は本出願の例示的実装形態による、同一会話又は同一スレッドの一部であるべき投稿対を能動学習の使用で識別するプロセス２００のフローチャートを示す。このプロセスは、図１５のコンピュータ環境１５００内のコンピューティングデバイス１５０５などのコンピューティングデバイスによって遂行することができる。図１に関して前述した方法と同様に、１又は複数の新しい投稿２０５が受信されて、既にチャット又はメッセージプラットフォームの一部であるそれ以前の投稿２１０のコーパスに追加される。２１５において、１又は複数の新しい投稿２０５がチャット又はメッセージプラットフォームに追加されると、新規投稿２０５に関連する特定のウィンドウ内の以前の投稿２１０が識別される。いくつかの例示的実装形態では、特定のウィンドウは新規投稿２０５に先行又は後続する時間ウィンドウ（例えば±２日）に基づいてもよい。他の例示的実装形態では、特定のウィンドウは、時間には無関係に投稿の数又は量（例えば±１００メッセージ）に基づいてもよい。
【００３５】
ウィンドウ内の以前の投稿２１０が決定されると、２２０において新規投稿２０５と以前の投稿２１５の両方からメタデータが抽出されてよい。抽出されたメタデータには、話者又は著者情報、時間情報、位置情報、又は当業者が明らかと考え得るその他の任意のメタデータ情報が含まれてよい。
【００３６】
２２５において、ニューラルネットワーク（例えば下の図４に示すシャムネットワーク（Ｓｉａｍｅｓｅ  ｎｅｔｗｏｒｋ））を使用して、新しい投稿と上の２１５でウィンドウ内にあることが識別されている投稿のそれぞれとの間のテキスト類似度が評価されてよい。テキスト類似度は、メタデータから抽出される他の非テキスト特徴と組合せて、投稿の各対に対する合計類似度スコアの全体を評価してもよい。
【００３７】
いくつかの例示的実装形態では、深層学習手法を使用した単語埋め込みを用いて投稿内に単語を表示してもよい。これにより、以前の用語ベクトル法とは違って、類似の単語に高い類似度を持たせることできる。投稿の重要部分の捕捉には時系列表示法（重畳ニューラルネットワーク又はアテンション付きの長期短期記憶（ＬＳＴＭ）など）が使用されてもよい。このネットワークはシャムネットワークのサブネットワークとして使用される。
【００３８】
どのスレッドが、又はあるとしたらチャットプラットフォームのどの投稿が、シャムネットワークのメンバであるかを予測することを利用して、新しい投稿とそのウィンドウ内にあることが識別されている投稿のそれぞれとのテキスト類似度が評価されてもよい。テキスト類似度は次に他の非テキスト特徴と組み合わされて投稿対の合計類似度が評価される。
【００３９】
用語ベクトルがまばらであることに対処するために、ディープラーニングからの単語埋め込みを使用して投稿内の単語を表示する。これらの方法により、関連技術の用語ベクトル法とは違って、類似の単語が高い類似度を持つようになる。さらにいくつかの例示的実装形態では、投稿の重要部分の捕捉には時系列表示法（重畳ニューラルネットワーク（ＣＮＮ）又はアテンション付きの長期短期記憶（ＬＳＴＭ）など）が使用可能である。これらのニューラルネットワークは次の図４に示すシャムネットワークなどの、シャムネットワークのサブネットワークとして使用されてもよい。
【００４０】
シャムサブネットワークは、投稿内の各単語をコード化して埋め込みとすることができる。これは例えば、ｃｒａｗｌ−３００ｄ−２Ｍ．ｖｅｃのｆａｓｔｔｅｘｔ単語ベクトルを使用して初期化される。いくつかの例示的実装形態では、ＣＮＮ又はアテンション付きのＬＳＴＭが使用されて、投稿を表しているテキストデータ又は文脈データを基に特徴抽出に使用されてもよい。抽出された特徴は比較されて、２つの投稿の間のテキスト類似度を表すベクトルあるいはスコアが計算され、それらの投稿が同じスレッドに結合され得るかどうかの判定に使用されてもよい。いくつかの例示的実装形態では、このテキスト類似度の特徴はメタデータに基づく他の特徴と組み合わされてもよい。そして次の１つ以上を含んでもよい。
【００４１】
ＩＤＦ−荷重付き単語重複
【００４２】
２つの投稿間の時間距離
【００４３】
２つの投稿の間にある他の投稿の数
【００４４】
２つの投稿の著者、又はそれが同一人であるかどうか
【００４５】
次にこれらの特徴を用いて、時間的又は投稿の番号が近いところに公開された２つの投稿間の類似度スコアが２２５で計算されてよい。与えられた新しい投稿のスコアは、次に２３０で検査される。類似度スコアが閾値を超えていれば（２３０におけるｙｅｓ）新しい投稿２１０が最高スコアの投稿（例えば最も似ている投稿）に結合される。各新しい投稿、及び新しい投稿とそれ以前の最近の投稿とのリンクに関して、モデルが、（１）投稿が最も似ているスレッドと、（２）投稿が新しいスレッドの始まりかどうか、を予測する。
【００４６】
いくつかの例示的実装形態では、すべての個別の対及びクラスタを「グローバル」レベルで検査可能な方法を使用してクラスタ分析を行うことによって、投稿を既存のトピックに割り当てる。例えば、クラスタ分析過程においては、投稿対間の類似度スコアに基づいて、すべての投稿から成るグラフが生成されてよい。サブグラフクラスタを識別した後、各クラスタは投稿のスレッドを表すことができる。
【００４７】
反対に、類似度スコアが閾値より低い（２３０においてＮｏの）場合には、新規のスレッドが仮定されてもよい。いくつかの実装形態において、類似度スコアが閾値より低い（２３０におけるＮｏ）の場合、デタングル化プロセス性能を改善するためにユーザはクエリを受けることが稀にある。ただし、ユーザをできるだけ煩わせないようにするために、クエリの数は制限され、モデルに対して最も不確かなデータポイントのみが提示される。
【００４８】
より具体的には、２４０においてユーザに質問するかどうかの判定が行われてもよい。例えば、類似度スコアが０．５に近くて、類似度の高い投稿がない場合に質問を行うという決定（２４０においてＹｅｓ）がなされてもよい。これとは別に、システムに対するユーザの信頼性を保持するために、確度の高い投稿が提示される（２４０におけるＹｅｓ）ことも稀にある。２５０においてクエリが提供される。例えば、ユーザが投稿を作成し終えたばかりであり、以前の投稿に応答しているかどうかを知るべきであるが故に、容易に回答できるようにポップアップクエリが提供されてもよい。所望によりクリックを最小化するために、オプションを選択するか、ユーザがタイピングを継続するか、又はユーザがポップアップ以外をクリックするとポップアップは消滅する。
【００４９】
２５０においてユーザが投稿し終えたばかりのときに提示され得る２種類のクエリは：（１）送信しようとする投稿が過去の投稿に応答するものかどうかを尋ねるか、又は（２）送信しようとする投稿が新しいスレッドであるかどうかを尋ねるかである。これらの２つのクエリタイプは図５に示すように一緒に提示されることも可能である。
【００５０】
いくつかの例示的実装形態においては所望により、スレッドを識別するためにグループ化する時に追加のクエリを行うことが可能である。ただし対の性能（例えば類似度）が十分に高ければその必要がないこともある。他の例示的実装形態において、ユーザは、誰に応答しているのか、又はリンクのグループ化のためにどれを用いて既存の投稿を制限するのか、というクエリを受けてもよい。
【００５１】
さらにいくつかの例示的実装形態において、シャムニューラルネットワークモデルが、将来における類似度スコアの判定を改善するために２５５においてクエリの結果に基づいて更新されてもよい。２４０に戻って、ユーザが最近頻繁にクエリを受けたか、あるいは類似度スコアが確度の低いレーヤを有する場合、プロセス２００は２４５に進んでユーザへクエリを行うことなしに新スレッドを開始する。
【００５２】
図３Ａは、本出願の例示的実施形態による、非構造化メッセージからスレッドを生成するプロセス３００のフローチャートを示す。プロセス３００は、図５のコンピュータ環境１５００内のコンピューティングデバイス１５０５などのコンピューティングデバイスによって遂行することができる。プロセス３００は、チャット又はメッセージプラットフォームから割り込みメッセージをデタングル化するための、図２のプロセス２００の代替プロセスである。プロセス３００のいくつかの部分は、図２に示すプロセス２００の部分と類似していてもよい。また図２に関する記述は図３Ａに示すプロセス３００の部分にも当てはまることができる。
【００５３】
プロセス３００のいくつかの実施形態では、３０５においてスレッド化のために考慮されている各投稿の各単語を表わすために埋め込みを所望により生成してもよい。図４に関連して以下で議論するように、埋め込みはニューラルネットワークを使用して遂行されてもよい。例えば、各投稿の単語を表すのにシャムニューラルネットワークを使用して埋め込みを生成してもよい。ただし、プロセス３００の例示的実装形態は、非構造化チャット又は投稿のスレッド化プロセスの一部として埋め込みを生成することを必要としなくてもよい。例えば、投稿又はチャットのメッセージは、予め定義された又は他のシステムで定義された埋め込みとともに受信されてもよい。埋め込みが（３０５で生成されるか、又は投稿と一緒に受信されるかにより）取得されると、３１０で各投稿に関連する埋め込みのそれぞれからコンテンツ特徴が抽出されてもよい。コンテンツ特徴は、当業者には明らかな任意の単語又は概念の認識手法によって抽出されてもよい。いくつかの例示的実装形態では、コンテンツ特徴の抽出は畳み込みニューラルネットワーク又はアテンション付きの長期短期記憶ニューラルネットワークなどのニューラルネットワークを用いて遂行されてもよい。いくつかの例示的実装形態では、コンテンツ特徴の検出には、埋め込みの連結を含み、投稿の一部に関連するローカル特徴と投稿全体に関連するグローバル特徴の両方を識別してもよい。
【００５４】
各投稿の埋め込みからコンテンツ特徴が抽出されると、個別の投稿のコンテンツ特徴が他の投稿から抽出されたコンテンツ特徴と比較され、３１５において個別投稿の組の間のテキスト類似度が判定されてもよい。いくつかの例示的実装形態において、テキスト類似度の計算は、比較が可能ないくつかの投稿に対する特定の時間枠内の投稿に集中してもよい。
【００５５】
投稿間でテキスト類似度スコアが生成されると、３２０においてテキスト類似度スコアが、投稿のタイミング、その投稿の投稿主の場所、又は当業者には明らかな任意の他のメタデータなどの他のメタデータと組み合わされて合計類似度スコアが生成されてもよい。以下で議論するように、合計類似度スコアは投稿間のリンクの識別に使用することができ、これは投稿のトピックスレッドへの割り当てに使用してもよい。例えば、合計類似度スコアが高いほど、関連トピックへの一致可能性が高い。そして合計類似度スコアが低いほど関連トピックへの一致可能性が低い。さらにテキスト類似度スコア及び投稿に関わる他のメタデータの利用によって、より確度の高い合計類似度スコアを取得可能である。
【００５６】
投稿間の合計類似度スコアが計算された後、３２５において、所望によりユーザが投稿対間のリンク検出の信頼性を向上させるためにクエリを受けてもよい。例えば、合計類似度スコアが、明らかに投稿間にリンクがあると判定される閾値よりも下ではあるが、明らかにリンクがないと判定される閾値よりも上の中間範囲であれば、所望により投稿が関連するかどうかを確認するためのクエリがユーザに対して行われてもよい。ユーザへのクエリは、この後議論する図５〜図１４に示すＵＩなどのユーザインタフェース（ＵＩ）を用いて行われてもよい。合計類似度スコアが計算されて（かつ必要があればユーザクエリが行われた）後に、３３０において合計類似度スコアに基づいて投稿が同じグループに入れられ、すなわちクラスタ化されて、もともとの非構造化投稿又は非構造化メッセージから会話スレッドが生成されてもよい。
【００５７】
いくつかの例示的実装形態では、３３０において類似度ランク分けによる会話識別（ＣＩＳＩＲ）アルゴリズム（以下ではアルゴリズム１）を使用してスレッドが生成されてよい。このＣＩＳＩＲアルゴリズムは最高の類似度スコアを有する最高位のメッセージに集中してもよい。いくつかの例示的実装形態において、ＣＩＳＩＲアルゴリズム（以下のアルゴリズム１）は、同一会話に投稿された連続する２つのメッセージ間の時間差はＴ時間以下であるとの仮定に基づいてもよい。ここでＴは小さい数字である。この仮定によって、時間的に近接して投稿された同一会話内には、少なくとも１つ以上の他のメッセージが存在するであろう。こうして、冗長度を含みつつ、高い確度を有するいくつかの対（例えば最高ランクの対）があればそれ以前又はそれ以降のメッセージとの連続性を展開するに十分であろう。ここで低ランクの対はエラーの伝搬リスクを減らすために無視することができる。
【００５８】
図３Ｂは本出願の例示的実装形態による、ＣＩＳＩＲアルゴリズムを利用した合計類似度スコアに基づくスレッド生成のための、図３Ａの要素３３０の一部としてのサブプロセス３０２のフローチャートを示す。サブプロセス３０２の一部は、解析される各メッセージ又は投稿に対して反復されてもよい。
＜アルゴリズム１＞
2019121377.tif 000003
【００５９】
下記の式１で定義される評価された類似度スコアを有する、選択されたメッセージ対の組が与えられると、上記のＣＩＳＩＲアルゴリズムが２つのパラメータｒとｈを有するＣＩＳＩＲの手順を示す。ここでｒは類似度ランクの上の閾値であり、ｈは類似度スコアの下の閾値である。いくつかの例示的実装形態においてＣＩＳＩＲアルゴリズムは低スコアの対を排除してもよい。それはメッセージがＴ時間の時間枠内に投稿された同一会話をｒ未満しか持たない可能性があるからである。
2019121377.tif 000004
（式１）
【００６０】
プロセス３０２では各メッセージに対して、評価した類似度を使用してＣＩＳＩＲアルゴリズムが対象のメッセージに関連するすべてのメッセージ対を３３５でランク付けし、類似度スコアがｈより大きい上位ｒ個の対、又はｒがメッセージ対ＩＤＩの数より小さい場合にはすべての対を取り出す。これらの取り出された確度の高い対（例えば、最高の類似度スコアを有するメッセージ、又は上位ｒ個の対）は、３４０においてメッセージグラフＧのエッジとして扱われる。所望によってはいくつかの例示的実装形態においてＵＩは、３４０において、取り込まれた１又は複数の対をユーザにレビューさせてメッセージグラフＧのエッジとしての使用を承認又は拒否させるようになっていてもよい。
【００６１】
いくつかの例示的実装形態において、合計類似度スコアが閾値（ｈ）より大きいが、最高の類似度スコアより低い（例えば上位ｒ個の対ではない）任意の残りのメッセージが、所望により３４５でメッセージグラフＧに追加されてもよい。３４０（あるいはオプションのステップ３４５が遂行される場合には３４５）でメッセージ対がグラフＧに追加された後、追加のメッセージが更に３５５での解析を必要とするかどうかが判定されてよい。更により多くのメッセージの解析が必要（３５５においてＹＥＳ）の場合、サブプロセス３０２は３３５に戻って別のメッセージに対して反復されてもよい。更なるメッセージの解析が不要（３５５においてＮＯ）の場合、サブプロセス３０２は以下で議論する３５０へ進んでもよい。
【００６２】
３５０で、ＣＩＳＩＲアルゴリズムがメッセージグラフＧを結合された構成要素に分割し、結合された各構成要素内のメッセージは会話として扱われてもよい。サブプロセス３０２のいくつかの例示的実装形態において、ｒとｈがそれぞれ５と０．５に設定されてもよい。
【００６３】
いくつかの例示的実装形態において、グラフを構築するときにｈより大きい類似度スコアを有する上位ｒ個の組のみを取り出すことで、計算効率並びにアルゴリズムの頑健性を改善することができる。さらに、メッセージ間又は投稿間の時間（例えば遅延）を制限することにより、後で提供される結果例に示すように、性能を損なわずに効率を改善できる。
【００６４】
ＣＩＳＩＲアルゴリズムの使用により、サブプロセス３０２でメッセージを結合してスレッドを生成可能である。サブプロセス３０２が終了すると、操作は図３Ａのプロセス３００の最終ステップ３３０へ戻ってもよい。最終ステップ３３０でスレッドの生成が終わると、プロセス３００は終了してよい。
【００６５】
図４は、本出願の例示的実装形態によるシャムニューラルネットワーク４００の概略図を示す。図に示すように、シャムニューラルネットワーク４００が、それぞれが複数の単語（ｗａ，Ｗｂ・・・ｗｎ）で構成された複数の投稿４０５Ａ、４０５Ｂを受信した。図に示すように、シャムニューラルネットワーク４００が投稿４０５Ａ、４０５Ｂの各単語（ｗａ，ｗｂ・・・ｗｎ）を、例えばｃｒａｗｌ−３００ｄ−２Ｍ．ｖｅｃの高速テキスト単語ベクトルを用いて初期化される埋め込み４１０へコード化してもよい。いくつかの例示的実施形態において、ニューラルネットワーク４１５（例えばＣＮＮ又はアテンション付きのＬＳＴＭ）を使用して、投稿を表しているテキストデータ及び文脈データに基づいて特徴を抽出してもよい。抽出された特徴が、４２５で比較され、２つの投稿のテキスト類似度４３０を表すベクトル又はスコアが計算される。そしてそれらの投稿が同一スレッドに結合可能かどうかの判定に使用される。いくつかの例示的実装形態において、このテキスト類似度の特徴がメタデータに基づく他の特徴４４５と組み合わされ、また以下のものの１つ以上を含んでもよい。
【００６６】
ＩＤＦ−荷重付き単語重複
【００６７】
２つの投稿間の時間距離
【００６８】
２つの投稿の間にある他の投稿の数
【００６９】
２つの投稿の著者、又はそれが同一人であるかどうか
【００７０】
組み合わされた特徴（例えばテキスト類似度４３０及び他の特徴４４５）が、類似度スコア４４０を出力する類似度予測アルゴリズム４３５に提供されてもよい。類似度スコア４４０が上記で説明したように投稿のスレッド化に使用されてもよい。
【００７１】
図５は本出願の例示的実装形態による、ユーザへのクエリに使用することのできるユーザインタフェース（ＵＩ）５００を示す。図に示すように、ＵＩ５００には割り込まれた一連の過去の投稿５０５、５１０、５１５が含まれる。ＵＩ５００にはまた、新規の投稿、メッセージ又はチャット入力の下書き及び修正に使用できるテキスト入力ボックス５２０が含まれる。テキスト入力ボックス５２０に入力された新規の投稿、メッセージ又はチャット入力がクエリの対象となると判定されると、ポップアップボックス５２５が提供されてもよい。
【００７２】
ポップアップボックス５２５には以前の投稿５３０Ａ、５３０Ｂに関連する２つの選択可能なボタンが含まれ、テキスト入力ボックス５２０に入力された新しい投稿がそれにリンクされてもよい。ポップアップボックス５２５には、新しいトピックに関連する選択可能ボタン５３５と「これらのどれでもない」に関連する選択可能ボタン５４０も含まれてよい。ユーザは、選択可能ボタン５３０Ａ又は５３０Ｂを使用して新しいメッセージを識別された過去のメッセージにリンクさせてもよい。あるいは、ユーザは選択可能ボタン５３５を使用して新しいトピックのスレッドを開始してもよいし、又は選択ボタン５４０を使用して、新メッセージが新しいメッセージではなく、識別された過去のメッセージがいずれも正しいスレッドでもないことを示してもよい。ＵＩ５００は単なる例示的実装形態であって、当業者には他の代替例または変形例が明らかであろう。
【００７３】
いくつかの例示的実装形態では、生成されたクエリまたはポップアップボックス５２５の数は、予想されるスレッドの数に依存する。スレッドの予想数が増えると、より多くのスレッドをよりよくカバーするためにクエリ数が増えてもよい。
【００７４】
投稿のスレッド化に加え、本出願の例示的実装形態は、投稿に返事があったとき又は新トピックが投稿されたときにユーザに通知するなどの他のアプリケーションを可能としてもよい。
【００７５】
図６は、本出願の例示的実装形態による別のＵＩ６００を示す。図に示すようにＵＩ６００には、一緒に組み込まれた一連の過去の投稿６０５、６１０、６１５が含まれる。ＵＩ６００にはまた、新規の投稿、メッセージ又はチャット入力の下書き及び修正に使用できるテキスト入力ボックス６２５が含まれる。
【００７６】
いくつかの例示的実装形態では、同じスレッドに属するとして識別された投稿はＵＩ６００上に視覚的参照符号（例えば円６３０Ａ−６３０Ｄ）を用いてコード化または表示することができる。例えば図６において、同一スレッドの投稿（例えば６０５、６１５、６２０）は同じ色の円（６３０Ａ）でコード化される。いくつかの例示的実装形態では、円６３０Ａ〜６３０Ｄは新着のトピック又は返事を示すために点滅するなどの、新情報を知らせるために使用されてもよい。
【００７７】
円は選択されると、スレッドのラベル修正などのアクションを可能とするように応答してもよい。例えば、ＵＩ６００に別の円（６３０Ｂ〜６３０Ｅ）を含むポップアップウィンドウ６３５も含まれて、ユーザが投稿を別のトピックに関連付けるために選択されてもよい。ユーザが投稿に関連するトピックを更新すれば、更新情報はニューラルネットワークのデタングル化モデルの更新に使用されてもよい。
【００７８】
ＵＩ６００には、ユーザが選択することのできる選択可能アイコン（例えば円６４５Ａ〜６４５Ｅ）を提供することにより、関連するトピックに基づいて表示された投稿又はメッセージをユーザがフィルタリングできるようにする制御領域６４０も含まれてよい。
【００７９】
図７は、本出願の例示的実装形態による別のＵＩ７００を示す。図に示すように、ＵＩ７００には、ともに組み込まれた一連の過去の投稿７０５、７１０、７１５が含まれる。ＵＩ７００にはまた、新規の投稿、メッセージ又はチャット入力の下書き及び修正に使用できるテキスト入力ボックス７２５が含まれる。
【００８０】
いくつかの例示的実装形態では、同一スレッドに属すると識別された投稿は、ＵＩ７００上に視覚的参照（例えば円７３０Ａ〜７３０Ｄ）を用いてコード化または表示することができる。図６に関して議論した上記のＵＩ６００と同様に、図７において、同一スレッドの投稿（例えば７０５、７１５、７２０）は同じ色の円（７３０Ａ）でコード化される。いくつかの例示的実装形態では、円７３０Ａ−７３０Ｄは、新トピック又は返事を点滅して示すなどの、新情報の通知に使用されてもよい。
【００８１】
ＵＩ７００には、ユーザが選択することのできる選択可能アイコン（例えば円７４５Ａ〜７４５Ｅ）を提供することにより、関連するトピックに基づいて表示された投稿又はメッセージをユーザがフィルタリングできるようにする制御領域７４０もまた含まれてよい。
【００８２】
ユーザにクエリして情報を求める場合、ＵＩが（１）可能な限り目立たず、かつ（２）ユーザへ応答値を通信する、ことが有用であり得る。第１のゴール（１）に向かって図７のＵＩ７００は、テキスト入力ボックス７２５にタイプ入力した新しいコメント又はメッセージをユーザがスレッドへワンクリックで割り当てることが可能な制御インタフェース７６０を含んでもよい。図に示すように、制御インタフェース７６０はクリック可能な複数のボタン７５０Ａ〜７５０Ｄを提供し、それぞれが過去の投稿７０５〜７２０の識別されたトピックとの関連を示す色でコード化されている。ユーザがボタンを選択すると、コメント又はメッセージがそのスレッドに割り当てられてチャネルに追加される。いくつかの例示的実装形態では、システムが提案されたスレッドを示すために、そのスレッドに関するボタン７５０Ｃを他のボタン７５０Ａ、７５０Ｂ、７５０Ｄよりも大きくしてもよい。図７に示すように、システムが新コメントは黄色にコード化されたスレッドに属する可能性があると判断し、黄色のボタン７５０Ｃを最も大きくした。
【００８３】
さらにいくつかの例示的実装形態では、ＵＩ７００にはこれまでに遭遇していない新トピックに関連するボタン７５０が含まれてもよい。例えば図７に示すように、ユーザが新スレッドを開始したい場合には、ユーザは右端の”＋”ボタン７５５を押すことができる。
【００８４】
さらにいくつかの例示的実装形態では、ユーザがいずれのスレッドにもコメントを割り当てることを望まなければ、チャット又はメッセージインタフェースに関する通常の動作にしたがって、「入力」キー又は「戻り」キーを押すだけでよい。ユーザはＵＩ７００を用いてワンクリックで目立たないようにシステムにフィードバックしてもよい。そうするとＵＩの通常動作には影響を与えないようにできる。
【００８５】
図８は本出願の例示的実装形態にしたがう別のＵＩ８００を示す。より具体的には、ＵＩ８００は図７のＵＩ７００変形版であり、対応構成要素の識別に同一の参照番号が使用されている。これらの構成要素に関する重複する説明は省略する。図８では、制御インタフェース７６０はシステムによって自動的に隠されている。システムによって能動学習が使用され、かつ適正なスレッドの識別にユーザ入力が不要であるとシステムが判定する場合（例えばシステムの確度が高い場合）にはその様になっていてよい。
【００８６】
図９Ａと図９Ｂは、本出願の例示的実装形態による別のＵＩ９００を示す。より具体的にはＵＩ９００は図７のＵＩ７００の変形版であって、対応の構成要素を識別するために同じ参照番号が使用されている。これらの構成要素に関する重複する説明は省略する。図９Ａと図９Ｂでは、ユーザがフィードバック又は各投稿にラベル付けする選択肢を与えられてもよい。図９Ａでは、システムの確度が低い（したがってフィードバックを必要とする）投稿が大きいスレッド選択ボタン７５０Ａ〜７５０Ｄで示されてもよい。それとは逆に図９Ｂでは、システムの確度が高い（したがってフィードバックが不要な）投稿は、小さい、あまり目立たないボタン７５０Ａ〜７５０Ｄで示されてもよい。インタフェースのその他の特徴は図１０〜図１４に関連して示し、後で議論する。
【００８７】
図１０〜図１２は、本出願の例示的実装形態による更なるＵＩ１０００、ＵＩ１１００及びＵＩ１２００を示す。具体的にはＵＩ１０００、ＵＩ１１００及びＵＩ１２００は図７のＵＩ７００の変形版であって、対応する構成要素を識別するために同じ参照番号が使用されている。これらの構成要素に関する重複する説明は省略する。図１０は一例示的実装形態を示し、ＵＩ１０００によりユーザが制御領域７４０の選択可能アイコン７４５Ａの１つの上にカーソル１０００を置いている。図に示すように、ＵＩ１０００は選択されたスレッド（青の円７３０Ａ）に関連するメッセージ７０５、７１５及び７２０を強調表示し、他のメッセージを非強調又は「グレイアウト」する。
【００８８】
同じく図１１は同様な例示的実装形態を示し、ＵＩ１０００によりユーザが１つのメッセージ７１５の傍の視覚アイコン７３０Ａの１つの上にカーソル１０００を置いている。図に示すように、ＵＩ１１００は選択されたスレッド（青の円７３０Ａ）に関連するメッセージ７０５、７１５及び７２０を強調表示し、他のメッセージを非強調又は「グレイアウト」する。
【００８９】
さらに図１２は、現在表示されているメッセージのいずれにも関係しないスレッドに係わる選択可能アイコン７４５Ｅの上にユーザがカーソル１０００を置いたとき、ＵＩ１２００が選択されたスレッド（黒い円７３０Ｅ）から最新のメッセージ７７０をポップアップウィンドウ７６５に表示する一例示的実装形態を表す。
【００９０】
図１３〜図１４は、本出願の例示的実装形態による更なるＵＩ１３００及びＵＩ１４００の実装例を示す。このＵＩ１３００及びＵＩ１４００は、ユーザが上記の図７〜図１１に示すＵＩの１つにある選択可能制御ボタンを選択するか又はその上にカーソルを置いたときに作ることができるポップアップＵＩの例を示す。例えば図１３では、カーソル１０００が制御インタフェース７６０の選択ボタン７５０Ａ〜７５０Ｄの１つ（例えば選択ボタン７５０Ｃ）に置かれている。図に示すようにカーソル１０００を選択ボタン７５０Ｃ上に置くことで、選択ボタン７５０Ｃに関連するスレッド（黄色の円７３０Ｃで表示）の中の最新のメッセージ１３０５〜１３３０をＵＩ１３００に表示させる。
【００９１】
これに代わって、図１４では、カーソル１０００を用いて制御領域７４０の選択可能アイコン７４５Ａ〜７４５Ｅの１つ（例えば選択可能アイコン７４５Ｃ）をクリックすることで、ＵＩ１４００がメッセージをフィルタリングして、選択可能アイコン７４５Ｃに関連するスレッド（黄色の円７３０Ｃで表示）のメッセージ１４０５〜１４３０のみを表示させてもよい。ユーザはこの選択をいつでも解除して、上記の図７〜図１２の普通の表示に戻すことができる。図１３と図１４は、割り当てられたスレッドによりユーザがチャネル内のチャットを迅速にフィルタリングすることを可能とする。図１３では、ユーザが黄色のスレッドに対するフィルタリングアイコン上にカーソルを置き、その後ＵＩへの変更を行うことで、黄色でコード化されていないすべてのメッセージは除去可能であり、ユーザがそのスレッドのより多くのスレッドをスクロールなしで見られるようにする。こうして、ユーザはスレッドに割り当てるメッセージの少なくとも１つの値を迅速に見ることができ、システム性能の改善を促進させる。
【００９２】
評価
【００９３】
モデル性能を評価するために、ベースラインとしてのＥｌｓｎｅｒとＣｈａｒｎｉａｋによるモデル（２０１０）に対して、擬似的なユーザフィードバックの有無による対の類似度性能を、次の表１に示す。評価尺度として、平均脚順位（Ｍｅａｎ  Ｒｅｃｉｐｒｏｃａｌ  Ｒａｎｋ  （ＭＲＲ））と平均適合率の平均（Ｍｅａｎ  Ａｖｅｒａｇｅ  Ｐｒｅｃｉｓｉｏｎ（ＭＡＰ））とを用いた。各尺度は、０（最低）から１．０（最高）の範囲である。能動学習性能に影響すると思われるユーザフィードバックからの対は評価には含めない。
表１：能動学習の有無による、対類似度予測性能
2019121377.tif 000005
【００９４】
開発と評価のために、オンラインチャットボードやメッセージングプラットフォームの「ガジェット」や「ｉＰｈｏｎｅ（登録商標）」という用語に関する投稿からの１年のコメントが収集された。オンラインチャットボードの各サブカテゴリは、チャットチャネルに対応すると考えられる。元の投稿に関連するコメントは会話スレッドを構成するものと考えられ、それらをグランドトゥルースのスレッドラベルとして使用した。最初のタスクでは、チャネル内のすべてのスレッドをデタングル化する必要があった。性能は、オンラインチャットボードの２つのサブカテゴリに対する同時スレッドの最大数がそれぞれ３４と２０２である行に示されている。
【００９５】
人気の高いカテゴリに対しては、数十又は数百もの同時スレッドがあった。これはユーザがフォローすることが不可能であるので、チャットチャネルではあまりあり得ないものかもしれない。したがって、多数の同時スレッドでの結果は性能の下限を提供するかもしれない。
【００９６】
より現実的なデータセットを生成するために、同時スレッドの最大数を１０に制限した。そうすればすべてのスレッドを使用するときに性能が上がることを観察できる。ただし、さらに高い性能がスレッド投稿には望まれるかもしれない。１０の投稿につき１つのクエリの割合でユーザにクエリが行われる状態で能動学習が使用される場合、ｉＰｈｏｎｅ（登録商標）のサブカテゴリに関してＭＡＰ性能が０．８２９３まで（ベースラインとフィードバックなしの発明者らのモデルに対してそれぞれ１１％と３％）改善された。
【００９７】
コンピューティング環境例
【００９８】
図１５は、いくつかの例示的実装形態における使用に好適な例示的コンピュータデバイス１５０５を有する例示的コンピューティング環境１５００を示す図である。コンピューティング環境１５００内のコンピューティングデバイス１５０５は、１又は複数の処理ユニット、コア、プロセッサ１５１０、メモリ１５１５（例えばＲＡＭ、ＲＯＭ、及び／又はそれに類似のもの）、内部ストレージ１５２０（例えば、磁気ストレージ、光学ストレージ、固体ストレージ、及び／又は有機ストレージ）、及び／又はＩ／Ｏインタフェース１５２５などを含むことが可能であり、それらの任意のものは情報通信のための通信機構又はバス１５３０に連結可能であり、あるいはコンピューティングデバイス１５０５に組み込み可能である。
【００９９】
コンピューティングデバイス１５０５は、入力／ユーザインタフェース１５３５及び出力デバイス／インタフェース１５４０に通信可能に連結できる。入力／ユーザインタフェース１５３５と出力装置／インタフェース１５４０のいずれか１つ又は両方が有線または無線のインタフェースであって、取り外し可能であってよい。入力／ユーザインタフェース１５３５は、物理的または仮想的であり、入力を提供するために使用可能な任意のデバイス、コンポーネント、センサ、又はインタフェースを含んでよい（例えば、ボタン、タッチスクリーンインタフェース、キーボード、ポインティング／カーソル制御器、マイクロフォン、カメラ、点字器、モーションセンサ、光学リーダ、等）。出力装置／インタフェース１５４０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字器等を含んでよい。いくつかの例示的実装形態では、入力／ユーザインタフェース１５３５と出力装置／インタフェース１５４０はコンピューティングデバイス１５０５に組み込まれるか、又は物理的に連結されてよい。別の例示的実装形態では、他のコンピューティングデバイスが、コンピューティングデバイス１５０５のための入力／ユーザインタフェース１５３５と出力装置／インタフェース１５４０として機能するか、あるいはその機能を提供してもよい。
【０１００】
コンピューティングデバイス１５０５の例としては、これに限るものではないが、高度モバイルデバイス（例えば、スマートフォン、車両及びその他の機械に搭載のデバイス、人間又は動物が携行するデバイスなど）、モバイルデバイス（例えば、タブレット、ノートブックコンピュータ、ラップトップコンピュータ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど）、及びモバイル用に設計されていないデバイス（例えば、デスクトップコンピュータ、サーバデバイス、その他のコンピュータ、情報キオスク、内部に組み込み及び／又は連結された１又は複数のプロセッサを有するテレビ、ラジオ、など）が含まれてよい。
【０１０１】
コンピューティングデバイス１５０５は、外部ストレージ１５４５、並びに、任意の数のネットワーク接続されたコンポーネント、デバイス及び同一構成又は異なる構成の１又は複数のコンピューティングデバイスを含むシステムと通信するためのネットワーク１５５０に（例えばＩ／Ｏインタフェース１５２５を介して）通信可能に連結することができる。コンピューティングデバイス１５０５又は任意の接続されたコンピューティングデバイスは、サーバ、クライアント、シンサーバ（ｔｈｉｎ  ｓｅｒｖｅｒ）、汎用機械、専用用途機械、あるいはその他の装置として機能するか、それらのサービスを提供するか、あるいはそのように呼ばれることが可能である。
【０１０２】
Ｉ／Ｏインタフェース１５２５は、これに限らないが、コンピューティング環境１５００にある少なくともすべての接続されたコンポーネント、デバイス、及びネットワークとの間で情報を通信するための、任意の通信又はＩ／Ｏプロトコルまたは規格（例えば、イーサネット（登録商標）、８０２．１．１１ｘ、ユニバーサルシステムバス、ＷｉＭａｘ、モデム、セルラーネットワークプロトコル、等）を使用する有線及び／又は無線インタフェースを含むことができる。ネットワーク１５５０は、任意のネットワーク又はネットワークの組合せ（例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワーク、等）であってよい。
【０１０３】
コンピューティングデバイス１５０５は、一時媒体及び非一時媒体を含むコンピュータ使用可能媒体、又はコンピュータ可読媒体を使用すること及び／又は使用して通信することが可能である。一時媒体には、伝送媒体（例えば金属ケーブル、ファイバ光学材料）、信号、搬送波などが含まれる。非一時媒体には、磁気媒体（例えばディスク及びテープ）、光学媒体（例えばＣＤ  ＲＯＭ、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、固体素子媒体（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、固体素子ストレージ）、及びその他の不揮発性ストレージ又はメモリが含まれる。
【０１０４】
コンピューティングデバイス１５０５は、いくつかの例示的コンピューティング環境において、技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令の実装に使用可能である。コンピュータ実行可能命令は一時媒体から取り出し、非一時媒体に格納してそこから取り出すことができる。実行可能命令は、任意のプログラミング言語、スクリプト言語、及び機械言語（例えば、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）、他）の内の１又は複数を基とすることができる。
【０１０５】
プロセッサ１５１０は、ネイティブ環境又は仮想環境において任意のオペレーティングシステム（ＯＳ）（図示せず）の下で実行可能である。論理ユニット１５５５、アプリケーションプログラミングインタフェース（ＡＰＩ）ユニット１５６０、入力ユニット１５６５、出力ユニット１５７０、コンテンツ抽出ユニット１５７５、テキスト類似度スコア生成器１５８０、合計類似度スコア計算ユニット１５８５、スレッド生成ユニット１５９０、及び異なるユニットが相互に、またＯＳと、そして他のアプリケーション（図示せず）と通信するためのユニット間通信機構１５９５、を含む１又は複数のアプリケーションを展開可能である。例えばコンテンツ抽出ユニット１５７５、テキスト類似度スコア生成器１５８０、合計テキスト類似度スコア計算ユニット１５８５、スレッド生成ユニット１５９０は、図１〜図３Ｂに示す１つ以上のプロセスを実装し得る。上記のユニット及び要素は、設計、機能、構成、又は実装において変形可能であり、ここでの記述に限定されるものではない。
【０１０６】
いくつかの例示的実装形態において、ＡＰＩユニット１５６０が情報又は実行命令を受信すると、それは一つ以上の他のユニット（例えば論理ユニット１５５５、入力ユニット１５６５、コンテンツ抽出ユニット１５７５、テキスト類似度スコア生成器１５８０、合計類似度スコア計算ユニット１５８５、スレッド生成ユニット１５９０）へ通信されてよい。例えば、コンテンツ抽出ユニット１５７５は、解析される各投稿に関連する埋め込みに基づいてコンテンツ特徴を抽出し、その抽出された特徴をテキスト類似度スコア生成器へ提供してもよい。さらに、テキスト類似度スコア生成器１８５０は、抽出されたコンテンツ特徴を受信して、その抽出されたコンテンツ特徴に基づいてテキスト類似度スコアを生成してもよい。さらに合計類似度スコア計算ユニット１５８５は、生成されたテキスト類似度スコアを使用して、テキスト類似度スコアと、各メッセージ又はチャットに関連する他のメタデータとに基づいた合計類似度スコアを計算してもよい。最後に、スレッド生成ユニット１５９０が計算された合計類似度スコアに基づいて会話スレッドを生成してもよい。
【０１０７】
いくつかの事例では、論理ユニット１５５５は、ユニット間の情報の流れを制御して、上記のいくつかの例示的実装形態においてＡＰＩユニット１５６０、入力ユニット１５６５、コンテンツ抽出ユニット１５７０、テキスト類似度スコア生成器１５８０、テキスト類似度スコア計算ユニット１５８５、及びスレッド生成ユニット１５９０により提供されるサービスを指示するように構成されてもよい。例えば、一つ以上のプロセス又は実装のフローは、論理ユニット１５５５だけで制御されてもよいし、ＡＰＩユニット１５６０と連携して制御されてもよい。
【０１０８】
いくつかの例示的実装形態を示して説明したが、これらの例示的実装形態は本明細書に記載の主題を当業者に伝えるために提供される。本明細書に記載の主題は、記載した例示的実装形態に限定されることなく、様々な形態で実装され得ることを理解されたい。本明細書に記載の主題は、具体的に規定又は記述された事柄なしで、あるいは記述されていない他のもしくは異なる、要素若しくは事柄を用いて、実行することが可能である。当業者であれば、添付の特許請求の範囲及びその等価物に定義されているような、本明細書に記載の主題から乖離することなしに、これらの例示的実装形態における変形をなし得ることが理解されるであろう。
【図１】
2019121377.tif 000006
【図２】
2019121377.tif 000007
【図３Ａ】
2019121377.tif 000008
【図３Ｂ】
2019121377.tif 000009
【図４】
2019121377.tif 000010
【図５】
2019121377.tif 000011
【図６】
2019121377.tif 000012
【図７】
2019121377.tif 000013
【図８】
2019121377.tif 000014
【図９Ａ】
2019121377.tif 000015
【図９Ｂ】
2019121377.tif 000016
【図１０】
2019121377.tif 000017
【図１１】
2019121377.tif 000018
【図１２】
2019121377.tif 000019
【図１３】
2019121377.tif 000020
【図１４】
2019121377.tif 000021
【図１５】
2019121377.tif 000022