JP6689955B2 - 破損ネットワーク接続の機械学習に基づく識別 - Google Patents

破損ネットワーク接続の機械学習に基づく識別 Download PDF

Info

Publication number
JP6689955B2
JP6689955B2 JP2018504982A JP2018504982A JP6689955B2 JP 6689955 B2 JP6689955 B2 JP 6689955B2 JP 2018504982 A JP2018504982 A JP 2018504982A JP 2018504982 A JP2018504982 A JP 2018504982A JP 6689955 B2 JP6689955 B2 JP 6689955B2
Authority
JP
Japan
Prior art keywords
application
link
links
presentation
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018504982A
Other languages
English (en)
Other versions
JP2019501429A (ja
Inventor
リ,シン
ヤン,ファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2019501429A publication Critical patent/JP2019501429A/ja
Application granted granted Critical
Publication of JP6689955B2 publication Critical patent/JP6689955B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

背景
インターネット(登録商標)は世界中のユーザ間での情報交換やトランザクションを容易にする。このような情報交換により、データプロバイダはさまざまなユーザにデータを提供できる。データは、電子ドキュメント(たとえば、ウェブページ)上において、およびアプリケーション(たとえば、モバイルアプリケーション)内で、情報を公開することを含む、さまざまな方法で提供することができる。たとえば、アプリケーションには、ユーザに情報を提示するアプリケーションページを含めることができる。
リンクを使用して、ユーザが関心のあるリソースにナビゲートするのを支援することができる。リンクは、電子ドキュメントまたはアプリケーション内の特定の位置(たとえば、アプリケーションページ)を指し示すことができる。しかしながら、一部のリンクはドキュメントまたはアプリケーションページを正しく指し示していない場合がある。そのようなリンクは、一般に、破損リンクと呼ばれる。たとえば、リンクが指し示すドキュメントまたはアプリケーションページを、新しいアドレスに移動したり、またはドキュメントもしくはアプリケーションページをホストしていたドメインから削除すると、そのリンクは破損リンクになることがある。加えて、アプリケーションの更新後、またはアプリケーションコンテンツをホストするサーバが利用できなくなったことに応答して、アプリケーションリンクが破損する可能性がある。
概要
本明細書では、機械学習を使用して、(たとえば、破損アプリケーションリンクとのユーザ対話に応答して)ネットワーク接続を開始(または完了)した後にコンテンツがどのくらいの間提示されたかに基づいて、破損ネットワーク接続(たとえば破損アプリケーションリンク)を識別することに関する技術を記載する。
一般に、この明細書に記載される主題の1つの革新的な局面は、あるシステムにおいて実施され得、そのシステムは、所与のアプリケーションにリンクする1つ以上のアプリケーションリンクとの複数の異なるユーザ対話について、上記1つ以上のアプリケーションリンクとの上記複数の異なるユーザ対話に続いて、上記アプリケーションリンクによってリンクされたアプリケーションコンテンツが提示された期間を示す提示期間を示すデータを受信する1つ以上のフロントエンドサーバを備える。システムはさらに、上記1つ以上のフロントエンドサーバと通信し、動作を実行する1つ以上のバックエンドサーバを備え得、上記動作は、各アプリケーションリンクについての提示期間に対する機械学習モデルの適用に基づいて、上記アプリケーションリンクを破損しているかまたは正常に機能しているものとして分類することを含む。上記機械学習モデルは、ラベル付けされた訓練データを使用して生成され得、上記ラベル付けされた訓練データは、訓練アプリケーションリンクのセットにおける各訓練アプリケーションリンクについて、上記訓練アプリケーションリンクについての提示期間のセットと、上記訓練アプリケーションリンクとのユーザ対話の結果、上記訓練アプリケーションリンクによって指し示されるコンテンツが成功裡に提示されたかどうかに基づいて、上記訓練アプリケーションリンクが破損しているかまたは正常に機能しているかどうかを示すラベルとを含む。バックエンドサーバは、さらに、所与のアプリケーションリンクを、それが機械学習モデルによって破損しているとして分類されたことに基づいて、破損したリンクとして識別する警報を生成および出力することを含む動作を実行し得る。この局面の他の実施形態は、コンピュータ記憶装置上でエンコードされる、方法のアクションを実行するように構成される、対応の装置、方法、およびコンピュータプログラムを含む。
これらおよび他の実施形態は、各々、任意で以下の特徴の1つ以上を含み得る。いくつかの局面では、機械学習モデルは、上記アプリケーションリンクについての各提示期間を、期間に基づく期間グループのセットのうちのある期間グループに割り当てることによって、そのアプリケーションリンクを分類する。各期間グループは、ある期間の範囲に対するものであり得、上記期間グループについての上記期間の範囲内にある、上記アプリケーションリンクについての上記提示時間を含み得る。機械学習モデルは、各期間グループに割り当てられた提示期間の数によって規定されるパターンに基づいて、上記アプリケーションリンクを、破損しているかまたは正常に機能しているとして分類し得る。上記提示期間の数によって規定される上記パターンは、上記提示期間の分布を含み得る。
いくつかの局面では、システムによって実行される動作は、所与のアプリケーションにリンクする上記1つ以上のアプリケーションリンクを含むアプリケーションリンクのセットを識別することと、上記アプリケーションリンクを、上記アプリケーションリンクのセット内のアプリケーションリンクの特性に基づいて、アプリケーションリンクグループのセットにグループ化することと、各アプリケーションリンクグループを、上記アプリケーションリンクグループにおけるアプリケーションリンクについての提示期間に対する上記機械学習モデルの適用に基づいて、破損したリンクまたは正常に機能しているリンクを有するものとして分類することとを含み得る。
いくつかの局面では、各アプリケーションリンクは、特定のアプリケーション内における特定の位置を識別するための文字列を含む。システムによって実行される動作は、上記1つ以上のアプリケーションリンクを含むアプリケーションリンクのセットについて、少なくとも上記アプリケーションリンクの文字列に基づいて、1つ以上のアプリケーションリンクプレフィックスパターンを識別することを含み得る。各アプリケーションリンクプレフィックスパターンは、2つ以上のアプリケーションリンクに共通の文字列を示し得る。各アプリケーションリンクプレフィックスパターンについて、システムによって実行される動作は、そのアプリケーションリンクプレフィックスパターンによって示される文字列を含むアプリケーションリンクのグループを識別することと、上記アプリケーションリンクのグループ内の各アプリケーションリンクについて提示期間のセットを識別することと、上記機械学習モデルを上記アプリケーションリンクのグループについての提示期間に適用することと、所与のアプリケーションリンクプレフィックスパターンについて、アプリケーションリンクの所与のグループを、上記機械学習モデルが上記アプリケーションリンクのセットを破損したものとして分類することに基づいて、破損したリンクとして識別する警報を生成および出力することとを含み得る。
いくつかの局面では、システムによって実行される動作は、各アプリケーションリンクプレフィックスパターンについて利用可能な提示期間の数に基づいて、上記1つ以上のアプリケーションリンクプレフィックスパターンを識別することを含む。いくつかの局面では、上記機械学習モデルは線形回帰モデルを含む。
この明細書において記載される主題の特定の実施形態は、以下の利点の1つ以上を実現するように実現することができる。アプリケーションのコンテンツへの破損リンクを選択すると、アプリケーションがクラッシュしたり正しく機能しなくなる可能性があるため、アプリケーションのコンテンツへの破損リンクを識別および除去することにより、アプリケーションがクラッシュおよび/もしくは不適切に機能すること、またはデバイスがアプリケーションを実行することを防止できる。機械学習を使用して悪いアプリケーションリンクを識別することにより、アプリケーションまたはウェブクローラによって正しくクロールできないアプリケーションコンテンツを指し示す悪いアプリケーションリンクを識別することができる。ユーザのデバイスを正しくないアプリケーションコンテンツに誘導するか、またはユーザのデバイス上で実行されているアプリケーションをクラッシュもしくは不適切に機能させる悪いアプリケーションリンクの数を低減することによって、ユーザの不満が軽減される。
この明細書において記載される主題の1つ以上の実施形態の詳細は、添付の図面および以下の詳細な説明において述べられる。主題の他の特徴、局面および利点は、詳細な説明、図面および特許請求の範囲から明らかになる。
破損リンク検出システムが破損アプリケーションリンクを自動的に検出する例示的な環境である。 アプリケーションリンクについての提示期間の例示的な分布の表現を示すグラフである。 アプリケーションリンクについての提示期間の例示的な分布の表現を示すグラフである。 アプリケーションリンクが破損リンクであるかどうかを予測するよう機械学習モデルを訓練するための例示的なプロセスのフローチャートである。 破損アプリケーションリンクを識別する例示的なプロセスのフローチャートである。 破損アプリケーションリンクのアプリケーションリンクプレフィックスパターンを識別する例示的なプロセスのフローチャートである。
さまざまな図面における同様の参照番号および指定は同様の要素を示す。
詳細な説明
本明細書で説明するシステムおよび技術は、(たとえば、手動または自動で)アプリケーションリンクを選択して、アプリケーションリンクが指し示すコンテンツが得られるかどうかを判断することによってテストすることができないアプリケーションリンクを含む、破損アプリケーションリンクの検出を可能にする。たとえば、この態様でアプリケーションリンクをテストするために使用されるアプリケーションクローラは、アプリケーションがアプリケーションコンテンツにアクセスするのにログイン情報を必要とする場合があるため、アプリケーションリンクが指し示すアプリケーションコンテンツにアクセスを有さない場合がある。別の例では、アプリケーションクローラを使用してアプリケーションリンクをテストすると、ウェブクローラを使用してウェブページへのウェブリンクをテストする場合よりもネットワークタイムアウトが長くなり得、アプリケーションクローラの使用効果が低下する。アプリケーションクローラではなく機械学習を使用することにより、そのようなネットワークタイムアウトを回避することができ、それにより、たとえば、より正確な破損リンク解析を提供することによって、破損アプリケーションリンクを識別する技法を改善することができる。
システムは、アプリケーションリンクについての提示期間に基づいて、アプリケーションリンクが破損リンクであるかどうかを予測するために、機械学習モデルを訓練することができる。アプリケーションリンクについての提示期間は、ユーザのアプリケーションリンクとの対話に続いて、アプリケーションリンクによってリンクされたアプリケーションコンテンツが提示された期間を示す。提示期間は、アプリケーションリンクとのユーザ対話が発生した時刻から、たとえばアプリケーションとのユーザ対話に応答して、アプリケーションが閉じられるかまたは他のコンテンツにナビゲートする時刻まで、測定してもよい。アプリケーションがクラッシュした場合、提示期間は、アプリケーションリンクとのユーザ対話が発生した時刻およびアプリケーションがクラッシュした時刻から測定してもよい。
いくつかの実現例では、機械学習モデルは、アプリケーションリンクについての提示期間の分布に基づいて、アプリケーションリンクが破損しているかまたは正常に機能しているとして分類する。たとえば、アプリケーションリンクが、長い提示期間(閾値期間より長いもの)の数よりも短い提示期間(たとえば、閾値未満であるもの)の数の方が実質的に多い(たとえば、指定された数または割合を超える)場合、そのアプリケーションリンクは、そのアプリケーションリンクが破損していることを示唆する分布パターンを有してもよい。別の例では、アプリケーションリンクが、少数の(たとえば、閾値未満の)短い提示期間を有する自然な分布の提示期間を有する場合、そのアプリケーションリンクは、そのアプリケーションのリンクが正常に動作し、それが破損していないことを示唆する分布パターンを有してもよい。
機械学習モデルは、アプリケーションリンクのグループが破損しているかどうかを予測(たとえば判断)することもできる。アプリケーションリンクは、アプリケーションリンクのプレフィックスパターンに基づいてアプリケーションリンクグループにグループ化できる。各アプリケーションリンクは、特定のアプリケーション内の特定の位置、たとえばアプリケーションの特定のアプリケーションページ、ビデオアプリケーションの特定のビデオ、またはレストランレビューアプリケーションの特定のレストランページを識別するための文字列を含むことができる。各アプリケーションリンクプレフィックスパターンは、複数のアプリケーションリンクに共通の文字列を示すことができる。たとえば、第1のアプリケーションリンクの文字列は"appname:itemcategory1/item1"であってもよく、第2のアプリケーションリンクの文字列は"appname:itemcategory1/item2"であってもよい。これら2つのアプリケーションのアプリケーションリンクプレフィックスパターンリンクは"appname:itemcategory/"であってもよく、なぜならば、この文字列は両方のアプリケーションリンクに共通(たとえば同じ)であるからである。一致する(たとえば、同じであるかまたは一致する文字の数に基づいて特定の類似度基準の範囲内にある)プレフィックスパターンを有するアプリケーションリンクは、同時にまたは同じ理由で破損することが多いので、アプリケーションリンクをプレフィックスパターンでグループ化すると、機械学習モデルは、各アプリケーションリンクについての提示期間に別々に実行される必要なく、グループ内のリンクが破損しているかどうかを予測することができる。このグループ化は、モデルを各アプリケーションリンク上で別々に実行しなければならないことに比して、より少ない計算資源を使用して、より迅速に分類することができる。グループ化は、また、特定の分類について機械学習モデルによって使用される選択期間データの量を増加させることができ、ノイズの多いデータまたは正しくないデータの影響が低減されるため、より正確な予測をもたらすことができる。
図1は、破損リンク検出システム110が破損アプリケーションリンクを自動的に検出する例示的な環境100である。破損リンク検出システム110は、1つ以上のフロントエンドサーバ112および1つ以上のリンク分類サーバ114を含む。フロントエンドサーバ112は、ネットワーク130を介してクライアントデバイス142(たとえば、クライアントデバイス142−Aおよび142−B)から提示期間を示すデータを受信することができる。フロントエンドサーバ112は、たとえば、アプリケーションリンクが破損リンクとして分類されたことに応答して、通知または警報をネットワーク130を介してクライアントデバイス142に送信することもできる。ネットワーク130は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、モバイルネットワーク、またはそれらの組合せを含むことができる。
各クライアントデバイス142は、1つ以上のアプリケーション146および期間モニタ144を含むことができる。たとえば、クライアントデバイス142−Aは、アプリケーション146−Aおよび期間モニタ144−Aを含む。同様に、クライアントデバイス142−Bは、アプリケーション146−Bおよび期間モニタ144−Bを含む。アプリケーション146は、特定のプラットフォームまたは特定のタイプのデバイス用に開発されたネイティブアプリケーションを含んでもよい。
ユーザは、アプリケーション146またはそのアプリケーション内の特定の位置を指し示す(たとえば、そのアプリケーションのネットワーク位置にリンクする)アプリケーションリンクと対話する(たとえば、それを選択する)ことによって、アプリケーション146のコンテンツにアクセスしてもよい。アプリケーションリンクは、(アプリケーション146がまだ開いていなければ)クライアントデバイス142にアプリケーション146を開かせ、アプリケーションリンクとのユーザ対話に応答して、アプリケーションリンクが指し示す特定の位置にナビゲートする文字列を含むことができる。たとえば、文字列は、アプリケーション146、およびアプリケーションリンクが指し示すアプリケーション146内の特定の位置を識別することができる。アプリケーションリンクは、アプリケーションの最上位ページ(たとえば、ウェルカムページまたはサインインページ)以外の特定のページ(またはユーザインターフェース画面)にリンクする形式または一意のリソース識別子(URI)における深いリンクとすることができる。
アプリケーションリンクは、ウェブページ上、アプリケーション内、検索結果ページ上、および/または他のタイプの電子リソース上に提示することができる。同じアプリケーションリンクが複数の異なるリソース上に提示されてもよく、複数の異なるユーザと対話させることができる。上述したように、アプリケーション146が更新された場合、アプリケーションコンテンツをホストしているサーバが利用できなくなる(たとえば、オフラインになる)場合、またはユーザにとって容易に明らかではない可能性がある他のイベントの場合、アプリケーションリンクは破損しているかもしれない。そのような場合、(アプリケーションリンクが提示されているいずれかのリソース上での)アプリケーションリンクとのユーザ対話は、アプリケーションリンクが指し示すアプリケーションをクラッシュさせるか、またはそのアプリケーションに正しくないコンテンツを提示させるかもしれない。したがって、破損アプリケーションリンクを識別して電子リソースから除去することにより、そのようなクラッシュおよび正しくないコンテンツの提示を防止し、アプリケーションとのユーザエクスペリエンスを向上させることができる。
破損リンクは、特定のアプリケーションまたはアプリケーション内の特定の位置に適切にリンクしていないリンクである。たとえば、破損アプリケーションリンクは、存在しない、アプリケーション内の位置にリンクすることがある。別の例では、破損アプリケーションリンクは、以前は存在していた、あるアプリケーション内の位置ではあるが、現在は、その位置のコンテンツをホストしているサーバが利用可能でないか、またはたとえばそのアプリケーションの更新のため、そのコンテンツが別の位置に移動されているため存在しない位置にリンクしているかもしれない。
アプリケーションリンクは、正しくないコンテンツに適切にリンクしている場合にも、破損している可能性がある。たとえば、あるアプリケーションリンクは、特定のニュースストーリーにリンクすることを意図され得るが、実際には異なるニュースストーリーにリンクする。この例では、アプリケーションリンクと対話するユーザは、異なるニュースストーリーを提示され得、異なるニュースストーリーを読むことなく、アプリケーションを閉じるか、またはリンクを含むアプリケーションもしくはコンテンツに戻るかもしれない。このような破損アプリケーションリンクを識別して除去することで、ユーザエクスペリエンスが向上し、コンテンツを取得するために開始されるネットワーク要求の数が低減され、ネットワークパフォーマンスが向上し、ネットワークリソースの需要が低減される。
期間モニタ144は、アプリケーションコンテンツの提示期間を監視することができる。たとえば、期間モニタ114は、ユーザがアプリケーションコンテンツを指し示すアプリケーションリンクとのユーザ対話(たとえば、それの選択)に続いて提示されるコンテンツの提示期間を監視することができる。提示期間は、アプリケーションリンクとのユーザ対話が発生した時刻から、たとえばアプリケーションとのユーザ対話に応答して、アプリケーションが閉じられるか、またはアプリケーションが他のコンテンツにナビゲートする時刻まで、測定することができる。たとえば、ユーザは、午後12時01分にアプリケーション内の特定の位置へのアプリケーションリンク(たとえば、検索結果ページ上に提示される)を選択してもよく、その特定の位置のコンテンツが、そのアプリケーションを介してユーザに提示されてもよい。選択に応答して、期間モニタ144(または検索結果ページを提供した検索システム)は選択の時間をログ(たとえば検索ログ)に記録してもよい。ユーザが戻るボタンを選択した場合、またはアプリケーションを終了した場合、クライアントデバイス142は、検索結果ページに戻ってもよい。期間モニタ144(または検索システム)は、クライアントデバイス142がアプリケーションを閉じたかまたは検索結果ページに戻った時刻、たとえば12:05をログに記録してもよい。この例では、期間モニタ144は、たとえばログから2つの時刻を取得し、12:05から12:01を減算して提示期間を判断してもよい。したがって、この例では、提示期間は4分である。アプリケーションがクラッシュした場合、提示期間は、アプリケーションリンクとのユーザ対話が発生した時刻およびアプリケーションがクラッシュした時刻から測定することができる。たとえば、期間モニタ144は、たとえばアプリケーションまたはクライアントデバイスのオペレーションシステムから、アプリケーションがクラッシュした時刻を示すメッセージを受信してもよい。
期間モニタ144は、クライアントデバイス142でユーザ対話を受信する複数の異なるアプリケーションリンクについての提示期間を監視し記録してもよい。期間モニタ144は、また、各アプリケーションリンクについての提示期間を示すデータを、破損リンク検出システム110のフロントエンドサーバ112に送信してもよい。フロントエンドサーバ112は、複数の異なるユーザに関連付けられる複数の異なるクライアントデバイス142から提示期間を受信することができる。たとえば、フロントエンドサーバ112は、第1のユーザに関連付けられるクライアントデバイス142−Aと、第1のユーザとは異なる第2のユーザに関連付けられるクライアントデバイス142−Bとから、提示期間を受信してもよい。このようにして、所与のアプリケーションリンクについての選択期間を複数の異なるユーザにわたって集約してもよい。
フロントエンドサーバ112は、受信した提示期間をリンク分類サーバ114に提供することができる。次いで、リンク分類サーバ114は、たとえば、データ記憶装置に記憶される提示期間データベース118に提示期間を記憶することができる。各提示期間は、その提示期間が記録されたアプリケーションリンクへの関連付けと共に記憶することができる。
リンク分類サーバ114は、1つ以上のバックエンドサーバとして実現することができ、アプリケーションリンクが破損しているかどうか、および/またはアプリケーションリンクのグループ内のアプリケーションリンクが破損しているかどうかを予測するよう、機械学習モデル116を訓練することができる。機械学習モデルを訓練するための例示的な技術が、図4に示され、以下に説明される。機械学習モデル116は、アプリケーションリンクについての提示期間に基づいて、アプリケーションリンクを、破損しているもの、または正常に機能している(たとえば、破損していない)ものとして分類することができる。たとえば、リンク分類サーバ114は、機械学習モデル116をアプリケーションリンクについての提示期間のセットに適用し、提示期間のセットに基づいてアプリケーションリンクを分類してもよい。アプリケーションリンクを分類するために使用される提示期間のセットは、アプリケーションリンクとのユーザ対話に続く特定の期間、たとえば前日または前週に発生したコンテンツ提示についてのものであってもよい。
いくつかの実現例では、機械学習モデル116は、アプリケーションリンクについての提示期間の分布に基づいて、アプリケーションリンクが破損しているかまたは正常に機能していると分類する。この例では、リンク分類サーバ114は、期間グループのセットを有してもよく、各期間グループは、ある期間の範囲に対応してもよい。たとえば、グループは、0〜3秒の期間のための第1のグループ、3〜6秒の期間のための第2のグループ、6〜9秒の期間のための第3のグループなどを含んでもよい。リンク分類サーバ114は、各提示期間について、その提示期間が入る期間の範囲を識別し、その提示期間を、その期間の範囲に対応する期間グループに割り当てることができる。たとえば、リンク分類サーバ114は、7秒の提示期間を、範囲6〜9秒を有する期間グループに割り当ててもよい。
リンク分類サーバ114は、各期間グループに割り当てられた提示期間の数のカウントを判断することができる。各期間グループについてのカウントは、アプリケーションリンクについての提示期間の分布を規定する。具体的には、アプリケーションリンクについての分布は、期間グループのセットの各々について、期間グループに割り当てられるアプリケーションリンクについての提示期間の数を示す。アプリケーションリンクについての例示的な分布が、図2に示され、以下に説明される。機械学習モデル116は、アプリケーションリンクについての各期間グループのカウントに適用することができ、カウントに基づいてアプリケーションリンクを分類することができる。たとえば、リンク分類サーバ114は、各期間グループについてのベクトル要素を含む特徴ベクトルを生成してもよい。各ベクトル要素の値は、そのベクトル要素に対応する期間グループに割り当てられるアプリケーションリンクについての提示期間の数のカウントに等しくてもよい(または比例してもよい)。たとえば、特徴ベクトルは、6〜9秒の期間グループに対応するベクトル要素を含んでもよい。このベクトル要素の値は、6〜9秒の間であった、アプリケーションリンクについての提示期間の数であってもよい。リンク分類サーバは、機械学習モデル116を、アプリケーションリンクについて生成された特徴ベクトルに適用して、アプリケーションリンクが破損しているかまたは正常に機能しているかを分類してもよい。
提示期間の分布に基づいてアプリケーションリンクを分類することにより、機械学習モデル116は、複数の異なるクライアントデバイス142によるアプリケーションに対する複数の要求にわたる提示期間のパターンを考慮に入れることができる。たとえば、アプリケーションリンクが破損した場合、期間が短い期間グループに多数の提示期間が割り当てられ、期間が長い期間グループに有意により少数の提示期間が割当てられる結果となり得る。対照的に、正常に機能しているアプリケーションリンクは、より長い期間を有するものを含む、多くの異なる期間グループに割り当てられる、有意な数の(たとえば、閾値数より多い)提示期間を有し得る。機械学習モデル116は、以下により詳細に説明するように、破損したアプリケーションリンクに対応するさまざまな異なる分布パターン、および正常に機能しているアプリケーションリンクに対応するさまざまな異なる分布パターンを識別するように訓練することができる。
機械学習モデル116は、個々のアプリケーションリンクと同様の態様で、アプリケーションリンクのグループを分類することができる。たとえば、リンク分類サーバ114は、アプリケーションリンクグループに含まれる各アプリケーションリンクについて、そのアプリケーションリンクについての提示期間を識別し、そのグループについての提示期間を集約することができる。次いで、リンク分類サーバ114は、機械学習モデル116をアプリケーションリンクのグループについての提示期間に適用し、グループ内のアプリケーションリンクが全体として破損しているかどうかの分類を出力する。たとえば、グループに対する「破損」の分類は、そのグループ内の各アプリケーションリンクが破損していることを示してもよい。これに応答して、リンク分類サーバ114は、グループ内のアプリケーションリンクが破損しているかもしれない旨を示す警報を生成してフロントエンドサーバ112に送信してもよい。次いで、フロントエンドサーバ112は、システム管理者のクライアントデバイスに警報を送信してもよく、システム管理者は、グループ内のアプリケーションリンクをさらに調査してもよい。
アプリケーションリンクのグループを分類するために、リンク分類サーバ114は、グループ内のアプリケーションリンクについての提示期間の分布を生成し、機械学習モデルをその分布に適用してもよい。たとえば、リンク分類サーバ114は、個々のアプリケーションリンクのための特徴ベクトルと同様の態様で、グループのための特徴ベクトルを生成してもよい。リンク分類サーバ114は、期間グループのセット内の各期間グループについてのベクトル要素を含む特徴ベクトルを生成してもよい。各ベクトル要素の値は、そのベクトル要素に対応する期間グループに割り当てられるアプリケーションリンクのグループについての提示期間の数のカウントに等しくてもよい(または比例してもよい)。たとえば、特徴ベクトルは、1〜3秒の期間グループに対応するベクトル要素を含んでもよい。このベクトル要素の値は、1〜3秒であったグループの提示期間の総数であってもよい。例として、あるグループはメンバーとして2つのアプリケーションリンクを有し得る。2つのアプリケーションリンクのうちの一方は、1〜3秒の間であった10個の提示期間を有したとしてもよく、他方のアプリケーションリンクは、1〜3秒であった5個の提示期間を有したとしてもよい。この例では、1〜3秒の期間グループに対応するベクトル要素は15の値を有してもよい。リンク分類サーバは、機械学習モデル116を、アプリケーションリンクのグループについて生成された特徴ベクトルに適用して、グループ内のアプリケーションリンクを破損しているかまたは正常に機能しているとして分類してもよい。
リンク分類サーバ114は、アプリケーションリンクのセットを、アプリケーションリンクの1つ以上の特性および/またはアプリケーションリンクが指し示すアプリケーションもしくはアプリケーションコンテンツの1つ以上の特性に基づいたグループに割り当てることができる。リンク分類サーバ114は、それらのグループおよび各グループのメンバーを識別するデータをリンクグループデータベース120に格納することができる。いくつかの実現例では、リンク分類サーバ114は、アプリケーションリンクを、アプリケーションリンクに含まれる文字列に基づいたグループに割り当てることができる。上述したように、アプリケーションリンクは、アプリケーションリンクのプレフィックスパターンに基づいてグループ化することができる。この例では、リンク分類サーバ114は、グループを生成するアプリケーションリンクの1つ以上において見出される文字列を識別することができる。特定の例では、リンク分類サーバ114は、アプリケーションリンクの2つ以上に共通する(たとえば同じ)文字列を識別し、その共通の文字列によって定義されるアプリケーションリンクプレフィックスパターンのためのグループを生成してもよい。
いくつかの実現例では、アプリケーションリンクプレフィックスパターンは、アプリケーションリンクの文字列の先頭から始まる文字列に基づいている。たとえば、第1のアプリケーションリンクの文字列は"appname:itemcategory1/item1"であってもよく、第2のアプリケーションリンクの文字列は"appname:itemcategory1/item2"であってもよい。この例では、リンク分類サーバ114は、文字列を左から右へと評価し、2つのアプリケーションリンクが"appname:itemcategory1/"の共通プレフィックスを有すると判断してもよい。応じて、リンク分類サーバ114は、アプリケーションリンクプレフィックスパターン"appname:itemcategory1/"のためのグループを生成し、そのアプリケーションリンクプレフィックスパターンで始まる文字列を有する各アプリケーションリンクをそのグループに含めてもよい。
リンク分類サーバ114は、アプリケーションリンクの数および/または各潜在的なグループについて利用可能な提示期間の数に基づいたグループを生成してもよい。たとえば、リンク分類サーバ114は、2つ以上のアプリケーションリンクに共通の文字列を識別してもよい。識別された各文字列について、リンク分類サーバ114は、その文字列を含むアプリケーションリンクの数を識別してもよい。次いで、リンク分類サーバ114は、少なくとも閾値数のアプリケーションリンクが含む文字列ごとにグループを生成してもよい。別の例では、リンク分類サーバ114は、文字列を、その文字列を含むアプリケーションリンクの数に基づいてランク付けし、上位Nの文字列のためのグループを生成してもよく、ここで、「N」は指定された数である(たとえば、破損リンク検出システムの管理者によって指定され、データストアまたはデジタルメモリデバイスから取得可能である)。各グループについて、リンク分類サーバ114は、そのグループに、そのグループが生成された文字列を含むアプリケーションリンクをポピュレートすることができる。
同様に、リンク分類サーバ114は、2つ以上の異なるアプリケーションリンクに共通する(たとえば同じ)文字列を識別してもよい。識別された各文字列について、リンク分類サーバ114は、その文字列を含むアプリケーションリンクについて提示期間データベース118に記憶される提示期間の総数を識別してもよい。リンク分類サーバ114は、機械学習モデル116を使用して、特定の期間(たとえば前日)についての提示期間に基づいてアプリケーションリンクを分類する場合、リンク分類サーバは、その文字列を含み、かつ提示期間が少なくとも部分的に特定の期間内に発生したアプリケーションリンクについての提示期間の総数を識別してもよい。たとえば、提示期間は、アプリケーションコンテンツの提示が、特定の期間内に開始されたが、その特定の期間が終了した後まで続いた場合、その特定の期間内に部分的に発生してもよい。リンク分類サーバ114は、少なくとも閾値数の提示期間がそれを含むアプリケーションリンクについて利用可能な各文字列についてグループを生成することができる。別の例では、リンク分類サーバ114は、利用可能な提示期間の数に基づいて文字列をランク付けし、上位N(「N」は指定された数である)の文字列のグループを生成してもよい。各グループについて、リンク分類サーバ114は、グループに、そのグループが生成された文字列を含むアプリケーションリンクをポピュレートすることができる。
リンク分類サーバ114は、また、特定のアプリケーションのためのグループを生成してもよい。たとえば、リンク分類サーバは、特定のアプリケーションごとにグループを作成し、特定のアプリケーションのためのグループに、その特定のアプリケーションまたはその特定のアプリケーション内の特定の位置を指し示す各アプリケーションリンクを含めてもよい。
リンク分類サーバ114は、また、時間の経過に伴う提示期間の変化に基づいて、アプリケーションリンクおよび/またはアプリケーションのグループを分類することもできる。たとえば、あるアプリケーションリンクについての提示期間が大幅に(たとえば少なくとも閾値量だけ)減少した場合、そのアプリケーションリンクは破損している可能性がある。アプリケーションリンクを分類するために、リンク分類サーバ114は、特定の期間、たとえば前週にわたる各日(または別の適切な期間)について、そのアプリケーションリンクについての平均提示期間を判断することができる。アプリケーションサーバは、当日(または他の適切な期間)についてアプリケーションリンクの平均提示期間を判断することもできる。次いで、リンク分類サーバ114は、当日についての平均提示期間を前日についての平均提示期間(または検討下にあるすべての前の日についての組合せ平均)と比較することができる。当日についての平均提示期間が少なくとも前の日についての平均提示期間未満の閾値量である場合、リンク分類サーバ114は、そのアプリケーションリンクを破損したリンクとして分類してもよい。
いくつかの実現例では、リンク分類サーバ114は、前の日についての平均提示期間の標準偏差が閾値を超える場合には、アプリケーションリンクを分類しなくてもよい。たとえば、高い標準偏差(たとえば、閾値を超えるもの)は、データがアプリケーションリンクを分類するために使用されるのに十分に安定していないことを示してもよく、それによってリンク分類サーバ114が誤った分類を出力することを防止してもよい。
図2は、アプリケーションリンクについての提示期間の例示的な分布の表現を示すグラフ200である。グラフ200は、提示期間グループと、各期間グループについて、各期間グループに割り当てられた提示期間の数のカウントとを示す。この例では、期間グループは、各々、2秒の期間範囲に対する。たとえば、第1の期間グループは、0〜2秒の期間範囲に対してであり、第1の期間グループは、10個の提示期間を割り当てられている。つまり、アプリケーションリンクによってリンクされるアプリケーションのコンテンツは、0〜2秒の期間について、10回閲覧された。いくつかの実現例では、分布は、各期間グループに割り当てられた提示期間の数のカウントではなく、各期間グループに割り当てられた提示期間の割合に基づいてもよい。
機械学習モデルを分布に適用して、アプリケーションリンクが正常に機能しているかまたは破損しているかを予測(たとえば判断)することができる。この例示的分布は、破損したリンクについての提示期間を表してもよく、なぜならば、提示期間の大部分は20秒未満であり、30秒を超える提示期間は少ないからである。したがって、機械学習モデルは、この例示的分布に対して、「破損」の分類を出力してもよい。
図3は、アプリケーションリンクについての提示期間の例示的な分布の表現を示すグラフ300である。図2のグラフ200に類似して、グラフ300は、提示期間グループと、各期間グループについて、各期間グループに割り当てられた提示期間の数のカウントとを示す。機械学習モデルを分布に適用して、アプリケーションリンクが正常に機能しているかまたは破損しているかを予測(たとえば判断)することができる。この例示的分布は、正常に機能しているリンクについての提示期間を表していてもよく、なぜならば、提示期間が期間の範囲にわたって分散され、短い提示期間に向かって大きく加重されていないからである。したがって、機械学習モデルは、この例示的な分布について、「正常に機能している」という分類を出力してもよい。
図4は、アプリケーションリンクが破損リンクであるかどうかを予測するよう機械学習モデルを訓練するための例示的なプロセス400のフローチャートである。プロセス400の動作は、たとえば、図1の破損リンク検出システム110のような1つ以上のデータ処理装置を含むシステムによって実施することができる。プロセス400は、コンピュータ記憶媒体に記憶された命令によって実施することもでき、データ処理装置を含むシステムによる命令の実行により、データ処理装置にプロセス400の動作を実行させる。
システムは、訓練アプリケーションリンクのセットを識別する(402)。たとえば、システムは、訓練アプリケーションリンクを識別するデータおよび各訓練アプリケーションリンクのためのラベル付けされた訓練データを含むデータベースまたはインデックスにアクセスしてもよい。訓練アプリケーションリンクは、ラベル付けされた訓練データが利用可能なアプリケーションリンクとすることができる。たとえば、訓練アプリケーションリンクは、動作状態(たとえば、正常に機能している、または破損している)が既知であり、機械学習モデルを訓練する際に使用するのに利用可能な少なくとも閾値数の実際の提示期間があるアプリケーションリンクであってもよい。訓練アプリケーションリンクは、セットが、少なくとも閾値数の正常に機能しているアプリケーションリンクと少なくとも閾値数の破損したアプリケーションリンクとを含むように、識別されることができる。
システムは、各訓練アプリケーションリンクについて、ラベル付けされた訓練データを取得する(404)。たとえば、システムは、データベースにアクセスし、各訓練アプリケーションリンクにインデックス付けされるラベル付けされた訓練データを識別し、それらの訓練アプリケーションリンクのためにそのラベル付けされた訓練データを取り出してもよい。各訓練アプリケーションリンクのためのラベル付けされた訓練データは、その訓練アプリケーションリンクについての提示期間のセット、およびラベルを含むことができる。トレーニングアプリケーションリンクのためのラベルは、トレーニングアプリケーションリンクが破損しているか正常に機能しているかどうかを示すことができる。たとえば、アプリケーションリンクのためのラベルは、訓練アプリケーションリンクとのユーザ対話によって、デバイスが、訓練アプリケーションリンクによって指し示されるコンテンツにナビゲートするかどうかに基づいて、訓練アプリケーションリンクが破損しているかまたは正常に機能しているかどうかを示すことができる。
いくつかの実現例では、1人以上のシステム管理者および/または1人以上のユーザが訓練アプリケーションリンクをテストし、それに応じてラベルを更新する。たとえば、システム管理者は、訓練アプリケーションリンクと対話(たとえばそれを選択)し、訓練アプリケーションリンクによってリンクされるコンテンツが提示されたかどうかを見るよう監視してもよい。訓練アプリケーションリンクとの対話後に正しいコンテンツが提示された場合、システム管理者は訓練アプリケーションリンクに対するラベルを更新して、訓練アプリケーションリンクが正常に機能していることを示してもよい。訓練アプリケーションリンクによってリンクされたアプリケーションが開かなかった場合、または訓練アプリケーションリンクによってリンクされたコンテンツが訓練アプリケーションリンクとの対話後に提示されなかった場合、システム管理者はラベルを更新して、訓練アプリケーションリンクが破損していることを示してもよい。別の例では、訓練アプリケーションリンクと対話するユーザは、たとえば、ユーザインタフェース要素を自動的に使用して、訓練アプリケーションが正常に動作したか破損しているかを選択するように促された。
システムは、訓練データを使用して、アプリケーションリンクが正常に機能しているかまたは破損しているかを予測するよう、機械学習モデルを訓練する(406)。いくつかの実現例では、システムは、訓練アプリケーションリンクの一部ならびに対応する提示期間およびラベルを訓練セットおよびテストセットに仕切ることによって、機械学習モデルを生成してもよい。機械学習モデルは、次いで、訓練セット内の各訓練アプリケーションリンクの提示期間、および訓練セット内の各訓練アプリケーションリンクについてのラベルを用いて、訓練されてもよい。いくつかの実現例では、機械学習モデルは、提示期間の特定の特徴に関連付けられる1つ以上の重み、たとえば各期間グループについての重み、提示期間の大きさについての重み、および/または各期間グループにある相対数の提示期間についての重みを含んでもよい。予測モデルを訓練することは、アプリケーションリンクが破損しているかまたは正常に機能しているかを予測することが判明した特徴および特徴の組合せに関連付けられる重みを調整することを含んでもよい。特徴とラベルとを相関させるために、クラスタリング、線形回帰、ロジスティック回帰、および非線形回帰など、さまざまな方法および技術を使用することができる。
予測モデルを訓練した後、モデルは、テストセット内または別の訓練セット内の訓練アプリケーションリンクの提示期間を使用してテストされてもよい。機械学習モデルにおける各特徴に関連付けられる重みは、次いで、テストの結果に基づいて調整されてもよい。
図5は、破損したアプリケーションリンクを識別するための例示的なプロセス500のフローチャートである。プロセス500の動作は、たとえば、図1の破損リンク検出システム110のような1つ以上のデータ処理装置を含むシステムによって実施することができる。プロセス500は、コンピュータ記憶媒体に格納された命令によって実施することもでき、データ処理装置を含むシステムによる命令の実行により、データ処理装置にプロセス500の動作を実行させる。
システムは、所与のアプリケーションについて、1つ以上のアプリケーションリンクについての提示期間を示すデータを受信する(502)。1つ以上のアプリケーションリンクの各々は、所与のアプリケーション内の特定の位置または特定のコンテンツにリンクしてもよい。各提示期間は、ユーザのアプリケーションリンクとの対話に続いて、アプリケーションリンクによってリンクされたアプリケーションコンテンツが提示された期間を示してもよい。
データは、1つ以上のアプリケーションリンクの各々との複数の異なるユーザ対話についての提示期間を含むことができる。たとえば、各アプリケーションリンクは、複数の異なるユーザから対話を受信してもよい。各対話に応答して、アプリケーションリンクによってリンクされたアプリケーションコンテンツが、アプリケーションリンクと対話したユーザに提示されてもよい。各ユーザ対話について、システムは、ユーザ対話に続いてアプリケーションコンテンツが提示された期間を監視し、その期間をアプリケーションリンクについての提示期間として記録することができる。
アプリケーションリンクが破損している場合は、アプリケーションのコンテンツはユーザに提示されないかもしれず、または正しくないコンテンツがユーザに提示されるかもしれない。アプリケーションがクラッシュした場合、提示期間は、アプリケーションとのユーザ対話とアプリケーションクラッシュとの間の時間量を示してもよい。アプリケーションが開かない場合は、提示期間は0であってもよい。正しくないコンテンツが提示される場合、提示期間は短くてもよく(たとえば、閾値期間未満)、なぜならば、ユーザは正しくないコンテンツから離れてナビゲートするかまたはアプリケーションを閉じ得るからである。
システムは、アプリケーションリンクについての提示期間に対する機械学習モデルの適用に基づいて、各アプリケーションリンクを破損しているかまたは正常に機能しているものとして分類する(504)。たとえば、システムは、アプリケーションリンクについて観察された提示期間に基づいてアプリケーションリンクが正常に機能しているか破損しているかを予測するように訓練された機械学習モデルを識別することができる。機械学習モデルは、たとえば、図4に示され上に記載される例示的なプロセス400を使用して訓練されてもよい。
いくつかの実現例では、機械学習モデルは、提示期間の分布に基づいて、アプリケーションリンクが正常に機能しているかまたは破損しているかを予測する。たとえば、システムは、各提示期間を、その提示期間が入るある期間の範囲を有する期間グループに割り当ててもよい。システムは、各期間グループに割り当てられた提示期間の数のカウントを判断することができる。各期間グループについてのカウントは、アプリケーションリンクについての提示期間の分布を規定する。機械学習モデルは、各期間グループについてのカウントに適用することができ、機械学習モデルは、そのカウントに基づいて、アプリケーションリンクについての「正常に機能している」または「破損している」の分類を出力することができる。
いくつかの実現例では、機械学習モデルは、アプリケーションリンクのための特徴ベクトルに適用することができる。この例では、特徴ベクトルは、各期間グループについてのベクトル要素を含むことができる。各ベクトル要素の値は、そのベクトル要素に対応する期間グループに割り当てられるアプリケーションリンクについての提示期間の数のカウントに等しくてもよい(または比例してもよい)。
システムは、機械学習モデルによって破損したリンクとして分類された各アプリケーションリンクについて警報を生成して出力する(506)。所与のアプリケーションリンクに対する警報は、所与のアプリケーションリンクを、それが機械学習モデルによって破損しているとして分類されたことに基づいて、破損したリンクとして識別してもよい。システムは、警報をシステム管理者のクライアントデバイスに送信してもよい。これに応答して、システム管理者はさらにアプリケーションリンクを調査してもよい。システム管理者が、アプリケーションリンクが破損していると判断した場合、システム管理者は、破損したリンクを、そのリンクを含む1つ以上の電子リソースから除去してもよく、および/またはそのリンクを修復してもよい。
図6は、破損したアプリケーションリンクのアプリケーションリンクプレフィックスパターンを識別するための例示的なプロセス600のフローチャートである。プロセス600の動作は、たとえば、図1の破損リンク検出システム110のような1つ以上のデータ処理装置を含むシステムによって実施することができる。プロセス600は、コンピュータ記憶媒体に記憶された命令によって実施することもでき、データ処理装置を含むシステムによる命令の実行により、データ処理装置にプロセス600の動作を実行させる。
システムは、アプリケーションリンクのセットついて、少なくともアプリケーションリンクの文字列に基づいて、1つ以上のアプリケーションリンクプレフィックスパターンを識別する(602)。たとえば、上述したように、各アプリケーションリンクは、特定のアプリケーション内における特定の位置を識別するための文字列を含むことができる。システムは、アプリケーションリンクの2つ以上に共通する文字列を識別し、その共通文字列によって定義されるアプリケーションリンクプレフィックスパターンについてグループを生成してもよい。上述したように、アプリケーションリンクグループは、アプリケーションリンクの数および/または各潜在的なグループについて利用可能な提示期間の数に基づいて生成されてもよい。
各アプリケーションリンクプレフィックスパターンについて、そのアプリケーションリンクプレフィックスパターンによって示される文字列を含むアプリケーションリンクのグループを識別する(604)。たとえば、システムは、アプリケーションリンクプレフィックスパターンによって示される文字列を各アプリケーションリンクの文字列と比較してもよい。アプリケーションリンクプレフィックスパターンによって示される文字列と一致する文字のセットを含む各アプリケーションリンクは、そのアプリケーションリンクプレフィックスパターンのためのアプリケーションリンクグループに含まれてもよい。たとえば、第1の文字列が第2の文字列と同じであるかまたは少なくとも特定の類似度を有する場合には、それら2つの文字列は一致すると見なされてもよい。文字列間の類似度は、それら文字列において、同じであり、かつ文字列内の同じ位置にある文字の数(または文字の割合)に基づいていてもよい。いくつかの実現例では、システムは、あるアプリケーションリンクプレフィックスパターンに対するアプリケーションリンクグループ内に、そのアプリケーションリンクプレフィックスパターンによって示される文字列で始まる文字列を有するアプリケーションリンクを含むに過ぎない。
各アプリケーションリンクプレフィックスパターンについて、システムは、アプリケーションリンクのグループ内の各アプリケーションリンクについて提示期間のセットを識別する(606)。たとえば、各アプリケーションリンクは、ある提示期間のセットを有してもよい。システムは、グループについての提示期間を提示期間のセットに集約してもよい。
各アプリケーションリンクプレフィックスパターンについて、システムは、機械学習モデルをアプリケーションリンクのグループについての提示期間のセットに適用する(608)。システムは、図5を参照して上述したものと同じ、または同様の態様で、機械学習モデルを提示期間のセットに適用してもよい。たとえば、システムは、提示期間のセットにおける各提示期間を、その提示期間が入るある期間の範囲を有する期間グループに割り当ててもよい。システムは、各期間グループに割り当てられた提示期間のセットの提示期間の数のカウントを判断することができる。システムは、機械学習モデルを各期間グループについてのカウントに適用することができ、機械学習モデルは、そのカウントに基づいて、アプリケーションリンクについての「正常に機能している」または「破損している」の分類を出力することができる。
いくつかの実現例では、機械学習モデルは、アプリケーションリンクグループのための特徴ベクトルに適用することができる。この例では、特徴ベクトルは、各期間グループについてのベクトル要素を含むことができる。各ベクトル要素の値は、そのベクトル要素に対応する期間グループに割り当てられるアプリケーションリンクグループについての提示期間の数のカウントに等しくてもよい(または比例してもよい)。
システムは、所与のアプリケーションリンクプレフィックスパターンについて、アプリケーションリンクの所与のグループを、機械学習モデルがアプリケーションリンクのセットを破損したものとして分類することに基づいて、破損したリンクとして識別する警報を生成して出力する(610)。たとえば、機械学習モデルは、各アプリケーションリンクグループついて「正常に機能している」または「破損している」という分類を出力してもよい。「破損している」という分類を有するものについて、システムは、アプリケーショングループ内のアプリケーションリンクを破損したリンクとして識別する警報を生成できる。システムは、システム管理者のクライアントデバイスに警報を送信してもよく、システム管理者は、さらに、破損したリンクを調査し修復または除去してもよい。
本明細書において記載される主題および動作の実施形態は、デジタル電子回路系において、または本明細書に開示される構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェアもしくはハードウェアにおいて、またはそれらの1つ以上の組合せにおいて実現され得る。本明細書に記載される主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置による実行のために、または、データ処理装置の動作を制御するためにコンピュータ記憶媒体上でエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実現され得る。代替的に、または加えて、プログラム命令は、データ処理装置による実行に対して好適な受信側装置への送信のために情報をエンコードするよう生成される、たとえばマシンにより生成された電気信号、光信号、または電磁気信号などの、人為的に生成された伝搬される信号上でエンコードすることができる。コンピュータ記憶媒体は、コンピュータ読取可能記憶装置、コンピュータ読取可能記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、または、それらの1つ以上の組合せであり得るかまたはそれに含まれ得る。さらに、あるコンピュータ記憶媒体は伝搬される信号ではない一方、あるコンピュータ記憶媒体は、人工的に生成された伝搬される信号でエンコードされたコンピュータプログラム命令のソースまたは宛先とすることができる。コンピュータ記憶媒体は、さらに、1つ以上の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶装置)であってもよく、またはそれらに含まれてもよい。
本明細書に記載される動作は、1つ以上のコンピュータ読取可能記憶装置に格納されたデータまたは他のソースから受信したデータに対してデータ処理装置によって実行される操作として実現することができる。
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、チップ上のシステム、または前述のもののうちの複数もしくは組合わせを含む、データを処理するためのすべての種類の装置、デバイスおよびマシンを包含する。本装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特定目的論理回路を含み得る。本装置は、さらに、ハードウェアに加えて、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはそれらの1つ以上の組合せを構成するコードといった、当該コンピュータプログラムについて実行環境を生成するコードを含み得る。本装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、さまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても公知である)は、コンパイル型もしくはインタープリタ型言語、宣言型もしくは手続き型言語を含む任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境で使用するのに好適な他のユニットとして含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応してもよいが、対応する必要があるわけではない。プログラムは、当該プログラムに専用である単一のファイルにおいて、または、複数の連携ファイル(coordinated files)(たとえばコードの1つ以上のモジュール、サブプログラムまたは部分を格納するファイル)において、他のプログラムまたはデータ(たとえばマークアップ言語ドキュメントに格納される1つ以上のスクリプト)を保持するファイルの一部に格納され得る。コンピュータプログラムは、1つの場所に位置するかもしくは複数の場所にわたって分散され通信ネットワークによって相互接続される1つのコンピュータまたは複数のコンピュータ上で実行されるように展開され得る。
本明細書に記載されるプロセスおよび論理フローは、入力データを操作し出力を生成することによりアクションを実行するよう1つ以上のプログラマブルプロセッサが1つ以上のコンピュータプログラムを実行することによって実行され得る。本プロセスおよび論理フローの実行、ならびに本装置の実施は、さらに、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特殊目的論理回路系によってもなされ得る。
コンピュータプログラムの実行に好適であるプロセッサは、例として、汎用マイクロプロセッサおよび特殊目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含んでもよい。一般に、プロセッサは、リードオンリメモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受取ることになる。コンピュータの必須の要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般に、コンピュータはさらに、たとえば磁気ディスク、光磁気ディスクまたは光ディスクといった、データを格納するための1つ以上の大容量記憶装置を含むか、当該1つ以上の大容量記憶装置からデータを受取るかもしくは当該1つ以上の大容量記憶装置にデータを転送するよう動作可能に結合されるか、またはその両方を行う。しかしながら、コンピュータはそのような装置を有する必要はない。さらに、コンピュータはたとえば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶装置(たとえばユニバーサルシリアルバス(USB)フラッシュドライブ)といった別のデバイスに埋め込まれ得る。コンピュータプログラム命令およびデータを格納するのに好適であるデバイスは、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスを含み、それらは、例として、たとえばEPROM、EEPROMおよびフラッシュメモリ素子といった半導体メモリデバイス;たとえば内部ハードディスクまたはリムーバブルディスクといった磁気ディスク;光磁気ディスク;ならびにCD−ROMおよびDVD−ROMディスクを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足され得るか、または特殊目的論理回路に組み込まれ得る。
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといったユーザに対して情報を表示するための表示デバイスと、たとえばマウス、トラックボールといったユーザがコンピュータに入力を提供可能であるキーボードおよびポインティングデバイスとを有するコンピュータ上で実現され得る。他の種類のデバイスが同様に、ユーザとの対話を提供するために使用され得;たとえば、ユーザに提供されるフィードバックは、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックといった任意の形態の感覚フィードバックであり得;ユーザからの入力は、音響入力、発話入力、または触覚入力を含む任意の形態で受取られ得る。加えて、コンピュータは、ユーザが使用するデバイスにドキュメントを送信しユーザが使用するデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話し得る。
本明細書に記載される主題の実施形態は、バックエンドコンポーネントをたとえばデータサーバとして含むか、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含むか、たとえば本明細書に記載される主題の実現例とユーザが対話することが可能であるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータといったフロントエンドコンポーネントを含むか、または1つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せを含む計算システムにおいて実現され得る。システムのコンポーネントは、たとえば通信ネットワークといったデジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえばインターネット)、ならびにピアツーピアネットワーク(たとえばアドホックピアツーピアネットワーク)を含む。
計算システムはクライアントおよびサーバを含むことができる。クライアントとサーバとは一般に互いから遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されるとともに互いに対してクライアント−サーバ関係を有するコンピュータプログラムによって発生する。いくつかの実施形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、およびそのユーザからユーザ入力を受信する目的で)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスで生成されたデータ(たとえば、ユーザ対話の結果)は、クライアントデバイスからサーバで受信することができる。
本明細書は多くの具体的な実現例の詳細を含んでいるが、これらは如何なる発明の範囲または請求され得るものの範囲に対する限定としても解釈されるべきではなく、特定の発明の特定の実施形態に特有の特徴の記載として解釈されるべきである。別個の実施形態の文脈で本明細書において記載されるある特徴は、単一の実施形態において組合せでも実現され得る。反対に、単一の実施形態の文脈において記載されるさまざまな特徴は、複数の実施形態において別々に、または任意の好適な部分的組合わせでも実現され得る。さらに、特徴は、ある組合せにおいて作用すると上で記載され、最初はそのように請求されていさえする場合もあるが、請求される組合せからの1つ以上の特徴はいくつかの場合には当該組合せから削除され得、請求される組合せは、部分的組合わせまたは部分的組合わせの変形例に向けられ得る。
同様に、動作が図においては特定の順に示されているが、そのような動作は、望ましい結果を達成するために、示された当該特定の順もしくは連続した順で実行される必要があると理解されるべきではなく、または、すべての示された動作が実行される必要があると理解されるべきではない。ある状況においては、マルチタスキングおよび並列処理が有利であり得る。さらに、上に記載された実施形態におけるさまざまなシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきでなく、記載されたプログラムコンポーネントおよびシステムは一般に、単一のソフトウェアプロダクトに一緒に統合され得るか、または、複数のソフトウェアプロダクトへとパッケージ化され得るということが理解されるべきである。
かくして、主題の特定の実施形態が記載された。他の実施形態は以下の請求の範囲内にある。一部のケースでは、請求項において記載されるアクションは、異なる順で実行され得、それでも望ましい結果を達成し得る。加えて、添付の図において示されるプロセスは、望ましい結果を達成するために、示された特定の順序または連続する順序であることを必ずしも必要としない。ある実現例においては、マルチタスキングおよび並列処理が有利であり得る。

Claims (15)

  1. 所与のアプリケーションにリンクする1つ以上のアプリケーションリンクとの複数の異なるユーザ対話について、前記1つ以上のアプリケーションリンクとの前記複数の異なるユーザ対話に続いて、前記アプリケーションリンクによってリンクされたアプリケーションコンテンツが提示された期間を示す提示期間を示すデータを受信する1つ以上のフロントエンドサーバと、
    前記1つ以上のフロントエンドサーバと通信し、動作を実行する1つ以上のバックエンドサーバとを備え、前記動作は、
    各アプリケーションリンクについての提示期間に対する機械学習モデルの適用に基づいて、前記アプリケーションリンクを破損しているかまたは正常に機能しているものとして分類することを含み、前記機械学習モデルは、ラベル付けされた訓練データを使用して生成され、前記ラベル付けされた訓練データは、訓練アプリケーションリンクのセットにおける各訓練アプリケーションリンクについて、
    前記訓練アプリケーションリンクについての提示期間のセットと、
    前記訓練アプリケーションリンクとのユーザ対話の結果、前記訓練アプリケーションリンクによって指し示されるコンテンツが成功裡に提示されたかどうかに基づいて、前記訓練アプリケーションリンクが破損しているかまたは正常に機能しているかどうかを示すラベルとを含み、前記動作はさらに、
    所与のアプリケーションリンクを、それが前記機械学習モデルによって破損しているとして分類されたことに基づいて、破損したリンクとして識別する警報を生成および出力することをさらに含む、システム。
  2. 前記機械学習モデルは、アプリケーションリンクの分類を、
    前記アプリケーションリンクについての各提示期間を、期間に基づく期間グループのセットのうちのある期間グループに割り当てることであって、各期間グループは、ある期間の範囲に対するものであり、前記期間グループについての前記期間の範囲内にある、前記アプリケーションリンクについての前記提示期間を含むことと、
    各期間グループに割り当てられた提示期間の数によって規定されるパターンに基づいて、前記アプリケーションリンクを、破損しているかまたは正常に機能しているとして分類することとによって行なう、請求項1に記載のシステム。
  3. 前記提示期間の数によって規定される前記パターンは、前記提示期間の分布を含む、請求項2に記載のシステム。
  4. 前記動作は、さらに、
    前記アプリケーションリンクを、プリケーションリンクのセット内のアプリケーションリンクの特性に基づいて、アプリケーションリンクグループのセットにグループ化することを含み、前記アプリケーションリンクのセットは所与のアプリケーションにリンクする前記1つ以上のアプリケーションリンクを含み、
    前記動作は、さらに、
    各アプリケーションリンクグループを、前記アプリケーションリンクグループにおけるアプリケーションリンクについての提示期間に対する前記機械学習モデルの適用に基づいて、破損したリンクまたは正常に機能しているリンクを有するものとして分類することとを含む、請求項1〜3のいずれかに記載のシステム。
  5. 各アプリケーションリンクは、特定のアプリケーション内における特定の位置を識別するための文字列を含み、
    前記動作は、
    前記1つ以上のアプリケーションリンクを含むアプリケーションリンクのセットについて、少なくとも前記アプリケーションリンクの文字列に基づいて、1つ以上のアプリケーションリンクプレフィックスパターンを識別することを含み、各アプリケーションリンクプレフィックスパターンは、2つ以上のアプリケーションリンクに共通の文字列を示し、
    前記動作はさらに、
    各アプリケーションリンクプレフィックスパターンについて、
    前記アプリケーションリンクプレフィックスパターンによって示される前記文字列を含むアプリケーションリンクのグループを識別することと、
    前記アプリケーションリンクのグループ内の各アプリケーションリンクについて提示期間のセットを識別することと、
    前記機械学習モデルを前記アプリケーションリンクのグループについての提示期間に適用することとを含み、前記動作はさらに、
    所与のアプリケーションリンクプレフィックスパターンについて、アプリケーションリンクの所与のグループを、前記機械学習モデルが前記アプリケーションリンクのセットを破損したものとして分類することに基づいて、破損したリンクとして識別する警報を生成および出力することを含む、請求項1〜4のいずれかに記載のシステム。
  6. 前記動作は、各アプリケーションリンクプレフィックスパターンについて利用可能な提示期間の数に基づいて、前記1つ以上のアプリケーションリンクプレフィックスパターンを識別することを含む、請求項5に記載のシステム。
  7. 前記機械学習モデルは線形回帰モデルを含む、請求項1〜6のいずれかに記載のシステム。
  8. データ処理装置によって実行される方法であって、
    所与のアプリケーションにリンクする1つ以上のアプリケーションリンクとの複数の異なるユーザ対話について、前記1つ以上のアプリケーションリンクとの前記複数の異なるユーザ対話に続いて、前記アプリケーションリンクによってリンクされたアプリケーションコンテンツが提示された期間を示す提示期間を示すデータを受信することと、
    各アプリケーションリンクについての提示期間に対する機械学習モデルの適用に基づいて、前記アプリケーションリンクを破損しているかまたは正常に機能しているものとして分類することとを備え、前記機械学習モデルは、ラベル付けされた訓練データを使用して生成され、前記ラベル付けされた訓練データは、訓練アプリケーションリンクのセットに
    おける各訓練アプリケーションリンクについて、
    前記訓練アプリケーションリンクについての提示期間のセットと、
    前記訓練アプリケーションリンクとのユーザ対話の結果、前記訓練アプリケーションリンクによって指し示されるコンテンツが成功裡に提示されたかどうかに基づいて、前記訓練アプリケーションリンクが破損しているかまたは正常に機能しているかどうかを示すラベルとを含み、前記方法はさらに、
    所与のアプリケーションリンクを、それが前記機械学習モデルによって破損しているとして分類されたことに基づいて、破損したリンクとして識別する警報を生成および出力することをさらに備える、データ処理装置によって実行される方法。
  9. 前記機械学習モデルは、アプリケーションリンクの分類を、
    前記アプリケーションリンクについての各提示期間を、期間に基づく期間グループのセットのうちのある期間グループに割り当てることであって、各期間グループは、ある期間の範囲に対するものであり、前記期間グループについての前記期間の範囲内にある、前記アプリケーションリンクについての前記提示期間を含むことと、
    各期間グループに割り当てられた提示期間の数によって規定されるパターンに基づいて、前記アプリケーションリンクを、破損しているかまたは正常に機能しているとして分類することとによって行なう、請求項8に記載の方法。
  10. 前記提示期間の数によって規定される前記パターンは、前記提示期間の分布を含む、請求項9に記載の方法。
  11. 前記方法は、さらに、
    前記アプリケーションリンクをアプリケーションリンクのセット内のアプリケーションリンクの特性に基づいて、アプリケーションリンクグループのセットにグループ化することを、備え、前記アプリケーションリンクのセットは、所与のアプリケーションにリンクする前記1つ以上のアプリケーションリンクを含み、
    前記方法は、
    各アプリケーションリンクグループを、前記アプリケーションリンクグループにおけるアプリケーションリンクについての提示期間に対する前記機械学習モデルの適用に基づいて、破損したリンクまたは正常に機能しているリンクを有するものとして分類するこをさらに備える、請求項8〜10のいずれかに記載の方法。
  12. 各アプリケーションリンクは、特定のアプリケーション内における特定の位置を識別するための文字列を含み、前記方法はさらに、
    前記1つ以上のアプリケーションリンクを含むアプリケーションリンクのセットについて、少なくとも前記アプリケーションリンクの文字列に基づいて、1つ以上のアプリケーションリンクプレフィックスパターンを識別することを備え、各アプリケーションリンクプレフィックスパターンは、2つ以上のアプリケーションリンクに共通の文字列を示し、
    前記方法はさらに、
    各アプリケーションリンクプレフィックスパターンについて、
    前記アプリケーションリンクプレフィックスパターンによって示される前記文字列を含むアプリケーションリンクのグループを識別することと、
    前記アプリケーションリンクのグループ内の各アプリケーションリンクについて提示期間のセットを識別することと、
    前記機械学習モデルを前記アプリケーションリンクのグループについての提示期間に適用することとを備え、前記方法はさらに、
    所与のアプリケーションリンクプレフィックスパターンについて、アプリケーションリンクの所与のグループを、前記機械学習モデルが前記アプリケーションリンクのセットを破損したものとして分類することに基づいて、破損したリンクとして識別する警報を生成および出力することとを備える、請求項8〜11のいずれかに記載の方法。
  13. 各アプリケーションリンクプレフィックスパターンについて利用可能な提示期間の数に基づいて、前記1つ以上のアプリケーションリンクプレフィックスパターンを識別することをさらに備える、請求項12に記載の方法。
  14. 前記機械学習モデルは線形回帰モデルを含む、請求項8〜13のいずれかに記載の方法。
  15. 請求項8〜14のいずれかに記載の方法をコンピュータに実行させる、プログラム。
JP2018504982A 2016-10-17 2016-10-17 破損ネットワーク接続の機械学習に基づく識別 Active JP6689955B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/102265 WO2018072060A1 (en) 2016-10-17 2016-10-17 Machine learning based identification of broken network connections

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020068955A Division JP6875579B2 (ja) 2020-04-07 2020-04-07 破損ネットワーク接続の機械学習に基づく識別

Publications (2)

Publication Number Publication Date
JP2019501429A JP2019501429A (ja) 2019-01-17
JP6689955B2 true JP6689955B2 (ja) 2020-04-28

Family

ID=62018474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018504982A Active JP6689955B2 (ja) 2016-10-17 2016-10-17 破損ネットワーク接続の機械学習に基づく識別

Country Status (7)

Country Link
US (2) US10628511B2 (ja)
EP (1) EP3381158B1 (ja)
JP (1) JP6689955B2 (ja)
KR (1) KR101904436B1 (ja)
CN (1) CN108207119B (ja)
RU (1) RU2715802C1 (ja)
WO (1) WO2018072060A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701166B2 (en) * 2017-01-31 2020-06-30 Microsoft Technology Licensing, Llc Automated application linking
US11461801B2 (en) 2018-03-02 2022-10-04 Adobe Inc. Detecting and resolving semantic misalignments between digital messages and external digital content
CN111344697A (zh) * 2018-07-18 2020-06-26 深圳码隆科技有限公司 用于机器视觉模型的基于复杂度的渐进式训练
JP7392280B2 (ja) * 2019-04-01 2023-12-06 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11341204B2 (en) * 2019-05-22 2022-05-24 Adobe Inc. Identifying and presenting misalignments between digital messages and external digital content
US11271824B2 (en) * 2019-07-25 2022-03-08 Vmware, Inc. Visual overlays for network insights
US11005727B2 (en) 2019-07-25 2021-05-11 Vmware, Inc. Visual overlays for network insights
US11669582B2 (en) * 2021-03-24 2023-06-06 Rookie Road, Inc. Systems and methods for automatic resource replacement

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253204B1 (en) * 1997-12-17 2001-06-26 Sun Microsystems, Inc. Restoring broken links utilizing a spider process
US20040070606A1 (en) * 2002-09-27 2004-04-15 Dan Yang Method, system and computer product for performing e-channel analytics
US7624173B2 (en) * 2003-02-10 2009-11-24 International Business Machines Corporation Method and system for classifying content and prioritizing web site content issues
US7992090B2 (en) * 2003-09-25 2011-08-02 International Business Machines Corporation Reciprocal link tracking
US7516147B2 (en) * 2003-10-23 2009-04-07 Sumisho Computer Systems Corporation URL system and method for licensing content
JP2005301502A (ja) * 2004-04-08 2005-10-27 Simple Create:Kk 広告システム、端末装置、および端末装置用プログラム
US7484178B2 (en) * 2004-08-30 2009-01-27 International Business Machines Corporation Method and apparatus for self validating URL links
US7610267B2 (en) * 2005-06-28 2009-10-27 Yahoo! Inc. Unsupervised, automated web host dynamicity detection, dead link detection and prerequisite page discovery for search indexed web pages
JP2007272695A (ja) 2006-03-31 2007-10-18 Fujitsu Ltd ブラウザ処理プログラムおよびブラウザ処理装置
US20080052629A1 (en) 2006-08-26 2008-02-28 Adknowledge, Inc. Methods and systems for monitoring time on a web site and detecting click validity
US20080133500A1 (en) * 2006-11-30 2008-06-05 Caterpillar Inc. Website evaluation and recommendation tool
US8015139B2 (en) * 2007-03-06 2011-09-06 Microsoft Corporation Inferring candidates that are potentially responsible for user-perceptible network problems
CN101822003A (zh) * 2007-08-22 2010-09-01 日本电信电话株式会社 路径管理控制方法、路径管理控制程序、路径管理控制装置和路径管理控制系统
US8326941B2 (en) 2007-12-31 2012-12-04 International Business Machines Corporation Method for autonomic detection and repair of broken links in web environments
US8095530B1 (en) * 2008-07-21 2012-01-10 Google Inc. Detecting common prefixes and suffixes in a list of strings
US20100287174A1 (en) * 2009-05-11 2010-11-11 Yahoo! Inc. Identifying a level of desirability of hyperlinked information or other user selectable information
US8666996B2 (en) 2009-12-23 2014-03-04 Mastercard International Incorporated Methods and systems for detecting broken links within a file
US8909732B2 (en) * 2010-09-28 2014-12-09 Qualcomm Incorporated System and method of establishing transmission control protocol connections
US8996977B2 (en) * 2010-12-10 2015-03-31 International Business Machines Corporation System, method, and computer program product for management of web page links
US9075885B2 (en) 2011-04-07 2015-07-07 Cisco Technology, Inc. System for handling a broken uniform resource locator
CN102663062B (zh) * 2012-03-30 2015-01-14 北京奇虎科技有限公司 一种处理搜索结果中无效链接的方法及装置
US8792347B2 (en) 2012-06-01 2014-07-29 Opera Software Ireland Limited Real-time network monitoring and subscriber identification with an on-demand appliance
US9301173B2 (en) 2013-03-15 2016-03-29 The Nielsen Company (Us), Llc Methods and apparatus to credit internet usage
US20140316890A1 (en) * 2013-04-23 2014-10-23 Quixey, Inc. Entity Bidding
US20140325327A1 (en) * 2013-04-29 2014-10-30 International Business Machines Corporation Replacing problem web links using context information
CN103605992B (zh) * 2013-11-28 2018-01-19 国家电网公司 一种电力内外网交互中的敏感图像识别方法
JP6157395B2 (ja) * 2014-03-28 2017-07-05 株式会社Kddi総合研究所 リンク補完装置、リンク補完方法及びリンク補間プログラム
CN105207797A (zh) * 2014-06-20 2015-12-30 中国电信股份有限公司 故障定位方法和装置
US9979644B2 (en) * 2014-07-13 2018-05-22 Cisco Technology, Inc. Linking to content using information centric networking
GB2530507A (en) * 2014-09-24 2016-03-30 Ibm Checking links
WO2016112209A1 (en) * 2015-01-09 2016-07-14 Ecorithm, Inc. Machine learning-based fault detection system
WO2016115406A1 (en) * 2015-01-14 2016-07-21 Hughes Network Systems, Llc Determining link conditions of a client lan/wan from measurement point to client devices and application servers of interest
US10530671B2 (en) 2015-01-15 2020-01-07 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for generating and using a web page classification model
CN105022824B (zh) * 2015-07-21 2018-07-03 北京神州绿盟信息安全科技股份有限公司 无效链接的识别方法和装置
CN105975526A (zh) * 2016-04-29 2016-09-28 国家计算机网络与信息安全管理中心 一种url链接有效性的验证方法

Also Published As

Publication number Publication date
KR101904436B1 (ko) 2018-10-04
US11361046B2 (en) 2022-06-14
US20200192964A1 (en) 2020-06-18
EP3381158A4 (en) 2019-03-20
US10628511B2 (en) 2020-04-21
US20190197077A1 (en) 2019-06-27
RU2715802C1 (ru) 2020-03-03
CN108207119A (zh) 2018-06-26
KR20180050608A (ko) 2018-05-15
WO2018072060A1 (en) 2018-04-26
EP3381158B1 (en) 2021-03-10
CN108207119B (zh) 2021-06-01
EP3381158A1 (en) 2018-10-03
JP2019501429A (ja) 2019-01-17

Similar Documents

Publication Publication Date Title
JP6689955B2 (ja) 破損ネットワーク接続の機械学習に基づく識別
US11868242B1 (en) Method, apparatus, and computer program product for predictive API test suite selection
US11694093B2 (en) Generation of training data to train a classifier to identify distinct physical user devices in a cross-device context
US10599506B2 (en) Methods and systems for identifying action for responding to anomaly in cloud computing system
US11106562B2 (en) System and method for detecting anomalies based on feature signature of task workflows
AU2014259533B1 (en) Analytics for application programming interfaces
US9906542B2 (en) Testing frequency control using a volatility score
US20230040564A1 (en) Learning Causal Relationships
US20190138912A1 (en) Determining insights from different data sets
US20220300822A1 (en) Forgetting data samples from pretrained neural network models
US11869050B2 (en) Facilitating responding to multiple product or service reviews associated with multiple sources
US20150286753A1 (en) Estimating Think Times
JP2024506519A (ja) 仮想対話システムの性能評価及び強化
US11475324B2 (en) Dynamic recommendation system for correlated metrics and key performance indicators
JP6875579B2 (ja) 破損ネットワーク接続の機械学習に基づく識別
US20220309247A1 (en) System and method for improving chatbot training dataset
AU2021251463B2 (en) Generating performance predictions with uncertainty intervals
EP4359932A1 (en) In-app failure intelligent data collection and analysis
US10380339B1 (en) Reactively identifying software products exhibiting anomalous behavior
US10580017B2 (en) Using ontological distance to measure unexpectedness of correlation
CN111949860A (zh) 用于生成相关度确定模型的方法和装置
WO2023027813A1 (en) Performing quality-based action(s) regarding engineer-generated documentation associated with code and/or application programming interface
CN111679980A (zh) 后台数据模拟方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191007

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200217

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200218

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200408

R150 Certificate of patent or registration of utility model

Ref document number: 6689955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250