問題タブ [dcg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
8362 参照

nlp - 自然言語処理に興味がある人にとって、良い出発点は何ですか?

質問

そこで、私は最近、ユーザーによって送信および生成されたテキストから「意味」を導き出すことに対処しなければならない、いくつかの新しい可能なプロジェクトを考え出しました。

自然言語処理は、この種の問題を扱う分野であり、いくつかの初期調査の後、私はOpenNLP Hubと、 attempt プロジェクトのような大学のコラボレーションを見つけました。そしてstackoverflowにはこれがあります。

研究論文や紹介テキストから API に至るまで、誰かが私をいくつかの優れたリソースにリンクしてくれたら、6 歳の子供がクリスマス プレゼントを開けるよりも幸せです!

アップデート

あなたの推奨事項の 1 つを通じて、私はopencyc ( 「世界最大かつ最も完全な一般知識ベースおよび常識推論エンジン」 ) を見つけました。さらに驚くべきことに、 UMBEL と呼ばれるopencycの蒸留バージョンであるプロジェクトがあります。これは、rdf/owl/skos n3 構文のセマンティック データを備えています。

また、「文法記述からレコグナイザー、インタープリター、コンパイラー、およびトランスレーターを構築する」ためのパーサージェネレーターであるantlrにも出くわしました。

そして、ここに私の質問があります。それは、大量の無料でオープンなデータをリストしています。

スタックオーバーフロー コミュニティに感謝します。

0 投票する
4 に答える
6624 参照

mapping - Prologへの入力

私は現在、ルートをリンクしてバーミンガム地域の基本的なGPSを作成する再帰的なPrologプログラムに取り組んでいます。現時点では、次のように出力を取得できます。

入力

出力

私がやりたいのは、プログラムにある種のインターフェースを提供させることです。そのため、次のように入力するとします。

それは私に以下を提供します:

Prologは強力な言語なので、これは簡単に可能だと思いますが、私が取り出した本の多くはこの部分をスキップしているようです。詳細はわかりませんが、私が知る限り、write()とread()の行に沿って何かを使用する必要があります。

ここにいる誰かが、いくつかの基本的な例や詳細情報へのリンクを持ったProlog初心者を出してくれませんか?

編集:これらの答えの多くは非常に複雑に見えます。解決策は約5〜10行のコードである必要があります。次の行に沿って何かを行うことができるので、値の読み取りは問題ではありません。

write()を使用して出力を書き出すことができれば、新しい行(nl)を使用して、上記の出力のように表示できるようにしたいと思います。

これが私の入力である場合、これらの入力で機能するように最上位のrouteplan()をどのように調整しますか?また、これらのステーションのラインを追加のパラメータとして追加した場合、これはどのように実装されますか?すべてのリンクは、次のようにファイルの先頭で定義されます。

したがって、この情報があれば、そのように行を読み取ることができればよいでしょう。

0 投票する
7 に答える
8008 参照

prolog - SML は何に使用されますか?

本当の意味での SML の用途は何ですか?

その実用的な用途は Prolog と似ていますか?

0 投票する
4 に答える
39604 参照

list - メンバー述語をワンライナーとして実装する

面接質問!

これは、通常member、Prologで関係を定義する方法です。

1つのルールのみを使用して定義します。

0 投票する
1 に答える
582 参照

parsing - スキーム(プロローグなし)でDCGを使用して解析しますか?

Prolog-in-Schemeの実装はたくさんあります。例:Kanren、Schelog。

どうやら「AIプログラミングのパラダイム」では、NorvigはDefinite Clause Grammarsを使用するために、LispにProlog-to-Lispコンパイラを実装しています。

しかし、もっと簡単でクリーンな方法はありますか?たぶん、完全な「プロローグ」の実装を避けるために、ambを巧妙に使用することはできますか?SchemeでDCGベースの解析を行う最も簡単な方法は何ですか?

0 投票する
1 に答える
1424 参照

prolog - SWI-Prolog tokenize_atom/2 の置き換え?

私がする必要があるのは、アトムをトークンに分割することです。例:

統一しL=['Hello',',','World','!']ます。まさにtokenize_atom/2そうです。しかし、tokenize_atom/2ラテン文字以外で使用しようとすると失敗します。普遍的な代替品はありますか、またはそれを書く方法はありますか? 前もって感謝します。

0 投票する
1 に答える
1936 参照

prolog - プロローグ: センテンス パーサー

ここに何時間も座って、このコードを見つめているだけで、何が間違っているのかわかりません。コードをたどって何が起こっているかを知っています (verbPhrase にヒットすると、永遠のループになります)。どんなヒントでも大歓迎です。ありがとうございました。

0 投票する
3 に答える
2572 参照

prolog - 今すぐプロローグを学ぼう!DCG 実践例

Learn Prolog Now!を進めてきました。独学で、定款文法を学んでいます。実践セッションのタスクの 1 つに問題があります。タスクは次のとおりです。

形式言語 a n b 2m c 2m d nは、次の形式のすべての文字列で構成されます: a の切れていないブロック後にbの切れていないブロックが続き、その後にcの切れていないブロックが続き、その後にdの切れていないブロックが続きます。、adのブロックがまったく同じ長さであり、cdのブロックもまったく同じ長さであり、さらにそれぞれ偶数個のcdで構成されるようにします。たとえば、εabbccd、およびaaabbbbccccdddはすべて a n b 2m c 2m d nに属します。この言語を生成する DCG を書きます。

a n d n、 b 2m c 2m、さらには a n b 2mと c 2m d nを生成するルールを書くことはできますが、これらすべてのルールを a n b 2m c 2mに結合することはできないようですd n . 以下は a n d nと b 2m c 2mを生成できる私のルールです。

a n b 2m c 2m d nは本当に CFG ですか? また、レッスンで教えられたことだけを使用して (追加の引数やコードなどを使用せずに) DCG を作成することは可能ですか? もしそうなら、与えられたタスクを解決できるように、これらに参加する方法を教えてもらえますか?

0 投票する
3 に答える
438 参照

prolog - Prolog での定節文法再帰のカウント

次の Prolog 定句文法があります。

これにより、[a,a,b,b] のような単語は [a,b,a,b] のような単語とは反対に受け入れられます。一言で言えば、文法は明らかにa^nb^nです。ここで、n をユーザーに返したいと思います。n の計算方法を教えてください。

0 投票する
3 に答える
2275 参照

prolog - Prologで複数桁の数値を解析する

私は次の単純な式パーサーを持っています:

ただし、これは1桁の数字のみをサポートします。この場合、どうすれば複数桁の数値を解析できますか?