这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
zh:courses:textmining2026:ch02 [2026/09/06 15:38] pzczxs [分词] |
zh:courses:textmining2026:ch02 [2026/09/07 14:39] (当前版本) pzczxs [第三方库依赖] |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== 第二章:Java文本处理基础 ====== | ====== 第二章:Java文本处理基础 ====== | ||
| ===== 课件 ===== | ===== 课件 ===== | ||
| - | 下载:Java文本处理基础 | + | 下载:{{ :zh:courses:textmining2026:ch02.pptx |Java文本处理基础}} |
| ==== 第三方库依赖 ==== | ==== 第三方库依赖 ==== | ||
| 行 45: | 行 45: | ||
| <artifactId>lucene-analyzers-common</artifactId> | <artifactId>lucene-analyzers-common</artifactId> | ||
| <version>8.11.2</version> | <version>8.11.2</version> | ||
| + | </dependency> | ||
| + | <dependency> | ||
| + | <groupId>com.hankcs</groupId> | ||
| + | <artifactId>hanlp</artifactId> | ||
| + | <version>portable-1.8.4</version> | ||
| </dependency> | </dependency> | ||
| </code> | </code> | ||
| 行 288: | 行 293: | ||
| for (String token : tokens) { | for (String token : tokens) { | ||
| System.out.println(token); | System.out.println(token); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </file> | ||
| + | |||
| + | <file java HanlpSegmentDemo.java> | ||
| + | package cn.edu.bjut.textmining.chapter2; | ||
| + | |||
| + | import com.hankcs.hanlp.HanLP; | ||
| + | import com.hankcs.hanlp.seg.common.Term; | ||
| + | |||
| + | import java.util.ArrayList; | ||
| + | import java.util.List; | ||
| + | |||
| + | /** | ||
| + | * HanLP 中文分词示例。 | ||
| + | * 中文文本没有天然的词间空格,成熟分词工具会结合词典与统计模型判断词语边界。 | ||
| + | * 本示例与 ChineseTextPreprocessingDemo 的小词典最长优先分词使用同一条校园通知, | ||
| + | * 便于对照两类方法的切分差异。 | ||
| + | */ | ||
| + | public class HanlpSegmentDemo { | ||
| + | public static void main(String[] args) { | ||
| + | String sentence = | ||
| + | "学习委员提醒:明天下午的《高等数学》习题课改到三教302," | ||
| + | + "请带教材、笔、作业本和草稿纸!"; | ||
| + | |||
| + | List<Term> terms = HanLP.segment(sentence); | ||
| + | |||
| + | System.out.println("原句:" + sentence); | ||
| + | |||
| + | List<String> words = new ArrayList<String>(); | ||
| + | for (Term term : terms) { | ||
| + | words.add(term.word); | ||
| + | } | ||
| + | System.out.println("词元序列:"); | ||
| + | System.out.println(words); | ||
| + | |||
| + | System.out.println("词元与词性:"); | ||
| + | for (Term term : terms) { | ||
| + | System.out.println(term.word + "/" + term.nature); | ||
| } | } | ||
| } | } | ||
| 行 412: | 行 457: | ||
| } | } | ||
| </file> | </file> | ||
| + | |||
| + | ~~DISCUSSION~~ | ||