1234567891011121314151617181920212223242526272829303132333435363738394041 |
-
- namespace Yuuna.Contracts.TextSegmention
- {
- using JiebaNet.Segmenter;
- using System;
- using System.Collections.Generic;
- using System.Collections.Immutable;
- using System.Globalization;
- using System.Text;
- using Yuuna.Contracts.Semantics;
- public sealed class JiebaTextSegmenter : ITextSegmenter
- {
- private readonly JiebaSegmenter _jieba = new JiebaSegmenter();
- string ITextSegmenter.Name => "Jieba.Net";
- public IImmutableList<string> Cut(string text) => this._jieba.Cut(text, true, true).ToImmutableArray();
- public void Load(IGroupManager manager)
- {
- if (manager == null)
- return;
- foreach (var name in manager.Keys)
- {
- Console.WriteLine("name: " + name);
- foreach (var synonym in manager[name].ToImmutable())
- {
- Console.WriteLine(" count: " + synonym.ToImmutable().Count);
- foreach (var w in synonym.ToImmutable())
- {
- Console.WriteLine(" added: " + w);
- this._jieba.AddWord(w);
- }
- }
- Console.WriteLine();
- }
- }
- public CultureInfo Culture => CultureInfo.GetCultureInfo("zh-TW");
- }
- }
|