オートコンプリート

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

オートコンプリート単語補完)は、ユーザーが入力している単語の残りの部分をアプリケーションが予測する機能です。AndroidおよびiOS [1] スマートフォンでは、これは予測テキストと呼ばれます。グラフィカルユーザーインターフェイスでは、ユーザーは通常、Tabキーを押して提案を受け入れるか、下矢印キーを押していくつかのいずれかを受け入れることができます。

オートコンプリートは、テキスト入力フィールドに数文字しか入力されていないユーザーが入力しようとしている単語を正しく予測すると、人間とコンピューターのやり取りを高速化します。可能な単語の数が限られているドメイン(コマンドラインインタープリターなど)、一部の単語がはるかに一般的である場合(電子メールのアドレス指定など)、または構造化された予測可能なテキストの記述(ソースコードなど)で最適に機能します。編集者)。

多くのオートコンプリートアルゴリズムは、ユーザーが数回書いた後に新しい単語を学習し、個々のユーザーの学習した習慣に基づいて代替案を提案できます。

定義

本来の目的

単語予測ソフトウェアの本来の目的は、身体障害を持つ人々がタイピング速度を上げるのを助け[2]、単語や文を完成させるために必要なキーストロークの数を減らすのを助けることでした。[3]速度を上げる必要性は、音声生成デバイスを使用する人々が一般に、口頭の音声を使用する人々の10%未満の速度で音声を生成するという事実によって指摘されています。[4]しかし、この機能は、テキストを書く人、特に、技術的または医学的な性質の長い、綴りにくい用語を頻繁に使用する医師などの人々にも非常に役立ちます。

説明

オートコンプリートまたは単語補完は、ライターが単語の最初の1つまたは複数の文字を書き込むときに、プログラムが1つ以上の可能な単語を選択肢として予測するように機能します。彼が書きたい単語がリストに含まれている場合、たとえば数字キーを使用してそれを選択できます。ユーザーが望む単語が予測されない場合、ライターは単語の次の文字を入力する必要があります。このとき、提供される単語が選択されたものと同じ文字で始まるように、単語の選択が変更されます。ユーザーが望む単語が表示されると、それが選択され、その単語がテキストに挿入されます。[5] [6]単語予測の別の形式では、最近使用された単語のペアに基づいて、今書かれた単語に続く可能性が最も高い単語が予測されます。[6] 単語予測は設定された語彙内で単語が発生する可能性が最も高い言語モデリングが計算されます。[7] 言語モデリングに加えて、AACデバイスでの基本的な単語予測は、AACユーザーが最近頻繁に使用した単語が予測される可能性が高い、頻度モデルと組み合わされることがよくあります。[4] 単語予測ソフトウェアでは、ユーザーが自分の単語を単語予測辞書に直接入力することも、書かれた単語を「学習」することによって入力することもできます。[5] [6]性器やその他の下品な用語に関連する検索結果の一部は、病的な用語と同様に、オートコンプリートテクノロジーから除外されることがよくあります[8] [9]

スタンドアロンツール

既存のアプリケーションにオートコンプリート機能を追加するスタンドアロンツールがあります。これらのプログラムは、ユーザーのキーストロークを監視し、最初に入力した文字に基づいて単語のリストを提案します。例としては、TypingaidやLetmetypeがあります。[10] [11]フリーウェアのLetMeTypeは開発されなくなり、作成者はソースコードを公開し、誰でも開発を継続できるようになりました。Typingaidもフリーウェアであり、積極的に開発されています。インテリコンプリートは、フリーウェアとペイウェアの両方のバージョンであり、インテリコンプリートサーバープログラムに接続する特定のプログラムでのみ機能します。[12]多くのオートコンプリートプログラムを使用して速記を作成することもできますリスト。オリジナルのオートコンプリートソフトウェアはSmartypeでした。これは、1980年代後半にさかのぼり、現在でも利用できます。当初はWordPerfectfor MS / DOSで作業するトランスクライバー向けに開発されましたが、現在はWindowsまたはWebベースのプログラムのすべてのアプリケーションで機能します。

速記

速記は、自動置換とも呼ばれ、特定の文字列を別の文字列に自動的に置き換える関連機能です。通常、「myname」と「LeeJohnNikolaiFrançoisAlRahman」のように、長くて入力が難しい文字列です。これにより、「 teh」を「the」に変えるなどの単純な入力エラーを静かに修正することもできます。単語リストに基づいた、スタンドアロンまたはテキストエディタに統合されたいくつかのオートコンプリートプログラムには、頻繁に使用されるフレーズの省略機能も含まれています。

コンテキスト補完

コンテキスト補完は、単語補完と同様のテキストエディタ機能であり、同じドキュメント内またはトレーニングデータセット内の他の類似した単語の現在のコンテキストとコンテキストに基づいて単語(またはフレーズ全体)を補完します。コンテキスト補完の主な利点は、最初の文字がなくても、予想される単語をより正確に予測できることです。主な欠点は、トレーニングデータセットが必要なことです。これは通常、単純な単語補完よりもコンテキスト補完の方が大きくなります。コンテキスト補完の最も一般的な使用法は、高度なプログラミング言語エディターとIDEで見られます。ここでは、トレーニングデータセットが本質的に利用可能であり、コンテキスト補完は広義の単語補完よりもユーザーにとって意味があります。

行補完はコンテキスト補完の一種であり、2006年7月にTEDメモ帳でJuraj Simlovicによって最初に導入されました。行補完のコンテキストは現在の行であり、現在のドキュメントはトレーニングデータセットを装っています。ユーザーが頻繁に使用されるフレーズで始まる行を開始すると、エディターは、類似した行が異なる位置まで自動的にそれを完了するか、一般的な継続のリストを提案します。

アプリケーションのアクション完了は、現在のコンテキストに基づいて、OSの既存のアプリケーションまたはすべての既存のアプリケーションにオートコンプリート機能を追加するスタンドアロンツールです。アクション完了の主な利点は、予想されるアクションを予測できることです。主な欠点は、データセットが必要なことです。アクション完了の最も一般的な使用法は、高度なプログラミング言語エディターとIDEで見られます。ただし、PC全体のすべてのアプリケーションで、それぞれのアプリケーションのアクション完了を(非常に)妨げることなく、グローバルに並行して機能するアクション完了ツールもあります。

ソフトウェアによる使用法

Webブラウザの場合

MozillaFirefoxの検索ボックスのオートコンプリート

Webブラウザーでは、オートコンプリートはアドレスバー(ブラウザーの履歴の項目を使用)および検索エンジンの検索ボックスなどの頻繁に使用されるページのテキストボックスで実行されます。Webアドレスのオートコンプリートは、完全なアドレスが長く、正しく入力するのが難しい場合が多いため、特に便利です。HTML5にはオートコンプリートフォーム属性があります。

電子メールプログラムの場合

電子メールプログラムでは、通常、オートコンプリートを使用して、目的の受信者の電子メールアドレスを入力します。一般に、頻繁に使用される電子メールアドレスは少数であるため、オートコンプリートを使用してそれらの中から選択するのは比較的簡単です。Webアドレスと同様に、電子メールアドレスは長いことが多いため、完全に入力するのは不便です。

たとえば、Microsoft Outlook Expressは、名簿で使用されている名前に基づいてアドレスを検索します。 GoogleGmailは、アドレスまたは保存された名前に含まれる任意の文字列でアドレスを検索します。

検索エンジンで

検索エンジンでは、オートコンプリートユーザーインターフェイス機能により、ユーザーが検索ボックスにクエリを入力するときに、提案されたクエリまたは結果が提供されます。これは、一般にオートサジェストまたはインクリメンタルサーチとも呼ばれますこのタイプの検索は、音声Soundexアルゴリズムや言語に依存しないLevenshteinアルゴリズムなど、入力エラーを許容するマッチングアルゴリズムに依存することがよくあります大きなインデックスや人気のあるクエリリストを数ミリ秒以内に検索して、入力中に結果がポップアップ表示されるようにするという課題が残っています。

オートコンプリートは、検索が行われるときに否定的な検索用語が提案された場合、個人や企業に悪影響を与える可能性があります。オートコンプリートは、詐欺、苦情、詐欺などの否定的な検索用語に関連する企業が結果を変更しようとするため、評判管理の一部になりました。特にグーグルは彼らのアルゴリズムがどのように機能するかに影響を与えるいくつかの側面をリストアップしました、しかしこれは操作に開かれた領域です。[13]

ソースコードエディタで

Qt Creator 5.0でのコード補完:プログラマーはコードを入力し、ソフトウェアが変数識別子やクラス名などの認識可能な文字列を検出すると、識別された変数の完全な名前またはに適用可能なメソッドを含むメニューをプログラマーに提示します。検出されたクラス、およびプログラマーは自分のマウスまたはキーボードの矢印キーを使用して選択を行います。プログラマーが選択せずに入力を続けると、メニューが消えます

ソースコードのオートコンプリートは、コード補完とも呼ばれますソースコードエディタでは、プログラミング言語の通常の構造によってオートコンプリートが大幅に簡素化されます通常、変数や関数の名前など、現在のコンテキストまたは名前空間で意味のある単語の数は限られています。コード補完の例は、MicrosoftIntelliSense設計です。これには、ユーザーが適切なプレフィックスを選択できるように、現在の入力プレフィックスの可能な補完のポップアップリストを表示することが含まれます。多くの場合、プログラマーは特定のクラスのメンバーを正確に知らないため、これはオブジェクト指向プログラミングで特に役立ちます。もっている。したがって、オートコンプリートは、入力メソッドとしてだけでなく、便利なドキュメントの形式としても機能します。ソースコードのオートコンプリートのもう1つの有益な機能は、プログラマーが小文字と大文字の両方を組み込んだ、より長く、より説明的な変数名(CamelCase)を使用するように促し、ソースコードを読みやすくすることです。「numberOfWordsPerParagraph」のように大文字と小文字が混在する大きな単語を入力するのは難しい場合がありますが、オートコンプリートを使用すると、キーストロークの一部を使用して単語の入力を完了することができます。

データベースクエリツールで

データベースクエリツールのオートコンプリートにより、ユーザーはSQLステートメントのテーブル名とSQLステートメントで参照されるテーブルの列名をオートコンプリートできます。テキストがエディターに入力されると、SQLステートメント内のカーソルのコンテキストは、ユーザーが表の補完または表の列の補完のどちらを必要としているかを示します。テーブル補完は、ユーザーが接続しているデータベースサーバーで使用可能なテーブルのリストを提供します。列の補完により、SQLステートメントで参照されるテーブルのみの列のリストが提供されます。SQL Server Management Studioは、クエリツールでオートコンプリートを提供します。[要出典]

ワードプロセッサで

多くのワードプロセッシングプログラムでは、オートコンプリートにより、繰り返しの単語やフレーズの入力にかかる時間が短縮されます。オートコンプリートのソース資料は、現在のドキュメントの残りの部分から、またはユーザーが定義した一般的な単語のリストから収集されます。現在、 Apache OpenOfficeCalligra SuiteKOfficeLibreOfficeMicrosoft Officeには、 EmacsVimなどの高度なテキストエディタと同様に、この種のオートコンプリートのサポートが含まれています

  • Apache OpenOfficeWriterLibreOfficeWriterには、辞書全体からではなく、以前にテキストに入力された単語を提案する実用的な単語補完プログラムがあります。
  • Microsoft Excelスプレッドシートアプリケーションには、以前に上部のセルに入力された単語を提案する実用的な単語補完プログラムがあります

コマンドラインインタプリタで

PowerShellでのコマンドライン補完

UnixshbashWindowscmd.exePowerShellなどコマンドラインインタープリター、または同様のコマンドラインインターフェイスでは、コマンド名とファイル名のオートコンプリートは、可能なすべての情報を追跡することで実現できます。ユーザーがアクセスできるものの名​​前。ここでオートコンプリートは通常、Tab ↹単語の最初の数文字を入力した後にキーを押します。たとえば、現在のディレクトリでxで始まる唯一のファイルがxLongFileNameである場合、ユーザーはxと入力して、完全な名前にオートコンプリートすることを選択できます。同じスコープ内にxで始まる別のファイル名またはコマンドがある場合、ユーザーはさらに文字を入力するか、Tabキーを繰り返し押して適切なテキストを選択します。

効率

効率のためのパラメータ

単語補完の効率は、入力された単語の平均の長さに基づいています。たとえば、テキストが変数、関数、またはクラスの長いマルチワード名を持つプログラミング言語で構成されている場合、補完は便利であり、Vimなどのプログラマー向けのエディターで一般的に適用されます。

言語が異なれば、単語の長さも大幅に異なる可能性があります。上記の例を取り上げると、ドイツ語のサッカー選手は、15文字の長さの「Fussballspieler」として翻訳されています。この例は、英語がWCにとって最も効率的な言語ではないことを示しています。この研究[14]は、 100,000語を超えるコーパス内の英語の単語の平均長が8.93、チェコ語が10.55、ドイツ語が13.24であることを示しています。さらに、ドイツ語のように、融合言語膠着語と呼ばれるいくつかの言語では、単語を組み合わせて、さらに長い単語を作成することができます。

医師や化学者のように非常に長い単語を頻繁に使用する著者は、明らかに他の著者よりもオートコンプリート(単語補完)ソフトウェアをさらに多く使用しています。

調査

研究によると、単語予測ソフトウェアは必要なキーストロークの数を減らし、障害児の書面による生産性を向上させることが示されていますが[2]、単語予測が実際に出力速度を上げるかどうかについてはさまざまな結果があります。[15] [16] 単語予測が必ずしもテキスト入力率を増加させない理由は、認知的負荷の増加と、キーボードからモニターに視線を移動する必要があるためであると考えられています。[2]

この認知的負荷を軽減するために、リストを5つの可能性のある単語に減らし、それらの単語を垂直にレイアウトするなどのパラメータを使用できます。[2] 垂直レイアウトは、頭と目の動きを最小限に抑えることを目的としており、単語の長さが明らかになるため、視覚的な手がかりも追加されます。[17]多くのソフトウェア開発者は、単語予測リストがカーソルの後に 続く場合、これにより眼球運動が減少すると信じていますが[2] 、二分脊椎の子供たちの研究ではTam、Reid、O'Keefe&Nauman(2002)によって、タイピングがより正確であり、リストが画面の下端の正中線に表示されたときに子供たちも好むことが示されました。いくつかの研究では、必要な眼球運動の量が減少するため、単語リストがキーボードに近づくと、単語予測のパフォーマンスと満足度が向上することがわかっています。[18]

単語予測付きのソフトウェアは、複数のメーカーによって製造されています。このソフトウェアは、 Microsoft Wordなどの一般的なプログラムのアドオンとして購入できます(たとえば、WordQ + SpeakQ、Typing Assistant、[19] Co:Writer、[要出典] Wivik、[要出典] Ghotit Dyslexia)、[ [要出典]またはAACデバイスの多くの機能の1つとして(PRCのパスファインダー、[要出典] Dynavox Systems、[要出典] SaltilloのChatPC製品[要出典])。いくつかのよく知られているプログラム:Intellicomplete、[要出典]。これはフリーウェアとペイウェアの両方のバージョンで利用できますが、それで動作するように作成されたプログラムでのみ動作します。Letmetype [要出典]とTypingaid [要出典]はどちらも、任意のテキストエディタで動作するフリーウェアプログラムです。

オートコンプリートの初期バージョンは、1967年にH. ChristopherLonguet-Higginsによって彼のComputer-AssistedTypewriter(CAT)で説明されました[20]。プログラマーが1つまたは2つの記号だけを入力した後、CATによって完成されました。」

も参照してください

参考文献

  1. ^ 「iPhone、iPad、またはiPodtouchでオートコレクトと予測テキストを使用する方法-Appleサポート」
  2. ^ a b c d e Tam、シンシア; ウェルズ、デビッド(2009)。「キーボードレベルで携帯情報端末に単語予測リストを表示することの利点を評価する」。支援技術21(3):105–114。土井10.1080 / 10400430903175473PMID19908678_ S2CID23183632_  
  3. ^ Anson、D.、Moist、P.、Przywara、M.、Wells、H.、Saylor、H。&Maxime、H。(2006)ウェイバックマシンで2017年8月8日にアーカイブされたオンスクリーンキーボードを使用したタイピング率に対する単語補完と単語予測の影響 支援技術、18、146-154。
  4. ^ a b Trnka、K.、Yarrington、JM&McCoy、KF(2007)。AACのコミュニケーション率に対する単語予測の影響NAACL HLT 2007の議事録、コンパニオンボリューム、173-176。
  5. ^ a b Beukelman、DR&Mirenda、P。(2008)。増強的かつ代替的なコミュニケーション:複雑なコミュニケーションを必要とする子供と大人をサポートします。(第3版)メリーランド州ボルチモア:ブルックス出版、p。77。
  6. ^ a b c Witten、IH; ダラーグ、ジョンJ.(1992)。リアクティブキーボード英国ケンブリッジ:ケンブリッジ大学出版局。pp。43–44。ISBN 978-0-521-40375-7
  7. ^ Jelinek、F。(1990)。音声認識のための自己組織化言語モデリングWaibel、A。&Kai-Fulee、Ed。モーガン、音声認識におけるMBリーディング(pp.450)。カリフォルニア州サンマテオ:Morgan Kaufmann Publishers、Inc。
  8. ^ Oster、1月。「仲介者のコミュニケーション、名誉毀損および責任。」法学35.2(2015):348-368
  9. ^ マカロック、グレッチェン(2019年2月11日)。「オートコンプリートはあなたの最高のバージョンを提示します」有線2019年2月11日取得
  10. ^ http://www.autohotkey.com/community/viewtopic.php?f=2&t=53630 TypingAid
  11. ^ 「アーカイブされたコピー」2012-05-27にオリジナルからアーカイブされました2012年5月9日取得{{cite web}}:CS1 maint:タイトルとしてアーカイブされたコピー(リンクLetMeType
  12. ^ http://www.intellicomplete.com/医学のワードリストを含むオートコンプリートプログラム
  13. ^ デビッド、ニール(2015-06-03)。「オートコンプリート検索候補の変更」レピュテーションステーション2015年6月19日取得
  14. ^ [1]
  15. ^ Dabbagh、HH&Damper、RI(1985)。通信速度の予測因子としての平均選択の長さと時間。RESNA 1985年次会議の議事録、RESNA Press、104-106。
  16. ^ Goodenough-Trepagnier、C。、およびRosen、MJ(1988)。コミュニケーションエイド処方の予測的評価:運動によって決定される最大コミュニケーション速度。LE Bernstein(Ed。)、声に障害のある人:臨床実践と研究(pp.165-185)フィラデルフィア:Grune&Stratton。; Tam&Wells(2009)、pp。105-114に引用されています。
  17. ^ Swiffin、AL、Arnott、JL、Pickering、JA、およびNewell、AF(1987)。コミュニケーションプロテーゼにおける適応および予測技術。拡大代替コミュニケーション、3、181–191; Tam&Wells(2009)で引用されています。
  18. ^ Tam、C.、Reid、D.、Naumann、S。、およびO'Keefe、B。(2002)。二分脊椎と水頭症の子供たちの書面による生産性に対する単語予測介入の認識された利点作業療法インターナショナル、9、237–255; Tam&Wells(2009)で引用されています。
  19. ^ http://www.prlog.org/10519217-typing-assistant-new-generation-of-word-prediction-software.htmlタイピングアシスタント
  20. ^ Longuet-Higgins、HC、Ortony、A.、The Adaptive Memorization of Sequences、In Machine Intelligence 3、Proceedings of the Third Annual Machine Intelligence Workshop、University of Edinburgh、September 1967. 311-322、Publisher:Edinburgh University Press、1968

外部リンク