ワードハント

「ウィキペディアの頻度辞書とPythonインタープリターを使用して自分自身を楽しませる方法が他に何も手元になく、近い将来にない場合」の一連の記事を続けます。

私のウィキペディアパーサーが機能したとき、私はその素晴らしい夜を再現しようとします。 2年前のシェルとのセッションは、残念ながら存続しなかったので、もう一度やり直します。



だから。 wiki_freq.txtファイルをいくつかのフォルダーに配置し、このフォルダーでPythonシェルを開きます。 行こう

始めるには、辞書をロードします:



>>> import codecs >>> d={} >>> for l in codecs.open("wiki_freq.txt","r","utf-8-sig"): w,f=l.split() d[w]=int(f)
      
      







そして、例えば、最も長い単語を取得するために、非常に単純なものを試してください。 すべての辞書の単語のリストの先頭を逆の長さでソートします(2つの単語の長さが同じ場合、それらは頻度でソートされます)。



 >>> print ', '.join(sorted(d.keys(),key=lambda w:(len(w),d[w]),reverse=True)[:100])
      
      





言葉
ポリ - Ikaalinenの-クールー-vilpula-lyankipohya-Padasjoki-ヘイノラ-mantyuharyu-Savitaipale-ラッペーンランタ-Antrea-ROUT、納屋-Zemitany-Ciekurkalns-Yugla-Baltezers-Ropazhi-Krievupe-Vangazhi-Inchukalns-eglyupe-Silciems-スィグルダpetrozavodsk- Shala-Medvezhyegorsk-Povenets-kondopoga-Kizhi-Valaam-Leningrad-Petrozavodsk、Thaumatauakatangiakakauauotamateaturipukakapikimaungoronokupanuenuakitanatuu、装甲貫通断片化-鈍感な砂波青武装砂 溶岩-pyatikhatki、baturino-rakino-dyshkin-zaddenka-stepalkovo-kacheli-cheshikhino-poehnova-kozlina、Mikhailovsky-Sevsk-Dmitrovsk-Krome-Naryshkino-Eagle-Novosil-Borki-Kostornoyeフィンランドの超ハイテク不滅の超コスモサイバーコスチューム、コムソモール-モスクワ-レニングラード-マルコフツエフ-コムソモール、ゲレンジク-アナパ-トンネル-ウビンスク-ノボドミトリエフスカヤ-ゲレンジク-ツル-ゴルバチョフ-ベレフ-コヘルチク-スヘルチチ-スヘルチチ-スヘルチチ-スヘルチチトゥーラ、コペンハーゲン-ハンブルク-ブレーメン-ドルトムント-フラ kfurt-stuttgart-zurich、メチオニル-グルタミル-ヒスチジル-フェニルアラニル-プロリル-グリシル-プロリン、fly-mura-tura-tara-para-park-spider-pout-plut-raft-slot-elephant、tsivi-tsivi-tsivi- tsivi-wiss-wiss-wiss-twiss-wiss-wiss-cirr、スレオニル-リシル-プロリル-アルギニル-プロリル-グリシル-プロリル-ジアセテート、10月-トラム-ネフスキー-ネジンスキー-コスモナッツ-プシュキン、ホワイトコーンフラワー-イエロー-赤黄色コーンフラワー白、レーベルガーエテラボリコイヴサーリホロパイネンカッリオユッツェン、プリンスマールマブクペトラルベルトガンシオスシフベルンハルトヴィルゲルムスベルク ウランタンティシロゴゴ、ロックレゲエポップパンクラテン系ロマンティックヒップホップシャンソンフューム、kuzminki-tinsel-kozelskoye-inutino-yermolino-noodle、methylphenylthiomethyl-dimethylaminomethyl-hydroxybromindole、taumatauganoatanuatoanuato他の有望な上院議員に似た有望なヘルシンキ-モスクワ、クラスノヤルスク-キレンスク-ヤクーツク-ナガエボ-ニジネコリムスク-ウーレン、パヤンカmari-oshaevo-akhmanovo-voya-paygishevo-kazakovo、georg alexa Ndr-Mikhail-Friedrich-Wilhelm-Franz-Karl、Almetyevsk-Bugulma-Leninogorsk-Aznakaeva、Samara-Volgograd-Rostov-Astrakhan-Elista-Budennovsk、Hydrazinocarbonylmethylbromophenyl-dihydrobenzdiazole-Lenoblendra-Lena-Lendengradミラドール・ミラマー・ソラー・センター・プラザリオ・オテイ空港・アルギニル・アルファ・アスパルチル・リシル・バリル・チロシル・アルギニン、アダム・カール・ウィルヘルム・スタニスラフ・エヴゲニー・パベル・ルドヴィヒ、ハリコフ・ロゾワ・アレクサンドロフスク・ペレコップフライ・ムラ・フラ・フォラ・コ・セヴァストポリ a-corn-coan-clan-clone-elephant、Bryansk-Starodub-Trubchev-Novgorod-Seversky、F-minor-A-flat-major-B-flat-major-in-minor、station-Marx-Orangery-Baharov-レーン、ロストフオンドンウラジオストクサンフランシスコニューヨーク、フライミューズロザバインポーズタイムポートソートグローンエレファント、デュボザリー検疫トムキャットドロツキーグリゴリオポル、スパイ日独・トロツカイト・レッキング、炭化水素・塩化ナトリウム・カルシウム・マグネシア、ウクライナ・クリミア・タタール・ロシア・ベラルーシ、ワカマヤ・シルバ・マラドーナ・マリア・ニーナ・サンチェス・ラクフ、ポリッシュ・イット liansko-french-german-canadian、network-transformer-rectifier-inverter-traction、cyber-equipment-sandwiches-with-ham-and-cheese、italy-slovenia-hungary-slovakia-ukraine-russia、musical-choreographic-cinematic、hevy-ポップロックワールドジャズアヴァンギャルドメタルブルース、アレクサンダーマキシミリアンイグナティウスビクターアドルフ、カルナラジャプラムガトヴァカンボジャニルジタスタバ、デカメチレンジメチルメトキシカルボニルメチルベンゼンメチルベンゼンベンゼンベンツ nno-cowboy-superheroic-soldier、重炭酸塩、塩化ナトリウム、カルシウム、マグネシア、シュレスヴィヒ、ホルスタイン、ゾンダーブルク、アウグステンブルクスキー、エルサンチュアリオデヌエストラセノラデラソレダード、ライオンズ、テルノポル、ヴィニツァ、ドニプロペトロフスクBogdanovich-Egorshino-Alapaevsk-Goroblagodatskaya、Kazan-Chistopol-Almetyevsk-Bugulma-Orenburg、geo-bio-filo-was-fantas-mantas-parabolic、visit-unbeliever-説明付きパンフレット、コミュニダードデヴィラ-ティエラ・アンティグア・デ・クエラル、バルナウル・エキバストゥス・コケチェタフ・クスタナイ・チェリャビンスク、シュレースヴィヒ・ホルシュタイン Ein-Sonderburg-Augustenburg、Gargantilla-del-Losoya-and-Pinilla-de-buitrago、グルコピラノシドメチルブテニルトリヒドロキシフラバノール、炭酸塩化物-炭酸水素ナトリウム-ナトリウム、炭化水素-硫酸カルシウム-ナトリウム-シュレンシュタイン-シュレンシュタイン・シュレンシュタインソンダーバーグアウグステンベルク、ペトロパブロフスクコクチェタフアクモリンスクカラガンダシュー、イコライザーコンプレッサーディストーションファズイコライザー、アイルランドスウェーデン語オーストリアポリッシュチェコ語、エルミロヴォプリモルスクグレベチェヴォソビエトボルグヴィボルグマナスティル軸 Zhyakovo-Slavonsky、Edison-and-Swan-United-Electric-Light Company、Skuratovo-Orel-Kursk-Kharkiv-Lozova-Ilovaisk、Sulphate-Hydrocarbonate-Magnesium-Calcium、Religious-Educational-Charity、Sevzapenergosetenergoprozat-zadelselselオムスク-イルクーツク-ハバロフスク-ウラジオストク、セメルニコボ-クリミア-カルティル-エカテリノフカ-サンベック、シュレースヴィヒ-ホルシュタイン-ゾンダーブルク-アウグステンブルク、チルカシアン-アブハズ-カバルディアン-アディゲア、タハワリエルナバホ市ボーカルプラスチック、sugg スティーア-kontrsuggestiya-kontrkontrsuggestiya、ステルリタマク-使徒ペテロ-Beloretskマグニトゴルスク



「スパイウェア-日-ドイツ-トロツキスト-破壊」は確かに素晴らしいが、ハイフンは写真を大きく損なう。 なぜなら 辞書は2年前に編集されましたが、今ではこの異常な単語がフーリガンのトリックであったかどうかを確認することができます。この特定の形容詞はそうではありませんでした。



しかし、ハイフンはおそらく削除します。 辞書をsc笑しません。ハイフンなしで新しい辞書を作成します。



 >>> for l in codecs.open("wiki_freq.txt","r","utf-8-sig"): w,f=l.split() if '-' in w:continue d[w]=int(f)
      
      







長い単語の検索を再開します。

言葉
taumatauakatangiangakoauauotamateaturipukakapikimaungahoronukupokanuenuakitanatahu、printsmarmabyukpetralbertgansiosifbernhardtvilgelmsberg、llanvayrpullgvingillgogerihuirndrobullllantisiliogogogo、taumatauakatangiangakoauauotamateapokanuenuakitanatahu、gidrazinokarbonilmetilbromfenildigidrobenzdiazepin、dekametilendimetilmentoksikarbonilmetilammoniya、glyukopiranozidmetilbuteniltrigidroksiflavanol、metoksihlordietilaminometilbutilaminoakridin、italbenzokladbischemotosilikonfarmometalhimiya、chargoggagoggmanch auggagoggchaubunagungamaugg、enterogematogepatogematopulmoenteralnogo、denlilogumomishitszyuylupigachzhunchzhenkehan、raspylyatslabokontsentrirovannyyekstrakt、politetraftoretilenatsetoksipropilbutan、ヘキサクロロ、fosforibozilpirofosfatamidotransferaza、katastrofanarhistoriyazvandalkogolny、atsetoksipentametiltsiklogeksadienonov、lesnayazatenennayaglubokayachernayadolina、ultravysokotemperaturnoobrabotannoe、ニコチン酸アミド、prevysokomnogorassmotritelstvuyuschy、superarhieks traultramegagrandiozno、skonstruirovanteplovozostroitelnym、uridindifosfatglyukuroniltransferazu、lizofosfatidilholinatsiltransferazoy、uridindifosfatglyukoroniltransferazy、superkalifradzhilistikekspialidoshes、lizofosfatidilholinatsiltransferaza、tetrametiltetraazobitsiklooktandion、ニコチン酸アミド、superkalifradzhilistikekspialidoshes、popreblagorassmotritelstvuyuschemusya、tetragidroksiglyukopiranozilksanten、bisetilenditiotetraselenafulvalen、adenozinfosfatizopentiltransferaza、soyuzglavstroydorm ashzagranpostavka、ishvarapratyabhidzhnyavritivimarshini、nitropentametiltsiklogeksadienonov、perftormetiltsiklogeksilpiperidina、polidigidroksifenilentiosulfonat、galogenoserebryanomfotograficheskom、nikotinamidadenindinukleotidfosfa、poliamidbenzimidazoltereftalamida、rentgenoelektrokardiograficheskogo、bromdigidrohlorfenilbenzodiazepin、undzibtsigtauzendzibenhundertziben、レシチン - コレステロールアシルトランスフェラーゼ、レシチンコレステロールアシルトランスフェラーゼ、alyuminievokobaltovomolibdenovyh、predsedatelstvovaliarheanaktidy、kominefteen ergomontazhavtomatikoy、pesnitruschobnadezhdyrazbityhserdets、induktotermogalvanogryazelechenie、レシチンコレステロールアシルトランスフェラーゼ、メチレン、verhnevolzhskselelektrosetstroy、obrazovaniemmonobromproizvodnogo、kominefteenergomontazhavtomatika、mintraktorselhozmashinostroeniya、geksakosioygeksekontageksafobiya、メチレン、pankreatoholangiorentgenografiya、kominefteenergomontazhavtomatiki、fosfoenolpiruvatkarboksikinazoy、raboteballastoraspredelitelnaya、電図 iCalの、proizvodstveelektrooborudovaniya、adeninfosforiboziltransferaznoy、tsiklodekstringlyukanotransferazy、dioksifenilalanindekarboksilazy、psihiatriideinstitutsionalizatsiya、dimetilalkilbenzilammoniyhlorid、natsionalisticheskiorientirovanoy、samoprovozglashonoyturkestanskoy、diatsilglitseriltrimetilgomoserin、entsefalomielopoliradikulonevrit、gidrolektrosvetoterapevticheekie、mahachkalinskogogosudarstvennogo、gidroksimetilhinoksilindioksid、dihlordifeniltrihlormetilmetan、poperechnomorschinistoyskulpture、iketikpautiyavt iktstuzobrazhalsya、pornograficheskoyvideoproduktsii、entsefaloduroarteriosinangioziz、avtotraktorelektrooborudovanie、mahachulalongkornradzhavidyalayya、poproshaynichestvomprikormlennaya、novoderevenkovskagropromhimiya、ヘキサニトロヘキサアザイソウルチタン、elektrogastroenterografichesky、duodenogastralnoezofagealnym、bisbenziltetragidroizohinolina、novosibirskneftegazpererabotka、duodenogastralnoezofagealny、アデノシルメチオニンデカルボキシラーゼ、neyroimmunovegetodistonicheskih、shestisotvosmidesyatistranichnoy、tsiklobutadienzhelezo トリカルボニル、フマリルアセトアセテートヒドロキシラーゼ





絶対的な記録保持者は、ニュージーランドの小さな丘の名前である単語「Thaumatauacatangiangaakauauotamateaturipukakapikimaungahoronukupokanuenuakitanathu」です。 何らかの理由で、地元の人は名前をタウマットに短縮することを好みます。 ウィキペディアからの2番目の言葉は消えました-おそらくフーリガンの間違いかトリックです。 3番目の言葉-llanvairpullgvingillogogerihuirndrobullantisilogogogoを紹介したとき、ウィキペディアは尋ねました- おそらく「llanvayrpullgvingilgogerihuirndrobullantisilogogog」を意味しますか? はい! それは私が念頭に置いていたllanweirpullgvingillogogerihuirndrobullantisilogogogokhでした! どうやら言葉が変わったようで、より正確な音訳が登場しました。 これはウェールズの村の名前です。 北アメリカの湖の名前であるCargoggagoggmanchauggagoggchaubunagungamauggも大好きでした。 リストのほとんどは、あらゆる種類の物質の名前、アッパーヴォルガの電力網のようなソビエトの猛烈な略語、または単に空白のある白塗りのキーのケースで構成されています。



長い回文の単語を探しましょう。 最後のクエリにフィルターを追加します。



 >>> print ', '.join(sorted([w for w in d.keys() if w==w[-1::-1]], key=lambda w:(len(w),d[w]),reverse=True)[:100])
      
      





言葉
水道橋、水素、僧、onsnow、彼女、クリーパー、ソロゴロス、モナハン、ホロモロフ、ラジニザール、スニリヌス、xxxxxxxxx、noossoon、ユーティリティ、アニリン、酒石酸塩、赤坂、オゴポゴ、アニシン、アニキン、カーナック、イマーター、アポコポット、ロス、 hhhhhhh、glenelg、tenenet、ateleta、iiiiiii、nononen、yonina、aveleva、anapana、markram、rabivar、arthur、aaaaaaa、motet、クリンチャー、arakara、nemtman、malalyam、avavava、maktam、agkuk、kalyk、monkak、kalyub、kalyub、mon duunuud、tatatat、mokikom、oohhhhhhhhhh、海、kinonik、atarata、nananan、ppppvppp、大衆へ 、tommot、nissin、renner、rapper、saccas、moss、kelleck、semmes、mott、kashak、rsser、kukkuk、nekken、serres、noppon、killik、xxxxxx、aveeva、mmim、tennet、callak、hattah、mall、kattak、mermer 、ティペット、カララク、ナバン、pyrip、tibbit、savvas、pteetp、remmer、nannan、roulur、yonic、sossos、harrah、kammak、rannar





彼はグーグルを引用し、リンクをたどり、ホロモロフ湖と計画されている言語スニリヌスについて学びました。 また、最も長い単語パリンドロームは、フィンランドの石鹸販売業者であるサイプアカウピアスであることも知りました。 グリセリンに関する記事の著者は、キーボードレイアウトを切り替えるのが面倒で、キリル文字であるグリセリンアルデヒドの式を書きました-CH2ONE(まだ存在しているので、肉眼では違いを見ることができません)を2つをセパレーターとして使用しました。



アナグラムの単語を探しましょう。

まず、補助的なアナグラム辞書を作成し、発生しきい値を20に設定して、ガベージが切り取られるようにします(長い単語と回文では、これらの単語は非常にまれなので、できませんでした)。



 >>> from collections import defaultdict >>> anagrams = defaultdict(list) >>> for k in d: if d[k]>20: anagrams[''.join(sorted(k))].append(k)
      
      







そして、アナグラムの最大の10セットを探します。



 >>> for l in sorted(anagrams.values(), key=len, reverse=True)[:10]: print ', '.join(l)
      
      





アナグラム
ドラン、アードン、ドーン、ロダン、ノダール、アンドロ、人々、ドローン、ラドン、ダロン、ロンダ、ナルド、オドラン、ノラド

イルカ、リカ、アーチ、ザリガニ、キャビア、エーカー、イラク、キラ、カリ、イカール、カイロ、アリク

vrane、arven、equal、avren、忠実、narva、avner、narew、神経、varna、revan、ウォーレン

ライアン、イナー、ナリ、イラン、レイン、アンリ、アリン、リナ、ナイア、ラニ、アーニー

merka、marek、marche、ermak、gloom、カメラ、クリーム、川、エッジ、カルマ、フレーム

アンカー、ノクラ、カロン、コーラン、クローナ、ミンク、アクロン、ランコ、傷、カルノー、クラオン

satyr、sitar、grow、tiras、syrta、sarti、trias、taris、thrasi、ritas、istra

crua、手、アーチ、raku、kaur、urka、acre、kara、ukra、urak、kura

セクター、コルセット、ロケット、周辺、bonき火、き火、列、コルテス、ストッカー、建設プロジェクト、クロス

ノワール、ナル、ウル、ルーン、ヌラ、傷、ウラン、ナウル、ルアン、アルン、アルヌ





また、最大長の単語を含むアナグラムのセット:



 >>> for k in sorted([k for k in anagrams if len(anagrams[k])>1], key=len, reverse=True)[:10]: print ', '.join(anagrams[k])
      
      





アナグラム
短編映画、短編映画

占星術の、現実的な

特徴付けられた、特徴付けられた

精神病理学、病理心理学

オントロジー、新石器時代

オリガリック、考古学的に

トポロジー、類型

等温、等尺性

犬、腫瘍

オストログラード、ストラゴロツキー





私たちはすべての文字が異なる単語を探しています。また、同じ苦しい行を変更しています。 私はそれから機能を作らなかったことをすでに後悔し始めています:



 >>> print ', '.join(sorted([k for k in d if len(set(k))==len(k)],key=lambda w:(len(w),d[w]),reverse=True)[:100])
      
      





言葉
癒しにくい、四角形、四重極、製紙、製紙、ヒ素、表皮下、製紙、表皮下、グレーター・パジン、白人移民、繁栄、直線、食道外、提供、提供、四角形、四角形、四角形、四角形、四角形おめでとう、4パルス、高度に専門化された、マルチブランド、ピックアップ、4 ohpolyusnik、だらし、obschefrantsuzsky、Gumpoldskirchenの、Bolshenarymskoe、お祝い、コットン、obschefrantsuzskim、焼夷弾、接続、yuzhnoalbertsky、極限、fastsikulyatornye、高度に特化し、非ニュートン、subvertical、podkantselyaristy、粘塑性、chetyrohabsidnoy、ritmendblyuzovyh、リクライニングobscheitalyanskuyu、極限、Germanophile、dvuhprestolnym、粘弾性、フィルムプロデューサー、水産省、4ベッドルーム、ノーマライズ、非縮退、即席 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,





関数を作成し、便利になり、反対のクエリ(各文字が少なくとも2回出現する単語)を入力します。



 >>> def output(lst): print ', '.join(sorted(lst,key=lambda w:(len(w),d[w]),reverse=True)[:100]) >>> output([k for k in d if min(Counter(k).values())>=2])
      
      





言葉
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,



ここでは、主にゴミがありますが、美しいものもあります-数百万、知能のない、不適切な、特別なプロセッサー、反宗派、部品装置など



正確に2回:



 >>> output([k for k in d if set(Counter(k).values())==set([2])])
      
      





言葉
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,



風力タービン、Voskanyanovskaya、偽りの告白...



さらに別の海があり、時が経ちます... habrの住民がこの記事を気に入ったら、第2部を書きます。辞書に対する興味深いクエリのアイデアがある場合は、コメントまたはプライベートメッセージに書き込み、それらをコードに変換して結果を公開します。



PS周波数辞書はまだここにあります-yadi.sk/d/cRHJvinF7Vt8w



All Articles