発音記号ごとに始まる英単語の一覧を探してます。

たとえば発音記号「s」で始まる単語の場合、
「sea」とか「see」が入っていて、
「she」とか「show」は入っていないといった感じのものを探しています。
もちろん他の発音記号についても必要としています。
ただし、一覧にはそれぞれの発音記号について、100個以上の単語がある物が望ましいです。
以上、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/05/03 00:57:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:s34itl No.1

回答回数117ベストアンサー獲得回数4

ポイント60pt

どなたからも回答がないようですので、参考情報として回答します。

次のようにして先頭発音ごとの単語一覧を作ることができます。

(1) 発音記号付きの英単語リストを入手します。

https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/cm...

cmudict.0.7a

(133,720語ほど登録されています)

#ただし、発音記号はCMU独自(?)のものを使っています。→(4)に対応表

(2) 先頭の発音記号ごとに単語を抽出するコマンドです。

上記のファイルは、単語と発音記号の間に空白が2個、発音記号の要素の間に空白が1個ずつ入っています。

「単語表記 <space> <space> 発音記号1 <space> 発音記号2 <space> …」

#母音の発音記号の後には012の数字が付いていて、それぞれ、アクセントなし、第一アクセント、第二アクセントを表しています。

例えば、「s」または「sh」の発音で始まる単語は、dosのコマンドラインで、(1)を保存したディレクトリに移動し、次のように入力すれば取り出すことができます。

>> find " S " cmudict.0.7a

>> find " SH " cmudict.0.7a

(3) とりあえず(2)を自動的に実行するバッチファイルです。

次のbegin~endを適当な名前で保存し(例えば、makelist.bat)、(1)の後に、(1)を保存したディレクトリに移動し、実行、保存してください。

>> makelist > wordlist.txt

http://www.speech.cs.cmu.edu/cgi-bin/cmudict の Phoneme Set を指定しています。

#母音の後は、アクセント表示(0,1,2)の付加を考慮して、空白を入れていません。

#以下、すべて半角文字です。投稿の際に全角文字に変換されているかもしれませんので、ご注意ください。

---- begin -- cut here----

find " AA" cmudict.0.7a

find " AE" cmudict.0.7a

find " AH" cmudict.0.7a

find " AO" cmudict.0.7a

find " AW" cmudict.0.7a

find " AY" cmudict.0.7a

find " B " cmudict.0.7a

find " CH " cmudict.0.7a

find " D " cmudict.0.7a

find " DH " cmudict.0.7a

find " EH" cmudict.0.7a

find " ER" cmudict.0.7a

find " EY" cmudict.0.7a

find " F " cmudict.0.7a

find " G " cmudict.0.7a

find " HH " cmudict.0.7a

find " IH" cmudict.0.7a

find " IY" cmudict.0.7a

find " JH " cmudict.0.7a

find " K " cmudict.0.7a

find " L " cmudict.0.7a

find " M " cmudict.0.7a

find " N " cmudict.0.7a

find " NG " cmudict.0.7a

find " OW" cmudict.0.7a

find " OY" cmudict.0.7a

find " P " cmudict.0.7a

find " R " cmudict.0.7a

find " S " cmudict.0.7a

find " SH " cmudict.0.7a

find " T " cmudict.0.7a

find " TH " cmudict.0.7a

find " UH" cmudict.0.7a

find " UW" cmudict.0.7a

find " V " cmudict.0.7a

find " W " cmudict.0.7a

find " Y " cmudict.0.7a

find " Z " cmudict.0.7a

find " ZH " cmudict.0.7a

---- end -- cut here----

(4) 発音記号の対応表

CMU独自の発音記号とIPAの対応表です。

次のbegin~endを適当な名前で保存し(例えば、pron.html)、ブラウザで表示してください。

#たぶん、IPAの記号が表示されると思いますが、表示されない場合は何らかの手段でIPAのフォントをインストールしてください。

#以下、すべて半角文字です。投稿の際に全角文字に変換されているかもしれませんので、ご注意ください。

---- begin -- cut here----

<html><head><title>pronunciation</title></head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<body>

<pre>

Phoneme / Example / Translation [Face]

AA / odd / AA D [&#593;]

AE / at / AE T [&#230;]

AH / hut / HH AH T [&#652;]

AO / ought / AO T [&#596;&#720;]

AW / cow / K AW [au]

AY / hide / HH AY D [ai]

B / be / B IY [b]

CH / cheese / CH IY Z [&#679;(t&#643;)]

D / dee / D IY [d]

DH / thee / DH IY [&#240;]

EH / Ed / EH D [e]

ER / hurt / HH ER T [&#601;&#720;]

EY / ate / EY T [e&#618;]

F / fee / F IY [f]

G / green / G R IY N [&#609;]

HH / he / HH IY [h]

IH / it / IH T [i]

IY / eat / IY T [i&#720;]

JH / gee / JH IY [&#676;(d&#658;)]

K / key / K IY [k]

L / lee / L IY [l]

M / me / M IY [m]

N / knee / N IY [n]

NG / ping / P IH NG [&#331;]

OW / oat / OW T [ou]

OY / toy / T OY [&#596;i]

P / pee / P IY [p]

R / read / R IY D [r]

S / sea / S IY [s]

SH / she / SH IY [&#643;]

T / tea / T IY [t]

TH / theta / TH EY T AH [&#629;]

UH / hood / HH UH D [u]

UW / two / T UW [u&#720;]

V / vee / V IY [v]

W / we / W IY [w]

Y / yield / Y IY L D [j]

Z / zee / Z IY [z]

ZH / seizure / S IY ZH ER [&#658;]

</pre>

</body>

</html>

---- end -- cut here----

id:taroemon

ご回答ありがとうございます。


すごい回答をいただき恐縮です。

ちょっと僕には難しくてにわかに理解することができませんが、

これは相当な数が取得できそうなので、ぜひチャレンジしてみようと思います。


引き続き他の方からのご回答をお待ちしています。

2009/04/30 01:10:16
  • id:s34itl
    投稿した際に複数の空白が1つにされたのを見落としていましたので補足します。
    単語と発音記号の境目に空白が2個あるので、それに着目して語頭の発音記号を検出しようとしています。
    (2)の例で、

    >> find " S " cmudict.0.7a

    のダブルクオート開きの直後(Sの前)の空白は2個です。正しくは↓です。

    >> find <space> " <space> <space> S <space> " <space> cmudict.0.7a

    (3)も同様にダブルクオート開きの直後の空白は2個ですが、ダブルクオート閉じるの直前には空白1個のありとなしが混在していますのでご注意ください。

    ・母音の場合はダブルクオート閉じるの直前に空白なし(AA0、AA1、AA2のいずれも抽出するため)
    find <space> " <space> <space> AA" <space> cmudict.0.7a

    ・子音の場合はダブルクオート閉じるの直前に空白1個
    find <space> " <space> <space> B <space> " <space> cmudict.0.7a

  • id:taroemon
    s34itlさん
    再度の解説ありがとうございます。

    grape2さん
    これはよさそうですね。試してみることにします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません