フリーテキスト、リスト、表、見出しなどを含むHTMLページを文章に解析するにはどうすればよいですか?HTMLを文章に解析する - テーブル/リスト/見出し/などを扱う方法?
たとえば、this wikipedia pageとします。 /ありさ:
- フリーテキスト:http://en.wikipedia.org/wiki/Neurotransmitter#Discovery
- リスト:http://en.wikipedia.org/wiki/Neurotransmitter#Actions
- テーブル:pythonのNLTKをいじり後http://en.wikipedia.org/wiki/Neurotransmitter#Common_neurotransmitters
が、私は、これらの異なるのすべてをテストしたいですコーパスの注釈方法(http://nltk.googlecode.com/svn/trunk/doc/book/ch11.html#deciding-which-layers-of-annotation-to-include):
- ワードトークン:テキストの正書法は、そのトークンを明白に識別しません。トークン化され、正規化されたバージョンは、従来の正書法のバージョンに加えて、非常に便利なリソースである可能性があります。
- 文の分割:第3章で見たように、文のセグメンテーションは、見た目よりも難しくなる可能性があります。したがって、一部のコーパスは、文のセグメンテーションをマークするために明示的な注釈を使用します。
- 段落分割:段落と他の構造要素(見出し、章など)に明示的に注釈を付けることができます。
- 音声の部分:文書内の各単語の構文カテゴリ。
- 構文構造:文の構成構造を示すツリー構造。
- シャローセマンティクス:名前付きエンティティおよびコアリファレンスアノテーション、意味ロールラベル。
- 対話と談話:対話行為タグ、修辞構造
あなたは文章の中に文書を分割したら、それはとても簡単そうです。しかし、ウィキペディアのページからHTMLのようなものをどうやって分解するのですか?私はHTML/XMLパーサーを使ってツリーをトラバースすることに非常に精通しています。プレーンテキストを取得するためにHTMLタグを取り除いてみましたが、HTMLが削除された後に句読点がないため、NLTKはテーブルセル、またはリストさえ正しく表示されます。
NLPを使用してその内容を解析するためのベストプラクティスまたは戦略がありますか?あるいは、その個々のページに固有のパーサを手動で書く必要がありますか?
ちょうど正しい方向にいくつかのポインタを探して、本当にこのNLTKを試してみたい!
ストリップされたテキストにPunkt(NLTKで実装されています)を使用してみてください。 – dmh
私の非公式の観察は、パーザは一般的に表示テキストを扱い、表現することに悪いことです(実行中の散文とは対照的です)。あなたが良い解決策を見いだした場合、ここでフォローアップしてください! – tripleee