重複しない単語だけを抜き出す方法:同じ語とみなす条件
その文章が実際にどの語を使っているかを知りたいとき、重複を取り除けば語彙の一覧になります。用語集の下書き、語彙リスト、タグの整理に向いています。
重複を除いた一覧が必要な場面
用語集を作る、語学の単語リストを用意する、たまったタグを重複のない集合にする。どれも出現回数は問わず、出てきたかどうかだけが問題です。何十行もの文章から目で重複を拾うのは疲れますし、数行離れた同じ語は見落としやすいものです。
もう一つは 2 つの版の比較です。それぞれを重複除去して並べ替えれば、増えた語と消えた語が見えます。変更の方向を知りたいときに、2 回通読するより速く判断できます。
- 用語集、単語リスト、単語カードの下書き
- タグやキーワードを重複のない集合にする
- 2 つの版の語彙を比べる
- ある語が文章に出てくるか確認する
何を同じ語とみなすか
空白で語に分割し、比較では大文字小文字を無視します。Word、word、WORD は同じ語で、最初に現れた綴りが残ります。先に出てきた Word が残り、後ろの word は出力されないため、大文字小文字だけが違う行が並ぶことはありません。
句読点は取り除かれないため、word と word, は別の語です。統合したい場合は先に小文字化するか句読点を削除してください。日本語や中国語の文には空白がないため、文全体が 1 語として扱われ、形態素解析なしでは実用的な結果になりません。
- 大文字小文字は無視し、最初の綴りを残す
- 句読点は残るため word と word, は別扱い
- 初出順に 1 行 1 語で出力
- 日本語・中国語は事前に形態素解析が必要
できないことと、組み合わせる相手
重複を除いた時点で、各語が何回出たかは分かりません。多用している語を探したりキーワード密度を見たりするときは、出現回数を多い順に出す頻度集計を使ってください。このツールが答えるのは「出たかどうか」だけです。
見出し語への正規化もしません。run、runs、running は 3 語のままなので、語幹だけ見たいときは邪魔になります。アルファベット順が必要なら結果を単語の並べ替えに渡し、行の構造を残したいなら行の重複除去を使ってください。
- 回数を見たいときは頻度集計を使う
- 辞書順は重複除去のあとに並べ替える
- 行を残したいときは行の重複除去を使う
- 活用形の統合は手作業か語幹処理が必要
よくある質問
大文字小文字が違う語も重複とみなされますか?
みなされます。比較では大文字小文字を無視するため、Word と word は同じ語で、最初に現れた綴りだけが残ります。両方の綴りを残したい場合は、先にどちらかへ統一するか、2 つの文章を別々に処理してください。
結果をアルファベット順にできますか?
直接はできません。出力は初出順で、原文と照らし合わせやすい並びになっています。辞書順にしたい場合は結果を単語の並べ替えツールに渡してください。大文字小文字を無視して並べたいときは、先に全体を小文字にします。
日本語や中国語でも使えますか?
ほとんど役に立ちません。スペースと改行で区切るため、空白のない日本語や中国語では文全体が 1 語になり、重複除去しても元の文とほぼ同じ結果になります。先に形態素解析で語に分けてから処理してください。
関連ツール:重複しない単語