プログラム / 2008/09/03 (Wed) / 編集 |
Ontolopedia [α]というのは日本語のオントロジー(言葉の概念)を構築するためのシステム
、たとえば「琉球大学」と検索すると琉球大学と関係がある単語が出てくるわけです。ちなみに作っているのはNAL研
でもってこれで何をしようと思ったかというと、人工無能に組み込んだらおもしろいんじゃね?と思った訳ですよ。
人工無能ははっきりいってこれまで学習した内容しか話せない訳で、事前に膨大な辞書を作っておいたり話を振られるたびにネットから話題を拾ってきたりする事でだいぶ人間らしい会話ができるらしいのですが、それにしても話題の転換(「そういえば車と言えば、、、」とか)はあまり得意ではない印象。(俺が勝手に思ってるだけかもしれないがねw)
そこで、Ontolopediaを使って概念的に関連のある単語を調べ、その単語を使った会話をすれば自然に話題の転換ができるのではないかなぁと思ったりするわけですよ、ついでに自分で言葉の概念を学習してOntoropediaにフィードバックとかしたらOntoropedia的にもうれしいんじゃないかとね。
なんか書いてみたらなにがいいたいのかよくわからなくなってしまったがようは「Ontoropediaを使った人工無能(いわゆる会話ボット)があったらおもしろいかもしれない」というね
でもってこれで何をしようと思ったかというと、人工無能に組み込んだらおもしろいんじゃね?と思った訳ですよ。
人工無能ははっきりいってこれまで学習した内容しか話せない訳で、事前に膨大な辞書を作っておいたり話を振られるたびにネットから話題を拾ってきたりする事でだいぶ人間らしい会話ができるらしいのですが、それにしても話題の転換(「そういえば車と言えば、、、」とか)はあまり得意ではない印象。(俺が勝手に思ってるだけかもしれないがねw)
そこで、Ontolopediaを使って概念的に関連のある単語を調べ、その単語を使った会話をすれば自然に話題の転換ができるのではないかなぁと思ったりするわけですよ、ついでに自分で言葉の概念を学習してOntoropediaにフィードバックとかしたらOntoropedia的にもうれしいんじゃないかとね。
なんか書いてみたらなにがいいたいのかよくわからなくなってしまったがようは「Ontoropediaを使った人工無能(いわゆる会話ボット)があったらおもしろいかもしれない」というね
PR
プログラム / 2008/08/27 (Wed) / 編集 |
先日紹介したVIP言語をようやくためすことができたので紹介
事前に用意するもの
今回は学校の学生用サーバ(GNU/Linux てゆうかFedora8)でやってみた
*今回はアセンブラを使いますが、べつに実行ファイル(機械語プログラム)が生成できるならCだろうがJavaだろうが問題ありません
手順的には
事前に用意するもの
- asコマンド(gccコマンドでも可)の入っているパソコン
- VIP言語逆コンパイラ
- VIP言語コンパイラ
- GAS用に書いたプログラム
今回は学校の学生用サーバ(GNU/Linux てゆうかFedora8)でやってみた
*今回はアセンブラを使いますが、べつに実行ファイル(機械語プログラム)が生成できるならCだろうがJavaだろうが問題ありません
手順的には
- アセンブリ言語でGAS用プログラムを作成 LinuxやUNIXなど、gccを使うやつではGASを使っている、ちなみにGASとintel系のアセンブラ(NASMなど)では構文がいろいろ違うので互換性はない
- GAS (GNU Assembler)を使ってアセンブル この時点で実行可能だが、VIP言語のソースを見てみたいので以下も
- VIP逆コンパイラでVIP言語ソースにする これでVIP言語のソースが見れる
- VIP逆コンパイラでVIP言語ソースにする コンパイラもテスト
プログラム / 2008/08/17 (Sun) / 編集 |
ネットで言語について調べてたらVIP言語とやらをみつけた
非常に難解だが、習得すればものの数時間で弾道計算ソフトさえ作れてしまう。 上級者にしか手が出ない代物。 だがソース自体が激しく処理系依存である。
どんなものかと思ったら下のようなコンパイラ
#!/usr/local/bin/perl
use strict;
$_ = sub{local $/; <>;}->();
y/Ww//cd;y/Ww/01/;
binmode(STDOUT); # Windowsでコンパイルするときに必要
print pack'B*',$_;
機械語かよw
なんという処理系依存w 早速試してみようと思ったらMac用のソースがない、機械語なんてさっぱりわからない、しかたないのでC言語で書いたやつをコンパイルしてバイナリにするとどうなるか見てみた
main(){ write(1, "Hello World\n", 12); }
コンパイルしてxxdでみてみると2630行あるらしい、これはダメだ、、、
なので今度はアセンブラでやってみようと思う、[マイコミジャーナル]Hello WorldコレクションでFreeBSD用のやつを見つけたので
1 .text
2 _start:
3 .globl _start
4 push $12
5 push $message
6 push $1
7 push $0
8 mov $4, %eax
9 int $0x80
10
11 push $0
12 push $0
13 mov $1, %eax
14 int $0x80
15 message:
16 .ascii "Hello World"
asコマンドでコンパイルしてみる
hello.s:4:Invalid mnemonic 'push'
hello.s:5:Invalid mnemonic 'push'
hello.s:6:Invalid mnemonic 'push'
hello.s:7:Invalid mnemonic 'push'
hello.s:8:Invalid mnemonic 'mov'
hello.s:9:Invalid mnemonic 'int'
hello.s:11:Invalid mnemonic 'push'
hello.s:12:Invalid mnemonic 'push'
hello.s:13:Invalid mnemonic 'mov'
hello.s:14:Invalid mnemonic 'int'
どうしよう、、、 Introduction to Mac OS X Assembler Guideとやらをみてみる、あ、なんかPowerPC Assembler Instructionsとやらがあるぞ!
、、、、、、pushがないorz <ー 今ココ
非常に難解だが、習得すればものの数時間で弾道計算ソフトさえ作れてしまう。 上級者にしか手が出ない代物。 だがソース自体が激しく処理系依存である。
どんなものかと思ったら下のようなコンパイラ
#!/usr/local/bin/perl
use strict;
$_ = sub{local $/; <>;}->();
y/Ww//cd;y/Ww/01/;
binmode(STDOUT); # Windowsでコンパイルするときに必要
print pack'B*',$_;
機械語かよw
なんという処理系依存w 早速試してみようと思ったらMac用のソースがない、機械語なんてさっぱりわからない、しかたないのでC言語で書いたやつをコンパイルしてバイナリにするとどうなるか見てみた
main(){ write(1, "Hello World\n", 12); }
コンパイルしてxxdでみてみると2630行あるらしい、これはダメだ、、、
なので今度はアセンブラでやってみようと思う、[マイコミジャーナル]Hello WorldコレクションでFreeBSD用のやつを見つけたので
1 .text
2 _start:
3 .globl _start
4 push $12
5 push $message
6 push $1
7 push $0
8 mov $4, %eax
9 int $0x80
10
11 push $0
12 push $0
13 mov $1, %eax
14 int $0x80
15 message:
16 .ascii "Hello World"
asコマンドでコンパイルしてみる
hello.s:4:Invalid mnemonic 'push'
hello.s:5:Invalid mnemonic 'push'
hello.s:6:Invalid mnemonic 'push'
hello.s:7:Invalid mnemonic 'push'
hello.s:8:Invalid mnemonic 'mov'
hello.s:9:Invalid mnemonic 'int'
hello.s:11:Invalid mnemonic 'push'
hello.s:12:Invalid mnemonic 'push'
hello.s:13:Invalid mnemonic 'mov'
hello.s:14:Invalid mnemonic 'int'
どうしよう、、、 Introduction to Mac OS X Assembler Guideとやらをみてみる、あ、なんかPowerPC Assembler Instructionsとやらがあるぞ!
、、、、、、pushがないorz <ー 今ココ