入力として指定されたビデオからテキストを抽出し、そのテキストをテキスト ファイルに保存するビデオ処理プロジェクトに取り組んでいます。単語だけでなくゴミのテキストも含むテキストがあり、意味のある単語を生成されたテキストをタグに変換しますか? 誰でもこれに使用できる API/アルゴリズムを提案できますか?
質問する
1702 次
2 に答える
1
Apache OpenNLP (自然言語処理) と C# 派生のSharpNLPをご覧ください。
于 2013-03-29T21:06:46.853 に答える
0
SharpNLP をSharpEntropy.dll および OpenNLP.dllと共に使用して、次のスニペットとともにこれを行うことができます。
private OpenNLP.Tools.Tokenize.EnglishMaximumEntropyTokenizer mTokenizer;
private string[] Tokenize(string text)
{
if (mTokenizer == null)
{
mTokenizer = new OpenNLP.Tools.Tokenize.EnglishMaximumEntropyTokenizer(mModelPath + "EnglishTok.nbin");
}
return mTokenizer.Tokenize(text);
}
これで、トークンの文字列配列ができました。すべてのデータを含む文字列配列を意味します。ジャンクが含まれる場合があります。ここで、意味のあるトークンのみを分離する必要があります。これには、NHunspell.dll を使用できます。
public list<string> validate(string[] tokens)
{
Hunspell hunspell = new Hunspell("en_US.aff", "en_US.dic");
List<string> valid_tokens = new List<string>();
foreach (string token in tokens)
{
if (!hunspell.Spell(token))
{
valid_tokens.Add(token);
}
}
hunspell.Dispose();
return valid_tokens;
}
これで、英語で意味を持つ有効なトークンのみを含むリストvalid_tokensが作成されます。これで問題が解決することを願っています。
SharpNLP を Visual Studio プロジェクトに統合するための段階的な方法については、私が書いたこの詳細な記事を参照してください。 SharpNLP を Visual Studio C# プロジェクトと統合する簡単な方法
于 2013-10-18T19:25:18.007 に答える