1

私が取り組んでいるプロジェクトでは、WordNetを使用してユーザー入力の言語分類を行い、データベースの Prolog バージョンを使用したいと考えています。

P#を試してみましたが、これはかなりうまく機能しますが、WordNet データベースの膨大なサイズを処理できないようです。使用したい最小のファイル (218 kB) をコンパイルできますが、2 つの大きなファイル (それぞれ 2.3 MB と 7.3 MB) をコンパイルしようとすると、約 30 分の作業の後に失敗し、Windows は "問題が発生しました。Microsoft にレポートを送信しますか?」ダイアログ。

Prolog.Netも試しましたが、うまく機能していないようです。

最後に、SWI-Prolog のC# バインディングを試しましたが、正しく動作しません。サンプル コードを実行しようとすると、PLEngine.Initialise()ステップで失敗し、ロードしようとしているもの (私が想定する DLL) が無効な Win32 アプリケーション (BadImageFormatException) であると主張します。

C# と Prolog を統合する他の方法についての提案、または私が既に試したソリューションを取得するための提案はありますか? OSはWindowsサーバー2008(64ビット)、SWI Prologはバージョン5.7.11です。

4

1 に答える 1

1

おそらく、64ビットWindowsで32ビットSWI-Prologに問題があります。プラットフォームのターゲットがAnyCPUの場合、問題の原因である可能性があります。これを修正するには、C#プロジェクトのプロパティページを開きます。[ビルド]タブを選択し、プラットフォームターゲットx86に変更します。

現在任意のCPUを使用している場合、アプリケーションは64ビットWindowsで64ビットで実行されます。32ビットDLLをロードしようとすると、惨めに失敗します。

于 2009-07-23T14:55:56.097 に答える