Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
75 lines (61 loc) · 2.28 KB

File metadata and controls

75 lines (61 loc) · 2.28 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Copyright 2024 Wei Kang (wkang@pku.edu.cn)
#
# See ../../../LICENSE for clarification regarding multiple authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import _cppinyin
import os
from typing import List, Union
import importlib_resources
class Encoder:
def __init__(self, vocab: str = None, num_threads: int = os.cpu_count()):
"""
Construct a cppinyin Encoder object.
"""
if vocab is None:
ref = (
importlib_resources.files("cppinyin") / "resources/pinyin.dict"
)
with importlib_resources.as_file(ref) as path:
vocab = str(path)
self.encoder = _cppinyin.Encoder(vocab, num_threads)
def encode(
self,
data: Union[str, List[str]],
tone: str = "number",
partial: bool = False,
return_seg: bool = False,
):
return self.encoder.encode(data, tone, partial, return_seg)
def to_initials(self, data: Union[str, List[str]]):
"""
Convert Chinese characters to their initials.
"""
return self.encoder.to_initials(data)
def to_finals(self, data: Union[str, List[str]], tone: str = "number"):
"""
Convert Chinese characters to their finals.
"""
return self.encoder.to_finals(data, tone)
def all_pinyins(self, tone: str = "number"):
return self.encoder.all_pinyins(tone)
def all_initials(self):
return self.encoder.all_initials()
def all_finals(self, tone: str = "number"):
return self.encoder.all_finals(tone)
def valid_pinyin(self, pinyin: str, tone: str = ""):
return self.encoder.valid_pinyin(pinyin, tone)
def load(self, path: str):
self.encoder.load(path)
def save(self, path: str):
self.encoder.save(path)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.