私は単語のリストを含むカスタム辞書を作成しました。今では、Perlで単語をとり、その辞書から与えられた単語に最も近い(字句順の)単語のリスト(例えば5つ)を生成するプログラムを作成する予定です。今私はそれをするのに役立つモジュールがすでにあるかどうかを知りたいと思います。そうでない場合、どうすればそのようなことを達成することができますか?事前に感謝Perlで指定された単語の候補リストを生成するには?
1
A
答えて
2
私はあなたが自動修正機能に取り組んでいると思います。私は似たような機能に取り組み、Text::SpellCheckerは本当に私を助けました。このモジュールはバックグラウンドでaspell
またはhunspell
を使用するため、多言語サポートもあります。スペルミスで単語をチェックし、同じことを提案します。
use Text::SpellChecker;
($Text::SpellChecker::pre_hl_word,
$Text::SpellChecker::post_hl_word) = (qw([ ]));
my $checker = Text::SpellChecker->new(text => "Foor score and seven yeers ago");
while (my $word = $checker->next_word) {
print $checker->highlighted_text,
"\n",
"$word : ",
(join "\t", @{$checker->suggestions}),
"\nChoose a new word : ";
chomp (my $new_word = <STDIN>);
$checker->replace(new_word => $new_word) if $new_word;
}
希望します。
1
はい、Search::Dictは、辞書ファイル内の単語または最も近い単語を効率的に検索します。このプログラムは、入力された単語の周りの単語を検索します。例えば
#!/usr/bin/perl
use strict;
use warnings;
use autodie;
use v5.10;
use Search::Dict;
use POSIX qw(ceil floor);
my $target = shift;
my $Window_Size = 5;
my @window;
open my $fh, "/usr/share/dict/words";
# Find the spot in the file where the word
# is >= our word.
# Use dictinoary order and ignore case.
my $pos = look $fh, $target, 1, 1;
# Add the next words
for(1..ceil($Window_Size/2)) {
my $word = <$fh>;
chomp $word;
redo if $word eq $target;
push @window, $word;
}
# Read the previous block of words
my $string;
seek $fh, $pos - 256, 0;
read $fh, $string, 256;
my @previous_words = split /\n/, $string;
# Add them to our list at the front.
for(1..floor($Window_Size/2)) {
unshift @window, pop @previous_words;
}
say join ", ", @window;
...あなたの言葉が "A" または "Zyzzogetonは" 運動として残っているもののような
$ perl ~/tmp/test.plx foot
fooster, foosterer, footage, footback, football
エッジケース。
関連する問題
- 1. Inputscope = "Search"で単語候補をオフにする
- 2. 複数単語の検索候補の作成
- 3. HTML5メール - iOS - 単語候補を無効にしますか?
- 4. テキストファイルからの単語候補のデータ構造
- 5. Javaの解析は、指定された単語に応じ
- 6. Djangoランダムに生成された単語(パスフレーズまたは模倣単語)
- 7. '/'候補が予想されるコンテキスト結果の型 'NSNumber'を生成しない
- 8. ファイルからの単語で構成される単語リストの作成方法
- 9. 指定された単語の後にデータを取得
- 10. 単語の単独リンクされたリスト
- 11. autocomplete jQueryスクリプトの定義済みアドレスに候補単語をリンクする方法は?
- 12. これはリアクティブエクステンションの候補ですか?
- 13. 指定された数の単語だけを返します
- 14. テキスト内の指定された単語を無視するには?
- 15. Pythonで並べ替えられた単語リストのサブセットを生成する
- 16. 保存された単語リストからのみtext2vectorで文書用語行列を生成する方法
- 17. Androidの検索候補に複数の候補候補を表示するにはどうすればよいですか?
- 18. 指定された文字列内の2つの特定の単語の間の単語を印刷する
- 19. Spark(scala)dataframes - 指定された文字列に含まれるセットからの単語のリストを返す
- 20. 単語のリストをタプルのバインドされた単語に変換する
- 21. Zsh:補完候補である特定のエイリアスセットを優先させる
- 22. BlueSnap仮想端末 - 製品の最終候補リストを設定
- 23. たPerl:指定されたパス
- 24. pimpl候補の測定方法は?
- 25. JBehaveのstextシナリオの候補ステップメソッドスタブを自動生成
- 26. UPSアドレス検証API候補リスト
- 27. LUISで定義された単語リストにエンティティを一致させる方法
- 28. MySQL - 指定された文字だけで構成された単語を選択します。
- 29. Androidの検索ダイアログに不要な追加候補リストが表示される
- 30. C#指定されたセルにテーブルにシェイプを挿入する単語
「足」があれば、「飼育者、飼育者、映像、フットバック、フットボール」が必要でしょうか? – Schwern