3

文を解析するためにCharniakParser(リランカーではない)を使用しようとしています。私はこのような文を持っていることを意味します:

It is good to meet you.

そして、それをCharniakで解析する必要があります(その後、LTHシステムとCharniak Parserに基づくLTH動作を使用するため、Charniakパーサーの使用を主張します)。

したがって、結果は次のようになります。

(s (XP(PRP I) (V is) ....)

ただし、Charinak Parserに対して「make」コマンドを実行しようとすると、次のエラーが発生します。

BChartsm.c LeftRightGotIter does not name a type
BChartsm.c in member function double Bchart::pHypgt(const std::string&, int)
BChartsm.c strpbrk was not declared in this scope
BChartsm.c in member function float Bchart::coputeTgT(int,int)
BChartsm.c globalGi was not declared in this scope

Madnaniが開発したパッチを使おうとしましたが、うまくいきませんでした。また、この解決策を使おうとしましたが、最後の部分が理解できませんでした。私はすべてのsudo dpkg ...コードを実行しましたが、その後、何をすべきか理解できませんでした。

その間、私はUbuntu 11.04を使用していて、私のOSは64ビットのものだと思います。

誰かが私に問題を解決する方法を説明できますか?

4

2 に答える 2

3

Charniak のページと Brown サイトの両方からリンクされているバージョンは維持されていません。最新の g++ で動作させるには、かなりの作業が必要です。

幸いなことに、ブラウン (BLLIP) は、「BLLIP パーサー」という名前で GitHub に保守バージョンを保持しています。

https://github.com/BLLIP/bllip-parser

これは、64ビットUbuntuで初めてコンパイルされました。Flex をまだインストールしていない場合は、Flex もインストールする必要があることに注意してください。

于 2013-06-13T22:13:38.353 に答える
3

C++ コードをコンパイルしていて、どういうわけか ".c" ファイルに存在します。GCC はそれらを C++ ではなく C ソースとして扱います。

GCC の「-x」オプションを使用して、C++ ソースの認識を強制する必要があります。

gcc -x c++  <your_source>

Makefile について話しているので、CFLAGS オプションを探して、-x c++そこにオプションを追加します。

于 2012-07-26T08:23:04.877 に答える