基礎技術
- 形態素解析
- 構文解析
- 語義の曖昧性解消
- 照応解析
形態素解析
PythonでMeCabを利用する。
pip install mecab-python3
Pythonで使ってみる
import MeCab
mecab = MeCab.Tagger()
result = mecab.parse("すもももももももものうち").split()
print(result)
MeCab.Taggerは、引数にオプションを文字列をとしてとります。 例:
- mecab = MeCab.Tagger("-Owakati")
- mecab = MeCab.Tagger("-Ochasen")
- mecab = MeCab.Tagger("-Oyomi")
- mecab = MeCab.Tagger("-d /opt/local/lib/mecab/dic/mecab-ipadic-neologd")
- ....and more
入手可能な日本語の形態素解析エンジン
フリーで入手可能なもの
- ChaSen(茶筌)、chasen.naist.jp (ラティス上の経路予測、HMM)
- JUMAN、nlp.kuee.kyoto-u.ac.jp
- KAKASI(kanji kana simple inverter)、kakasi.namazu.org
- KyTea(キューティー)、http://www.phontron.com/kytea/ (点予測、線形分類)
- MeCab(和布蕪)、taku910.github.io/mecab (ラティス上の経路予測、CRF)
- NMeCab(MeCabの.NETへの移植)、github.com
- Sen(MeCabのJavaへの移植)、ultimania.org、sen.dev.java.net
- Igo (MeCab互換、Java形態素解析器)、igo.sourceforge.jp
-
Janome(Python)、https://pypi.python.org/pypi/Janome
商用システム
-
Rosette形態素解析システム、Basis Technology
- Amazon、MSN、楽天などで利用されており、世界で最も利用者の多い形態素解析エンジンであると言える。
- 形態素解析エンジン言語郎、Zoo Corporation
-
日本語形態素解析MARIMO ムーター株式会社
- 大規模な辞書を持たず、1000語程度の学習モデルのみで未知語、新語、流行語、略語、話し言葉に対応する。
- 日本語形態素解析Webサービス(Yahoo!デベロッパーネットワーク)、developer.yahoo.co.jp
- 形態素解析API(gooラボ)、gooラボ by NTTレゾナント
- IBM Watson Explorer (旧 IBM Watson Content Analytics)
形態素解析辞書(解析エンジンと合わせて利用)
フリーで入手可能なもの
- ipadic :ChaSen用辞書。
- NAIST-jdic :ChaSen,MeCab用の辞書。
- UniDic :MeCab用の辞書。
構文解析
- KNP
- CaboCha
- spaCy
語義の曖昧性解消
照応解析
自然言語処理の主な応用
- 自動要約生成
- 情報抽出
- 情報検索、検索エンジン、概念検索
- 機械翻訳、翻訳ソフト
- 固有表現抽出
- 自然言語生成
- 光学文字認識
- 質問応答システム
- 音声認識
- 音声合成
- 校正、スペルチェッカ
- かな漢字変換
ツール群
- 文字コードや改行コードの統一: nkf Network Kanji Filter
- 構造化タグの除去: Beautiful Soup
- 文分割: sentence-spliter, Pragmatic Segmenter, jasentencesegmenter
- 前処理ツール: neologdn
- シソーラス: 日本語Word Net, 分類語彙表, 日本語語彙大系
- 極性辞書: 日本語評価極性辞書, 単語感情極性対応表, 評価値表現辞書