<?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>テキストマイニング | nujonoa_blog</title>
	<atom:link href="https://nujonoa.com/tag/%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%83%9e%e3%82%a4%e3%83%8b%e3%83%b3%e3%82%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://nujonoa.com</link>
	<description>人生に役立つデータ集</description>
	<lastBuildDate>Sat, 05 Sep 2020 12:38:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://nujonoa.com/wp-content/uploads/2019/04/cropped-DSC00976-e1554456145409-32x32.jpg</url>
	<title>テキストマイニング | nujonoa_blog</title>
	<link>https://nujonoa.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>エクセルVBAで分かち書き、単語の頻度分析を行う方法！テキストマイニング、形態素分析</title>
		<link>https://nujonoa.com/how-to-do-text-mining-with-excel/</link>
					<comments>https://nujonoa.com/how-to-do-text-mining-with-excel/#comments</comments>
		
		<dc:creator><![CDATA[nujonoa]]></dc:creator>
		<pubDate>Sat, 05 Sep 2020 12:38:52 +0000</pubDate>
				<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[ワード]]></category>
		<category><![CDATA[分かち書き]]></category>
		<category><![CDATA[キーワード検索]]></category>
		<category><![CDATA[テキストマイニング]]></category>
		<guid isPermaLink="false">http://nujonoa.com/?p=7218</guid>

					<description><![CDATA[こちらの記事で、ワードVBAで分かち書きする方法を記載したのですが、ExcelVBAでも分かち書き、単語の頻度分析を行うことができましたので紹介させてもらいます。 目次 エクセルVBAで分かち書き、単語の頻度分析を行う方 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>こちらの記事で、ワードVBAで分かち書きする方法を記載したのですが、<br>ExcelVBAでも分かち書き、単語の頻度分析を行うことができましたので紹介させてもらいます。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-nujonoa-blog"><div class="wp-block-embed__wrapper">

<a rel="noopener" target="_blank" href="https://nujonoa.com/how-to-do-text-mining-with-words/" title="エクセル、ワードを用いて無料で分かち書き、単語の頻度分析を行う方法！形態素分析" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-right cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="http://nujonoa.com/wp-content/uploads/2019/05/25052019121319A-160x90.png" alt="" class=" internal-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">エクセル、ワードを用いて無料で分かち書き、単語の頻度分析を行う方法！形態素分析</div><div class="blogcard-snippet internal-blogcard-snippet">エクセル、ワードを用いて無料で分かち書き、単語の頻度分析を行う方法！形態素分析データベースを作成していくと、・よく出てくるワードは何か？・最近皆さんが、注目しているものは何か？を知りたいときが出てくると思います。そんな時に必要になってくるの...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://nujonoa.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nujonoa.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.09.05</div></div></div></div></a>
</div></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エクセルVBAで分かち書き、単語の頻度分析を行う方法！形態素分析</a></li><li><a href="#toc2" tabindex="0">単語の切り分け≒分かち書き≒形態素分析とは？</a><ol><li><a href="#toc3" tabindex="0">形態素分析</a></li></ol></li><li><a href="#toc4" tabindex="0">ワードは、分かち書きができる。</a></li><li><a href="#toc5" tabindex="0">ワードの単語の切り分けは「WORD VBA」の.words</a></li><li><a href="#toc6" tabindex="0">プログラム紹介</a><ol><li><a href="#toc7" tabindex="0">プログラムの出力結果</a></li></ol></li><li><a href="#toc8" tabindex="0">プログラムの説明</a><ol><li><a href="#toc9" tabindex="0">プログラム紹介</a></li><li><a href="#toc10" tabindex="0">ポイント</a></li></ol></li><li><a href="#toc11" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">エクセルVBAで分かち書き、単語の頻度分析を行う方法！形態素分析</span></h2>



<p>今回は、エクセルVBAから</p>



<p>・ワードを立ち上げて、<br>・セルの値をワードに打ち込んで、<br>・ワードを使って分かち書きを行い<br>・セルに書きこむ</p>



<p>という作業を自動化していきたいと思います。</p>



<p>エクセルVBAではなぜか速度が遅く、ワードVBAでどうにか行っていたのですが、<br>やはりExcelの方が扱いやすいですね。</p>



<p>それでは、エクセルVBAを用いた分かち書きの方法を紹介していきたいと思います。</p>



<p>仕事でよく使われる言葉の分析などなど、<br>色々使ってみてください！</p>



<h2 class="wp-block-heading"><span id="toc2">単語の切り分け≒分かち書き≒形態素分析とは？</span></h2>



<p>まずは簡単に、分かち書きについて紹介していきます。</p>



<p>分かち書きは文章を「単語」に分けることで、</p>



<p>さらに、分けた後の単語が動詞か名詞か判断するところまで行うことを</p>



<p>形態素分析</p>



<p>といいます。</p>





<a rel="noopener" target="_blank" href="https://ja.wikipedia.org/wiki/%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90#:~:text=%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90%EF%BC%88%E3%81%91%E3%81%84%E3%81%9F%E3%81%84%E3%81%9D,%E5%BD%A2%E6%85%8B%E7%B4%A0%E3%81%AE%E5%93%81%E8%A9%9E%E7%AD%89%E3%82%92" title="形態素解析 - Wikipedia" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-right cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Human_Language_Families_%28wikicolors%29.png/1280px-Human_Language_Families_%28wikicolors%29.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">形態素解析 - Wikipedia</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ja.wikipedia.org/wiki/%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90#:~:text=%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3%E6%9E%90%EF%BC%88%E3%81%91%E3%81%84%E3%81%9F%E3%81%84%E3%81%9D,%E5%BD%A2%E6%85%8B%E7%B4%A0%E3%81%AE%E5%93%81%E8%A9%9E%E7%AD%89%E3%82%92" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ja.wikipedia.org</div></div></div></div></a>




<p>英語の場合の分かち書きは単語の間に最初から区切りがありますので、<br>非常に簡単なのですが、(I like football　など)</p>



<p>日本語の場合は、</p>



<p>僕はサッカーが好きです。</p>



<p>と、区切りがありません。<br>ですので、何かのソフトを使って、</p>



<p>僕　/　は　/　サッカー　/　が　/　好き　/　です</p>



<p>と切り分ける必要があります。</p>



<h3 class="wp-block-heading"><span id="toc3">形態素分析</span></h3>



<p>形態素分析ではこれからさらに、</p>



<p>僕　/　は　/　サッカー　/　が　/　好き　/　です<br>名詞 /助詞/　名詞　　　/　助詞/　動詞　/　助詞</p>



<p>の様に切り分け、さらに、</p>



<p>・好きという「良いワード」の前にある名詞は何か<br>・逆に嫌い、汚いなど「悪いワード」の前にある名詞は何か？</p>



<p>などを分析していくことになります。</p>



<p>今回は、この中でも、「分かち書き」し、「単語の出現頻度」を計算できるプログラムになります。</p>



<h2 class="wp-block-heading"><span id="toc4">ワードは、分かち書きができる。</span></h2>



<p>パソコンで文章を打つと、適度な区切り位置を決めて、漢字に変換してくれますよね。<br>時々無茶苦茶なときもありますが、よく考えると、、この機能ってすごいですよね。</p>



<p>更に、ワードで文章を打つと、見やすいように日本語と数字の間隔を自動調整するなど、様々な文章の公正を自動でしてくれます。<br>これらの機能の一部として、「単語の切り分けも」行うことができます。</p>



<p>今回はその機能を使って分かち書きを実行していこうと思います。</p>



<h2 class="wp-block-heading"><span id="toc5">ワードの単語の切り分けは「WORD VBA」の.words</span></h2>



<p>ワードの単語の切り分けは、<br>word VBAの.wordsという機能になります。</p>



<p>本来は、ワードを切り分けて、単語数をカウントする、<br>切り分けたワードがどこに出現するか確認する。</p>



<p>などのために使用される関数ですが、<br>今回はこの関数を使ってプログラムを組んでいこうと思います。</p>





<a rel="noopener" target="_blank" href="https://docs.microsoft.com/ja-jp/office/vba/api/word.words" title="Words オブジェクト (Word)" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-right cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Words オブジェクト (Word)</div><div class="blogcard-snippet external-blogcard-snippet">Office VBA リファレンス トピック</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://learn.microsoft.com/ja-jp/office/vba/api/word.words" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">learn.microsoft.com</div></div></div></div></a>




<h2 class="wp-block-heading"><span id="toc6">プログラム紹介</span></h2>



<p>では、さっそくプログラムを紹介していきます。</p>



<h3 class="wp-block-heading"><span id="toc7">プログラムの出力結果</span></h3>



<p>まずは、プログラムの出力結果です。</p>



<p>このプログラムを使用すると、</p>



<p>①分かち書きしたい文章を入力。<br>②分かち書きした結果を表示<br>③単語の頻度を計算。</p>



<p>できます。</p>



<p>(クリックで拡大)</p>



<figure class="wp-block-image size-large"><a rel="noopener" target="_blank" href="https://nujonoa.com/wp-content/uploads/2020/09/image-43.png"><img loading="lazy" decoding="async" width="900" height="471" src="https://nujonoa.com/wp-content/uploads/2020/09/image-43-900x471.png" alt="" class="wp-image-7219" srcset="https://nujonoa.com/wp-content/uploads/2020/09/image-43-900x471.png 900w, https://nujonoa.com/wp-content/uploads/2020/09/image-43-500x262.png 500w, https://nujonoa.com/wp-content/uploads/2020/09/image-43-300x157.png 300w, https://nujonoa.com/wp-content/uploads/2020/09/image-43-768x402.png 768w, https://nujonoa.com/wp-content/uploads/2020/09/image-43-1536x804.png 1536w, https://nujonoa.com/wp-content/uploads/2020/09/image-43.png 1628w" sizes="(max-width: 900px) 100vw, 900px" /></a></figure>



<p>例として、清水翔太さんの歌詞を分かち書きしてみました。</p>



<p>結果を見てみると、君、僕が多いようです。<br>好き、愛してる、などなど恋愛の曲ばっかりをとってきてしまったようですね。笑<br></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="161" height="751" src="https://nujonoa.com/wp-content/uploads/2020/09/image-44.png" alt="" class="wp-image-7221"/></figure>



<h2 class="wp-block-heading"><span id="toc8">プログラムの説明</span></h2>



<p>今回のプログラムは、エクセルのVBAで書いています。</p>



<p>ExcelVBAから</p>



<p>①ワードを立ち上げて、<br>②セルの内容を転記<br>③ワードで分かち書き<br>④セルに書き込み<br>②～④を繰り返す。<br>⑤ワードを閉じる。<br>⑥頻度分析</p>



<p>という順番で行っています</p>



<p>下記ボタンからダウンロードできますので、<br>一度お試しください。</p>



<div class="wp-block-file"><a rel="noopener" target="_blank" href="https://nujonoa.com/wp-content/uploads/2020/09/分かち書き.xlsm">分かち書き<span class="fa fa-external-link internal-icon anchor-icon"></span></a><a rel="noopener" target="_blank" href="https://nujonoa.com/wp-content/uploads/2020/09/分かち書き.xlsm" class="wp-block-file__button" download>クリックしてダウンロード<span class="fa fa-external-link internal-icon anchor-icon"></span></a></div>



<h3 class="wp-block-heading"><span id="toc9">プログラム紹介</span></h3>



<p>下記が、今回使用したプログラムになります。</p>



<p>ダブルクリックするとコピーできますので、<br>ぜひ使ってみて下さい。</p>



<p>CELLS(1,2)~CELLS(1,11)までの文章を変換していきます。</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: vb; title: ; notranslate">
' アクティブセルの文字列を、
' Word の機能を使用して、単語に分解
Sub WAKACHIGAKI()

    Dim wd As Object
    Dim text As String
    Dim i As Double
    
    'Wordオブジェクトを取得
    Set wd = CreateObject(&quot;Word.Application&quot;)
    
    'Wordを見えるようにする
    wd.Visible = True
    
    Z = 2
    
    'Wordで新規文書を作成できる状態にする
    Set doc = wd.Documents.Add
    
    
    For J = 1 To 10
 
    moji = Cells(1, J + 1)
 
    
    ' Word のドキュメントに、アクティブセルのテキストを書きこむ
    wd.Selection.text = moji
       

    For i = 1 To wd.Selection.Words.Count
    
        Cells(i + 1, J + 1) = wd.Selection.Words(i).text
        Cells(Z, 12) = wd.Selection.Words(i).text
        Cells(Z, 13) = wd.Selection.Words(i).text
        Z = Z + 1
        
            If i Mod 20 = 0 Then
            
            Application.StatusBar = &quot;処理中...　文章&quot; &amp; J &amp; &quot;/10　単語&quot; &amp; i &amp; &quot;/&quot; &amp; wd.Selection.Words.Count

            End If
    
    Next i

    doc.Content.Delete
    
    Next J

    
    ' Word は保存せず終了
    wd.Quit False
    
        Application.StatusBar = False
        
        
    For L = 1 To Z
    
        If Cells(L, 13) Like &quot;&#x5B;あ-ん]&quot; Then
            Cells(L, 13).ClearContents
        End If
    Next
        
    ActiveSheet.Range(&quot;$M$2:$M$10000&quot;).RemoveDuplicates Columns:=1, Header:=xlNo
    Cells(2, 14) = &quot;=SUMPRODUCT((M2=$L$2:$L$&quot; &amp; Z &amp; &quot;)*1)&quot;
    Cells(2, 14).Copy
    Range(Cells(2, 14), Cells(Z, 14)).PasteSpecial
    Range(Cells(2, 13), Cells(Z, 14)).Sort Key1:=Cells(2, 14), order1:=xlDescending



End Sub

</pre></div>


<h3 class="wp-block-heading"><span id="toc10">ポイント</span></h3>



<p>ポイントは、</p>



<p>・words(i).textで分かち書きした単語を書き出す。<br>・If Cells(L, 13) Like "[あ-ん]" Then　で「あ～ん」一文字の時を消す。<br>・ActiveSheet.Range("$M$2:$M$10000").RemoveDuplicates Columns:=1, Header:=xlNo<br>で重複した単語の削除</p>



<p>くらいでしょうか？<br>また分からないことありましたら、コメントに書き込んでいただければ説明します！</p>



<h2 class="wp-block-heading"><span id="toc11">まとめ</span></h2>



<p>Excelを使って、ワードを立ち上げて作業することって、<br>正直そこまでないかと思うのですが、<br>分かち書きは非常に便利な機能になっています。</p>



<p>ぜひ、一度使っていただけたらと思います！！！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nujonoa.com/how-to-do-text-mining-with-excel/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
	</channel>
</rss>
