HYT MachineWorks

やったこととか思いついたことをメモしておくブログです。

自然言語処理100本ノックをWindows/Python3で 第六章を解く

自然言語処理100本ノックとは、

東北大学の乾・岡崎研究室にて公開されている自然言語処理の問題集です。

www.cl.ecei.tohoku.ac.jp

前回に引き続いて第六章をこなしました。

 

第6章: 英語テキストの処理

github.com

コードは、私のGitHubリポジトリにアップロードしています。

六章分は下のリンクから

https://github.com/hytmachineworks/NLP_100/tree/master/codes/chapter_06

引っかかった点

・そもそものStanford CoreNLPをどう使うのか。

結構、困ったので記事にしました。

hytmachineworks.hatenablog.com


・依存関係の作画

networkxとpygraphvizを使った、やり方は下記記事参照

hytmachineworks.hatenablog.com


xmlの解析

BeautifulSoupで解析したのですが普通htmlをやる時は

from bs4 import BeautifulSoup

data = "<html>data</html>"
soup = BeautifulSoup(data, "lxml")

 って感じなんですが、xmlの場合はパーサーの指定を"lxml"から”xml”に変更して

from bs4 import BeautifulSoup

data = "<xml>data</xml>"
soup = BeautifulSoup(data, "xml")

って感じで使います。パーサーの違いだけではなくって一個大きく変わるのがclassの判定なんですが、

<a class = "a b c">hoge</a>

ってあった場合にhtmlは複数のa, b, cというクラスと見ますがxmlの場合"a b c"という一つのクラスとして扱われます。そこが注意です。

 

そんな感じで第七章へ進みます。

2018/09/03 解けました

hytmachineworks.hatenablog.com