Notice

This page show a previous version of the article

テキスト検索の方法

<詳細検索>

はじめに

Tatoebaには、例文を検索する2つの方法があります。

  • 一般検索: 各サイトの上部にある検索バーから行う検索。
  • 詳細検索: 検索専用ページから行う検索。各サイトにある 詳細検索 のリンクからアクセスできます。

一般検索

一般検索には、3つの項目があります。

  • 検索文字列: 検索したい文字列を入力します。
  • 翻訳元言語: 原文(翻訳前)の言語を選択します。
  • 翻訳先言語: 翻訳文(翻訳後)の言語を選択します。選択した言語が、直接翻訳(直接訳)・間接翻訳(間接訳)に含まれる例文のみを検索します。

検索文字列

検索文字列が空白の場合は、翻訳元言語翻訳先言語で一致する全ての例文が検索されます。それ以外の場合は、検索文字列に入力した文字列を含む例文を検索します。

Tatoebaが使う検索エンジン(Manticore)は、Google検索エンジンなど、他の検索エンジンとは仕様が少し異なります。次の点に注意してください。

(1) Tatoebaの検索エンジン(Manticore, 旧名称Sphinx)は、疑問符(?)と感嘆符(!)は特殊な検索文字として機能します。特殊な検索文字として利用しない場合は、それを取り除いてください。

(2) トルコ語やヨーロッパ言語などステミング対応言語は、live を検索すると、livedliving などの類似の単語とも一致します。完全一致検索をしたい場合は、=live のように検索したい文字列の前に等号(=)を付ける必要があります。詳しくは、「ステミングとは」および「ステミング対応言語」を参照してください。

(3) 日本語や中国語など、単語と単語の間にスペースを入れない言語を検索する場合は、検索文字列を二重引用符(")で囲んでください。詳しくは、「単語区切りのない言語について」を参照してください。

(4) 二重引用符(")を使って、それぞれの単語をフレーズとしてグループ化することができます。例えば、met him は、文中のどこかに "met""him" が含まれる例文と一致しますが、"met him" を検索文字列に指定した場合は、単語がその順序で現れる完全一致検索を行います。

(5) 詳細については「英語の例」を参照してください。.

翻訳元言語

翻訳元言語は、"すべての言語"を選択できます。その場合は、全ての言語で検索文字列の検索を行います。それ以外の場合は、選択した言語でのみ検索を行います。

翻訳先言語

翻訳先言語は、"すべての言語"を選択できます。その場合は、全ての言語が検索対象になります。それ以外の場合は、選択した言語の翻訳文がリンクされている原文のみ検索されます。翻訳文は、直接訳は黒色、間接訳は灰色で表示されます。間接訳は、2つの例文の間に、翻訳のチェーン(鎖)がありますが、2つの例文には直接的な繋がりはありません。これは、2つの例文が互いの翻訳であるとは限らないということを示しています。

英語の例

  • 英文の中に、"live", "lives", "living", "lived"を含む文を抽出するためには、検索文字列に "live" を指定します。(大文字・小文字は区別されません。そのため、検索結果には、"Live", "Living"などが含まれます。)

  • 完全一致させるためには、検索したい文字列の前に等号(=)を付けます。(大文字・小文字の区別はありません。)

  • 検索文字列の中に、パンクチュエーション(句読点)を含めないでください。ほとんどのパンクチュエーションは、無視されますが、疑問符(?) および 感嘆符(!) は特殊な検索文字として機能するため、特に注意が必要です。詳しくは「句読点を含む英文の検索方法」を参照してください。

  • 検索したい文字列の最後にドル記号($)を付けた場合は、その文字列で終わる文を検索します。次の検索文字列は、"Tom"で終わる英文を検索結果に表示します。

  • ほとんどのパンクチュエーションは、検索で見つけることはできません。しかし、ドル記号($)とアンダーバー(_)は特別で、その記号の前に円記号(¥)またはバックスラッシュを付けることで、それらの文字を含む英文を検索結果に表示することができます。

  • 検索したい文字列の前にアクサンシルコンフレックス(^)を付けると、その文字列で始まる文を検索することができます。次の検索文字列は、”Tom”で始まる英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"Tom"で始まり"Mary"で終わる英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"Tom"または"He"で始まる英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"fasting", "fasted", または "fasts"を含む英文を検索結果に表示します。検索したい文字列に、等号(=)を付けることで、完全一致検索を行うことができるため、"faster" や "fastest"を除外した検索結果を得ることができます。

  • フレーズ(句、熟語、慣用句など)を検索するには、検索したいフレーズを二重引用符(")で囲みます。完全一致検索を行いたい場合は、各文字列の前に等号(=)をつけるか、または、二重引用符(")の直前に等号(=)を付けることで、二重引用符内の全ての文字列に一致するフレーズを検索結果に得ることができます。

  • "live in Boston", "living in Boston", "lives in Boston"などのフレーズを検索する場合は、次のような検索文字列を使用します。

  • 次の検索文字列を指定すると、"live in Boston"というフレーズと完全一致する英文のみが検索結果に表示されます。

  • 次の検索文字列を指定すると、"I live in Boston"と完全一致するフレーズが検索されます。他の語を含むフレーズは検索結果に表示されません。

  • 次の検索文字列を指定すると、文頭に"Tom"がなく、文中にのみ"Tom"が含まれる英文を検索結果に表示します。

  • 次の検索文字列を指定すると、文頭や文末に"Tom"がなく、文中に"Tom"が含まれる英文を検索結果に表示します。

  • 検索文字列の中のクエスチョンマーク(?)は、1文字のワイルドカードです。

    • 次の検索文字列を指定すると、"whenever" や "wherever" が含まれる英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"eve"が含まれる6文字の文字列で、"eve"の前に任意の2文字、後ろに1文字が含まれる"clever", "eleven", "peeves", "uneven"などを検索結果に表示します。

  • 次の検索文字列を指定すると、"Tom"と"Mary"の文字列の間に2つの文字列を含み、なおかつ"Mary"と"John"の文字列の間に1つの文字列を含むフレーズを検索結果に表示します。

  • 次の検索文字列を指定すると、文頭に"Tom"、文末に"Mary"を含み、なおかつ、"Tom"と"Mary"の間に任意の3つの文字列を含むフレーズを検索結果に表示します。

  • 次の検索文字列を指定すると、"red"で始まる文字列を持つ英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"red"で終わる単語を持つ英文を検索結果を表示します。

  • 次の検索文字列を指定すると、文字列の中に"red"を含む英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"French"を含むが、"Tom"を含まない英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"cheek"を含むが、マイナス記号(-)が付いた文字列を含まない英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"cat"が"dog"より先に現れる英文を検索結果に表示します。

  • 次の検索文字列を指定すると、"cat", "dog", "fish"のいずれか2つが含まれる英文を検索結果に表示します。

"I can't" を除外した "I can" のみの検索方法

  • 次の検索文字列を指定すると、"I can't" で始まる文字列を検索結果に表示します。

  • しかし、次の検索文字列を指定すると、"I can"と"I can't"の文を含みます。

  • “I can’t”を除外した ”I can” のみを検索する場合は、次の検索文字列を指定します。(注意:二重引用符が必要です)

"the", "a", "an"を含まない英文の検索方法

  • 検索文字列には、含む単語 を1つ以上指定する必要があります。そのため、次のような 含まない単語 のみを指定すると、エラーになります。

-the -a -an

  • "the", "a", "an"を含まず、より多くの結果を取得したい場合は、上記のように含めたくない文字列の前にマイナス記号(-)を指定した後、各アルファベットで始まる文字列の検索を行ってください。(しかし、この検索には、時間がかかります。)

-the -a -an a*|b*|c*|d*|e*|f*|g*|h*|i*|j*|k*|l*|m*|n*|o*|p*|q*|r*|s*|t*|u*|v*|w*|x*|y*|z*

"of ~ing"の検索方法

  • 次の検索文字列を指定すると、"of" の直後に "ing" で終わる文字列を含む英文を検索結果に表示します。

  • of NEAR/1 *ing -"*ing of"

注釈 * -"*ing of" は、"of"の前に"~ing"がくる英文を除外するために必要です。 * この検索結果には、"~ing"が複数存在する英文が優先的に表示されます。それを回避したい場合は、ソート順を変更してください。

"I myself"の検索方法

注釈 * 検索文字列の最後の部分 -(myself << I) は "myself I", "myself, I", "myself. I" 等を含む英文を除外するために必要です。

動詞句 "do that"の検索方法

注釈 * 検索文字列の最後の部分 -^Does -^Did -"that << does" -"that << did" は、動詞句の "do that" を含む英文のみに限定するため必要です。これを指定することにより "Does that", "Did that" で始まる英文や "that does", "that did"等の連続する英文を除外できます。

単語区切りのない言語について

日本語や中国語など、単語と単語の間にスペースを入れない言語を検索する場合は、検索したい文字列を二重引用符(")で囲んでください。例えば、「逆に」という文字列を検索する場合は、検索文字列に

を指定します。また、二つ以上の文字列「逆に」と「企業」を検索する場合は、検索文字列に

を指定します。 二重引用符(")を省略した場合は、Tatoeba検索は、各文字を1つ1つの単語として検索するため、検索文字列に指定した文字1つ1つを含む全ての例文が検索されます。その場合は、文字列としての塊やその並び順は、無視されます。

例文・代替表記・トランスクリプションをそれぞれ個別に検索する方法

言語によっては、例文を異なる表記で記述すること(中国語:繁体字/簡体字、ウズベク語:ラテン文字/キリル文字など)ができます。その他にもトランスクリプション(中国語:ピンイン、日本語:フリガナなど)があります。

Tatoeba検索のデフォルトでは、例文・代替表記・トランスクリプションの全ての項目が検索対象になります。そのため、検索文字列に指定した文字列(例えばひらがな)が例文に含まれない場合でもトランスクリプション(フリガナなど)に含まれる場合には、検索結果にその例文が表示されます。

ここでは、@textや@transcriptionを指定して、検索対象となる項目を制御する方法をご紹介します。

  • 次の検索文字列を指定すると、フリガナに「かな」という文字を含む日本語の例文を検索結果に表示します。

  • 次の検索文字列を指定すると、例文に「国」フリガナに「くに」という文字を含む日本語の例文を検索結果に表示します。

  • 次の検索文字列を指定すると、例文に「国」を含みフリガナに「くに」を含まない日本語の例文を検索結果に表示します。

  • 次の検索文字列を指定すると、例文に「著」ピンインに「zháo」を含む中国語の例文を検索結果に表示します。

詳細説明

Tatoeba検索では、大文字とパンクチュエーション(句読点)は無視されます。(ただし、パンクチュエーションが本ページに特記されていない場合に限る。)

英語などのようにステミングをサポートする言語(ステミング対応言語)で文字列の完全一致検索を行いたい場合は、検索したい文字列の前に、=live のように等号(=)を置く必要があります。これは、検索したい文字列やフレーズを二重引用符(")で囲むことで、完全一致検索を行うGoogle検索に使い慣れているユーザにとっては違和感のある指定方法です。Manticore検索エンジンでは、二重引用符(")は、Google検索とは異なる機能を有し、これは、マルチワード(フレーズ)検索に影響します。Manticore検索エンジンでは、フレーズを二重引用符(“)で囲んだ場合は、指定した連続する文字列の順序で、全ての文字列を含む例文を検索します。

しかし、フレーズを二重引用符(")で囲むだけでは、個々の文字列のステミングを抑制することができません。ステミングを抑制するためには、フレーズの中のそれぞれの文字列の前、またはフレーズの最初の二重引用符(")の前に等号(=)を置く必要があります。また、同じ検索文字列に等号(=)とアクサンシルコンフレックス(^)の両方を使う必要がある場合は、等号(=)は、アクサンシルコンフレックス(^)の前に置く必要があります。例えば、"Noise"で始まる完全一致検索を行うには、検索文字列に ^=noise ではなく=^noise を指定します。

例として、

  • like thing

を検索文字列に指定するとします。これは、”like things”や“likely things” さらに”things like”を含む英文を検索結果に表示します。

  • "like thing"

のように二重引用符(“)を追加すると、"things like"(文字列が間違った順序で表示される)のような検索一致を取り除くことができますが、この場合は、"like thing" や"likey things"などは、引き続き一致します。これに対して、

  • "=like =thing"

を指定すると、"like thing"のみに一致します(残念ながら、Tatoebaコーパス上には、その英文が存在しません)。さらに、二重引用符(“)を削除し、

  • =like =thing

を指定すると、その並び順は無視され、"What made you do a silly thing like that?"が一致するでしょう。また、

  • like=thing

のように等号(=)の一つを削除すると、"Such a strange thing is not likely to happen."が見つかります。

アステリスク()は、検索したい文字列の先頭、中央、末尾に置くことができます。しかし、アステリスク()を文字列の先頭に置く場合は、検索したい文字列が3文字以上必要です。それ以外の場合(2文字以内の場合)は、検索は行われません。

ステミングとは

ステミングとは、検索文字列と検索対象の言語の両方から、その言語特有の末尾シーケンス(語形の変化)を取り除き、語幹(語形変化の基礎になる部分)で検索を行う機能です。この機能により、liveを検索すると"lived""living" を含む例文が検索結果に表示されるようになります。Tatoeba検索は、英語を含む幾つかの言語において、デフォルトで検索文字列をステミング(語幹処理)します。

ステミング対応言語

Tatoeba検索がステミングする言語は、以下の通りです。 アラビア語、バスク語、カタロニア語、デンマーク語、オランダ語、英語、フィンランド語、フランス語、ドイツ語、ギリシャ語、ヒンディー語、ハンガリー語、インドネシア語、アイルランド語、イタリア語、リトアニア語、ネパール語、ノルウェー語(ブークモール)、ポルトガル語、ルーマニア語、ロシア語、スペイン語、スウェーデン語、タミル語、トルコ語(古代ギリシャ語などの関連言語では不可)

その他の検索演算子

  • “or”を意味する バーティカルライン (|) は、検索したい文字列のいずれかを含む例文を見つけます。次の検索文字列

    • hate | detest

    は、”hate” または “detest” のいずれか(または両方)が含まれる英文を検索結果に表示します。

  • “or式(ex-expression)”を他の文字列と一緒に指定したい場合は、”or式”を 括弧 の中に置く必要があります。次の検索文字列

    • (red|blue) house

    は、”red”または”blue”のいずれか(または両方)が”house”と一緒に含まれる英文を検索結果に表示します。

  • 検索文字列の前の ハイフン(-) または エクスクラメーション(!)は、その文字列が存在しない英文を見つけます。次の検索文字列

    • like –thing (またはlike !thing)

    は、”I like ice cream.”と一致しますが、”I like that red thing.”とは一致しません。感嘆符(!)を用いた場合も同じように機能します。

  • 検索文字列の前の アクサンシルコンフレックス(^) は、その文字列から始まる英文のみを見つけます。次の検索文字列

    • great

    は、”Great people are not always wise.”と一致しますが、”You are the great love of my life.”とは一致しません。

  • 検索文字列の後の ドル記号($) は、その文字列で終わる英文のみと一致します。次の検索文字列

    • life$

    は、”This is the best day of my life.”と一致しますが、”Life means nothing without friends.”とは一致しません。

  • 指定した検索文字列以外は含まない英文の検索がしたい場合は、二重引用符(") と アクサンシルコンフレックス(^) と ドル記号($) を組み合わせます。次の検索文字列

    • "i love you$"

    は、”I love you.”と” I love you!”に一致しますが、”I love you more than you love me.”には一致しません。(しかし、この検索では、” I loved you.”とも一致します。もし、検索文字列に "^i =love you$" を指定すると、” I loved you.”は除外されます。)

  • 検索文字列の間の二つの しょうなり記号(<<) は、最初に指定した文字列が2番目に指定した文字列の前にくる英文と一致しますが、2番目の文字列が最初の文字列の前にくる英文とは一致しません。次の検索文字列

    • dog << cat

    は、dogcat より先にある英文と一致しますが、逆は一致しません。また、この演算子は、同じ文字列が複数含まれる英文を検索する場合にも役立ちます。例えば、次の検索文字列

    • these << these << these

    は、”these”という単語を3つ含む英文と一致します。

  • フレーズに続く、チルダ記号(~)と正の整数(N)の組み合わせ(~N)は、検索文字列をN個未満に分割できる数を制限します。つまり、次の検索文字列

    • "you are *ble"~1

    は、”You are irresistible.”と一致しますが、”You are partially responsible.”とは一致しません。

  • フレーズに続く スラッシュ(/) と 正の整数(N) の組み合わせ(/N)は、最大N個の一致する単語を持つ例文を検索します。つまり、次の検索文字列

    • "I wish you would stop"/4

    は、”I wish you would stop.”と” I wish you would reconsider.”の両方と一致します。

  • MAYBE キーワードは、MAYBEの右側の部分がオプションであることを示します。オプションで指定した単語を含む例文が見つかった場合は、デフォルト検索(つまり、"指定なし"でソートされたもの)で優先的に上位に表示されます。例えば、検索文字列

    • perhaps i can MAYBE help

    は、"Perhaps I can help""perhaps i can MAYBE answer" の両方と一致しますが、"Perhaps I can help" の方が検索結果の上位に表示され、その後に、"perhaps i can MAYBE answer" が表示されます。MAYBE は全て大文字で書く必要があります。検索文字列に、

    • maybe

    を指定した場合は、 maybe という文字列と一致します。

詳しくは、Manticore documentation for operators を参照してください。


関連項目

詳細検索


ホームページに戻る