2016-11-15 6 views
-3

自然言語プロセッサで作業していますが、苦労しています。私は、解析された単語が "ed"か "ing"で終わるかどうかを調べるために、動詞の文脈を指示できるようにしようとしています。文字列の末尾に「ed」または「ing」がある場合はC++

どうすればこの問題を解決できますか?

+1

トピックを外しています:あなたはカンマを誤って使用しています。トピックでは、これは見た目よりもトリッキーです。例えば、「持ってくる」という言葉。 – user4581301

+0

さらに多くの文字列関数を組み込んだプログラミング言語の使用を検討してください。 Grepのサポートは物事をより簡単にしますが、使い過ぎると物事を遅くすることができます。 –

答えて

1

あなたが特定のサフィックスが存在することを確認するためにstd::string::compareを使用することができます。また

bool ends_with(std::string const &str, std::string const& suffix){ 
    return str.size() >= suffix.size() && 
      str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; 
} 

ends_with(str,"ed"); 
ends_with(str,"ing"); 

、あなたはブーストアルゴリズムを使用することができます。

boost::algorithm::ends_with(str,"ed"); 
boost::algorithm::ends_with(str,"ing"); 

自然言語処理は、これらのサフィックスをチェックするよりも複雑です、
しかし、これが始まる可能性があります。

関連する問題