SlideShare a Scribd company logo
1 of 17
Download to read offline
Prologで構文解析という昔話 
しおばらひろあき@ハイロウテック 
ゆるふわ非構造#1 (2014/09/28)
自己紹介 
• しおばらひろあき 
• 合同会社ハイロウテック代表社員 
• http://www.hilotech.jp/ 
• Webの下から上まで全般が守備範囲 
• 最近はなぜかドールの衣装販売もしている…
テーマ 
自然言語の文章を 
Prologで構文解析してた事例
ごめんなさい… 
• 昔話です 
• 20年前! 
• いろんな意味で、いまは通用しない(かも) 
• 技術的に端折ったり間違ってるところがあるかも 
• http://www.hilotech.jp/contact でそっと教えてね!
構文解析って? 
音声分析形態素解析 構文解析 
意味分析や 
機械翻訳 
文章の構造を 
解析する 
ココ! 
とかOCR。 
テキスト対象 
の場合は不要 
MeCabとか 
Kuromoji
どうやる?(20~30年前の話) 
チョムスキーの「生成文法理論」 
と 
Prologでやろうぜ!
生成文法理論って? 
日本語とか英語とかの個別言語は、 
「形式文法」によってルールを記述できる 
人間は、生まれながらにして共通の 
「普遍文法」をもっている 
ノーム・チョムスキー
英語を形式文法で記述してみる 
• 仮に英語に 
以下のようなバリエーションしかないとして… 
Tom broke the cop. 
• 英語のルールは形式文法でこう書ける 
{ 
s → n,vp. 
vp → v,np. 
np → d^,n. 
v → { broke }. 
d → { the }. 
n → { tom, cup}. 
} 
品詞分類は伝統文法とは違う! 
・s : sentence 
・vp : verbal phrase 
・np : noun phrase 
・v : verb 
・d : determiner 
・n : noun
Prologって? 
• 非手続型言語 
• 述語論理で記述する論理型言語 
• おフランス製 
• 人工知能やエキスパートシステム分野で、 
日本でも一時期流行った 
• 実装はいろいろある
Prologって? 
• プログラム例 
% 三段論法 
% 事実: ソクラテスは人間である 
human('Socrates'). 
% ルール: 人間は死ぬ 
die(X) :- human(X). 
• 実行例 
?- die(‘Socrates’). 
true. 
• 推論してくれる! 
←←形式文法に似てる!!
Prologで英語の形式文法を書いてみよう! 
• たとえばこんな感じ 
{ 
s → n,vp. 
vp → v,np. 
np → d^,n. 
v → { broke }. 
d → { the }. 
n → { tom, cup}. 
} 
s(X,Y) :- np(X,Z),vp(Z,Y). 
vp(X,Y) :- v(X,Z),np(Z,Y). 
np(X,Y) :- d(X,Z),n(Z,Y). 
np(X,Y) :- n(X,Y). 
v([broke|X],X). 
d([the|X],X). 
n([tom|X],X). 
n([cup|X],X). 一部省略します
文章を与えて構文解析させてみる 
• こんなふうに出力が可能 
?- s([tom,broke,the,cup],[]). 
s(n(tom), vp(v(broke), np(d(the), n(cup)))) 
true. 
• 木構造での表示もできる
発展 
統語規則・辞書を増やせば多くの文章 
を構文解析できる 
英語以外の言語でも対応できる 
• 実際、しおばらはロシア語でやっていました
どこらへんが昔話なの? 
• 今は統計学的手法(機械学習)が使われる 
• vs. 「CaboCha」 
• サポートベクターマシンで構文解析する 
• Prologがあまり使われない… 
• ICOTなどの政治的な経緯があり忌避されるように 
• ぶっちゃけPrologの使い方がわからん 
• 生成文法理論にも批判が多い 
• 「気に入らない」とかいろいろ…
でも… 
温故知新
温故知新 
• 統計学的手法以外のアプローチは必要 
• 「機械学習型でうまくいかなければ別の方法で…」と最適 
な手法を判断して適応する 
• 大量の自然言語データを 
Prolog形式に変換する手法も考えられる 
• Prolog自体はユニーク 
• 知ってると変人としていばれる
ご清聴感謝します

More Related Content

Similar to Prologで構文解析という昔話

実践Excelスクレイピング
実践Excelスクレイピング実践Excelスクレイピング
実践Excelスクレイピング宏明 塩原
 
つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜Eric Sartre
 
PyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure CodingPyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure CodingGouji Ochiai
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm鉄次 尾形
 

Similar to Prologで構文解析という昔話 (8)

実践Excelスクレイピング
実践Excelスクレイピング実践Excelスクレイピング
実践Excelスクレイピング
 
Heroku tips1
Heroku tips1Heroku tips1
Heroku tips1
 
つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜
 
IoTの原点
IoTの原点IoTの原点
IoTの原点
 
PyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure CodingPyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure Coding
 
BrowserMob-Proxyのお話
BrowserMob-Proxyのお話BrowserMob-Proxyのお話
BrowserMob-Proxyのお話
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 

Recently uploaded

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Recently uploaded (12)

What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

Prologで構文解析という昔話