Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9707

形態素解析エンジンNMeCab ver.0.10.2によるUniDic2.1の利用

$
0
0
1.NMeCab ver0.10.2について この記事は、以下に示した記事の続きです。 2.UniDicについて UniDicとは、国立国語研究所の規定した斉一(せいいつ)な言語単位(短単位)と、 階層的見出し構造に基づく電子化辞書および、その実装としてのリレーショナルデータベースと、そのデータベースからエクスポートされた短単位をエントリ(見出し語)とする、形態素解析器MeCab用の解析用辞書の総称です。  NMeCab ver0.10.2は、UniDic ver.2.1 及び ver.2.2 に対応したクラスを有しておりますので、以下にそれを紹介いたします。 3.MeCabUniDic21Taggerの 基礎的な使い方 MeCabUniDic21Taggerクラスを生成したのち、文字列を Parse関数で解析すると、 MeCabIpaDicNodeの配列が返り値として戻されます。 これの表層形/読み/品詞/品詞細分類1-3/活用形/活用型/原形/読み/発音を取り出して処理します。 using System; using NMeCab.Specialized; class Program { static void Main() { String dicDir = @"../../../../unidic-mecab-2.1.2_bin"; // 辞書のパス using (MeCabUniDic21Tagger tagger = MeCabUniDic21Tagger.Create(dicDir)) // IPAdic形式用のTaggerインスタンスを生成 { MeCabUniDic21Node[] nodes = tagger.Parse("私の名前は中野です。"); // 形態素解析を実行 foreach (MeCabUniDic21Node node in nodes) // 形態素ノード配列を順に処理 { Console.WriteLine($"表層形:{node.Surface}"); Console.WriteLine($"品詞大分類:{node.Pos1}"); // 個別の素性 Console.WriteLine($"品詞中分類:{node.Pos2}"); // 〃 Console.WriteLine($"品詞小分類:{node.Pos3}"); // 〃 Console.WriteLine($"品詞細分類:{node.Pos4}"); // 〃 Console.WriteLine($"活用型:{node.CType}"); // 〃 Console.WriteLine($"活用形:{node.CForm}"); // 〃 Console.WriteLine($"語彙素読み:{node.LForm}"); // 〃 Console.WriteLine($"語彙素 :{node.Lemma}"); // 〃 Console.WriteLine($"書字形出現形:{node.Orth}"); // 〃 Console.WriteLine($"発音形出現形:{node.Pron}"); // 〃 Console.WriteLine($"書字形基本形:{node.OrthBase}"); // 〃 Console.WriteLine($"発音形基本形:{node.PronBase}"); // 〃 Console.WriteLine($"語種 :{node.Goshu}"); // 〃 Console.WriteLine($"語頭変化型:{node.IType}"); // 〃 Console.WriteLine($"語頭変化形:{node.IForm}"); // 〃 Console.WriteLine($"語末変化型:{node.FType}"); // 〃 Console.WriteLine($"語末変化形:{node.FForm}"); // 〃 Console.WriteLine($"仮名形出現形:{node.Kana}"); // 〃 Console.WriteLine($"仮名形基本形:{node.KanaBase}"); // 〃 Console.WriteLine($"語形出現形:{node.Form}"); // 〃 Console.WriteLine($"語形基本形:{node.FormBase}"); // 〃 Console.WriteLine($"語頭変化結合形:{node.IConType}"); // 〃 Console.WriteLine($"語末変化結合形:{node.FConType}"); // 〃 Console.WriteLine($"アクセント型 :{node.AType}"); // 〃 Console.WriteLine($"アクセント結合型 :{node.AConType}"); // 〃 Console.WriteLine($"アクセント修飾型 :{node.AModType}"); // 〃 Console.WriteLine(); } } Console.Read(); } } なお、辞書としては、以下のページからunidic-mecab-2.1.2_bin.zipをダウンロードして解凍してください。  上記プログラムの出力は以下です。ipadicに対して和語、漢語などの種別情報が追加されています。 表層形:私 品詞大分類:代名詞 品詞中分類:* 品詞小分類:* 品詞細分類:* 活用型:* 活用形:* 語彙素読み:ワタクシ 語彙素 :私-代名詞 書字形出現形:私 発音形出現形:ワタクシ 書字形基本形:私 発音形基本形:ワタクシ 語種 :和 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形:ワタクシ 仮名形基本形:ワタクシ 語形出現形:ワタクシ 語形基本形:ワタクシ 語頭変化結合形:* 語末変化結合形:* アクセント型 :0 アクセント結合型 :* アクセント修飾型 :* 表層形:の 品詞大分類:助詞 品詞中分類:格助詞 品詞小分類:* 品詞細分類:* 活用型:* 活用形:* 語彙素読み:ノ 語彙素 :の 書字形出現形:の 発音形出現形:ノ 書字形基本形:の 発音形基本形:ノ 語種 :和 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形:ノ 仮名形基本形:ノ 語形出現形:ノ 語形基本形:ノ 語頭変化結合形:* 語末変化結合形:* アクセント型 :* アクセント結合型 :名詞%F1 アクセント修飾型 :* 表層形:名前 品詞大分類:名詞 品詞中分類:普通名詞 品詞小分類:一般 品詞細分類:* 活用型:* 活用形:* 語彙素読み:ナマエ 語彙素 :名前 書字形出現形:名前 発音形出現形:ナマエ 書字形基本形:名前 発音形基本形:ナマエ 語種 :和 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形:ナマエ 仮名形基本形:ナマエ 語形出現形:ナマエ 語形基本形:ナマエ 語頭変化結合形:* 語末変化結合形:* アクセント型 :0 アクセント結合型 :C2 アクセント修飾型 :* 表層形:は 品詞大分類:助詞 品詞中分類:係助詞 品詞小分類:* 品詞細分類:* 活用型:* 活用形:* 語彙素読み:ハ 語彙素 :は 書字形出現形:は 発音形出現形:ワ 書字形基本形:は 発音形基本形:ワ 語種 :和 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形:ハ 仮名形基本形:ハ 語形出現形:ハ 語形基本形:ハ 語頭変化結合形:* 語末変化結合形:* アクセント型 :* アクセント結合型 :動詞%F2@0,名詞%F1,形容詞%F2@-1 アクセント修飾型 :* 表層形:中野 品詞大分類:名詞 品詞中分類:固有名詞 品詞小分類:地名 品詞細分類:一般 活用型:* 活用形:* 語彙素読み:ナカノ 語彙素 :ナカノ 書字形出現形:中野 発音形出現形:ナカノ 書字形基本形:中野 発音形基本形:ナカノ 語種 :固 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形:ナカノ 仮名形基本形:ナカノ 語形出現形:ナカノ 語形基本形:ナカノ 語頭変化結合形:* 語末変化結合形:* アクセント型 :0 アクセント結合型 :* アクセント修飾型 :* 表層形:です 品詞大分類:助動詞 品詞中分類:* 品詞小分類:* 品詞細分類:* 活用型:助動詞-デス 活用形:終止形-一般 語彙素読み:デス 語彙素 :です 書字形出現形:です 発音形出現形:デス 書字形基本形:です 発音形基本形:デス 語種 :和 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形:デス 仮名形基本形:デス 語形出現形:デス 語形基本形:デス 語頭変化結合形:* 語末変化結合形:* アクセント型 :* アクセント結合型 :形容詞%F2@-1,動詞%F2@0,名詞%F2@1 アクセント修飾型 :* 表層形:。 品詞大分類:補助記号 品詞中分類:句点 品詞小分類:* 品詞細分類:* 活用型:* 活用形:* 語彙素読み: 語彙素 :。 書字形出現形:。 発音形出現形: 書字形基本形:。 発音形基本形: 語種 :記号 語頭変化型:* 語頭変化形:* 語末変化型:* 語末変化形:* 仮名形出現形: 仮名形基本形: 語形出現形: 語形基本形: 語頭変化結合形:* 語末変化結合形:* アクセント型 :* アクセント結合型 :* アクセント修飾型 :*

Viewing all articles
Browse latest Browse all 9707

Trending Articles