Skip to content

Commit

Permalink
Merge pull request #164 from bab2min/dev_kiwipiepy_issue168
Browse files Browse the repository at this point in the history
Fixed missing PreTokenizedSpan bugs
  • Loading branch information
bab2min authored May 15, 2024
2 parents 37bfa60 + 1867139 commit 95f1e24
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
2 changes: 1 addition & 1 deletion include/kiwi/Types.h
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ namespace kiwi
uint8_t senseId = 0; /**< 의미 번호 */
float score = 0; /**< 해당 형태소의 언어모델 점수 */
float typoCost = 0; /**< 오타가 교정된 경우 오타 비용. 그렇지 않은 경우 0 */
uint32_t typoFormId = 0; /**< 교정 전 오타의 형태에 대한 정보 (typoCost가 0인 경우 의미 없음) */
uint32_t typoFormId = 0; /**< 교정 전 오타의 형태에 대한 정보 (typoCost가 0인 경우 PreTokenizedSpan의 ID값) */
uint32_t pairedToken = -1; /**< SSO, SSC 태그에 속하는 형태소의 경우 쌍을 이루는 반대쪽 형태소의 위치(-1인 경우 해당하는 형태소가 없는 것을 뜻함) */
uint32_t subSentPosition = 0; /**< 인용부호나 괄호로 둘러싸인 하위 문장의 번호. 1부터 시작. 0인 경우 하위 문장이 아님을 뜻함 */
const Morpheme* morph = nullptr; /**< 기타 형태소 정보에 대한 포인터 (OOV인 경우 nullptr) */
Expand Down
6 changes: 4 additions & 2 deletions src/Kiwi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -898,16 +898,18 @@ namespace kiwi
{
ret.clear();
auto* cur = first;
for (size_t i = 0; i < nodes.size() && cur != last; ++i)
for (size_t i = 0; i < nodes.size(); ++i)
{
while (cur != last && nodes[i].startPos >= cur->end) ++cur;
if (cur == last) break;

if (cur->begin <= nodes[i].startPos && nodes[i].endPos <= cur->end)
{
ret.emplace_back(cur - first);
}
else
{
ret.emplace_back(-1);
if (nodes[i].startPos >= cur->end) ++cur;
}
}
ret.resize(nodes.size(), -1);
Expand Down

0 comments on commit 95f1e24

Please sign in to comment.