2

フォーラム データの巨大なデータベースがあります。NLP の目的で、データベースからコーパスを抽出する必要があります。抽出ステップにはパラメーター (FTS クエリなど) があり、コーパスをパラメーター メタデータと共にファイル システムに保存したいと考えています。

一部のコーパスは、数十メガバイトの大きさになります。ファイル全体をロードせずにメタデータを読み取ることができるように、ファイルをメタデータとともに保存する最良の方法は何ですか。

関連する可能性のある次のテクノロジーを使用しています:PyQt、Postgres、Python、NLTK。

いくつかのメモ:

  1. コーパスを重いデータベースから分離したい。
  2. メタデータの構造は非常に単純なので、sqlite は使用したくありません。
  3. Pickling では、私が知る限り、部分的な非シリアル化は許可されていません。
  4. 個別のメタデータ ファイルを用意したくありません。
  5. 私はプロトコルバッファの経験がありますが、やはり扱いが難しすぎるようです。

メタデータを文字列にピクルして、ファイルの最初の行にメタデータを表すことができると思います。これは私が考える最も簡単な方法のようです。つまり、pickle 形式が ASCII セーフである場合です。

4

2 に答える 2

2

NLTK の用語では、「コーパス」はコレクション全体であり、複数のファイルで構成される場合があります。ファイルの先頭にメタデータを保存できる構造化された形式を使用して、各フォーラム セッション (「コーパス」と呼ばれるもの)を個別のファイルに保存できるようです。

NLTK は通常、この目的で XML を使用しますが、ファイル ヘッダーを読み取ってから .NET に従う独自のコーパス リーダーPlainTextCorpusReader、またはファイル形式に最適な標準リーダーを作成することは難しくありません。XML を使用する場合は、、 などのXMLCorpusReaderメソッドも拡張して提供する必要があります。sents()words()

于 2012-08-06T18:55:21.890 に答える
0

コーパス ファイルに JSON ヘッダーを追加してみませんか? または、他の種類の構造化された形式... Jekyll の投稿のYAML フロント マターについて今考えることができます。

于 2012-08-05T15:36:33.610 に答える