自由なテキスト、リスト、表、見出しなどを含む HTML ページを構文解析するにはどうすればよいでしょうか?
たとえば、このウィキペディアのページを見てください。ある/ある:
- フリーテキスト: http://en.wikipedia.org/wiki/Neurotransmitter#Discovery
- リスト: http://en.wikipedia.org/wiki/Neurotransmitter#Actions
- 表: http://en.wikipedia.org/wiki/Neurotransmitter#Common_neurotransmitters
Python NLTKをいじった後、これらのさまざまなコーパス アノテーション メソッドをすべてテストしたいと思います ( 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 を試してみたい!