問題タブ [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.
nlp - 自然言語処理に興味がある人にとって、良い出発点は何ですか?
質問
そこで、私は最近、ユーザーによって送信および生成されたテキストから「意味」を導き出すことに対処しなければならない、いくつかの新しい可能なプロジェクトを考え出しました。
自然言語処理は、この種の問題を扱う分野であり、いくつかの初期調査の後、私はOpenNLP Hubと、 attempt プロジェクトのような大学のコラボレーションを見つけました。そしてstackoverflowにはこれがあります。
研究論文や紹介テキストから API に至るまで、誰かが私をいくつかの優れたリソースにリンクしてくれたら、6 歳の子供がクリスマス プレゼントを開けるよりも幸せです!
アップデート
あなたの推奨事項の 1 つを通じて、私はopencyc ( 「世界最大かつ最も完全な一般知識ベースおよび常識推論エンジン」 ) を見つけました。さらに驚くべきことに、 UMBEL と呼ばれるopencycの蒸留バージョンであるプロジェクトがあります。これは、rdf/owl/skos n3 構文のセマンティック データを備えています。
また、「文法記述からレコグナイザー、インタープリター、コンパイラー、およびトランスレーターを構築する」ためのパーサージェネレーターであるantlrにも出くわしました。
そして、ここに私の質問があります。それは、大量の無料でオープンなデータをリストしています。
スタックオーバーフロー コミュニティに感謝します。
mapping - Prologへの入力
私は現在、ルートをリンクしてバーミンガム地域の基本的なGPSを作成する再帰的なPrologプログラムに取り組んでいます。現時点では、次のように出力を取得できます。
入力
出力
私がやりたいのは、プログラムにある種のインターフェースを提供させることです。そのため、次のように入力するとします。
それは私に以下を提供します:
Prologは強力な言語なので、これは簡単に可能だと思いますが、私が取り出した本の多くはこの部分をスキップしているようです。詳細はわかりませんが、私が知る限り、write()とread()の行に沿って何かを使用する必要があります。
ここにいる誰かが、いくつかの基本的な例や詳細情報へのリンクを持ったProlog初心者を出してくれませんか?
編集:これらの答えの多くは非常に複雑に見えます。解決策は約5〜10行のコードである必要があります。次の行に沿って何かを行うことができるので、値の読み取りは問題ではありません。
write()を使用して出力を書き出すことができれば、新しい行(nl)を使用して、上記の出力のように表示できるようにしたいと思います。
これが私の入力である場合、これらの入力で機能するように最上位のrouteplan()をどのように調整しますか?また、これらのステーションのラインを追加のパラメータとして追加した場合、これはどのように実装されますか?すべてのリンクは、次のようにファイルの先頭で定義されます。
したがって、この情報があれば、そのように行を読み取ることができればよいでしょう。
prolog - SML は何に使用されますか?
本当の意味での SML の用途は何ですか?
その実用的な用途は Prolog と似ていますか?
list - メンバー述語をワンライナーとして実装する
面接質問!
これは、通常member
、Prologで関係を定義する方法です。
1つのルールのみを使用して定義します。
parsing - スキーム(プロローグなし)でDCGを使用して解析しますか?
Prolog-in-Schemeの実装はたくさんあります。例:Kanren、Schelog。
どうやら「AIプログラミングのパラダイム」では、NorvigはDefinite Clause Grammarsを使用するために、LispにProlog-to-Lispコンパイラを実装しています。
しかし、もっと簡単でクリーンな方法はありますか?たぶん、完全な「プロローグ」の実装を避けるために、ambを巧妙に使用することはできますか?SchemeでDCGベースの解析を行う最も簡単な方法は何ですか?
prolog - SWI-Prolog tokenize_atom/2 の置き換え?
私がする必要があるのは、アトムをトークンに分割することです。例:
統一しL=['Hello',',','World','!']
ます。まさにtokenize_atom/2
そうです。しかし、tokenize_atom/2
ラテン文字以外で使用しようとすると失敗します。普遍的な代替品はありますか、またはそれを書く方法はありますか? 前もって感謝します。
prolog - プロローグ: センテンス パーサー
ここに何時間も座って、このコードを見つめているだけで、何が間違っているのかわかりません。コードをたどって何が起こっているかを知っています (verbPhrase にヒットすると、永遠のループになります)。どんなヒントでも大歓迎です。ありがとうございました。
prolog - 今すぐプロローグを学ぼう!DCG 実践例
Learn Prolog Now!を進めてきました。独学で、定款文法を学んでいます。実践セッションのタスクの 1 つに問題があります。タスクは次のとおりです。
形式言語 a n b 2m c 2m d nは、次の形式のすべての文字列で構成されます: a の切れていないブロックの後にbの切れていないブロックが続き、その後にcの切れていないブロックが続き、その後にdの切れていないブロックが続きます。、aとdのブロックがまったく同じ長さであり、cとdのブロックもまったく同じ長さであり、さらにそれぞれ偶数個のcとdで構成されるようにします。たとえば、ε、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 を作成することは可能ですか? もしそうなら、与えられたタスクを解決できるように、これらに参加する方法を教えてもらえますか?
prolog - Prolog での定節文法再帰のカウント
次の Prolog 定句文法があります。
これにより、[a,a,b,b] のような単語は [a,b,a,b] のような単語とは反対に受け入れられます。一言で言えば、文法は明らかにa^nb^nです。ここで、n をユーザーに返したいと思います。n の計算方法を教えてください。
prolog - Prologで複数桁の数値を解析する
私は次の単純な式パーサーを持っています:
ただし、これは1桁の数字のみをサポートします。この場合、どうすれば複数桁の数値を解析できますか?