SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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自体はユニーク 
• 知ってると変人としていばれる
ご清聴感謝します

Weitere ähnliche Inhalte

Ähnlich wie 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鉄次 尾形
 

Ähnlich wie 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
 

Kürzlich hochgeladen

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Kürzlich hochgeladen (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Prologで構文解析という昔話