<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>「構文解析」タグの記事一覧Python Tech</title>
	<atom:link href="https://tech.nkhn37.net/tag/%E6%A7%8B%E6%96%87%E8%A7%A3%E6%9E%90/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.nkhn37.net</link>
	<description>Python学習サイト</description>
	<lastBuildDate>Sun, 11 Jan 2026 08:22:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://tech.nkhn37.net/wp-content/uploads/2021/01/cropped-lion-normal-clear-1-32x32.png</url>
	<title>「構文解析」タグの記事一覧Python Tech</title>
	<link>https://tech.nkhn37.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Python】CaboChaによる構文解析の基本的な使い方</title>
		<link>https://tech.nkhn37.net/python-cabocha-syntactic-analysis/</link>
					<comments>https://tech.nkhn37.net/python-cabocha-syntactic-analysis/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Sun, 03 Apr 2022 20:00:00 +0000</pubDate>
				<category><![CDATA[CaboCha]]></category>
		<category><![CDATA[MeCab]]></category>
		<category><![CDATA[係り受け解析]]></category>
		<category><![CDATA[構文解析]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=3338</guid>

					<description><![CDATA[PythonでCaboChaを用いて構文解析（係り受け解析）をする方法について解説します。 構文解析とは 構文解析とは、文章を文節に分けてそれぞれの構成要素がどのような言語的な関係性を持っているかを解析することを言います [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Pythonで<span class="marker"><strong>CaboChaを用いて構文解析（係り受け解析）をする方法</strong></span>について解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">構文解析とは</h2>



<p class="wp-block-paragraph"><span class="marker"><strong>構文解析</strong></span>とは、文章を文節に分けてそれぞれの構成要素がどのような言語的な関係性を持っているかを解析することを言います。係り受け関係を解析することから<span class="marker"><strong>係り受け解析</strong></span>ともいわれます。また、構文解析の過程では、形態素に分けるための形態素解析の技術も使われています。</p>



<p class="wp-block-paragraph">例えば、適当なのですが以下のような文を考えてみます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="301" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-15-1024x301.png" alt="" class="wp-image-3386" style="width:768px;height:226px" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-15-1024x301.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-15-300x88.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-15-768x226.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-15.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">この文章では、「私は」→「実装した」、「CaboChaを」→「使って」、「Pythonで」→「実装した」というように各文節間で係り受け関係があります。構文解析では、このような関係性の分析を機械的に実行することができます。</p>



<p class="wp-block-paragraph">日本語の構文解析エンジンとしては<span class="marker"><strong>CaboCha</strong></span>が有名です。CaboChaはオープンソースの構文解析エンジンで、奈良先端科学技術大学出身の工藤拓さんによって開発されているものです。形態素解析エンジンのMeCabも同様によく使用されています。</p>



<p class="wp-block-paragraph">本記事では、PythonでCaboChaを使って構文解析を実行するための環境準備方法や基本的な使い方について紹介します。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox6 ">
			<i class="jif jin-ifont-v2books" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">形態素解析エンジンの MeCab というソフトウェアの使い方については「<a href="https://tech.nkhn37.net/python-mecab-morphological-analysis/" target="_blank" rel="noreferrer noopener">MeCabによる形態素解析の基本的な使い方</a>」を参考にしてください。</p>
</div>
		</div></section>



<h2 class="wp-block-heading jinr-heading d--bold">CaboChaを使うための環境準備</h2>



<p class="wp-block-paragraph">CaboChaをpythonで使用できるようにするには以下のような手順で各種ソフトウェアのインストールを実施します。</p>



<section class="wp-block-jinr-blocks-simplebox b--jinr-block-container"><div class="b--jinr-block b--jinr-box d--simple-box1  "><div class="c--simple-box-inner">
<ol class="wp-block-list jinr-list">
<li>MeCab(32bit版)をインストールする</li>



<li>CaboCha(32bit版)をインストールする</li>



<li>pip install cabocha-pythonでpython環境を構築する</li>
</ol>
</div></div></section>



<p class="wp-block-paragraph">以下でそれぞれの手順について画面キャプチャ等を使いながら説明します。</p>



<h3 class="wp-block-heading jinr-heading d--bold">MeCab(32bit版)をインストールする</h3>



<p class="wp-block-paragraph">CaboChaは、形態素解析のエンジンとして内部で<span class="marker"><strong>MeCab</strong></span>を使用しています。そのため、まずは、MeCabの環境の準備が必要です。</p>



<p class="wp-block-paragraph">MeCab(64bit版)は「pip install mecab-python3」とをするだけで簡単に使用することができるのですが、CaboChaは32bit版のみの対応のため、MeCab(32bit版)を個別にインストールしておく必要があります。</p>



<h4 class="wp-block-heading jinr-heading d--bold">MeCabのダウンロード</h4>



<p class="wp-block-paragraph">MeCabのダウンロードは公式サイトである<a rel="noreferrer noopener" href="https://taku910.github.io/mecab/" target="_blank">こちら</a>へアクセスしてください。ダウンロード欄の[MeCab本体]-[Binary package for MS-Windows]のダウンロードをクリックしてダウンロードしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="492" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-1024x492.jpg" alt="MeCabダウンロード" class="wp-image-3388" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-1024x492.jpg 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-300x144.jpg 300w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-768x369.jpg 768w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h4 class="wp-block-heading jinr-heading d--bold">MeCabのインストール</h4>



<p class="wp-block-paragraph">ダウンロードしたexeファイルをクリックして画面に従ってインストールします。基本的に画面に従っていけばよいですが、pythonで使用するので<span class="marker"><strong>文字コードはUTF-8</strong></span>を選択してください。</p>



<p class="wp-block-paragraph">１．使用する言語を選択します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="349" height="142" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-1.png" alt="MeCabインストール" class="wp-image-3359" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-1.png 349w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-1-300x122.png 300w" sizes="(max-width: 349px) 100vw, 349px" /></figure>
</div>


<p class="wp-block-paragraph">２．次へをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-2.png" alt="MeCabインストール" class="wp-image-3360" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-2.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-2-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">３．文字コードは「<span class="marker"><strong>UTF-8</strong></span>」を選択し、次へをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-3.png" alt="MeCabインストール" class="wp-image-3361" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-3.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-3-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">４．使用許諾について確認し、同意するを選択して次へをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-4.png" alt="MeCabインストール" class="wp-image-3362" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-4.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-4-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">５．インストール先を指定します。特に変更する必要はありません。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-5.png" alt="MeCabインストール" class="wp-image-3363" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-5.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-5-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">６．プログラムグループを指定します。特に変更する必要はありません。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-6.png" alt="MeCabインストール" class="wp-image-3364" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-6.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-6-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">７．インストールをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-7.png" alt="MeCabインストール" class="wp-image-3365" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-7.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-7-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">８．インストールが開始されます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-8.png" alt="MeCabインストール" class="wp-image-3366" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-8.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-8-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">９．全ユーザーに実行許可を与えるか確認があるので「はい」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="583" height="354" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-9.png" alt="MeCabインストール" class="wp-image-3367" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-9.png 583w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-9-300x182.png 300w" sizes="(max-width: 583px) 100vw, 583px" /></figure>
</div>


<p class="wp-block-paragraph">１０．辞書の作成の確認が出るので「OK」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="581" height="356" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-10.png" alt="MeCabインストール" class="wp-image-3368" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-10.png 581w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-10-300x184.png 300w" sizes="(max-width: 581px) 100vw, 581px" /></figure>
</div>


<p class="wp-block-paragraph">１１．完了画面が表示されるので「完了」をクリックしてセットアップウィザードを終了します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-11.png" alt="MeCabインストール" class="wp-image-3369" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-11.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-11-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">１２．デスクトップの以下の「MeCab」アイコンが表示されればインストール完了です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="66" height="57" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-12.png" alt="MeCabインストール" class="wp-image-3370" style="width:100px"/></figure>
</div>


<h3 class="wp-block-heading jinr-heading d--bold">CaboCha(32bit版)をインストールする</h3>



<p class="wp-block-paragraph">本記事のメインとなるCaboChaのインストールを実施します。</p>



<h4 class="wp-block-heading jinr-heading d--bold">CaboChaのダウンロード</h4>



<p class="wp-block-paragraph">CaboChaの公式サイトの<a rel="noreferrer noopener" href="https://taku910.github.io/cabocha/" target="_blank">こちら</a>へアクセスし、以下のダウンロードリンクをクリックしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="522" height="84" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-14.png" alt="CaboChaダウンロード" class="wp-image-3372" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-14.png 522w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-14-300x48.png 300w" sizes="(max-width: 522px) 100vw, 522px" /></figure>
</div>


<p class="wp-block-paragraph">リンクをクリックすると、以下のようなGoogleドライブのページへ移ります。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="484" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-33-1024x484.png" alt="CaboChaダウンロード" class="wp-image-3342" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-33-1024x484.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-33-300x142.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-33-768x363.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-33.png 1095w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">画面をスクロールして最新exeをダウンロードしてください。本記事執筆時点での最新は「cabocha-0.69.exe」でした。</p>



<h4 class="wp-block-heading jinr-heading d--bold">CaboChaのインストール</h4>



<p class="wp-block-paragraph">ダウンロードしたexeをクリックして画面に従ってインストールします。基本的に画面に従っていけばよいですが、pythonで使用することを考慮して<span class="marker"><strong>文字コードはUTF-8</strong></span>を選択してください。</p>



<p class="wp-block-paragraph">１．使用する言語を選択します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="349" height="142" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-34.png" alt="CaboChaインストール" class="wp-image-3343" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-34.png 349w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-34-300x122.png 300w" sizes="(max-width: 349px) 100vw, 349px" /></figure>
</div>


<p class="wp-block-paragraph">２．次へをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-35.png" alt="CaboChaインストール" class="wp-image-3344" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-35.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-35-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">３．文字コードは「<span class="marker"><strong>UTF-8</strong></span>」を選択し、次へをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-36.png" alt="CaboChaインストール" class="wp-image-3346" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-36.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-36-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">４．使用許諾を確認したうえで「同意する」を選択して、次へをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-37.png" alt="CaboChaインストール" class="wp-image-3347" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-37.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-37-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">５．インストール先を指定します。特に変更する必要はありません。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-38.png" alt="CaboChaインストール" class="wp-image-3348" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-38.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-38-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">６．プログラムグループを指定します。特に変更する必要はありません。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-39.png" alt="CaboChaインストール" class="wp-image-3349" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-39.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-39-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">７．設定を確認してインストールをクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-40.png" alt="CaboChaインストール" class="wp-image-3350" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-40.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-40-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">８．インストールが開始します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-41.png" alt="CaboChaインストール" class="wp-image-3351" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-41.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-41-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">９．全ユーザーに実行許可を与えるか確認があるので「はい」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="578" height="356" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-42.png" alt="CaboChaインストール" class="wp-image-3352" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-42.png 578w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-42-300x185.png 300w" sizes="(max-width: 578px) 100vw, 578px" /></figure>
</div>


<p class="wp-block-paragraph">１０．辞書の作成の確認が出るので「OK」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="579" height="361" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-43.png" alt="CaboChaインストール" class="wp-image-3353" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-43.png 579w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-43-300x187.png 300w" sizes="(max-width: 579px) 100vw, 579px" /></figure>
</div>


<p class="wp-block-paragraph">１１．完了画面が表示されるので「完了」をクリックしてセットアップウィザードを終了します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="582" height="359" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-44.png" alt="CaboChaインストール" class="wp-image-3354" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-44.png 582w, https://tech.nkhn37.net/wp-content/uploads/2022/03/image-44-300x185.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>
</div>


<p class="wp-block-paragraph">１２．デスクトップの以下の「CaboCha」アイコンが表示されればインストール完了です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="72" height="60" src="https://tech.nkhn37.net/wp-content/uploads/2022/03/image-45.png" alt="CaboChaインストール" class="wp-image-3355" style="width:100px"/></figure>
</div>


<h3 class="wp-block-heading jinr-heading d--bold">PythonでCaboChaを利用できる環境を構築する</h3>



<p class="wp-block-paragraph">上記でCaboChaのPCへのインストールが完了しますが、Pythonで使用できるようにするためには、以下のようにpipでモジュールをインストールする必要があります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip install cabocha-python</pre>



<p class="wp-block-paragraph">「Successfully installed cabocha-python-0.69.1」のような形でインストールが成功すればCaboChaをPythonで使用する環境構築は完了です。</p>



<h4 class="wp-block-heading jinr-heading d--bold">【注意点】64bit Pythonに対応していない</h4>



<p class="wp-block-paragraph">CaboChaについては、<span class="marker"><strong>64bitのPythonには対応していない</strong></span>ため注意が必要です。64bit Pythonの環境でpip installを実行しようとすると以下のようなエラーとなります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">OSError: 64bit Python for Windows is not supported</pre>



<p class="wp-block-paragraph">この場合は、32bit版のPythonの環境をインストールして使用する必要があります。</p>



<p class="wp-block-paragraph">例えばv3.9.12のダウンロードページの<a rel="noreferrer noopener" href="https://www.python.org/downloads/release/python-3912/" target="_blank">こちら</a>に行くと以下のようなダウンロードリンクがありますが、32bitインストーラーを使ってダウンロードしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="395" src="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-1024x395.png" alt="Python 32ビット ダウンロード" class="wp-image-3391" srcset="https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-1024x395.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-300x116.png 300w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16-768x296.png 768w, https://tech.nkhn37.net/wp-content/uploads/2022/04/image-16.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading jinr-heading d--bold">PythonでのCaboChaを使用した構文解析の実装</h2>



<h3 class="wp-block-heading jinr-heading d--bold">CaboChaの基本的な使い方</h3>



<p class="wp-block-paragraph">以降では、PythonでCaboChaを使用した構文解析を利用する方法について簡単な例を用いて紹介します。まだ、MeCabやCaboChaをインストールしていない方は上記の環境構築の手順をご確認いただいてインストールしてから試してください。</p>



<h4 class="wp-block-heading jinr-heading d--bold">基本的な使い方</h4>



<p class="wp-block-paragraph">以下の簡単な例を使ってCaboChaの基本的な使い方を見てみましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import CaboCha

# CaboChaの構文解析器を生成する
cabocha = CaboCha.Parser()

# 解析対象の文字列を用意する
sample_text = '私はCaboChaを使ってPythonで構文解析を実装した。'

# 構文解析を実行する
result_tree = cabocha.parse(sample_text)

# 解析結果を表示する
print(result_tree.toString(CaboCha.FORMAT_TREE))</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
      私は---------D
   CaboChaを-D     |
        使って-----D
        Pythonで---D
        構文解析を-D
          実装した。
EOS</pre>



<p class="wp-block-paragraph">CaboChaを使用するためには、まずCaboChaをimportする必要があります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import CaboCha</pre>



<p class="wp-block-paragraph">その後、以下の例のようにCaboCha.Parser()で解析器をインスタンス化します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># CaboChaの構文解析器を生成する
cabocha = CaboCha.Parser()</pre>



<p class="wp-block-paragraph">後は簡単です。以下の部分のように対象文字列を<span class="marker"><strong>CaboCha.parse</strong></span>メソッドに渡すだけで解析結果が返却されます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 解析対象の文字列を用意する
sample_text = '私はCaboChaを使ってPythonで構文解析を実装した。'

# 構文解析を実行する
result_tree = cabocha.parse(sample_text)

# 解析結果を表示する
print(result_tree.toString(CaboCha.FORMAT_TREE))</pre>



<p class="wp-block-paragraph">解析結果を表示するには、結果に対してtoStringメソッドを実行し、引数に<span class="marker"><strong>CaboCha.FORMAT_TREE</strong></span>を指定します。実行結果は、係り受け関係を示したツリー構造で表示されます。引数は後述するCaboCha.FORMAT_LATTICEのようにいくつか形式を変える方法があります。</p>



<p class="wp-block-paragraph">結果の見方についてですが、Dという記号があるところがポイントで、係り先の部分を示すようになっています。この例では、「私は」「使って」「Pythonで」「構文解析を」という4つの文節が「実装した」に係っていることを意味しています。</p>



<h4 class="wp-block-heading jinr-heading d--bold">詳細な係り受け関係の出力</h4>



<p class="wp-block-paragraph">上記の基本的な使い方では、全体の係り受け関係をざっと可視化するには十分でした。さらに詳細な係り受け関係を出力する場合には、出力時のフォーマットで<span class="marker"><strong>CaboCha.FORMAT_LATTICE</strong></span>を指定します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import CaboCha

# CaboChaの構文解析器を生成する
cabocha = CaboCha.Parser()

# 解析対象の文字列を用意する
sample_text = '私はCaboChaを使ってPythonで構文解析を実装した。'

# 構文解析を実行する
result_tree = cabocha.parse(sample_text)

# 解析結果を表示する
print(result_tree.toString(CaboCha.FORMAT_LATTICE))</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
* 0 5D 0/1 -1.524409
私	名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 2D 0/1 1.458036
CaboCha	名詞,一般,*,*,*,*,*
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 2 5D 0/1 -1.524409
使っ	動詞,自立,*,*,五段・ワ行促音便,連用タ接続,使う,ツカッ,ツカッ
て	助詞,接続助詞,*,*,*,*,て,テ,テ
* 3 5D 0/1 -1.524409
Python	名詞,一般,*,*,*,*,*
で	助詞,格助詞,一般,*,*,*,で,デ,デ
* 4 5D 1/2 -1.524409
構文	名詞,一般,*,*,*,*,構文,コウブン,コーブン
解析	名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
* 5 -1D 1/2 0.000000
実装	名詞,サ変接続,*,*,*,*,実装,ジッソウ,ジッソー
し	動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。	記号,句点,*,*,*,*,。,。,。
EOS</pre>



<p class="wp-block-paragraph">結果を見ていただくと分かりますが、形態素の情報を含んだ詳細な結果が出力結果となっていることが分かります。</p>



<h5 class="wp-block-heading jinr-heading d--bold">構文解析結果の見方</h5>



<p class="wp-block-paragraph">構文解析結果の見方の詳細について説明します。まず、構文解析ではTree(全体の木構造)、Chunk(文節)、Token(形態素)という構成をしています。</p>



<p class="wp-block-paragraph">解析結果の詳細を紐解いてみると以下のようになっています。</p>



<p class="wp-block-paragraph">*で始まる行は各文節(chunk)を表しており、*に続く情報は以下の構成になっています。</p>



<figure class="wp-block-table"><table><tbody><tr><td>文節番号</td><td>係り先の文節番号</td><td>主辞/機能辞の位置</td><td>係り関係のスコア</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">*の下の行からは各形態素(token)を表しており、内容は以下の構成になっています。</p>



<figure class="wp-block-table"><table><tbody><tr><td>表層形</td><td>品詞</td><td>品詞細分類1</td><td>品詞細分類2</td><td>品詞細分類3</td><td>活用形</td><td>活用型</td><td>原形</td><td>読み</td><td>発音</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上記の例でいうと、最初の「私は」は0番の文節で、「私」と「は」の形態素で構成されていて、5番の文節の「実装した。」に係っていることが分かります。</p>



<h4 class="wp-block-heading jinr-heading d--bold">CaboCha解析結果の各要素を扱う</h4>



<p class="wp-block-paragraph">CaboChaの解析結果の各要素を扱ってプログラミングしたい場合には、解析結果の各情報を取り出す必要があります。</p>



<p class="wp-block-paragraph">CaboChaの解析結果から各要素を取得するための例を以下で紹介します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import CaboCha

# CaboChaの構文解析器を生成する
cabocha = CaboCha.Parser()

# 解析対象の文字列を用意する
sample_text = '私はCaboChaを使ってPythonで構文解析を実装した。'

# 構文解析を実行する
result_tree = cabocha.parse(sample_text)

# 個別の要素を扱う
chunk_id = 0
for i in range(result_tree.size()):
    token = result_tree.token(i)

    # 文節の先頭の場合はchunkがNoneではない
    if token.chunk is not None:
        print('===== Chunk')
        print(f'文節番号:{chunk_id}')
        print(f'係り先:{token.chunk.link}')
        print(f'主辞:{token.chunk.head_pos}')
        print(f'機能辞:{token.chunk.func_pos}')
        print(f'係り関係のスコア:{token.chunk.score}')
        chunk_id += 1

    print('----- Token')
    print(f'表層形:{token.surface}')
    print(f'形態素情報:{token.feature}')</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
===== Chunk
文節番号:0
係り先:5
主辞:0
機能辞:1
係り関係のスコア:-1.5244090557098389
----- Token
表層形:私
形態素情報:名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
----- Token
表層形:は
形態素情報:助詞,係助詞,*,*,*,*,は,ハ,ワ
===== Chunk
文節番号:1
係り先:2
主辞:0
機能辞:1
係り関係のスコア:1.4580357074737549
----- Token
表層形:CaboCha
形態素情報:名詞,一般,*,*,*,*,*
----- Token
表層形:を
形態素情報:助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
===== Chunk
文節番号:2
係り先:5
主辞:0
機能辞:1
係り関係のスコア:-1.5244090557098389
----- Token
表層形:使っ
形態素情報:動詞,自立,*,*,五段・ワ行促音便,連用タ接続,使う,ツカッ,ツカッ
----- Token
表層形:て
形態素情報:助詞,接続助詞,*,*,*,*,て,テ,テ
===== Chunk
文節番号:3
係り先:5
主辞:0
機能辞:1
係り関係のスコア:-1.5244090557098389
----- Token
表層形:Python
形態素情報:名詞,一般,*,*,*,*,*
----- Token
表層形:で
形態素情報:助詞,格助詞,一般,*,*,*,で,デ,デ
===== Chunk
文節番号:4
係り先:5
主辞:1
機能辞:2
係り関係のスコア:-1.5244090557098389
----- Token
表層形:構文
形態素情報:名詞,一般,*,*,*,*,構文,コウブン,コーブン
----- Token
表層形:解析
形態素情報:名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
----- Token
表層形:を
形態素情報:助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
===== Chunk
文節番号:5
係り先:-1
主辞:1
機能辞:2
係り関係のスコア:0.0
----- Token
表層形:実装
形態素情報:名詞,サ変接続,*,*,*,*,実装,ジッソウ,ジッソー
----- Token
表層形:し
形態素情報:動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
----- Token
表層形:た
形態素情報:助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
----- Token
表層形:。
形態素情報:記号,句点,*,*,*,*,。,。,。</pre>



<p class="wp-block-paragraph">以降で各部分について内容を説明します。</p>



<p class="wp-block-paragraph">解析結果内の各要素を扱うためには、解析結果のサイズ分だけforで処理を回します。ここで、sizeメソッドを使っていますが、これは形態素(token)の数になります。文節番号に該当する情報はなさそうなため、個別にchunk_idという変数で管理しています。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">chunk_id = 0
for i in range(result_tree.size()):
    token = result_tree.token(i)</pre>



<p class="wp-block-paragraph">文節であるかどうかは、取り出したtokenにchunkがあるかどうかで確認します。各文節の最初のtokenにはchunkを持っており、それ以外の形態素ではNoneになっています。文節情報を含んでいるtokenからは以下のように各情報を取り出すことができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">    # 文節の先頭の場合はchunkがNoneではない
    if token.chunk is not None:
        print('===== Chunk')
        print(f'文節番号:{chunk_id}')
        print(f'係り先:{token.chunk.link}')
        print(f'主辞:{token.chunk.head_pos}')
        print(f'機能辞:{token.chunk.func_pos}')
        print(f'係り関係のスコア:{token.chunk.score}')
        chunk_id += 1</pre>



<p class="wp-block-paragraph">上記のようにtoken.chunkのプロパティとして係り先(link)、主辞(head_pos)、機能辞(func_pos)、係り関係のスコア(score)を取得できます。</p>



<p class="wp-block-paragraph">tokenは形態素情報のため以下の部分に示すように情報を持っています。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">    print('----- Token')
    print(f'表層形:{token.surface}')
    print(f'形態素情報:{token.feature}')</pre>



<p class="wp-block-paragraph">文に現れるそのままの形である表層形はtoken.surfaceに、形態素情報はtoken.featureにカンマ(,)区切りの文字列として取得できます。形態素情報を個々に扱いたい場合は、token.feature.split(&#8216;,&#8217;)のような形でリストに分割して扱うとよいでしょう。</p>



<p class="wp-block-paragraph">上記のように各要素を取得して扱うことができます。</p>



<h2 class="wp-block-heading jinr-heading d--bold">【参考】インストール時にはまってしまったこと</h2>



<h3 class="wp-block-heading jinr-heading d--bold">CaboCha.Parse()で原因不明の終了コードで終了</h3>



<h4 class="wp-block-heading jinr-heading d--bold">発生時の手順とエラー内容</h4>



<p class="wp-block-paragraph">私は最初インストールするときに、以下の流れで実施してうまくいかずにはまってしまったことがありますので、その時の内容を記載しておきます。</p>



<p class="wp-block-paragraph">最初以下の手順でCaboChaを利用しようと進めました。</p>



<ol class="wp-block-list jinr-list">
<li>CaboChaをインストール</li>



<li>pip install python-cabochaを実行</li>



<li>プログラム実行時にMeCabがインストールされていないことに気づく</li>



<li>MeCabをインストール</li>
</ol>



<p class="wp-block-paragraph">手順３のところは、プログラム実行時に以下のようなエラーが出て、MeCabが使えていないということに気づきました。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">morph.cpp(48) [g_mecab_handle != 0] LoadLibrary("libmecab.dll") failed</pre>



<p class="wp-block-paragraph">その後、上記でも説明したMeCabインストール手順でMeCabをインストールしたのですが、今度はCaboCha.Parser()のinitでなにも実行されず、プロセスが止まってしまうような事象が起きました。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">プロセスは終了コード -1073741819 (0xC0000005) で終了しました</pre>



<p class="wp-block-paragraph">正直色々調べても何が原因かよく分かりませんでした。</p>



<h4 class="wp-block-heading jinr-heading d--bold"><strong>【解決策】</strong></h4>



<p class="wp-block-paragraph">上記問題は、MeCabとCaboChaを再インストールすることで解決しました。</p>



<p class="wp-block-paragraph">やったことは簡単で一度Mecab、CaboChaをコントロールパネルの「プログラムのアンインストール」から削除します。その後、<span class="marker"><strong>「MeCab」→「CaboCha」</strong></span>の順でインストールを実施しました。このように再インストールを実施しただけで、これまで出ていたエラーが発生することなく実行することができました。</p>



<p class="wp-block-paragraph">正確なところの原因究明はできませんでしたが、どうやらCaboCha→MeCabの順でインストールしていたことで何かしら問題が発生してしまっていたのかと思います。</p>



<p class="wp-block-paragraph">同じようなケースで必ずしも再インストールが解決策になるかは分かりませんが、もし私と同じようにCaboCha→MeCabとインストールしてうまくいかなかった人は、一回アンインストールして、MeCab→CaboChaの順で再インストールしたらうまくいくかもしれません。参考にしていただければと思います。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph">Pythonで<span class="marker"><strong>CaboCha</strong></span>を使って構文解析を実行するための環境準備方法と簡単な実行例を紹介しました。</p>



<p class="wp-block-paragraph">構文解析ができると文自体の構造が分かるようになるため、どういったイベントが発生したのかを文章から把握するといったことができるようになり面白いかと思います。まず、構文解析を試してみたいという場合は、今回ご紹介した例を参考に一度使って試してみてください。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox6 ">
			<i class="jif jin-ifont-v2books" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">CaboCha の公式ページは<a href="https://taku910.github.io/cabocha/" target="_blank" rel="noreferrer noopener">こちら</a>を参考にしてください。<br>MeCab の公式ページは<a href="https://taku910.github.io/mecab/" target="_blank" rel="noreferrer noopener">こちら</a>を参考にしてください。</p>
</div>
		</div></section>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--heading-iconbox1 ">
			<div class="a--heading-iconbox-title">
			<div class="a--iconbox-title-icon"><i class="jif jin-ifont-caution" aria-hidden="true"></i></div>
			<div class="a--iconbox-title-text">注意点</div>
			</div>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">PythonでのCaboChaの使い方に関する公式なドキュメントがあればよいと思うのですが、公式なドキュメントは私が調べた限りではなさそうでした。本記事は、元となるCプログラムの構成やその他のWebページ情報などから使い方を整理していますので、一部誤りが含まれる可能性がある点はご注意ください。</p>
</div>
		</div></section>



<section class="wp-block-jinr-blocks-simplebox b--jinr-block-container"><div class="b--jinr-block b--jinr-box d--heading-box8  "><div class="a--simple-box-title d--bold">ソースコード</div><div class="c--simple-box-inner">
<p class="wp-block-paragraph">上記で紹介しているソースコードについては <a href="https://github.com/nkhn37/python-tech-sample-source/tree/main/python-libraries/cabocha" target="_blank" rel="noreferrer noopener">GitHub</a> にて公開しています。参考にしていただければと思います。</p>
</div></div></section>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/python-cabocha-syntactic-analysis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Disk: Enhanced  を使用したページ キャッシュ

Served from: tech.nkhn37.net @ 2026-08-13 11:55:04 by W3 Total Cache
-->