{ "rules_version": "1.1.0", "description": "Numeric literal recognition and normalisation.", "pattern": "(?[-+▲△])?(?:(?P(?:US\\$|USD|JPY|EUR|GBP|KRW|CNY|[$¥€£₩]))\\s{0,2})?(?P(?:[0-9]{1,3}(?:,[0-9]{3})+(?:\\.[0-9]+)?|[0-9]+(?:\\.[0-9]+)?|\\.[0-9]+))(?P[eE][-+]?[0-9]{1,3})?\\s?(?P(?:千|万|億|兆|[kKmMbB](?![A-Za-z0-9])))?\\s?(?P(?:%|パーセント|ポイント|割))?(?:\\s?(?P(?:円|ドル|ユーロ|元|ウォン|件|人|名|社|店|台|個|本|枚|冊|回|倍|点|位|票|室|席|品|語|文字|字|行|列|頁|ページ|年度|年間|年|ヶ月|か月|カ月|ヵ月|箇月|週間|日間|時間|分間|秒|分|時|日|歳|才|km|cm|mm|kg|mg|GB|MB|TB|KB|PB|Mbps|Gbps|bps|kHz|MHz|GHz|Hz|kW|MW|W|mL|L|m2|㎡|平方メートル|立方メートル|℃|°C|°F|m|g|t|V|A))(?![A-Za-z]))?", "components": { "number_core": "(?:[0-9]{1,3}(?:,[0-9]{3})+(?:\\.[0-9]+)?|[0-9]+(?:\\.[0-9]+)?|\\.[0-9]+)", "currency": "(?:US\\$|USD|JPY|EUR|GBP|KRW|CNY|[$¥€£₩])", "magnitude": "(?:千|万|億|兆|[kKmMbB](?![A-Za-z0-9]))", "percent": "(?:%|パーセント|ポイント|割)", "unit": "(?:円|ドル|ユーロ|元|ウォン|件|人|名|社|店|台|個|本|枚|冊|回|倍|点|位|票|室|席|品|語|文字|字|行|列|頁|ページ|年度|年間|年|ヶ月|か月|カ月|ヵ月|箇月|週間|日間|時間|分間|秒|分|時|日|歳|才|km|cm|mm|kg|mg|GB|MB|TB|KB|PB|Mbps|Gbps|bps|kHz|MHz|GHz|Hz|kW|MW|W|mL|L|m2|㎡|平方メートル|立方メートル|℃|°C|°F|m|g|t|V|A)" }, "magnitude_factors": { "千": "1000", "万": "10000", "億": "100000000", "兆": "1000000000000", "k": "1000", "K": "1000", "m": "1000000", "M": "1000000", "b": "1000000000", "B": "1000000000" }, "notes": [ "Leading ▲/△ and parenthesised values are negative (Japanese/financial accounting notation).", "3割 normalises to 30 with kind=percent.", "Percent keeps its displayed magnitude (15% -> 15); the 15 <-> 0.15 equivalence is tried separately.", "Bare integers 0-10 with no unit are never marked contradicted: they are near everything.", "An exact sign flip is decided BEFORE the derivation search, so a loss reported as a profit cannot be excused by a coincidental formula.", "ISO currency codes are excluded from entity extraction so 'USD 45,000' keeps its number." ] }