当前位置: 首页> 财经> 访谈 > 山东省住房与城乡建设网站_汉中建设工程招标投标信息网_微信公众号推广网站_域名查询入口

山东省住房与城乡建设网站_汉中建设工程招标投标信息网_微信公众号推广网站_域名查询入口

时间:2025/9/7 6:39:34来源:https://blog.csdn.net/u011314083/article/details/143507718 浏览次数:0次
山东省住房与城乡建设网站_汉中建设工程招标投标信息网_微信公众号推广网站_域名查询入口

引入HanLP

<dependency><groupId>com.hankcs</groupId><artifactId>hanlp</artifactId><version>portable-1.8.2</version>
</dependency>

代码

package com.cnnasi.api.service.impl;
import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.dictionary.CustomDictionary;
import com.hankcs.hanlp.seg.common.Term;
import org.junit.jupiter.api.Test;import java.util.ArrayList;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;class MtsTradeOrderServiceImplTest {// 提取收件人、省市区等信息public static void extractInfo(String text) {// 提取收件人(假设收件人是人名,一般为中文)List<String> names = extractNames(text);List<String> addr = extractProvince(text);// 输出提取的信息System.out.println("收件人: " + names);System.out.println("省市区: " + addr);}// 提取收件人信息(通过命名实体识别)private static List<String> extractNames(String text) {List<String> names = new ArrayList<>();List<Term> terms = HanLP.segment(text);for (Term term : terms) {if (term.nature.toString().equals("nr")) {  // "nr"是人名的标记names.add(term.word);}}return names;}// 提取省市区(通过命名实体识别)private static List<String> extractProvince(String text) {List<String> add = new ArrayList<>();CustomDictionary.add("阳西县", "ns");  // 手动添加一个词List<Term> terms = HanLP.segment(text);for (Term term : terms) {if (term.nature.toString().startsWith("ns")) {  // "ns" 是地点词的标记add.add(term.word);}}return add;}@Testvoid getMtsTradeObjectList() {String text = "广东省阳江市阳西县溪头镇下村对虾养殖场【配送拨打:17896431283转5716】卢先生,17896431283-5716";extractInfo(text);}
}

结果

在这里插入图片描述
注意:提取省市区地点时可能会员识别不出来的地点,我们需要手动把生僻地点名加到自定义字典中即可。

本段代码为测试代码,实际使用需要优化。

关键字:山东省住房与城乡建设网站_汉中建设工程招标投标信息网_微信公众号推广网站_域名查询入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: