3

私は大手旅行代理店でプログラマーとして働いています。私はかなりの経験を積んでいますが、AI のようなものを構築する必要があるという問題に遭遇しました。この種のスクリプトがどこにでも存在することは知っていますが、有用なものが見つからないようです。

基本的に、FAQ スクリプトを作成しています。私たちは毎日、同じ種類の質問の電子メールでいっぱいになっているので、これを書いているときと同じように機能する連絡フォームを作成したいと考えています。私が今書いているものと何らかの形で似ている質問に答えました。私が主題を書いている間も同じことが起こります。

さて、本題に入ります。お問い合わせフォームを作成していますが、クライアントが件名やメッセージを書いているときに、事前に定義された Q&A を多数表示したいと考えています。soundexFAQ がデンマーク語であり、音声学的に英語のように聞こえないため、使用できないと思います。

だから..どうすれば:

  • データベースを構築しますか? フルテキストまたはタグを使用し、メッセージから既知のタグを抽出する必要がありますか?
  • PHP スクリプトを作成しますか? 私が知っておくべきだと思う機能はありますか?

基本的に私は研究しているので、単純な SQL クエリだけでなく、その目的のために設計された完全なスクリプトにも非常に感謝しています! 何でも便利です。

4

2 に答える 2

1

これを Zane へのコメントとして追加するつもりでしたが、かなり長くなりました。

デンマーク語の文法によっては、可能性のある一致を見つけるために、レーベンシュタイン距離に対してかなり大きなカットオフ ポイントが必要になる場合があります。

これに費やす時間がもう少しある場合は、単語の境界で分割し、個々の単語をステム処理してから、それらのステムの数をデータベースに既にあるものと比較することをお勧めします。http://pecl.php.net/package/stemにステミング ライブラリがあるようです(使用したことはありませんが、デンマーク語をサポートしているようです)。

pecl-stem には私が見つけることができる正式なドキュメントがないように見えるので (まあ、私は興味がありました)、pecl パッケージをインストールした後、次のように使用します。

$stem = stem($myInputWord, STEM_DANISH);

とにかくPHPマニュアルを熟読していたので、より大きなアプリケーションの場合はそれを追加することもできます(あなたの場合だけに紹介するつもりはありませソルなど。しかし、繰り返しになりますが、それはおそらくあなたの場合はやり過ぎです。

于 2013-03-20T10:33:09.230 に答える
0

レーベンシュタイン距離を見る

于 2013-03-20T10:23:03.833 に答える