- 追加された行はこの色です。
- 削除された行はこの色です。
#title(TinySegmenter.NET 0.1.1)
#contents
*TinySegmenter.NET 0.1.1 [#b0f5fe6f]
TinySegmenter.NETについて詳しくは、「[[TinySegmenter.NET>../]]」をご覧ください。
**バージョン [#pad3aeb0]
0.1.1
**作者名 [#k3758cfe]
DOBON!
**投稿日時 [#a59b0721]
2010-11-23 (火) 23:49:19
**説明 [#d496cbbb]
[[TinySegmenter>http://chasen.org/~taku/software/TinySegmenter/]] 0.1 をそのまま、何も考えずに、機械的に、C#に変換したつもりのコードです。変数名などもできるだけ元のままにしました。ただし、唯一のパブリックメソッドである"segment"は"Segment"と、先頭を大文字にしました。
「#region constants」の部分は、次のようなJavascriptで自動的に作成したものです。
#code(javascript){{
function getCSharpCode()
{
var seg = new TinySegmenter();
var src1 = "";
var src2 = "";
for (var p in seg)
{
if (p.indexOf("__") > -1)
{
if (typeof(seg[p]) == "number")
{
src1 += "private int " + p + " = " + seg[p] + ";\n";
}
else if (typeof(seg[p]) == "object")
{
src1 += "private Dictionary<string, int> " + p + " = new Dictionary<string,int>();\n";
for (var p2 in seg[p])
{
src2 += p + ".Add(\"" + p2 + "\", " + seg[p][p2] + ");\n";
}
src2 += "\n";
}
}
}
return src1 + "\nprivate void InitializeConstants()\n{\n" + src2 + "}\n";
}
}}
List、Dictionaryを使っていますので、.NET Framework 2.0以降でしか動きません。ListをArrayListに、DictionaryをHashtableにすれば、.NET Framework 1.1以前でも多分大丈夫だと思います。
もし間違いなどが見つかり、修正していただけましたら、[[こちら>../]]から投稿してください。「[[TinySegmenter を速くしてみる>http://javascript.g.hatena.ne.jp/edvakf/20101116/1289886927]]」を参考にすると、もっと速くなるかもしれません。
**ソース [#pb2a9ac7]
#ecached(replace1=/^___EOD___$/m,replace2=}}){{
#code(csharp){{
/*
* TinySegmenter.NET 0.1.1 -- C# Version of TinySegmenter
* (c) 2010 DOBON! <http://dobon.net>
* Original JavaScript Version CopyRight Notice
// TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript
// (c) 2008 Taku Kudo <taku@chasen.org>
// TinySegmenter is freely distributable under the terms of a new BSD licence.
// For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt
*/
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace TinySegmenterDotNet
{
public class TinySegmenter
{
#region constants
private int BIAS__ = -332;
private Dictionary<string, int> BC1__ = new Dictionary<string, int>();
private Dictionary<string, int> BC2__ = new Dictionary<string, int>();
private Dictionary<string, int> BC3__ = new Dictionary<string, int>();
private Dictionary<string, int> BP1__ = new Dictionary<string, int>();
private Dictionary<string, int> BP2__ = new Dictionary<string, int>();
private Dictionary<string, int> BQ1__ = new Dictionary<string, int>();
private Dictionary<string, int> BQ2__ = new Dictionary<string, int>();
private Dictionary<string, int> BQ3__ = new Dictionary<string, int>();
private Dictionary<string, int> BQ4__ = new Dictionary<string, int>();
private Dictionary<string, int> BW1__ = new Dictionary<string, int>();
private Dictionary<string, int> BW2__ = new Dictionary<string, int>();
private Dictionary<string, int> BW3__ = new Dictionary<string, int>();
private Dictionary<string, int> TC1__ = new Dictionary<string, int>();
private Dictionary<string, int> TC2__ = new Dictionary<string, int>();
private Dictionary<string, int> TC3__ = new Dictionary<string, int>();
private Dictionary<string, int> TC4__ = new Dictionary<string, int>();
private Dictionary<string, int> TQ1__ = new Dictionary<string, int>();
private Dictionary<string, int> TQ2__ = new Dictionary<string, int>();
private Dictionary<string, int> TQ3__ = new Dictionary<string, int>();
private Dictionary<string, int> TQ4__ = new Dictionary<string, int>();
private Dictionary<string, int> TW1__ = new Dictionary<string, int>();
private Dictionary<string, int> TW2__ = new Dictionary<string, int>();
private Dictionary<string, int> TW3__ = new Dictionary<string, int>();
private Dictionary<string, int> TW4__ = new Dictionary<string, int>();
private Dictionary<string, int> UC1__ = new Dictionary<string, int>();
private Dictionary<string, int> UC2__ = new Dictionary<string, int>();
private Dictionary<string, int> UC3__ = new Dictionary<string, int>();
private Dictionary<string, int> UC4__ = new Dictionary<string, int>();
private Dictionary<string, int> UC5__ = new Dictionary<string, int>();
private Dictionary<string, int> UC6__ = new Dictionary<string, int>();
private Dictionary<string, int> UP1__ = new Dictionary<string, int>();
private Dictionary<string, int> UP2__ = new Dictionary<string, int>();
private Dictionary<string, int> UP3__ = new Dictionary<string, int>();
private Dictionary<string, int> UQ1__ = new Dictionary<string, int>();
private Dictionary<string, int> UQ2__ = new Dictionary<string, int>();
private Dictionary<string, int> UQ3__ = new Dictionary<string, int>();
private Dictionary<string, int> UW1__ = new Dictionary<string, int>();
private Dictionary<string, int> UW2__ = new Dictionary<string, int>();
private Dictionary<string, int> UW3__ = new Dictionary<string, int>();
private Dictionary<string, int> UW4__ = new Dictionary<string, int>();
private Dictionary<string, int> UW5__ = new Dictionary<string, int>();
private Dictionary<string, int> UW6__ = new Dictionary<string, int>();
private void InitializeConstants()
{
BC1__.Add("HH", 6);
BC1__.Add("II", 2461);
BC1__.Add("KH", 406);
BC1__.Add("OH", -1378);
BC2__.Add("AA", -3267);
BC2__.Add("AI", 2744);
BC2__.Add("AN", -878);
BC2__.Add("HH", -4070);
BC2__.Add("HM", -1711);
BC2__.Add("HN", 4012);
BC2__.Add("HO", 3761);
BC2__.Add("IA", 1327);
BC2__.Add("IH", -1184);
BC2__.Add("II", -1332);
BC2__.Add("IK", 1721);
BC2__.Add("IO", 5492);
BC2__.Add("KI", 3831);
BC2__.Add("KK", -8741);
BC2__.Add("MH", -3132);
BC2__.Add("MK", 3334);
BC2__.Add("OO", -2920);
BC3__.Add("HH", 996);
BC3__.Add("HI", 626);
BC3__.Add("HK", -721);
BC3__.Add("HN", -1307);
BC3__.Add("HO", -836);
BC3__.Add("IH", -301);
BC3__.Add("KK", 2762);
BC3__.Add("MK", 1079);
BC3__.Add("MM", 4034);
BC3__.Add("OA", -1652);
BC3__.Add("OH", 266);
BP1__.Add("BB", 295);
BP1__.Add("OB", 304);
BP1__.Add("OO", -125);
BP1__.Add("UB", 352);
BP2__.Add("BO", 60);
BP2__.Add("OO", -1762);
BQ1__.Add("BHH", 1150);
BQ1__.Add("BHM", 1521);
BQ1__.Add("BII", -1158);
BQ1__.Add("BIM", 886);
BQ1__.Add("BMH", 1208);
BQ1__.Add("BNH", 449);
BQ1__.Add("BOH", -91);
BQ1__.Add("BOO", -2597);
BQ1__.Add("OHI", 451);
BQ1__.Add("OIH", -296);
BQ1__.Add("OKA", 1851);
BQ1__.Add("OKH", -1020);
BQ1__.Add("OKK", 904);
BQ1__.Add("OOO", 2965);
BQ2__.Add("BHH", 118);
BQ2__.Add("BHI", -1159);
BQ2__.Add("BHM", 466);
BQ2__.Add("BIH", -919);
BQ2__.Add("BKK", -1720);
BQ2__.Add("BKO", 864);
BQ2__.Add("OHH", -1139);
BQ2__.Add("OHM", -181);
BQ2__.Add("OIH", 153);
BQ2__.Add("UHI", -1146);
BQ3__.Add("BHH", -792);
BQ3__.Add("BHI", 2664);
BQ3__.Add("BII", -299);
BQ3__.Add("BKI", 419);
BQ3__.Add("BMH", 937);
BQ3__.Add("BMM", 8335);
BQ3__.Add("BNN", 998);
BQ3__.Add("BOH", 775);
BQ3__.Add("OHH", 2174);
BQ3__.Add("OHM", 439);
BQ3__.Add("OII", 280);
BQ3__.Add("OKH", 1798);
BQ3__.Add("OKI", -793);
BQ3__.Add("OKO", -2242);
BQ3__.Add("OMH", -2402);
BQ3__.Add("OOO", 11699);
BQ4__.Add("BHH", -3895);
BQ4__.Add("BIH", 3761);
BQ4__.Add("BII", -4654);
BQ4__.Add("BIK", 1348);
BQ4__.Add("BKK", -1806);
BQ4__.Add("BMI", -3385);
BQ4__.Add("BOO", -12396);
BQ4__.Add("OAH", 926);
BQ4__.Add("OHH", 266);
BQ4__.Add("OHK", -2036);
BQ4__.Add("ONN", -973);
BW1__.Add(",と", 660);
BW1__.Add(",同", 727);
BW1__.Add("B1あ", 1404);
BW1__.Add("B1同", 542);
BW1__.Add("、と", 660);
BW1__.Add("、同", 727);
BW1__.Add("」と", 1682);
BW1__.Add("あっ", 1505);
BW1__.Add("いう", 1743);
BW1__.Add("いっ", -2055);
BW1__.Add("いる", 672);
BW1__.Add("うし", -4817);
BW1__.Add("うん", 665);
BW1__.Add("から", 3472);
BW1__.Add("がら", 600);
BW1__.Add("こう", -790);
BW1__.Add("こと", 2083);
BW1__.Add("こん", -1262);
BW1__.Add("さら", -4143);
BW1__.Add("さん", 4573);
BW1__.Add("した", 2641);
BW1__.Add("して", 1104);
BW1__.Add("すで", -3399);
BW1__.Add("そこ", 1977);
BW1__.Add("それ", -871);
BW1__.Add("たち", 1122);
BW1__.Add("ため", 601);
BW1__.Add("った", 3463);
BW1__.Add("つい", -802);
BW1__.Add("てい", 805);
BW1__.Add("てき", 1249);
BW1__.Add("でき", 1127);
BW1__.Add("です", 3445);
BW1__.Add("では", 844);
BW1__.Add("とい", -4915);
BW1__.Add("とみ", 1922);
BW1__.Add("どこ", 3887);
BW1__.Add("ない", 5713);
BW1__.Add("なっ", 3015);
BW1__.Add("など", 7379);
BW1__.Add("なん", -1113);
BW1__.Add("にし", 2468);
BW1__.Add("には", 1498);
BW1__.Add("にも", 1671);
BW1__.Add("に対", -912);
BW1__.Add("の一", -501);
BW1__.Add("の中", 741);
BW1__.Add("ませ", 2448);
BW1__.Add("まで", 1711);
BW1__.Add("まま", 2600);
BW1__.Add("まる", -2155);
BW1__.Add("やむ", -1947);
BW1__.Add("よっ", -2565);
BW1__.Add("れた", 2369);
BW1__.Add("れで", -913);
BW1__.Add("をし", 1860);
BW1__.Add("を見", 731);
BW1__.Add("亡く", -1886);
BW1__.Add("京都", 2558);
BW1__.Add("取り", -2784);
BW1__.Add("大き", -2604);
BW1__.Add("大阪", 1497);
BW1__.Add("平方", -2314);
BW1__.Add("引き", -1336);
BW1__.Add("日本", -195);
BW1__.Add("本当", -2423);
BW1__.Add("毎日", -2113);
BW1__.Add("目指", -724);
BW1__.Add("B1あ", 1404);
BW1__.Add("B1同", 542);
BW1__.Add("」と", 1682);
BW2__.Add("..", -11822);
BW2__.Add("11", -669);
BW2__.Add("――", -5730);
BW2__.Add("−−", -13175);
BW2__.Add("いう", -1609);
BW2__.Add("うか", 2490);
BW2__.Add("かし", -1350);
BW2__.Add("かも", -602);
BW2__.Add("から", -7194);
BW2__.Add("かれ", 4612);
BW2__.Add("がい", 853);
BW2__.Add("がら", -3198);
BW2__.Add("きた", 1941);
BW2__.Add("くな", -1597);
BW2__.Add("こと", -8392);
BW2__.Add("この", -4193);
BW2__.Add("させ", 4533);
BW2__.Add("され", 13168);
BW2__.Add("さん", -3977);
BW2__.Add("しい", -1819);
BW2__.Add("しか", -545);
BW2__.Add("した", 5078);
BW2__.Add("して", 972);
BW2__.Add("しな", 939);
BW2__.Add("その", -3744);
BW2__.Add("たい", -1253);
BW2__.Add("たた", -662);
BW2__.Add("ただ", -3857);
BW2__.Add("たち", -786);
BW2__.Add("たと", 1224);
BW2__.Add("たは", -939);
BW2__.Add("った", 4589);
BW2__.Add("って", 1647);
BW2__.Add("っと", -2094);
BW2__.Add("てい", 6144);
BW2__.Add("てき", 3640);
BW2__.Add("てく", 2551);
BW2__.Add("ては", -3110);
BW2__.Add("ても", -3065);
BW2__.Add("でい", 2666);
BW2__.Add("でき", -1528);
BW2__.Add("でし", -3828);
BW2__.Add("です", -4761);
BW2__.Add("でも", -4203);
BW2__.Add("とい", 1890);
BW2__.Add("とこ", -1746);
BW2__.Add("とと", -2279);
BW2__.Add("との", 720);
BW2__.Add("とみ", 5168);
BW2__.Add("とも", -3941);
BW2__.Add("ない", -2488);
BW2__.Add("なが", -1313);
BW2__.Add("など", -6509);
BW2__.Add("なの", 2614);
BW2__.Add("なん", 3099);
BW2__.Add("にお", -1615);
BW2__.Add("にし", 2748);
BW2__.Add("にな", 2454);
BW2__.Add("によ", -7236);
BW2__.Add("に対", -14943);
BW2__.Add("に従", -4688);
BW2__.Add("に関", -11388);
BW2__.Add("のか", 2093);
BW2__.Add("ので", -7059);
BW2__.Add("のに", -6041);
BW2__.Add("のの", -6125);
BW2__.Add("はい", 1073);
BW2__.Add("はが", -1033);
BW2__.Add("はず", -2532);
BW2__.Add("ばれ", 1813);
BW2__.Add("まし", -1316);
BW2__.Add("まで", -6621);
BW2__.Add("まれ", 5409);
BW2__.Add("めて", -3153);
BW2__.Add("もい", 2230);
BW2__.Add("もの", -10713);
BW2__.Add("らか", -944);
BW2__.Add("らし", -1611);
BW2__.Add("らに", -1897);
BW2__.Add("りし", 651);
BW2__.Add("りま", 1620);
BW2__.Add("れた", 4270);
BW2__.Add("れて", 849);
BW2__.Add("れば", 4114);
BW2__.Add("ろう", 6067);
BW2__.Add("われ", 7901);
BW2__.Add("を通", -11877);
BW2__.Add("んだ", 728);
BW2__.Add("んな", -4115);
BW2__.Add("一人", 602);
BW2__.Add("一方", -1375);
BW2__.Add("一日", 970);
BW2__.Add("一部", -1051);
BW2__.Add("上が", -4479);
BW2__.Add("会社", -1116);
BW2__.Add("出て", 2163);
BW2__.Add("分の", -7758);
BW2__.Add("同党", 970);
BW2__.Add("同日", -913);
BW2__.Add("大阪", -2471);
BW2__.Add("委員", -1250);
BW2__.Add("少な", -1050);
BW2__.Add("年度", -8669);
BW2__.Add("年間", -1626);
BW2__.Add("府県", -2363);
BW2__.Add("手権", -1982);
BW2__.Add("新聞", -4066);
BW2__.Add("日新", -722);
BW2__.Add("日本", -7068);
BW2__.Add("日米", 3372);
BW2__.Add("曜日", -601);
BW2__.Add("朝鮮", -2355);
BW2__.Add("本人", -2697);
BW2__.Add("東京", -1543);
BW2__.Add("然と", -1384);
BW2__.Add("社会", -1276);
BW2__.Add("立て", -990);
BW2__.Add("第に", -1612);
BW2__.Add("米国", -4268);
BW2__.Add("11", -669);
BW3__.Add("あた", -2194);
BW3__.Add("あり", 719);
BW3__.Add("ある", 3846);
BW3__.Add("い.", -1185);
BW3__.Add("い。", -1185);
BW3__.Add("いい", 5308);
BW3__.Add("いえ", 2079);
BW3__.Add("いく", 3029);
BW3__.Add("いた", 2056);
BW3__.Add("いっ", 1883);
BW3__.Add("いる", 5600);
BW3__.Add("いわ", 1527);
BW3__.Add("うち", 1117);
BW3__.Add("うと", 4798);
BW3__.Add("えと", 1454);
BW3__.Add("か.", 2857);
BW3__.Add("か。", 2857);
BW3__.Add("かけ", -743);
BW3__.Add("かっ", -4098);
BW3__.Add("かに", -669);
BW3__.Add("から", 6520);
BW3__.Add("かり", -2670);
BW3__.Add("が,", 1816);
BW3__.Add("が、", 1816);
BW3__.Add("がき", -4855);
BW3__.Add("がけ", -1127);
BW3__.Add("がっ", -913);
BW3__.Add("がら", -4977);
BW3__.Add("がり", -2064);
BW3__.Add("きた", 1645);
BW3__.Add("けど", 1374);
BW3__.Add("こと", 7397);
BW3__.Add("この", 1542);
BW3__.Add("ころ", -2757);
BW3__.Add("さい", -714);
BW3__.Add("さを", 976);
BW3__.Add("し,", 1557);
BW3__.Add("し、", 1557);
BW3__.Add("しい", -3714);
BW3__.Add("した", 3562);
BW3__.Add("して", 1449);
BW3__.Add("しな", 2608);
BW3__.Add("しま", 1200);
BW3__.Add("す.", -1310);
BW3__.Add("す。", -1310);
BW3__.Add("する", 6521);
BW3__.Add("ず,", 3426);
BW3__.Add("ず、", 3426);
BW3__.Add("ずに", 841);
BW3__.Add("そう", 428);
BW3__.Add("た.", 8875);
BW3__.Add("た。", 8875);
BW3__.Add("たい", -594);
BW3__.Add("たの", 812);
BW3__.Add("たり", -1183);
BW3__.Add("たる", -853);
BW3__.Add("だ.", 4098);
BW3__.Add("だ。", 4098);
BW3__.Add("だっ", 1004);
BW3__.Add("った", -4748);
BW3__.Add("って", 300);
BW3__.Add("てい", 6240);
BW3__.Add("てお", 855);
BW3__.Add("ても", 302);
BW3__.Add("です", 1437);
BW3__.Add("でに", -1482);
BW3__.Add("では", 2295);
BW3__.Add("とう", -1387);
BW3__.Add("とし", 2266);
BW3__.Add("との", 541);
BW3__.Add("とも", -3543);
BW3__.Add("どう", 4664);
BW3__.Add("ない", 1796);
BW3__.Add("なく", -903);
BW3__.Add("など", 2135);
BW3__.Add("に,", -1021);
BW3__.Add("に、", -1021);
BW3__.Add("にし", 1771);
BW3__.Add("にな", 1906);
BW3__.Add("には", 2644);
BW3__.Add("の,", -724);
BW3__.Add("の、", -724);
BW3__.Add("の子", -1000);
BW3__.Add("は,", 1337);
BW3__.Add("は、", 1337);
BW3__.Add("べき", 2181);
BW3__.Add("まし", 1113);
BW3__.Add("ます", 6943);
BW3__.Add("まっ", -1549);
BW3__.Add("まで", 6154);
BW3__.Add("まれ", -793);
BW3__.Add("らし", 1479);
BW3__.Add("られ", 6820);
BW3__.Add("るる", 3818);
BW3__.Add("れ,", 854);
BW3__.Add("れ、", 854);
BW3__.Add("れた", 1850);
BW3__.Add("れて", 1375);
BW3__.Add("れば", -3246);
BW3__.Add("れる", 1091);
BW3__.Add("われ", -605);
BW3__.Add("んだ", 606);
BW3__.Add("んで", 798);
BW3__.Add("カ月", 990);
BW3__.Add("会議", 860);
BW3__.Add("入り", 1232);
BW3__.Add("大会", 2217);
BW3__.Add("始め", 1681);
BW3__.Add("市", 965);
BW3__.Add("新聞", -5055);
BW3__.Add("日,", 974);
BW3__.Add("日、", 974);
BW3__.Add("社会", 2024);
BW3__.Add("カ月", 990);
TC1__.Add("AAA", 1093);
TC1__.Add("HHH", 1029);
TC1__.Add("HHM", 580);
TC1__.Add("HII", 998);
TC1__.Add("HOH", -390);
TC1__.Add("HOM", -331);
TC1__.Add("IHI", 1169);
TC1__.Add("IOH", -142);
TC1__.Add("IOI", -1015);
TC1__.Add("IOM", 467);
TC1__.Add("MMH", 187);
TC1__.Add("OOI", -1832);
TC2__.Add("HHO", 2088);
TC2__.Add("HII", -1023);
TC2__.Add("HMM", -1154);
TC2__.Add("IHI", -1965);
TC2__.Add("KKH", 703);
TC2__.Add("OII", -2649);
TC3__.Add("AAA", -294);
TC3__.Add("HHH", 346);
TC3__.Add("HHI", -341);
TC3__.Add("HII", -1088);
TC3__.Add("HIK", 731);
TC3__.Add("HOH", -1486);
TC3__.Add("IHH", 128);
TC3__.Add("IHI", -3041);
TC3__.Add("IHO", -1935);
TC3__.Add("IIH", -825);
TC3__.Add("IIM", -1035);
TC3__.Add("IOI", -542);
TC3__.Add("KHH", -1216);
TC3__.Add("KKA", 491);
TC3__.Add("KKH", -1217);
TC3__.Add("KOK", -1009);
TC3__.Add("MHH", -2694);
TC3__.Add("MHM", -457);
TC3__.Add("MHO", 123);
TC3__.Add("MMH", -471);
TC3__.Add("NNH", -1689);
TC3__.Add("NNO", 662);
TC3__.Add("OHO", -3393);
TC4__.Add("HHH", -203);
TC4__.Add("HHI", 1344);
TC4__.Add("HHK", 365);
TC4__.Add("HHM", -122);
TC4__.Add("HHN", 182);
TC4__.Add("HHO", 669);
TC4__.Add("HIH", 804);
TC4__.Add("HII", 679);
TC4__.Add("HOH", 446);
TC4__.Add("IHH", 695);
TC4__.Add("IHO", -2324);
TC4__.Add("IIH", 321);
TC4__.Add("III", 1497);
TC4__.Add("IIO", 656);
TC4__.Add("IOO", 54);
TC4__.Add("KAK", 4845);
TC4__.Add("KKA", 3386);
TC4__.Add("KKK", 3065);
TC4__.Add("MHH", -405);
TC4__.Add("MHI", 201);
TC4__.Add("MMH", -241);
TC4__.Add("MMM", 661);
TC4__.Add("MOM", 841);
TQ1__.Add("BHHH", -227);
TQ1__.Add("BHHI", 316);
TQ1__.Add("BHIH", -132);
TQ1__.Add("BIHH", 60);
TQ1__.Add("BIII", 1595);
TQ1__.Add("BNHH", -744);
TQ1__.Add("BOHH", 225);
TQ1__.Add("BOOO", -908);
TQ1__.Add("OAKK", 482);
TQ1__.Add("OHHH", 281);
TQ1__.Add("OHIH", 249);
TQ1__.Add("OIHI", 200);
TQ1__.Add("OIIH", -68);
TQ2__.Add("BIHH", -1401);
TQ2__.Add("BIII", -1033);
TQ2__.Add("BKAK", -543);
TQ2__.Add("BOOO", -5591);
TQ3__.Add("BHHH", 478);
TQ3__.Add("BHHM", -1073);
TQ3__.Add("BHIH", 222);
TQ3__.Add("BHII", -504);
TQ3__.Add("BIIH", -116);
TQ3__.Add("BIII", -105);
TQ3__.Add("BMHI", -863);
TQ3__.Add("BMHM", -464);
TQ3__.Add("BOMH", 620);
TQ3__.Add("OHHH", 346);
TQ3__.Add("OHHI", 1729);
TQ3__.Add("OHII", 997);
TQ3__.Add("OHMH", 481);
TQ3__.Add("OIHH", 623);
TQ3__.Add("OIIH", 1344);
TQ3__.Add("OKAK", 2792);
TQ3__.Add("OKHH", 587);
TQ3__.Add("OKKA", 679);
TQ3__.Add("OOHH", 110);
TQ3__.Add("OOII", -685);
TQ4__.Add("BHHH", -721);
TQ4__.Add("BHHM", -3604);
TQ4__.Add("BHII", -966);
TQ4__.Add("BIIH", -607);
TQ4__.Add("BIII", -2181);
TQ4__.Add("OAAA", -2763);
TQ4__.Add("OAKK", 180);
TQ4__.Add("OHHH", -294);
TQ4__.Add("OHHI", 2446);
TQ4__.Add("OHHO", 480);
TQ4__.Add("OHIH", -1573);
TQ4__.Add("OIHH", 1935);
TQ4__.Add("OIHI", -493);
TQ4__.Add("OIIH", 626);
TQ4__.Add("OIII", -4007);
TQ4__.Add("OKAK", -8156);
TW1__.Add("につい", -4681);
TW1__.Add("東京都", 2026);
TW2__.Add("ある程", -2049);
TW2__.Add("いった", -1256);
TW2__.Add("ころが", -2434);
TW2__.Add("しょう", 3873);
TW2__.Add("その後", -4430);
TW2__.Add("だって", -1049);
TW2__.Add("ていた", 1833);
TW2__.Add("として", -4657);
TW2__.Add("ともに", -4517);
TW2__.Add("もので", 1882);
TW2__.Add("一気に", -792);
TW2__.Add("初めて", -1512);
TW2__.Add("同時に", -8097);
TW2__.Add("大きな", -1255);
TW2__.Add("対して", -2721);
TW2__.Add("社会党", -3216);
TW3__.Add("いただ", -1734);
TW3__.Add("してい", 1314);
TW3__.Add("として", -4314);
TW3__.Add("につい", -5483);
TW3__.Add("にとっ", -5989);
TW3__.Add("に当た", -6247);
TW3__.Add("ので,", -727);
TW3__.Add("ので、", -727);
TW3__.Add("のもの", -600);
TW3__.Add("れから", -3752);
TW3__.Add("十二月", -2287);
TW4__.Add("いう.", 8576);
TW4__.Add("いう。", 8576);
TW4__.Add("からな", -2348);
TW4__.Add("してい", 2958);
TW4__.Add("たが,", 1516);
TW4__.Add("たが、", 1516);
TW4__.Add("ている", 1538);
TW4__.Add("という", 1349);
TW4__.Add("ました", 5543);
TW4__.Add("ません", 1097);
TW4__.Add("ようと", -4258);
TW4__.Add("よると", 5865);
UC1__.Add("A", 484);
UC1__.Add("K", 93);
UC1__.Add("M", 645);
UC1__.Add("O", -505);
UC2__.Add("A", 819);
UC2__.Add("H", 1059);
UC2__.Add("I", 409);
UC2__.Add("M", 3987);
UC2__.Add("N", 5775);
UC2__.Add("O", 646);
UC3__.Add("A", -1370);
UC3__.Add("I", 2311);
UC4__.Add("A", -2643);
UC4__.Add("H", 1809);
UC4__.Add("I", -1032);
UC4__.Add("K", -3450);
UC4__.Add("M", 3565);
UC4__.Add("N", 3876);
UC4__.Add("O", 6646);
UC5__.Add("H", 313);
UC5__.Add("I", -1238);
UC5__.Add("K", -799);
UC5__.Add("M", 539);
UC5__.Add("O", -831);
UC6__.Add("H", -506);
UC6__.Add("I", -253);
UC6__.Add("K", 87);
UC6__.Add("M", 247);
UC6__.Add("O", -387);
UP1__.Add("O", -214);
UP2__.Add("B", 69);
UP2__.Add("O", 935);
UP3__.Add("B", 189);
UQ1__.Add("BH", 21);
UQ1__.Add("BI", -12);
UQ1__.Add("BK", -99);
UQ1__.Add("BN", 142);
UQ1__.Add("BO", -56);
UQ1__.Add("OH", -95);
UQ1__.Add("OI", 477);
UQ1__.Add("OK", 410);
UQ1__.Add("OO", -2422);
UQ2__.Add("BH", 216);
UQ2__.Add("BI", 113);
UQ2__.Add("OK", 1759);
UQ3__.Add("BA", -479);
UQ3__.Add("BH", 42);
UQ3__.Add("BI", 1913);
UQ3__.Add("BK", -7198);
UQ3__.Add("BM", 3160);
UQ3__.Add("BN", 6427);
UQ3__.Add("BO", 14761);
UQ3__.Add("OI", -827);
UQ3__.Add("ON", -3212);
UW1__.Add(",", 156);
UW1__.Add("、", 156);
UW1__.Add("「", -463);
UW1__.Add("あ", -941);
UW1__.Add("う", -127);
UW1__.Add("が", -553);
UW1__.Add("き", 121);
UW1__.Add("こ", 505);
UW1__.Add("で", -201);
UW1__.Add("と", -547);
UW1__.Add("ど", -123);
UW1__.Add("に", -789);
UW1__.Add("の", -185);
UW1__.Add("は", -847);
UW1__.Add("も", -466);
UW1__.Add("や", -470);
UW1__.Add("よ", 182);
UW1__.Add("ら", -292);
UW1__.Add("り", 208);
UW1__.Add("れ", 169);
UW1__.Add("を", -446);
UW1__.Add("ん", -137);
UW1__.Add("・", -135);
UW1__.Add("主", -402);
UW1__.Add("京", -268);
UW1__.Add("区", -912);
UW1__.Add("午", 871);
UW1__.Add("国", -460);
UW1__.Add("大", 561);
UW1__.Add("委", 729);
UW1__.Add("市", -411);
UW1__.Add("日", -141);
UW1__.Add("理", 361);
UW1__.Add("生", -408);
UW1__.Add("県", -386);
UW1__.Add("都", -718);
UW1__.Add("「", -463);
UW1__.Add("・", -135);
UW2__.Add(",", -829);
UW2__.Add("、", -829);
UW2__.Add("〇", 892);
UW2__.Add("「", -645);
UW2__.Add("」", 3145);
UW2__.Add("あ", -538);
UW2__.Add("い", 505);
UW2__.Add("う", 134);
UW2__.Add("お", -502);
UW2__.Add("か", 1454);
UW2__.Add("が", -856);
UW2__.Add("く", -412);
UW2__.Add("こ", 1141);
UW2__.Add("さ", 878);
UW2__.Add("ざ", 540);
UW2__.Add("し", 1529);
UW2__.Add("す", -675);
UW2__.Add("せ", 300);
UW2__.Add("そ", -1011);
UW2__.Add("た", 188);
UW2__.Add("だ", 1837);
UW2__.Add("つ", -949);
UW2__.Add("て", -291);
UW2__.Add("で", -268);
UW2__.Add("と", -981);
UW2__.Add("ど", 1273);
UW2__.Add("な", 1063);
UW2__.Add("に", -1764);
UW2__.Add("の", 130);
UW2__.Add("は", -409);
UW2__.Add("ひ", -1273);
UW2__.Add("べ", 1261);
UW2__.Add("ま", 600);
UW2__.Add("も", -1263);
UW2__.Add("や", -402);
UW2__.Add("よ", 1639);
UW2__.Add("り", -579);
UW2__.Add("る", -694);
UW2__.Add("れ", 571);
UW2__.Add("を", -2516);
UW2__.Add("ん", 2095);
UW2__.Add("ア", -587);
UW2__.Add("カ", 306);
UW2__.Add("キ", 568);
UW2__.Add("ッ", 831);
UW2__.Add("三", -758);
UW2__.Add("不", -2150);
UW2__.Add("世", -302);
UW2__.Add("中", -968);
UW2__.Add("主", -861);
UW2__.Add("事", 492);
UW2__.Add("人", -123);
UW2__.Add("会", 978);
UW2__.Add("保", 362);
UW2__.Add("入", 548);
UW2__.Add("初", -3025);
UW2__.Add("副", -1566);
UW2__.Add("北", -3414);
UW2__.Add("区", -422);
UW2__.Add("大", -1769);
UW2__.Add("天", -865);
UW2__.Add("太", -483);
UW2__.Add("子", -1519);
UW2__.Add("学", 760);
UW2__.Add("実", 1023);
UW2__.Add("小", -2009);
UW2__.Add("市", -813);
UW2__.Add("年", -1060);
UW2__.Add("強", 1067);
UW2__.Add("手", -1519);
UW2__.Add("揺", -1033);
UW2__.Add("政", 1522);
UW2__.Add("文", -1355);
UW2__.Add("新", -1682);
UW2__.Add("日", -1815);
UW2__.Add("明", -1462);
UW2__.Add("最", -630);
UW2__.Add("朝", -1843);
UW2__.Add("本", -1650);
UW2__.Add("東", -931);
UW2__.Add("果", -665);
UW2__.Add("次", -2378);
UW2__.Add("民", -180);
UW2__.Add("気", -1740);
UW2__.Add("理", 752);
UW2__.Add("発", 529);
UW2__.Add("目", -1584);
UW2__.Add("相", -242);
UW2__.Add("県", -1165);
UW2__.Add("立", -763);
UW2__.Add("第", 810);
UW2__.Add("米", 509);
UW2__.Add("自", -1353);
UW2__.Add("行", 838);
UW2__.Add("西", -744);
UW2__.Add("見", -3874);
UW2__.Add("調", 1010);
UW2__.Add("議", 1198);
UW2__.Add("込", 3041);
UW2__.Add("開", 1758);
UW2__.Add("間", -1257);
UW2__.Add("「", -645);
UW2__.Add("」", 3145);
UW2__.Add("ッ", 831);
UW2__.Add("ア", -587);
UW2__.Add("カ", 306);
UW2__.Add("キ", 568);
UW3__.Add(",", 4889);
UW3__.Add("1", -800);
UW3__.Add("−", -1723);
UW3__.Add("、", 4889);
UW3__.Add("々", -2311);
UW3__.Add("〇", 5827);
UW3__.Add("」", 2670);
UW3__.Add("〓", -3573);
UW3__.Add("あ", -2696);
UW3__.Add("い", 1006);
UW3__.Add("う", 2342);
UW3__.Add("え", 1983);
UW3__.Add("お", -4864);
UW3__.Add("か", -1163);
UW3__.Add("が", 3271);
UW3__.Add("く", 1004);
UW3__.Add("け", 388);
UW3__.Add("げ", 401);
UW3__.Add("こ", -3552);
UW3__.Add("ご", -3116);
UW3__.Add("さ", -1058);
UW3__.Add("し", -395);
UW3__.Add("す", 584);
UW3__.Add("せ", 3685);
UW3__.Add("そ", -5228);
UW3__.Add("た", 842);
UW3__.Add("ち", -521);
UW3__.Add("っ", -1444);
UW3__.Add("つ", -1081);
UW3__.Add("て", 6167);
UW3__.Add("で", 2318);
UW3__.Add("と", 1691);
UW3__.Add("ど", -899);
UW3__.Add("な", -2788);
UW3__.Add("に", 2745);
UW3__.Add("の", 4056);
UW3__.Add("は", 4555);
UW3__.Add("ひ", -2171);
UW3__.Add("ふ", -1798);
UW3__.Add("へ", 1199);
UW3__.Add("ほ", -5516);
UW3__.Add("ま", -4384);
UW3__.Add("み", -120);
UW3__.Add("め", 1205);
UW3__.Add("も", 2323);
UW3__.Add("や", -788);
UW3__.Add("よ", -202);
UW3__.Add("ら", 727);
UW3__.Add("り", 649);
UW3__.Add("る", 5905);
UW3__.Add("れ", 2773);
UW3__.Add("わ", -1207);
UW3__.Add("を", 6620);
UW3__.Add("ん", -518);
UW3__.Add("ア", 551);
UW3__.Add("グ", 1319);
UW3__.Add("ス", 874);
UW3__.Add("ッ", -1350);
UW3__.Add("ト", 521);
UW3__.Add("ム", 1109);
UW3__.Add("ル", 1591);
UW3__.Add("ロ", 2201);
UW3__.Add("ン", 278);
UW3__.Add("・", -3794);
UW3__.Add("一", -1619);
UW3__.Add("下", -1759);
UW3__.Add("世", -2087);
UW3__.Add("両", 3815);
UW3__.Add("中", 653);
UW3__.Add("主", -758);
UW3__.Add("予", -1193);
UW3__.Add("二", 974);
UW3__.Add("人", 2742);
UW3__.Add("今", 792);
UW3__.Add("他", 1889);
UW3__.Add("以", -1368);
UW3__.Add("低", 811);
UW3__.Add("何", 4265);
UW3__.Add("作", -361);
UW3__.Add("保", -2439);
UW3__.Add("元", 4858);
UW3__.Add("党", 3593);
UW3__.Add("全", 1574);
UW3__.Add("公", -3030);
UW3__.Add("六", 755);
UW3__.Add("共", -1880);
UW3__.Add("円", 5807);
UW3__.Add("再", 3095);
UW3__.Add("分", 457);
UW3__.Add("初", 2475);
UW3__.Add("別", 1129);
UW3__.Add("前", 2286);
UW3__.Add("副", 4437);
UW3__.Add("力", 365);
UW3__.Add("動", -949);
UW3__.Add("務", -1872);
UW3__.Add("化", 1327);
UW3__.Add("北", -1038);
UW3__.Add("区", 4646);
UW3__.Add("千", -2309);
UW3__.Add("午", -783);
UW3__.Add("協", -1006);
UW3__.Add("口", 483);
UW3__.Add("右", 1233);
UW3__.Add("各", 3588);
UW3__.Add("合", -241);
UW3__.Add("同", 3906);
UW3__.Add("和", -837);
UW3__.Add("員", 4513);
UW3__.Add("国", 642);
UW3__.Add("型", 1389);
UW3__.Add("場", 1219);
UW3__.Add("外", -241);
UW3__.Add("妻", 2016);
UW3__.Add("学", -1356);
UW3__.Add("安", -423);
UW3__.Add("実", -1008);
UW3__.Add("家", 1078);
UW3__.Add("小", -513);
UW3__.Add("少", -3102);
UW3__.Add("州", 1155);
UW3__.Add("市", 3197);
UW3__.Add("平", -1804);
UW3__.Add("年", 2416);
UW3__.Add("広", -1030);
UW3__.Add("府", 1605);
UW3__.Add("度", 1452);
UW3__.Add("建", -2352);
UW3__.Add("当", -3885);
UW3__.Add("得", 1905);
UW3__.Add("思", -1291);
UW3__.Add("性", 1822);
UW3__.Add("戸", -488);
UW3__.Add("指", -3973);
UW3__.Add("政", -2013);
UW3__.Add("教", -1479);
UW3__.Add("数", 3222);
UW3__.Add("文", -1489);
UW3__.Add("新", 1764);
UW3__.Add("日", 2099);
UW3__.Add("旧", 5792);
UW3__.Add("昨", -661);
UW3__.Add("時", -1248);
UW3__.Add("曜", -951);
UW3__.Add("最", -937);
UW3__.Add("月", 4125);
UW3__.Add("期", 360);
UW3__.Add("李", 3094);
UW3__.Add("村", 364);
UW3__.Add("東", -805);
UW3__.Add("核", 5156);
UW3__.Add("森", 2438);
UW3__.Add("業", 484);
UW3__.Add("氏", 2613);
UW3__.Add("民", -1694);
UW3__.Add("決", -1073);
UW3__.Add("法", 1868);
UW3__.Add("海", -495);
UW3__.Add("無", 979);
UW3__.Add("物", 461);
UW3__.Add("特", -3850);
UW3__.Add("生", -273);
UW3__.Add("用", 914);
UW3__.Add("町", 1215);
UW3__.Add("的", 7313);
UW3__.Add("直", -1835);
UW3__.Add("省", 792);
UW3__.Add("県", 6293);
UW3__.Add("知", -1528);
UW3__.Add("私", 4231);
UW3__.Add("税", 401);
UW3__.Add("立", -960);
UW3__.Add("第", 1201);
UW3__.Add("米", 7767);
UW3__.Add("系", 3066);
UW3__.Add("約", 3663);
UW3__.Add("級", 1384);
UW3__.Add("統", -4229);
UW3__.Add("総", 1163);
UW3__.Add("線", 1255);
UW3__.Add("者", 6457);
UW3__.Add("能", 725);
UW3__.Add("自", -2869);
UW3__.Add("英", 785);
UW3__.Add("見", 1044);
UW3__.Add("調", -562);
UW3__.Add("財", -733);
UW3__.Add("費", 1777);
UW3__.Add("車", 1835);
UW3__.Add("軍", 1375);
UW3__.Add("込", -1504);
UW3__.Add("通", -1136);
UW3__.Add("選", -681);
UW3__.Add("郎", 1026);
UW3__.Add("郡", 4404);
UW3__.Add("部", 1200);
UW3__.Add("金", 2163);
UW3__.Add("長", 421);
UW3__.Add("開", -1432);
UW3__.Add("間", 1302);
UW3__.Add("関", -1282);
UW3__.Add("雨", 2009);
UW3__.Add("電", -1045);
UW3__.Add("非", 2066);
UW3__.Add("駅", 1620);
UW3__.Add("1", -800);
UW3__.Add("」", 2670);
UW3__.Add("・", -3794);
UW3__.Add("ッ", -1350);
UW3__.Add("ア", 551);
UW3__.Add("グ", 1319);
UW3__.Add("ス", 874);
UW3__.Add("ト", 521);
UW3__.Add("ム", 1109);
UW3__.Add("ル", 1591);
UW3__.Add("ロ", 2201);
UW3__.Add("ン", 278);
UW4__.Add(",", 3930);
UW4__.Add(".", 3508);
UW4__.Add("―", -4841);
UW4__.Add("、", 3930);
UW4__.Add("。", 3508);
UW4__.Add("〇", 4999);
UW4__.Add("「", 1895);
UW4__.Add("」", 3798);
UW4__.Add("〓", -5156);
UW4__.Add("あ", 4752);
UW4__.Add("い", -3435);
UW4__.Add("う", -640);
UW4__.Add("え", -2514);
UW4__.Add("お", 2405);
UW4__.Add("か", 530);
UW4__.Add("が", 6006);
UW4__.Add("き", -4482);
UW4__.Add("ぎ", -3821);
UW4__.Add("く", -3788);
UW4__.Add("け", -4376);
UW4__.Add("げ", -4734);
UW4__.Add("こ", 2255);
UW4__.Add("ご", 1979);
UW4__.Add("さ", 2864);
UW4__.Add("し", -843);
UW4__.Add("じ", -2506);
UW4__.Add("す", -731);
UW4__.Add("ず", 1251);
UW4__.Add("せ", 181);
UW4__.Add("そ", 4091);
UW4__.Add("た", 5034);
UW4__.Add("だ", 5408);
UW4__.Add("ち", -3654);
UW4__.Add("っ", -5882);
UW4__.Add("つ", -1659);
UW4__.Add("て", 3994);
UW4__.Add("で", 7410);
UW4__.Add("と", 4547);
UW4__.Add("な", 5433);
UW4__.Add("に", 6499);
UW4__.Add("ぬ", 1853);
UW4__.Add("ね", 1413);
UW4__.Add("の", 7396);
UW4__.Add("は", 8578);
UW4__.Add("ば", 1940);
UW4__.Add("ひ", 4249);
UW4__.Add("び", -4134);
UW4__.Add("ふ", 1345);
UW4__.Add("へ", 6665);
UW4__.Add("べ", -744);
UW4__.Add("ほ", 1464);
UW4__.Add("ま", 1051);
UW4__.Add("み", -2082);
UW4__.Add("む", -882);
UW4__.Add("め", -5046);
UW4__.Add("も", 4169);
UW4__.Add("ゃ", -2666);
UW4__.Add("や", 2795);
UW4__.Add("ょ", -1544);
UW4__.Add("よ", 3351);
UW4__.Add("ら", -2922);
UW4__.Add("り", -9726);
UW4__.Add("る", -14896);
UW4__.Add("れ", -2613);
UW4__.Add("ろ", -4570);
UW4__.Add("わ", -1783);
UW4__.Add("を", 13150);
UW4__.Add("ん", -2352);
UW4__.Add("カ", 2145);
UW4__.Add("コ", 1789);
UW4__.Add("セ", 1287);
UW4__.Add("ッ", -724);
UW4__.Add("ト", -403);
UW4__.Add("メ", -1635);
UW4__.Add("ラ", -881);
UW4__.Add("リ", -541);
UW4__.Add("ル", -856);
UW4__.Add("ン", -3637);
UW4__.Add("・", -4371);
UW4__.Add("ー", -11870);
UW4__.Add("一", -2069);
UW4__.Add("中", 2210);
UW4__.Add("予", 782);
UW4__.Add("事", -190);
UW4__.Add("井", -1768);
UW4__.Add("人", 1036);
UW4__.Add("以", 544);
UW4__.Add("会", 950);
UW4__.Add("体", -1286);
UW4__.Add("作", 530);
UW4__.Add("側", 4292);
UW4__.Add("先", 601);
UW4__.Add("党", -2006);
UW4__.Add("共", -1212);
UW4__.Add("内", 584);
UW4__.Add("円", 788);
UW4__.Add("初", 1347);
UW4__.Add("前", 1623);
UW4__.Add("副", 3879);
UW4__.Add("力", -302);
UW4__.Add("動", -740);
UW4__.Add("務", -2715);
UW4__.Add("化", 776);
UW4__.Add("区", 4517);
UW4__.Add("協", 1013);
UW4__.Add("参", 1555);
UW4__.Add("合", -1834);
UW4__.Add("和", -681);
UW4__.Add("員", -910);
UW4__.Add("器", -851);
UW4__.Add("回", 1500);
UW4__.Add("国", -619);
UW4__.Add("園", -1200);
UW4__.Add("地", 866);
UW4__.Add("場", -1410);
UW4__.Add("塁", -2094);
UW4__.Add("士", -1413);
UW4__.Add("多", 1067);
UW4__.Add("大", 571);
UW4__.Add("子", -4802);
UW4__.Add("学", -1397);
UW4__.Add("定", -1057);
UW4__.Add("寺", -809);
UW4__.Add("小", 1910);
UW4__.Add("屋", -1328);
UW4__.Add("山", -1500);
UW4__.Add("島", -2056);
UW4__.Add("川", -2667);
UW4__.Add("市", 2771);
UW4__.Add("年", 374);
UW4__.Add("庁", -4556);
UW4__.Add("後", 456);
UW4__.Add("性", 553);
UW4__.Add("感", 916);
UW4__.Add("所", -1566);
UW4__.Add("支", 856);
UW4__.Add("改", 787);
UW4__.Add("政", 2182);
UW4__.Add("教", 704);
UW4__.Add("文", 522);
UW4__.Add("方", -856);
UW4__.Add("日", 1798);
UW4__.Add("時", 1829);
UW4__.Add("最", 845);
UW4__.Add("月", -9066);
UW4__.Add("木", -485);
UW4__.Add("来", -442);
UW4__.Add("校", -360);
UW4__.Add("業", -1043);
UW4__.Add("氏", 5388);
UW4__.Add("民", -2716);
UW4__.Add("気", -910);
UW4__.Add("沢", -939);
UW4__.Add("済", -543);
UW4__.Add("物", -735);
UW4__.Add("率", 672);
UW4__.Add("球", -1267);
UW4__.Add("生", -1286);
UW4__.Add("産", -1101);
UW4__.Add("田", -2900);
UW4__.Add("町", 1826);
UW4__.Add("的", 2586);
UW4__.Add("目", 922);
UW4__.Add("省", -3485);
UW4__.Add("県", 2997);
UW4__.Add("空", -867);
UW4__.Add("立", -2112);
UW4__.Add("第", 788);
UW4__.Add("米", 2937);
UW4__.Add("系", 786);
UW4__.Add("約", 2171);
UW4__.Add("経", 1146);
UW4__.Add("統", -1169);
UW4__.Add("総", 940);
UW4__.Add("線", -994);
UW4__.Add("署", 749);
UW4__.Add("者", 2145);
UW4__.Add("能", -730);
UW4__.Add("般", -852);
UW4__.Add("行", -792);
UW4__.Add("規", 792);
UW4__.Add("警", -1184);
UW4__.Add("議", -244);
UW4__.Add("谷", -1000);
UW4__.Add("賞", 730);
UW4__.Add("車", -1481);
UW4__.Add("軍", 1158);
UW4__.Add("輪", -1433);
UW4__.Add("込", -3370);
UW4__.Add("近", 929);
UW4__.Add("道", -1291);
UW4__.Add("選", 2596);
UW4__.Add("郎", -4866);
UW4__.Add("都", 1192);
UW4__.Add("野", -1100);
UW4__.Add("銀", -2213);
UW4__.Add("長", 357);
UW4__.Add("間", -2344);
UW4__.Add("院", -2297);
UW4__.Add("際", -2604);
UW4__.Add("電", -878);
UW4__.Add("領", -1659);
UW4__.Add("題", -792);
UW4__.Add("館", -1984);
UW4__.Add("首", 1749);
UW4__.Add("高", 2120);
UW4__.Add("「", 1895);
UW4__.Add("」", 3798);
UW4__.Add("・", -4371);
UW4__.Add("ッ", -724);
UW4__.Add("ー", -11870);
UW4__.Add("カ", 2145);
UW4__.Add("コ", 1789);
UW4__.Add("セ", 1287);
UW4__.Add("ト", -403);
UW4__.Add("メ", -1635);
UW4__.Add("ラ", -881);
UW4__.Add("リ", -541);
UW4__.Add("ル", -856);
UW4__.Add("ン", -3637);
UW5__.Add(",", 465);
UW5__.Add(".", -299);
UW5__.Add("1", -514);
UW5__.Add("E2", -32768);
UW5__.Add("]", -2762);
UW5__.Add("、", 465);
UW5__.Add("。", -299);
UW5__.Add("「", 363);
UW5__.Add("あ", 1655);
UW5__.Add("い", 331);
UW5__.Add("う", -503);
UW5__.Add("え", 1199);
UW5__.Add("お", 527);
UW5__.Add("か", 647);
UW5__.Add("が", -421);
UW5__.Add("き", 1624);
UW5__.Add("ぎ", 1971);
UW5__.Add("く", 312);
UW5__.Add("げ", -983);
UW5__.Add("さ", -1537);
UW5__.Add("し", -1371);
UW5__.Add("す", -852);
UW5__.Add("だ", -1186);
UW5__.Add("ち", 1093);
UW5__.Add("っ", 52);
UW5__.Add("つ", 921);
UW5__.Add("て", -18);
UW5__.Add("で", -850);
UW5__.Add("と", -127);
UW5__.Add("ど", 1682);
UW5__.Add("な", -787);
UW5__.Add("に", -1224);
UW5__.Add("の", -635);
UW5__.Add("は", -578);
UW5__.Add("べ", 1001);
UW5__.Add("み", 502);
UW5__.Add("め", 865);
UW5__.Add("ゃ", 3350);
UW5__.Add("ょ", 854);
UW5__.Add("り", -208);
UW5__.Add("る", 429);
UW5__.Add("れ", 504);
UW5__.Add("わ", 419);
UW5__.Add("を", -1264);
UW5__.Add("ん", 327);
UW5__.Add("イ", 241);
UW5__.Add("ル", 451);
UW5__.Add("ン", -343);
UW5__.Add("中", -871);
UW5__.Add("京", 722);
UW5__.Add("会", -1153);
UW5__.Add("党", -654);
UW5__.Add("務", 3519);
UW5__.Add("区", -901);
UW5__.Add("告", 848);
UW5__.Add("員", 2104);
UW5__.Add("大", -1296);
UW5__.Add("学", -548);
UW5__.Add("定", 1785);
UW5__.Add("嵐", -1304);
UW5__.Add("市", -2991);
UW5__.Add("席", 921);
UW5__.Add("年", 1763);
UW5__.Add("思", 872);
UW5__.Add("所", -814);
UW5__.Add("挙", 1618);
UW5__.Add("新", -1682);
UW5__.Add("日", 218);
UW5__.Add("月", -4353);
UW5__.Add("査", 932);
UW5__.Add("格", 1356);
UW5__.Add("機", -1508);
UW5__.Add("氏", -1347);
UW5__.Add("田", 240);
UW5__.Add("町", -3912);
UW5__.Add("的", -3149);
UW5__.Add("相", 1319);
UW5__.Add("省", -1052);
UW5__.Add("県", -4003);
UW5__.Add("研", -997);
UW5__.Add("社", -278);
UW5__.Add("空", -813);
UW5__.Add("統", 1955);
UW5__.Add("者", -2233);
UW5__.Add("表", 663);
UW5__.Add("語", -1073);
UW5__.Add("議", 1219);
UW5__.Add("選", -1018);
UW5__.Add("郎", -368);
UW5__.Add("長", 786);
UW5__.Add("間", 1191);
UW5__.Add("題", 2368);
UW5__.Add("館", -689);
UW5__.Add("1", -514);
UW5__.Add("E2", -32768);
UW5__.Add("「", 363);
UW5__.Add("イ", 241);
UW5__.Add("ル", 451);
UW5__.Add("ン", -343);
UW6__.Add(",", 227);
UW6__.Add(".", 808);
UW6__.Add("1", -270);
UW6__.Add("E1", 306);
UW6__.Add("、", 227);
UW6__.Add("。", 808);
UW6__.Add("あ", -307);
UW6__.Add("う", 189);
UW6__.Add("か", 241);
UW6__.Add("が", -73);
UW6__.Add("く", -121);
UW6__.Add("こ", -200);
UW6__.Add("じ", 1782);
UW6__.Add("す", 383);
UW6__.Add("た", -428);
UW6__.Add("っ", 573);
UW6__.Add("て", -1014);
UW6__.Add("で", 101);
UW6__.Add("と", -105);
UW6__.Add("な", -253);
UW6__.Add("に", -149);
UW6__.Add("の", -417);
UW6__.Add("は", -236);
UW6__.Add("も", -206);
UW6__.Add("り", 187);
UW6__.Add("る", -135);
UW6__.Add("を", 195);
UW6__.Add("ル", -673);
UW6__.Add("ン", -496);
UW6__.Add("一", -277);
UW6__.Add("中", 201);
UW6__.Add("件", -800);
UW6__.Add("会", 624);
UW6__.Add("前", 302);
UW6__.Add("区", 1792);
UW6__.Add("員", -1212);
UW6__.Add("委", 798);
UW6__.Add("学", -960);
UW6__.Add("市", 887);
UW6__.Add("広", -695);
UW6__.Add("後", 535);
UW6__.Add("業", -697);
UW6__.Add("相", 753);
UW6__.Add("社", -507);
UW6__.Add("福", 974);
UW6__.Add("空", -822);
UW6__.Add("者", 1811);
UW6__.Add("連", 463);
UW6__.Add("郎", 1082);
UW6__.Add("1", -270);
UW6__.Add("E1", 306);
UW6__.Add("ル", -673);
UW6__.Add("ン", -496);
}
#endregion
private Dictionary<Regex, string> chartype_;
public TinySegmenter()
{
this.InitializeConstants();
Dictionary<string, string> patterns = new Dictionary<string, string>();
patterns.Add("[一二三四五六七八九十百千万億兆]", "M");
patterns.Add("[一-龠々〆ヵヶ]", "H");
patterns.Add("[ぁ-ん]", "I");
patterns.Add("[ァ-ヴーア-ン゙ー]", "K");
patterns.Add("[a-zA-Za-zA-Z]", "A");
patterns.Add("[0-90-9]", "N");
this.chartype_ = new Dictionary<Regex, string>();
foreach (string i in patterns.Keys)
{
Regex reg = new Regex(i, RegexOptions.Compiled);
this.chartype_.Add(reg, patterns[i]);
}
}
private string ctype_(string str)
{
foreach (KeyValuePair<Regex, string> i in this.chartype_)
{
if (i.Key.IsMatch(str))
{
return i.Value;
}
}
return "O";
}
private int ts_(Dictionary<string, int> dic, string v)
{
int result;
if (dic.TryGetValue(v, out result))
{
return result;
}
return 0;
}
public string[] Segment(string input)
{
if (string.IsNullOrEmpty(input))
return new string[] { };
List<string> result = new List<string>();
List<string> seg = new List<string>();
seg.Add("B3");
seg.Add("B2");
seg.Add("B1");
List<string> ctype = new List<string>();
ctype.Add("O");
ctype.Add("O");
ctype.Add("O");
//char[] o = input.ToCharArray();
for (int i = 0; i < input.Length; i++)
{
string c = input[i].ToString();
seg.Add(c);
ctype.Add(this.ctype_(c));
}
seg.Add("E1");
seg.Add("E2");
seg.Add("E3");
ctype.Add("O");
ctype.Add("O");
ctype.Add("O");
string word = seg[3];
string p1 = "U";
string p2 = "U";
string p3 = "U";
for (int i = 4; i < seg.Count - 3; i++)
{
int score = this.BIAS__;
string w1 = seg[i - 3];
string w2 = seg[i - 2];
string w3 = seg[i - 1];
string w4 = seg[i];
string w5 = seg[i + 1];
string w6 = seg[i + 2];
string c1 = ctype[i - 3];
string c2 = ctype[i - 2];
string c3 = ctype[i - 1];
string c4 = ctype[i];
string c5 = ctype[i + 1];
string c6 = ctype[i + 2];
score += this.ts_(this.UP1__, p1);
score += this.ts_(this.UP2__, p2);
score += this.ts_(this.UP3__, p3);
score += this.ts_(this.BP1__, p1 + p2);
score += this.ts_(this.BP2__, p2 + p3);
score += this.ts_(this.UW1__, w1);
score += this.ts_(this.UW2__, w2);
score += this.ts_(this.UW3__, w3);
score += this.ts_(this.UW4__, w4);
score += this.ts_(this.UW5__, w5);
score += this.ts_(this.UW6__, w6);
score += this.ts_(this.BW1__, w2 + w3);
score += this.ts_(this.BW2__, w3 + w4);
score += this.ts_(this.BW3__, w4 + w5);
score += this.ts_(this.TW1__, w1 + w2 + w3);
score += this.ts_(this.TW2__, w2 + w3 + w4);
score += this.ts_(this.TW3__, w3 + w4 + w5);
score += this.ts_(this.TW4__, w4 + w5 + w6);
score += this.ts_(this.UC1__, c1);
score += this.ts_(this.UC2__, c2);
score += this.ts_(this.UC3__, c3);
score += this.ts_(this.UC4__, c4);
score += this.ts_(this.UC5__, c5);
score += this.ts_(this.UC6__, c6);
score += this.ts_(this.BC1__, c2 + c3);
score += this.ts_(this.BC2__, c3 + c4);
score += this.ts_(this.BC3__, c4 + c5);
score += this.ts_(this.TC1__, c1 + c2 + c3);
score += this.ts_(this.TC2__, c2 + c3 + c4);
score += this.ts_(this.TC3__, c3 + c4 + c5);
score += this.ts_(this.TC4__, c4 + c5 + c6);
//score += this.ts_(this.TC5__, c4 + c5 + c6);
score += this.ts_(this.UQ1__, p1 + c1);
score += this.ts_(this.UQ2__, p2 + c2);
score += this.ts_(this.UQ1__, p3 + c3);
score += this.ts_(this.BQ1__, p2 + c2 + c3);
score += this.ts_(this.BQ2__, p2 + c3 + c4);
score += this.ts_(this.BQ3__, p3 + c2 + c3);
score += this.ts_(this.BQ4__, p3 + c3 + c4);
score += this.ts_(this.TQ1__, p2 + c1 + c2 + c3);
score += this.ts_(this.TQ2__, p2 + c2 + c3 + c4);
score += this.ts_(this.TQ3__, p3 + c1 + c2 + c3);
score += this.ts_(this.TQ4__, p3 + c2 + c3 + c4);
string p = "O";
if (score > 0)
{
result.Add(word);
word = "";
p = "B";
}
p1 = p2;
p2 = p3;
p3 = p;
word += seg[i];
}
result.Add(word);
return result.ToArray();
}
}
}
___EOD___
}}
**ダウンロード [#lfd03a3a]
-&ref(TinySegmenter.cs);
**コメント [#ka3fde2f]
- 書き忘れたことを2つ補足します。&br;・サロゲートペアのような文字は考慮していません。&br;・1575行目の「UQ1__」は「UQ3__」の間違いではないかと思われます。 -- [[DOBON!]] &new{2010-11-29 (月) 00:07:06};
#comment
//これより下は編集しないでください
#pageinfo([[:Category/.NET]],2010-11-23 (火) 23:49:19,DOBON!,2010-11-24 (水) 00:06:45,DOBON!)