フォーマットされた結果を分析して、ヒューリスティックにフォーマット パターン文字列を決定する必要があります。
たとえば、次の文字列があります。
3件の未読メッセージがあります。
未読メッセージが10件あります。
ごめんなさい、デーブ。私はそれができないのではないかと心配しています。
ごめんなさい、フランク。私はそれができないのではないかと心配しています。
このステートメントは誤りです。
これらのフォーマット文字列を派生させたい:
%s件の未読メッセージがあります
すみません、%s。私はそれができないのではないかと心配しています。
このステートメントは誤りです。
ここで役立つアプローチやアルゴリズムはどれですか?
私が最初に考えたのは、機械学習を使用することでしたが、私の直感では、これはかなり古典的な問題である可能性があります。
いくつかの追加要件:
- パラメーターの型は関係ありません。つまり、パラメーターが元々あった
%s
か%d
どうか、またはパディングまたはアラインメントされていたかどうかの情報は必要ありません。 - 複数のパラメーターが存在する場合があります (またはまったく存在しない場合もあります)。
- 通常、データは何千ものフォーマットされた文字列で構成されていますが、フォーマット パターンは数十しかありません。