9

私はテキスト解析機能とnltkライブラリが本当に好きなので、現在pythonを検討していますが、従来は.Net / C#プログラマーです。私はNLTKを使用しており、おそらくそのライブラリをCLRに移植する必要があるため、IronPythonは統合ポイントではないと思います。Python for .NETを少し見てみましたが、ここから始めるのが良いのではないかと考えていました。PythonクラスをC#にマーシャリングする方法はありますか?また、このソリューションはまだ使用されていますか?さらに良いことに、誰かがこれをしましたか?私が検討していることの1つは、永続性メディアを仲介として使用することです(Pythonで解析し、MongoDBに格納し、.NETでサイトを実行します)。

4

3 に答える 3

9

NLTKは純粋なPythonであるため、IronPythonで簡単に実行できます。検索の結果、このチケットが見つかりました。必要なのは、IronPythonにデフォルトで付属していない追加のPythonライブラリをいくつかインストールすることだけです。

これはおそらく、統合するための最も簡単な方法です。それ以外の場合は、Pythonをサブプロセスとして実行する必要がありますが、これは複雑に聞こえます。または、Pythonをサーバーとして実行してリクエストに応答する必要があります。これはおそらく最もスケーラブルですが、複雑なアプローチです。このようにする場合は、サーバーコードを単純化するためにTwistedを検討してください。

しかし、最初にIronPythonを試してください...

于 2009-11-24T06:18:44.543 に答える
6

なぜIronPythonに問題があるのか​​わかりません。引き続き、すべてのnltk呼び出しを使用できます。

PythonクラスをC#に移植することについての質問に答えるには、PythonコードをEXEにコンパイルしてみてください。これにより、すべてのPythonクラスを含むDLLが作成されます。これはしばらく前からあり、過去に私にとって魅力のように機能してきました。

于 2009-11-24T04:34:09.700 に答える
2

ただのアイデア

Pythonをサーバーとして実行し、.NETからソケットで接続するのはどうですか?

NLTKの読み込みには時間がかかるため、とにかく事前に読み込む方がよいでしょう。

于 2009-11-24T04:32:18.360 に答える