2

Java でプログラムを使用して、特定の Web ページの形式で書式設定されていないテキストをレンダリングする必要があるユースケースがあります。つまり、テキストは、スタイル、段落、箇条書きなどを使用して Web ページのように自動的に書式設定する必要があります。
最初に説明したように、書式設定されていないテキストを分析して、段落、箇条書き、見出しなどの候補を見つける必要があります。このタスクに Lucene アナライザー/トークナイザーを使用します。代替手段はありますか?
2 番目の問題は、書式設定された Web ページを、タイトル、箇条書きなどのさまざまなエンティティのプレース ホルダーを含むある種のテンプレート (速度テンプレートなど) に変換する
ことです。これを行うのに役立つ Java のテキスト分析/テンプレート ライブラリはありますか? できればオープンソース。
Javaでこの種のタスクをより良い方法で行うための他の提案はありますか?

ご協力いただきありがとうございます。

4

1 に答える 1

1

あなたがしていることには多くの難しい部分があります。

ユーザー入力

ユーザーにコンテキストを提供するように求めなければ、テキストの構造を推測することはできません。少なくとも、GUI にタイトルと一連の段落を提供するよう依頼する必要があります。

理想的には、よく知られているマークアップ言語 (Markdown、Textile など) に従って、オープン ソースのパーサーを使用して構造を抽出するよう依頼することができます。

外部ページ

ページを使用する場合、信頼できるのは「構造マークアップ」だけです。したがって、ページのタイトルが「Hello World」であることがわかっていて、ページのどこかに「h1」要素がある場合、これがヘッダーの場所であると想定できます。

しかし、ページが div タグ スープであり、大量のテキストとは対照的にヘッダーのレンダリングを区別するために CSS のみが使用されている場合、スタイリングがどのように行われるかを推測する必要があります。ページがどのように作成されているかわかりません。

Lucene がこれに役立つとは思いません (私が知る限り、Lucene は大量のテキストで使用されている単語のインデックスを作成するように作られています。テキストのどの部分が意味されているかを推測するのに役立つとは思いません)。タイトル、サブタイトルなどに...)

外部ページからのテンプレートの生成

正しく「推測」したと仮定すると、次の方法でコンテンツを生成できます

  • ページのコピペ
  • 変更する部分を、選択したテンプレート言語のタグに置き換えます
  • テンプレートシステムがアクセスできる場所にテンプレートを保存する
  • 適切な人に適切なテンプレートを使用するように、テンプレート/ビュー システム (速度用の viewResolver) を構成します。

もちろん、テンプレートには元の Web サイトの作成者による作品 (おそらく著作権で保護された素材) が組み込まれているため、これは法的な問題を引き起こす可能性があります。

より現実的な解決策

問題を次のように制限することをお勧めします。

  • 利用可能な構造情報を含む入力を使用する (GUI を使用して入力する、マークアップ言語を使用するなど)
  • あなたが提供するテンプレートを使用して、その構造を知っています(そして非常に簡単に再利用できます)

これらのポイントはいずれもテンプレート システムに関連していないことに注意してください。

そうしないと、あなたは理不尽な量の仕事に向かっているのではないかと心配しています...

于 2011-07-08T10:11:05.327 に答える