public void TestParseSingleOrgName() { IParser p = new OrgNameParser(GeneralParserTest.CreateParserContext("上海软星动力软件有限公司", dictAddr)); ParseResultCollection prc = p.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海软星动力软件有限公司", 0, POSType.A_NT); p = new OrgNameParser(GeneralParserTest.CreateParserContext("这里是上海互联网信息有限公司", dictAddr)); prc = p.Parse(3); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海互联网信息有限公司", 3, POSType.A_NT); p = new OrgNameParser(GeneralParserTest.CreateParserContext("鹿特丹美术学院", dictAddr)); prc = p.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "鹿特丹美术学院", 0, POSType.A_NT); p = new OrgNameParser(GeneralParserTest.CreateParserContext("鹿特丹美院", dictAddr)); prc = p.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "鹿特丹美院", 0, POSType.A_NT); p = new OrgNameParser(GeneralParserTest.CreateParserContext("先锋商泰(上海)有限公司", dictAddr)); prc = p.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "先锋商泰(上海)有限公司", 0, POSType.A_NT); }
public void TestParseFullSentenceForPublisherName() { ParseResultCollection prc = ParseChineseOrgName("《软件测试方法与技术实践指南Java EE版》已经由清华大学出版社出版"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "清华大学出版社", 26, POSType.A_NT); prc = ParseChineseOrgName("作为法律出版社新书、重点书发布平台,我们致力于为读者提供优质的信息服务。"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "法律出版社", 2, POSType.A_NT); }
public void TestParseSingleAddressWithDuplicateCity() { IParser parser = new ChineseAddressParser(CreateParserContext("上海市上海市黄浦区外马路1410号")); ParseResultCollection prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海市上海市黄浦区外马路1410号", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, "上海市", "黄浦区", "外马路", "1410号", null, null); parser = new ChineseAddressParser(CreateParserContext("上海上海市黄浦区外马路1410号")); prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海黄浦区外马路1410号", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, "上海", "黄浦区", "外马路", "1410号", null, null); //出现两个上海时,以第一个为准 }
public void TestParseFullSentenceForOrgName() { ParseResultCollection prc = ParseChineseOrgName("郑荣科 07行政管理专业 现任职于上海江正营销策划有限公司"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海江正营销策划有限公司", 17, POSType.A_NT); prc = ParseChineseOrgName("李承龙 08民航 现任职于中国南方国际航空。"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "中国南方国际航空", 13, POSType.A_NT); prc = ParseChineseOrgName("李林玲(左) 06旅游管理班 现任职于上海中福大酒店。"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海中福大酒店", 19, POSType.A_NT); }
public void TestParsePlaceName() { IParser p = new PlaceNameParser(GeneralParserTest.CreateParserContext("你好,我在上海,他在北京。", dictAddr)); ParseResultCollection prc = p.Parse(0); Assert.AreEqual(0, prc.Count); prc = p.Parse(5); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海", 5, POSType.A_NS); prc = p.Parse(10); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "北京", 10, POSType.A_NS); }
public void TestParseSingleAddress() { IParser parser = new ChineseAddressParser(CreateParserContext("上海市黄浦区外马路1410号")); ParseResultCollection prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海市黄浦区外马路1410号", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, "上海市", "黄浦区", "外马路", "1410号", null, null); parser = new ChineseAddressParser(CreateParserContext("上海市黄浦区陆家浜路413弄5号702室(金南新苑商务楼)")); prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "上海市黄浦区陆家浜路413弄5号702室(金南新苑商务楼)", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, null, "上海市", "黄浦区", "陆家浜路", "5号", null, "702室", null, null, "413弄"); parser = new ChineseAddressParser(CreateParserContext("中国上海市浦东新区银城中路68号时代金融中心大厦38楼")); prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "中国上海市浦东新区银城中路68号时代金融中心大厦38楼", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, "中国", null, "上海市", "浦东新区", "银城中路", "68号", "38楼", null, "时代金融中心大厦"); parser = new ChineseAddressParser(CreateParserContext("杭州市体育场路453号14楼302室")); prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "杭州市体育场路453号14楼302室", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, "杭州市", null, "体育场路", "453号", "14楼", "302室"); parser = new ChineseAddressParser(CreateParserContext("地址:杭州市江干区九堡九环路六十号")); prc = parser.Parse(3); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "杭州市江干区九堡九环路六十号", 3, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, "杭州市", "江干区", "九堡九环路", "六十号", null, null); parser = new ChineseAddressParser(CreateParserContext("杭州西湖区文二西路2号")); prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "杭州西湖区文二西路2号", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, "杭州", "西湖区", "文二西路", "2号", null, null); parser = new ChineseAddressParser(CreateParserContext("长乐路460弄10号")); prc = parser.Parse(0); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "长乐路460弄10号", 0, POSType.D_S); AssertAddressValue((ChineseAddress)prc[0].Value, null, null, null, null, "长乐路", "10号", null, null, null, null, "460弄"); }
public void TestParseFullSentenceForPlaceNames() { ParseResultCollection prc = ParsePlaceName("沈阳的天气真好,如果哪天我能去沈阳玩就好了。呼和浩特那里咋样?"); Assert.AreEqual(3, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "沈阳", 0, POSType.A_NS); GeneralParserTest.AssertParseResult(prc[1], "沈阳", 15, POSType.A_NS); GeneralParserTest.AssertParseResult(prc[2], "呼和浩特", 22, POSType.A_NS); ParseResultCollection prc2 = ParsePlaceName("传统“金砖四国”(BRIC)引用了巴西、俄罗斯、印度和中国的英文首字母。"); Assert.AreEqual(4, prc2.Count); GeneralParserTest.AssertParseResult(prc2[0], "巴西", 17, POSType.A_NS); GeneralParserTest.AssertParseResult(prc2[1], "俄罗斯", 20, POSType.A_NS); GeneralParserTest.AssertParseResult(prc2[2], "印度", 24, POSType.A_NS); GeneralParserTest.AssertParseResult(prc2[3], "中国", 27, POSType.A_NS); }
public void TestParseFullSentenceForSchool() { ParseResultCollection prc = ParseChineseOrgName("09/01/1996 – 07/01/1999 安徽省肥东第二中学高中部学习"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "安徽省肥东第二中学", 25, POSType.A_NT); prc = ParseChineseOrgName("09/01/1999 – 07/01/2003 安徽大学数学系数学与应用数学专业学习"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "安徽大学", 25, POSType.A_NT); prc = ParseChineseOrgName("09/01/1999 – 07/01/2003 清华大学数学系"); Assert.AreEqual(1, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "清华大学", 25, POSType.A_NT); prc = ParseChineseOrgName("北京大学、清华大学和中国人民大学高居2008中国最受媒体关注大学排行榜前三强"); Assert.AreEqual(4, prc.Count); GeneralParserTest.AssertParseResult(prc[0], "北京大学", 0, POSType.A_NT); GeneralParserTest.AssertParseResult(prc[1], "清华大学", 5, POSType.A_NT); GeneralParserTest.AssertParseResult(prc[2], "中国人民大学", 10, POSType.A_NT); GeneralParserTest.AssertParseResult(prc[3], "中国最受媒体关注大学", 22, POSType.A_NT); }