Firefoxのコードベースで驚くべきロジック
9337 ワード
Firefoxのコードベースで驚くべきロジック
最近、私はFirefoxのリーダービューがどのようにその推定された読書時間を実装するかについて興味がありました.それを使用することが判明readability package ページの内容を抽出するには一旦それがあるならば、それはその内容の長さを得て、推定された読書速度でそれを分割します-そして、それは私を驚かせたこの部分です:
https://searchfox.org/mozilla-central/rev/fa7f47027917a186fb2052dee104cd06c21dd76f/toolkit/components/reader/ReaderMode.jsm#598-629
/**
* Returns the reading speed of a selection of languages with likely variance.
*
* Reading speed estimated from a study done on reading speeds in various languages.
* study can be found here: http://iovs.arvojournals.org/article.aspx?articleid=2166061
*
* @return object with characters per minute and variance. Defaults to English
* if no suitable language is found in the collection.
*/
_getReadingSpeedForLanguage(lang) {
const readingSpeed = new Map([
["en", { cpm: 987, variance: 118 }],
["ar", { cpm: 612, variance: 88 }],
["de", { cpm: 920, variance: 86 }],
["es", { cpm: 1025, variance: 127 }],
["fi", { cpm: 1078, variance: 121 }],
["fr", { cpm: 998, variance: 126 }],
["he", { cpm: 833, variance: 130 }],
["it", { cpm: 950, variance: 140 }],
["jw", { cpm: 357, variance: 56 }],
["nl", { cpm: 978, variance: 143 }],
["pl", { cpm: 916, variance: 126 }],
["pt", { cpm: 913, variance: 145 }],
["ru", { cpm: 986, variance: 175 }],
["sk", { cpm: 885, variance: 145 }],
["sv", { cpm: 917, variance: 156 }],
["tr", { cpm: 1054, variance: 156 }],
["zh", { cpm: 255, variance: 29 }],
]);
return readingSpeed.get(lang) || readingSpeed.get("en");
},
読書速度が分あたりの文字で計算されているという事実-分あたりの言葉ではなく-少なくとも英語のために私の興味を感じています.私は英語の読者が個々の文字ではなく、単語全体でどのように読んだかについて多くの逸話を見ました.このような多くの例がありますthis one , 文字をスクランブルでパラグラフのインターネットを循環させるが、私が追跡することができた唯一の本当の研究は失読症でした:文化的な多様性と生物学的統一😅), どのように英語とイタリア語の失読症は、言葉を異なるプロセスについて説明します.私は英語の興味のこのプロパティを見つける!このように、後者の例はおそらくSoundex関数か何かによって処理されるでしょうが、私たちは、私たちが、イメージの知覚ハッシュに似た、英語のスペルミスのための一種の「知覚的ハッシュ」を開発することができるかどうか疑問に思います.私も、「定義的に」のような一般的な綴り誤りに気づいている一種の「言語意識の距離関数」について不思議に思います.さらに、FerticSearchからの私のメモ:決定的なガイドは、「ダマウが人間のスペルミスの80 %が1の編集距離を持っているのを見ました」ので、多分多分それは影響を及ぼすことができましたか?これに苦痛を投げるかもしれない1つのものは、我々がどのように語を読むかについて、多くの文脈要因です.
あなたがこのスペースで研究または既存のアルゴリズム/プロジェクトを知っているならば、あるいは、あなたが関連した考えを持っているならば、チャイムに自由に感じてください-私は彼らについて聞くのが好きです!
Reference
この問題について(Firefoxのコードベースで驚くべきロジック), 我々は、より多くの情報をここで見つけました https://dev.to/hoelzro/surprising-logic-in-the-firefox-codebase-1jkdテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol