5

ランダムでリアルなテキストを生成するためのツールを探しています。私は自分でマルコフ連鎖テキストジェネレーターを実装しましたが、結果は有望でしたが、それらを改善しようとしても大きな成功は得られませんでした。

コーパスを消費するツールや、状況依存または文脈自由の文法に基づいて動作するツールに満足しています。このツールを別のプロジェクトに含めるのに適したものにしたいと思います。私の最近の仕事のほとんどはJavaで行われているので、その言語のツールが好まれますが、C#、C、C ++、さらにはJavaScriptでも問題ありません。

これはこの質問に似ていますが、範囲が大きくなります。

4

2 に答える 2

7

「ランダムな」テキストが必要な場合は、独自のマルコフ連鎖ジェネレーターを拡張することがおそらく最善の策です。コンテキストを持つものを生成することは、未解決の研究課題です。

試してください(まだ行っていない場合):

  • 句読点を個別にトークン化するか、まだ行っていない場合はチェーンに句読点を含めます。これには段落記号が含まれます。
  • 2 履歴または 3 履歴のマルコフ連鎖を使用している場合は、ピリオドまたは改行が発生したときに 1 履歴のマルコフ連鎖を使用するようにリセットしてみてください。

または、コーパスでWordNetを 2 つのパスで使用することもできます。

  1. 文を分析して、名詞、動詞、形容詞、副詞などの単語の種類の一般的な順序を決定します。WordNet にはこれらが含まれます。他のすべて (代名詞、接続詞など) は除外されますが、基本的にはそのまま通過できます。これは、「The quick brown fox jumps over the lazy dog」を「[形容詞] [形容詞] [名詞] [動詞] over the [形容詞] [名詞]」に変換します。
  2. テンプレート文をランダムに選び、[形容詞]、[名詞]、[動詞]を実際の形容詞の名詞と動詞に置き換えて文を再現します。

このアプローチにもかなりの問題があります。たとえば、どの同音異義語を選択するかを知るには、周囲の単語からのコンテキストが必要です。wordnet で "quick" を検索すると、高速であるという情報だけでなく、指の爪のかけらもわかります。


これでライブラリやツールの要件が解決されないことはわかっていますが、いくつかのアイデアが得られるかもしれません。

于 2009-11-03T23:56:41.283 に答える
0

この目的のために、ウィキニュースの記事を含む多くのデータ セットを使用してきました。

このツールを使用してテキストを抽出しました: http://alas.matf.bg.ac.rs/~mr04069/WikiExtractor.py

于 2011-02-07T09:04:20.817 に答える