2

私はアプリケーションを作成中です。ユーザーがテキストボックスに入力した内容をユーザーが入力するときに読み取る機能をアプリケーションに含めたいと思います。これまでの文章に基づいて、ユーザーに2つを提示します。もの。

1)簡単にオートコンプリートできるように入力している可能性のあるフレーズのリスト。これらの提案を取得するために検索できるフレーズのプリセットリストを使用すると思います。

2)文型に基づいて、または単に最後に入力された単語に基づいて、文の次に来る可能性が最も高い単語のリスト。

私の質問は、このようなものは他にありますか?そして、おそらく何千もの文字列を検索して、可能な限り迅速かつ効果的に一致するものを見つけるための最良の方法は何ですか?文字列は、SDカードのテキストファイルに保存する必要がありますか、それともコードに直接保存する必要がありますか、ある種のデータベースやxmlファイル、さらにはcvsファイルに保存する必要がありますか?どんなアイデアでも素晴らしいでしょう

4

2 に答える 2

1

私はこれを自分で調べていました、私はあなたがこれを見るべきだと思います

彼らが使用したコード:

 public class CountriesActivity extends Activity {
 protected void onCreate(Bundle icicle) {
     super.onCreate(icicle);
     setContentView(R.layout.countries);

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
             android.R.layout.simple_dropdown_item_1line, COUNTRIES);
     AutoCompleteTextView textView = (AutoCompleteTextView)
             findViewById(R.id.countries_list);
     textView.setAdapter(adapter);
 }

 private static final String[] COUNTRIES = new String[] {
     "Belgium", "France", "Italy", "Germany", "Spain"
 };

}

プリセットフレーズを静的な最終文字列に宣言し、上記の例の「COUNTRIES」の代わりに使用できます。

さて、次の単語タイプを「予測」しようとしているのなら、それは別の話です。文の後に来る可能性のある単語の数を予測するSwiffkeyと呼ばれるアプリがあります。多分あなたはそれをグーグルして、その機能を実装する方法をあなたに示すかもしれないソースコードがあるかどうか見ることができます。

于 2012-11-27T06:23:22.463 に答える
1

あなたはGoogle Scribeをチェックアウトすることができます-それはあなたが話していることのほとんどを行います. リンクは以前はhttp://scribe.googlelabs.comでしたが、現在はなくなっているようです :(。 また、swiftkey などの多くのキーボードや、標準の Android キーボードでさえ、基本的な「次の単語」予測機能を備えています。

現在の単語の予測については、フィルタリングする加重辞書がおそらく最適です。次に、構文に基づいて次の単語の予測を同様に行うことができます (これには、辞書に何らかの意味構造が必要です。つまり、どの単語が主語で、どれが動詞で、動詞が取ることができるさまざまな形式 (句、法助など) です)。

あなたの研究のためのいくつかのリンク:

このようなタグ付けされたデータをアタッチしてすばやく検索できるデータベースはすべて機能するはずですが、実際にそれを構築するのは非常に困難です。非常に野心的なプロジェクトであり、幸運を祈ります!

于 2012-11-27T06:31:21.443 に答える