Graphiviz에서 StanfordNLP의 힘 구조를 그립니다
완성품
지적해 주십시오 수정되었습니다!감사합니다!
수정내용: 라벨이 붙어있다(단 댓글란의 모델은 루트로 단어성 라벨+문장이 일목요연한 풍부한 양산품을 구성한다).
구조를 그리는 파일은 이렇습니다.숫자는 index, 같은 단어지만 index와 다른 단어를 혼동하지 않기 위해('22'13'등).
차리다
Stanford NLP의 사용 방법은 이번에 사용한 기사저번 보도와 같다.
Graphiviz와 StanfordNLP의 pip를 설치하고 일본어 대응 글꼴을 설치합니다.
pip install stanfordnlp
pip install graphviz
apt-get -y install fonts-ipafont-gothic
일본어 언어 모델을 다운로드하여 텍스트를 지정합니다.import stanfordnlp
stanfordnlp.download('ja')
nlp = stanfordnlp.Pipeline(processors= 'tokenize,mwt,pos,lemma,depparse', lang='ja')
doc = nlp('一年ほど前、私は何人かと共にインドに向けて文学作品を放送する事業に携わっていた。種々のものをとりあげた中で、かなりの部分が現代ないしそれに近い時代の英国作家の韻文だった――例えばエリオット、ハーバート・リード、オーデン、スペンダー、ディラン・トーマス、ヘンリー・トリース、アレックス・コンフォート、ロバート・ブリッジズ、エドムンド・ブルンデン、D・H・ローレンス。詩の実作者に参加してもらえる場合はいつでもそうしていた。何故にこういう特殊な番組(ラジオ戦争における遠方からのささやかな側面攻撃だ)が始められることになったかは改めて説明するまでもないが、インド人聴衆に向けた放送である、という事実によって、我々の技法がある程度まで規定されていたという点には触れる必要があるだろう。要点はこうだ。我々の文芸番組はインド大学の学生たちをターゲットにしていた。彼らは少数かつ敵対的な聴衆で、英国のプロパガンダと表現しうるものは一つとして届かなかった。あらかじめ、聴取者は多めに見積もっても数千人を越すことはないだろうということがわかっていた。これが通常オンエアできる範囲を超えて「ハイブロウ」な番組を作るための口実になったのだ。')
코드
i=0을 첫머리에 놓고 1을 더하는 것은 개별적인 문서, 번호를 하나하나 만들기 위해서다.
추기: 탭 추가 수정 (label=f '{wd[1]]]})
from graphviz import Digraph
def dependency_visualized(doc):
i = 0 # to name file, including dependency in a sentence
for sent in doc.sentences:
dot = Digraph(format='png', filename=f'test/graphs{i}')
dot.attr('node', shape='square', style='filled', fontname="IPAGothic")
for wrd in sent.dependencies:
if wrd[0].text != 'ROOT':
dot.edge(f'{wrd[0].text} {wrd[0].index}', f'{wrd[2].text} {wrd[2].index}',label=f'{wrd[1]}', fontname="IPAGothic")
# specify index because there is the same word(like 'で、。') but with different indexes
else:
pass
dot.render()
i += 1
dependency_visualized(doc)
사용된 텍스트
사용한 교재는 청공문고의 오웰의 《시와마이크》의 시작이다.
The Creative CAT 기반 번역고맙습니다.
이 작품은 창의적인 공통 모드 디스플레이 3.0 비이식 허가증의 기초 위에서 제공된 것이다.
Reference
이 문제에 관하여(Graphiviz에서 StanfordNLP의 힘 구조를 그립니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Nakamurus/items/eab0556327aaeeac0a21텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)