mmseg算法中的问题
mmseg中复杂最大匹配算法没看明白,有人能用一个例子给我解释下吗?
回复内容:
mmseg中复杂最大匹配算法没看明白,有人能用一个例子给我解释下吗?
首先先定義 MMSEG 一個重要概念是 Chunk ,他是一個包含3個詞的詞塊。
MMSEG 算法是基於統計模型的,所以算法的規則也是來自於對語料庫的分析和歸納。
他有四大規則分別為:
規則 1 : 最大匹配 Maximum matching (取詞包含字數最多的chunk)
規則 2 : 最大平均詞彙長度 Largest average word length (取詞的平均字數最多的chunk)
規則 3 : 最小詞方差 Smallest variance of word lengths (取詞的方差最小的chunk)
規則 4 : 最大單字自由度 Largest sum of degree of morphemic freedom of one-character words
<code> (取詞頻自由度最大的chunk, 也就是chunk中的詞的詞頻取對數後的和,) </code>
舉的例子比較快了解:
我們用 MMSEG 上的例子 "研究生命起源",但首先先釐清一點,切 Chunk 通常跟你自己的語料庫(詞典)有很大關係,不一定會切出跟下面一樣的 Chunk。
研 |究 |生 (length = 3)
研 |究 |生命 (length = 4)
研究 |生 |命 (length = 4)
研究 |生命|起 (length = 5)
研究 |生命|起源 (length = 6)
研究生|命 |起 (length = 5)
研究生|命 |起源 (length = 6)
之後依次使用上述四種規則匹配之-
依據規則 1,取length最大的 Chunk
研究 |生命|起源 (length = 6, average length = 2)
研究生|命 |起源 (length = 6, average length = 2)
依據規則 2,取average length最大的 Chunk
研究 |生命|起源 (length = 6, average length = 2, variance = 0 )
研究生|命 |起源 (length = 6, average length = 2, variance = 4/9)
依據規則 3,取variance最小的 Chunk
研究 |生命|起源 (length = 6, average length = 2, variance = 0 )
因為剩下一個 Chunk 所以規則 4 就不用再匹配了。
最終結果就是 "研究 | 生命 | 起源"
若需要用到規則 4 ,當中所謂的詞頻,是要你自己在你的辭典先定義辭典裡的每一個詞的在你的資料及的某個時間點知當時的詞頻。
例如 第5號 Chunk : "研究" 詞頻=3 , "生命" 詞頻=5 , "起源" 詞頻=7
取對數的和 = ln3+ln5+ln7
其他 Chunk 也用同樣的算法算出其對數和,
最後所以剩下的 Chunk 比對誰最大就取誰即可。
但是如果最後的匹配四個規則的結果得到不只一個 Chunk ,那麼 MMSEG 就失效了。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

여전히 인기있는 것은 사용 편의성, 유연성 및 강력한 생태계입니다. 1) 사용 편의성과 간단한 구문은 초보자에게 첫 번째 선택입니다. 2) 웹 개발, HTTP 요청 및 데이터베이스와의 우수한 상호 작용과 밀접하게 통합되었습니다. 3) 거대한 생태계는 풍부한 도구와 라이브러리를 제공합니다. 4) 활성 커뮤니티와 오픈 소스 자연은 새로운 요구와 기술 동향에 맞게 조정됩니다.

Golang은 성능과 확장 성 측면에서 Python보다 낫습니다. 1) Golang의 컴파일 유형 특성과 효율적인 동시성 모델은 높은 동시성 시나리오에서 잘 수행합니다. 2) 해석 된 언어로서 파이썬은 천천히 실행되지만 Cython과 같은 도구를 통해 성능을 최적화 할 수 있습니다.

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.
