2

入力として指定されたビデオからテキストを抽出し、そのテキストをテキスト ファイルに保存するビデオ処理プロジェクトに取り組んでいます。単語だけでなくゴミのテキストも含むテキストがあり、意味のある単語を生成されたテキストをタグに変換しますか? 誰でもこれに使用できる API/アルゴリズムを提案できますか?

4

2 に答える 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 に答える