単語のリストがあります。例えば:
reel
road
root
curd
次の構造を反映した方法でこのデータを保存したいと思います。
Start -> r -> e -> reel
-> o -> a -> road
o -> root
c -> curd
ツリーを実装する必要があることは明らかです。このツリーから、ノードの高さ、ノードの子孫の数、ノードの検索などの統計を簡単に取得できる必要があります。ノードを追加すると、この位置が一意であるため、ツリー内の正しい位置に「自動的に」追加する必要があります。
また、実際のグラフィカルツリーの形式でデータを視覚化できるようにしたいと考えています。ツリーは巨大になるので、ビジュアライゼーションにズーム/パンコントロールが必要になります。そしてもちろん、きれいな視覚化は醜いものよりも常に優れています。
これをすべて簡単に実現できるPythonパッケージを知っている人はいますか?自分でコードを書くにはかなり時間がかかります。このタスクにはhttp://packages.python.org/ete2/が適切だと思いますか?
私はPython2.xを使用しています。
NLTKにはトライクラス(nltk.containers.trie)があることを発見しました。私はすでにNLTKを使用しているので、これは私にとって便利です。このクラスの使い方を知っている人はいますか?どこにも例が見つかりません!たとえば、トライに単語を追加するにはどうすればよいですか?