文字列の自動タグ付けは *文字列* に対して機能します

このバグは、短い文字列(例:「art」)に自動タグ仕様を設定した際に発見されました。その結果、「artificial」などのトピックが自動タグ付けされてしまいました。

参考までに:自動タグ仕様のページにある「テスト」機能は正常に動作します(「art」に対する自動タグの場合、「artificial」ではテスト中にタグが生成されません)。

このバグは、短い監視単語で自動タグ付けを行うことがあまり一般的ではないため、おそらくこれまで気づかれていなかったのでしょう。

「いいね!」 4

@codinghorror もこれに気づかれていると思います。対応の優先順位付けは私たちの課題リストにあります。

「いいね!」 4

このバグを修正し、リンクとタグ付きの監視ワードが完全な単語単位で動作するようにしました。

watched_words_regular_expressions が有効な場合は、この限りではありません。

「いいね!」 4

Bianca、ご返信ありがとうございます。

デフォルトで watched_word_regular_expression が有効になっていたようで、それが「単語全体への操作」を壊してしまうとは気づいていませんでした。単語全体への操作と正規表現は互いに排他的でなければならないのでしょうか?

つまり、これはバグとして捉えるべきでしょうか、それとも他の機能による必要な制約なのでしょうか?

現時点では、まだこれをバグだと考えています。正規表現が指定された場合でも、正規表現ではない形式での単語全体の解析が、正規表現による解析と互換性がない理由が見当たりません。

こんにちは、ノーマンさん。

一部の監視ワードに正規表現を使用している場合、それはすべてに適用されます。そのため、正規表現が有効で art に対して自動タグ付けが設定されている場合、artificial もタグ付けされると予想されます。単語 art だけを検索するには、単語境界メタ文字 \\b を使用してください。art の場合、\\bart\\b のようになります。

「いいね!」 3

この設定が有効になっている場合に UI で通知されるようにすべきです。有効化されると、そのフィールドの意味が大幅に異なるためです。

パスワード入力時などに「Caps Lock がオン」と表示されるようなものです。

「いいね!」 3

皆様、どうもありがとうございます。正規表現に対する私のやや凡庸な理解が不足しており、監視単語の動作を誤解させてしまったのであれば、お詫び申し上げます。しかし、いくつかの点について申し上げます。

  • 私は、正規表現のコンテキストが「単語境界内の文字列」のようなものだと考えていました。他にどのような解釈が考えられるでしょうか?もちろん、トピック文書全体ということではないでしょう。この場合、「artificial」がタグ付けされるためには、art*(または art.* など、このトピックのタイトルで言及されているようなパターン)を指定する必要がありました。

  • Joshua さん:単語境界のメタ文字に関するご提案、ありがとうございます。試してみましたが、動作しませんでした。テスト機能でも、実際の動作でもです。つまり、現在、望ましい動作を実現するための回避策(あるいは「正しい方法」)はないようです。

  • テスト機能は非常に優れています。直感的に考えていた通りに動作しているように見えます。art は「art」という単語として現れたときのみトリガーされ(「artificial」ではトリガーされない)、art* は期待通りに「artificial」でトリガーされます。さらに、art* life は「art life」と「artificial life」の両方でトリガーされます。また、単一の単語のみを入力した場合、テスト機能が正規表現パースを使用していないのではないかとも考えましたが、違います。foo* art は「foobar art」でトリガーされますが、「foobar artificial」ではトリガーされません。つまり、テスト機能を作成した方は、私の考え方に沿って考えていたようです(と思います)。

結論として、

  • Jeff さんの、watched_words_regular_expressions が有効になっていることを示すリマインダーを追加するという提案は良いものです。
  • テスト機能の動作は、実際の動作と一致すべきです。
    • 参考までに、私の希望としては、実際の動作が現在のテスト機能の動作に一致することを望みます。
  • 現在のテスト機能では示唆されていないレベルの正規表現の知識が必要になる場合、どこかに例を掲載すると良いでしょう。
  • 回避策や「正しい方法」(例えば「\\bart\\b を使用して望ましい動作を得る」など)があれば、喜んでそれを使用します。

重ねて、この大規模なプラットフォームにおける比較的些細な問題にご注目いただき、ありがとうございました。

「いいね!」 2

これを @zogstrip に割り当てていただけますか?

「いいね!」 4

この PR では、サイト設定で「監視ワードの正規表現」が有効になっている場合に通知を表示するようにしました。

以下は、正規表現が無効な場合と有効な場合の表示です(通知と入力プレースホルダーの違いをご覧ください)。

「いいね!」 4

でも、ビアンカ、
‘\bart\b’ を試してみましたが、「art」や「artificial」にはマッチしませんでした(本来そうなるべきではないので)。

これは自動タグ付けのための試みでした。

トピックの解析(自動タグ付けの実行)に、既存の Test 関数をそのまま使えない理由はありますか?

こんにちは、ノーマンさん。

「watched words regular expressions」サイト設定が有効になっている場合、\bart\b と入力する必要があります。ここで \b は単語境界を表します。このサイト設定が無効になっている場合は、単語境界が自動的に含まれるため、これを使用する必要はありません。

私はこれをテストしましたが、テストモーダルを含め、問題なく動作しました。

[quote=“nhpackard, post:14, topic:193983”]
既存の Test 関数をそのまま使ってトピックを解析し(自動タグ付けを行う)、なぜそれができないのでしょうか?[/quote]

その機能を実装しましたので、最新バージョンであれば問題なく動作するはずです。

「いいね!」 3

こんにちは、ビアンカさん。

ご調査いただき、誠にありがとうございます。

  1. 「監視ワードの正規表現」の有効化について混乱していました。オートトリガー仕様にワイルドカード (*) を使用すれば、自動的に設定されると考えておりました。しかし、そうではないことがわかりましたので、私の \\bart\\b の試みが失敗したことも驚きではありません。
  2. テスト機能の実装を確認するために「最新バージョン」を確認いたします。私にとっては Test は常に機能しており、あなたにとっても同様であったとのことですね。

重ねてありがとうございます!

「いいね!」 2