Nltk: word_tokenizeλŠ” 문자λ₯Ό λŒ€μ²΄ν•©λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 02μ›” 15일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: nltk/nltk

word_tokenize ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ λ”°μ˜΄ν‘œκ°€ λ‹€λ₯Έ λ”°μ˜΄ν‘œλ‘œ λ°”λ€λ‹ˆλ‹€.

예(독일어):

import nltk
sentence = "\"Ja.\"" # sentence[0] = "
tokens = nltk.word_tokenize(sentence) #tokens[0] = ``
print(tokens[0] == sentence[0]) # Prints false.

이것은 λ²„κ·Έμž…λ‹ˆκΉŒ μ•„λ‹ˆλ©΄ 이 λ™μž‘ 뒀에 μ΄μœ κ°€ μžˆμŠ΅λ‹ˆκΉŒ?

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@mwess λͺ‡ 가지 확인 ν›„ " μ—μ„œ ``둜의 λ³€ν™˜μ€ μ›λž˜ penn treebank 단어 ν† ν¬λ‚˜μ΄μ € 의 μΈκ³΅λ¬Όμž…λ‹ˆλ‹€.

ν°λ”°μ˜΄ν‘œκ°€ μžˆλŠ” κ²½μš°μ—λ§Œ λ°œμƒν•˜λ©° λŒ€μ²΄λ₯Ό μˆ˜ν–‰ν•˜λŠ” μ •κ·œμ‹ κ·œμΉ™μ€ https://github.com/nltk/nltk/blob/develop/nltk/tokenize/treebank.py#L49μž…λ‹ˆλ‹€.

그리고 μž‘μ€λ”°μ˜΄ν‘œμ˜ 경우, treebank ν† ν¬λ‚˜μ΄μ € STARTING_QUOTES μ •κ·œμ‹μ€ λ°©ν–₯성을 λ‚˜νƒ€λ‚΄μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것이 Penn Treebank 주석과 일관성을 μœ μ§€ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ„€λͺ…이 도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€.

λͺ¨λ“  5 λŒ“κΈ€

예, μ˜ˆμƒλ˜λŠ” 좜λ ₯μž…λ‹ˆλ‹€. ν°λ”°μ˜΄ν‘œ ꡬ두점은 μ—¬λŠ” ν°λ”°μ˜΄ν‘œμ™€ λ‹«λŠ” ν°λ”°μ˜΄ν‘œλ₯Ό λͺ…μ‹œμ μœΌλ‘œ λ‚˜νƒ€λ‚΄λ„λ‘ λ³€κ²½λ©λ‹ˆλ‹€. μ—¬λŠ” " λŠ” 2x λ°±ν‹±μœΌλ‘œ λ³€ν™˜λ˜κ³  2x μž‘μ€λ”°μ˜΄ν‘œλ‘œ λ‹«νž™λ‹ˆλ‹€.

>>> from nltk import word_tokenize
>>> sent = '"this is a sentence inside double quotes."'
>>> word_tokenize(sent)
['``', 'this', 'is', 'a', 'sentence', 'inside', 'double', 'quotes', '.', "''"]
>>> word_tokenize(sent)[0]
'``'

>>> len(word_tokenize(sent)[0])
2
>>> word_tokenize(sent)[0] == '`'*2
True

>>> len(word_tokenize(sent)[-1])
2
>>> word_tokenize(sent)[-1] == "'" * 2
True

κ·Έλž˜λ„ ν–‰λ™μ˜ μ΄μœ κ°€ 무엇인지 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ μ—¬λŠ”/λ‹«λŠ” λ”°μ˜΄ν‘œλ₯Ό 식별할 λ•Œ λͺ…μ‹œμ μ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ„€λͺ… κ°μ‚¬ν•©λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ ν°λ”°μ˜΄ν‘œλ₯Ό ν•˜λ‚˜(λ˜λŠ” 두 개)의 μž‘μ€λ”°μ˜΄ν‘œλ‚˜ μ—­λ”°μ˜΄ν‘œλ‘œ λ°”κΎΈλ©΄ 이 λ™μž‘μ΄ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
그리고 ν† ν¬λ‚˜μ΄μ €λŠ” 원본 ν…μŠ€νŠΈμ˜ 일뢀λ₯Ό μ „ν™˜ν•˜λŠ” 것이 문제λ₯Ό μΌμœΌν‚¬ 수 있고 μ‹€μ œλ‘œ 투λͺ…ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 쑰금 μ΄μƒν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 그것을 염두에 두어야 ν•  것 κ°™μ§€λ§Œ λ¬Έμžμ—΄μ˜ μ›λž˜ μš”μ†Œκ°€ λ™μΌν•˜κ²Œ μœ μ§€λ˜λŠ” 것을 μ„ ν˜Έν•©λ‹ˆλ‹€.

@mwess λͺ‡ 가지 확인 ν›„ " μ—μ„œ ``둜의 λ³€ν™˜μ€ μ›λž˜ penn treebank 단어 ν† ν¬λ‚˜μ΄μ € 의 μΈκ³΅λ¬Όμž…λ‹ˆλ‹€.

ν°λ”°μ˜΄ν‘œκ°€ μžˆλŠ” κ²½μš°μ—λ§Œ λ°œμƒν•˜λ©° λŒ€μ²΄λ₯Ό μˆ˜ν–‰ν•˜λŠ” μ •κ·œμ‹ κ·œμΉ™μ€ https://github.com/nltk/nltk/blob/develop/nltk/tokenize/treebank.py#L49μž…λ‹ˆλ‹€.

그리고 μž‘μ€λ”°μ˜΄ν‘œμ˜ 경우, treebank ν† ν¬λ‚˜μ΄μ € STARTING_QUOTES μ •κ·œμ‹μ€ λ°©ν–₯성을 λ‚˜νƒ€λ‚΄μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것이 Penn Treebank 주석과 일관성을 μœ μ§€ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ„€λͺ…이 도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€.

맀우 κ°μ‚¬ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ λ§Žμ€ 도움이 λ©λ‹ˆλ‹€.

λ§Žμ€ μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ 원본 ν…μŠ€νŠΈλ₯Ό λ³€κ²½ν•˜λŠ” 것은 ꢌμž₯λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. word_tokenize 에 ν…μŠ€νŠΈ 변경을 λ„λŠ” ν”Œλž˜κ·Έκ°€ μžˆμ—ˆμœΌλ©΄ ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰