Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Здравствуйте дорогое сообщество
Возникла проблема с разбиением фразы для корейского языка.

select * from sys.dm_fts_parser(N'"AAA123BBB 4TTT567"',1042, 0,0)
keyword group_id	phrase_id	occurrence	special_term	display_term	expansion_type	source_term
0x006100610061	1	0	1	Exact Match	aaa	0	AAA123BBB 4TTT567
0x003100320033	1	0	2	Exact Match	123	0	AAA123BBB 4TTT567
0x006200620062	1	0	3	Exact Match	bbb	0	AAA123BBB 4TTT567
0x0034	        1	0	4	Exact Match	4	0	AAA123BBB 4TTT567
0x007400740074	1	0	5	Exact Match	ttt	0	AAA123BBB 4TTT567
0x003500360037	1	0	6	Exact Match	567	0	AAA123BBB 4TTT567


Как вы видите AAA123BBB и 4TTT567 разбиваются аж на 3 слова каждое. С другими языками я не замечал.
Вопросы
1. Чем такой корейский особенный?
2. Как заставить его разбивать как в других языках,

P.S. Microsoft SQL Server 2012 (SP1) - 11.0.3321.0 (X64)
Nov 14 2012 19:41:38
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
29 май 13, 14:26    [14364792]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
да, похоже у них разделителем слов является также переход буква-цифра, т.е.

select * from sys.dm_fts_parser(N'"A1B2C3 D4"',1042, 0,0)


даёт

a
1
b
2
c
3
d
4
29 май 13, 14:51    [14364953]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Winnipuh,
По ходу так. Но почему? Чем они такие особенные и как эту особенность убрать?
29 май 13, 15:06    [14365067]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
SergeyPK
Winnipuh,
По ходу так. Но почему? Чем они такие особенные и как эту особенность убрать?


да я не в курсе корейских языков....

а зачем собственно корейский, как он используется?
Там индексируется корейский текст?
29 май 13, 15:52    [14365400]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Winnipuh
да, похоже у них разделителем слов является также переход буква-цифра, т.е.

select * from sys.dm_fts_parser(N'"A1B2C3 D4"',1042, 0,0)


даёт

a
1
b
2
c
3
d
4



а японский бьет нормально

a1b2c3
d4


и китайские тоже нормально

select * from sys.dm_fts_parser(N'"A1B2C3 D4"',2052, 0,0)
select * from sys.dm_fts_parser(N'"A1B2C3 D4"',4100, 0,0)

Может ошибка в корейском брейкере
29 май 13, 15:57    [14365443]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
http://stackoverflow.com/questions/1542708/how-to-change-word-break-characters-in-sql-server-full-text-indexing


пишут, что можно сделать свой язык и изменить набор символов для битья на слова, но я не думаю, что это в даннмо случае
хороший подход, если вам реально нужен корейский язык в поиске.
29 май 13, 16:01    [14365484]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Winnipuh
SergeyPK
Winnipuh,
По ходу так. Но почему? Чем они такие особенные и как эту особенность убрать?


да я не в курсе корейских языков....

а зачем собственно корейский, как он используется?
Там индексируется корейский текст?

Да, в xml поле лежат и корейские и китайские и русские ... тексты. Поиск производится в том числе и по определенным словам типа FFF0001452. Ну и соответсвенно для корейцев не находит.
29 май 13, 16:01    [14365487]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
SergeyPK
Winnipuh
пропущено...


да я не в курсе корейских языков....

а зачем собственно корейский, как он используется?
Там индексируется корейский текст?

Да, в xml поле лежат и корейские и китайские и русские ... тексты. Поиск производится в том числе и по определенным словам типа FFF0001452. Ну и соответсвенно для корейцев не находит.

Сорри, не "для корейцев" а "у корейцев"
29 май 13, 16:04    [14365498]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Winnipuh
http://stackoverflow.com/questions/1542708/how-to-change-word-break-characters-in-sql-server-full-text-indexing


пишут, что можно сделать свой язык и изменить набор символов для битья на слова, но я не думаю, что это в даннмо случае
хороший подход, если вам реально нужен корейский язык в поиске.

Угу. Не подходит.
29 май 13, 16:04    [14365501]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
SergeyPK
Winnipuh
пропущено...


да я не в курсе корейских языков....

а зачем собственно корейский, как он используется?
Там индексируется корейский текст?

Да, в xml поле лежат и корейские и китайские и русские ... тексты. Поиск производится в том числе и по определенным словам типа FFF0001452. Ну и соответсвенно для корейцев не находит.


и такое поле индексируется с корейским языком?
так может поставить нейтраль и мягко говоря х.с.н ? ведь ни русский, ни английский не индексируются полноценно...
29 май 13, 16:06    [14365513]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Winnipuh
Может ошибка в корейском брейкере

Может и ошибка, а может в MS считают, что нак и надо. Нагуглить про эту проблему еще у кого-то я не смог. Корейский брейкер имеет самую старую версию из всех поставляемых. Но про новый тоже ничего не нашел.
29 май 13, 16:07    [14365520]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Winnipuh
и такое поле индексируется с корейским языком?
так может поставить нейтраль и мягко говоря х.с.н ? ведь ни русский, ни английский не индексируются полноценно...

Индексируется. В тэге указан язык. :)
Как вариант предложил забить на язык для корейцев. Но все боятся, как будут искаться их иероглифы.
Например паиди мне NNN0927 и "какое нить слово/фразу на корейском". Я обратил внимание, что их иероглифы тоже интересно бьются. Есть 3 иероглифа подряд. Брейкер их бьет как 2 первых отдельно и все 3 отдельно с одной и той же позицией. Вот и думай, что это означает. Вдруг там полная нецензурщина.
29 май 13, 16:17    [14365592]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
SergeyPK
Winnipuh
и такое поле индексируется с корейским языком?
так может поставить нейтраль и мягко говоря х.с.н ? ведь ни русский, ни английский не индексируются полноценно...

Индексируется. В тэге указан язык. :)
Как вариант предложил забить на язык для корейцев. Но все боятся, как будут искаться их иероглифы.
Например паиди мне NNN0927 и "какое нить слово/фразу на корейском". Я обратил внимание, что их иероглифы тоже интересно бьются. Есть 3 иероглифа подряд. Брейкер их бьет как 2 первых отдельно и все 3 отдельно с одной и той же позицией. Вот и думай, что это означает. Вдруг там полная нецензурщина.


с нейтральным языком будут искаться, но побитые на слова с использованием традиционных разделителей типа пробел, точка, запятая и т.д..

а корейцев нету, чтобы допросить?
29 май 13, 17:19    [14366063]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Winnipuh
с нейтральным языком будут искаться, но побитые на слова с использованием традиционных разделителей типа пробел, точка, запятая и т.д..

а корейцев нету, чтобы допросить?

В том то и дело, что черт его знает, как их иероглифы должны биться. Похоже стондартные разделители там не всегда идут. Возможно 10 иероглифов подряд без традиционных разделителей могут бится на уйму слов.
К сожалению корейцев нету. Но может найдем.
29 май 13, 17:36    [14366162]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
zenk
Member

Откуда: Москва
Сообщений: 115
SergeyPK,

В корейском языке не иероглифы, а буквы. Просто они записываются группами по 2,3 или 4 (чуть реже) буквы.
Очень часто текст на корейском пробелами не разбивается и знаки препинания тоже не используются.

Но иногда в научных текстах среди корейских букв используются иероглифы, близкие китайским.
29 май 13, 17:48    [14366215]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
zenk
SergeyPK,

В корейском языке не иероглифы, а буквы. Просто они записываются группами по 2,3 или 4 (чуть реже) буквы.
Очень часто текст на корейском пробелами не разбивается и знаки препинания тоже не используются.

Но иногда в научных текстах среди корейских букв используются иероглифы, близкие китайским.


ну вот это наверное оно и есть... но странно почему бьются на части не корейские слова как в первом сообщении показано....
29 май 13, 17:51    [14366229]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
zenk
Member

Откуда: Москва
Сообщений: 115
А нормальный корейский текст без проблем бьётся?
날씨가 정말 좋아요 - что выдаст?
Вообще в корейском слово - понятие достаточно размытое.
29 май 13, 18:04    [14366282]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
zenk
А нормальный корейский текст без проблем бьётся?
날씨가 정말 좋아요 - что выдаст?
Вообще в корейском слово - понятие достаточно размытое.


такое

&#45216;&#50472;
&#45216;&#50472;&#44032;
&#51221;&#47568;
&#51339;&#50500;&#50836;
29 май 13, 19:17    [14366505]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Winnipuh
zenk
А нормальный корейский текст без проблем бьётся?
날씨가 정말 좋아요 - что выдаст?
Вообще в корейском слово - понятие достаточно размытое.


такое

&#45216;&#50472;
&#45216;&#50472;&#44032;
&#51221;&#47568;
&#51339;&#50500;&#50836;



не знаю как вставить оригинальные буквы
но если пронумеровать в исходном тексте, то так:

12
123
45
678
29 май 13, 19:19    [14366512]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
zenk
А нормальный корейский текст без проблем бьётся?
날씨가 정말 좋아요 - что выдаст?
Вообще в корейском слово - понятие достаточно размытое.

Бьется. На счет нормальности не знаю.
Из 날씨가 выделяется 날씨 как отдельное слово. Но что это значит знает только кореец.

select group_id, phrase_id, occurrence, special_term, display_term
from sys.dm_fts_parser (N'"날씨가 정말 좋아요"', 1042, 0, 0 )
order by occurrence

1 0 1 Exact Match 날씨
1 0 1 Exact Match 날씨가
1 0 2 Exact Match 정말
1 0 3 Exact Match 좋아요
29 май 13, 19:24    [14366525]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
zenk
А нормальный корейский текст без проблем бьётся?
날씨가 정말 좋아요 - что выдаст?
Вообще в корейском слово - понятие достаточно размытое.

zenk, уважаемый, может Вы знаете, почему корейский брейкер отделяет буквы от цифр. Для корейцев это 2 разных слова?
29 май 13, 19:55    [14366640]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Exproment
Member

Откуда:
Сообщений: 416
SergeyPK, а вы не пробовали в гугл переводчик вставить сначала всю фразу а потом разбитые части ? Вроде некоторая логика разбитых слов прослеживается.
29 май 13, 22:11    [14367131]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
SergeyPK
Member

Откуда:
Сообщений: 44
Exproment
SergeyPK, а вы не пробовали в гугл переводчик вставить сначала всю фразу а потом разбитые части ? Вроде некоторая логика разбитых слов прослеживается.

Попробовал вот эту 차별화. Брейкер бьет на 차별 и 차별화
Перевод 차별 - дискриминация
차별화 - дифференциация
Смысловая связь есть.
Но только не могу понять почему у них цифры от букв ВСЕГДА отделяются. И самое прикольное, что эта проблема никого до сих пор не волновала. Ну разве что корейцев.
30 май 13, 12:58    [14369607]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
Exproment
Member

Откуда:
Сообщений: 416
SergeyPK, вы просто пытаетесь размышлять о чем-то, о чем представления не имеете и думаю никто на этом форуме не имеет. Вполне возможно что это правильное поведение. Найдите человека знающего корейский и русский(слава интернету) и поговорить с ним. Может он сможет прояснить ситуацию.
30 май 13, 21:39    [14372709]     Ответить | Цитировать Сообщить модератору
 Re: FTS корейский парсинг (срочно)  [new]
zenk
Member

Откуда: Москва
Сообщений: 115
Корейский язык - агглютинативный, в котором к корню может быть прилеплено множество частиц, модифицирующих его смысл.
Часто сходу трудно разобрать, где корень, где частица, когда же заканчивается цепочка модифицирующих частичек.

А поскольку сочетание каких-то частей корня или частиц само может совпасть с написанием какого-либо другого корня,компьютерный анализ корейского текста, как мне кажется, должен быть много труднее анализа текстов на языках индоевропейской семьи.

Вторая причина - при сочетании числительного и существительного, когда в языке не используются пробелы, вполне разумно такие сочетания делить на отдельные слова.

Поэтому предлагаю топикстартеру успокоиться - если в Корее поведение полнотекстового поиска не вызывают больших нареканий, то пусть всё остаёнется на своих местах.
30 май 13, 22:48    [14372892]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить