4

インターネットでチャットボットを探していました。楽しかったです。でも今は、このテーマが大好きで、自分のチャットボットを開発したいと思っています。
しかし、最初にすることは、チャットボットの「頭脳」をうまく管理する方法を探すことです。すべてを XML ファイルに保存するのが最善の解決策だと思いますね。
したがって、ファイルの種類は明らかです。異なる名詞間の関係などに来ます。私が名詞を持っているとき、例えば木です。木に葉、枝、根があることを最もよく保存するにはどうすればよいですか。そして、木が生き残るためには水と日光が必要だと?
そのように保存する必要がありますか?

これは、このツリーの XML になります。例:

<nouns>
    <noun id="noun_0">
        <name>tree</name>
        <relationship>
            <has>noun_1</has>
            <has>noun_2</has>
            <has>noun_3</has>
            <need>noun_4</need>
            <need>noun_5</need>
        </relationship>
    </noun>
    <noun id="noun_1">
        <name>root</name>
    </noun>
    <noun id="noun_2">
        <name>branch</name>
        <relationship>
            <has>noun_3</has>
        </relationship>
    </noun>
    <noun id="noun_3">
        <name>leaf</name>
    </noun>
    <noun id="noun_4">
        <name>water</name>
    </noun>
    <noun id="noun_5">
        <name>light</name>
    </noun>

    . . .

</nouns>
4

4 に答える 4

4

データ ストレージの選択肢:場合による

シンプルで学習しないボット: XML で問題ありません

すでに基本的な XML 構造が完成しているようです。始めたばかりの場合は、特に AI サポート チャットのようなボットの場合は問題ないと思います ( if userMsg.contains('lega') then print('TOS & Copyright...')。

もちろん、新しいフォーマットへの切り替えには時間とオーバーヘッドがかかります。

学習、複雑なボット: データベース!

もっと大規模なことをしようとしている場合、特にCleverBotを念頭に置いている場合は、データベースが必要になると思います。これは、ファイル .. がファイルであり、巨大であり、すべてをメモリ内で使用できるように保持しようとすると、リソースが大量に消費されるためです。この種のプロジェクトには、データベースをお勧めします。

なんで?英語は複雑です

しばらく前に、ニーブ ベイズ スパム ソーターを書きました。約 10,000 個のスパムを使用して 7% の精度で「トレーニング」し、データをメモリに保持するのに約 6 時間と 1.5 GB の RAM を使用しました。それはたくさんのデータです。英語は非常に難しく、実際if 'pony' then 'saddle'に .

于 2011-09-16T21:40:19.997 に答える
2

この情報をオントロジーとしてモデル化できると思います。関係、属性、レベルなどに関して、より豊富な情報をエンコードできます。RDF、OWL などの形式があり、使用でき、ほとんどすべての言語でサポートされています。

そして最も重要なことは、オントロジー エディターを使用するとデータの管理が簡単になることです。Protege (http://protege.stanford.edu/) をお勧めします。

于 2011-09-20T08:44:01.000 に答える
1

Freebase がさまざまなエンティティ間の関係を格納するために使用するグラフデータベースのようなものを試すこともできます。基本的に、これはノードとエッジのグラフであり、各ノードには属性とそれらの属性の値があります。エッジにはノードと同様の属性もあり、2 つのノードを接続するエッジはノード間の関係を定義します。

于 2012-12-06T03:57:30.513 に答える
0

あなたはおそらくデータベースを見ているでしょう。少数のルールセットで動作するルールベースのものがない限り、深刻なNLPシステムはいずれかを使用します。5 MB の xml ファイルを処理する C コードを作成するかどうかを検討してください。私は間違いなくそうしません。スタンフォード大学では、言語面に興味がある場合に便利なデモを主催しています。

于 2011-09-17T00:38:33.363 に答える