명명된 엔터티 인식

텍스트 열의 명명된 엔터티 인식

범주: Text Analytics

참고

적용 대상: Machine Learning Studio (클래식)

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)의 명명 된 엔터티 인식 모듈을 사용 하 여 사람, 회사 또는 텍스트 열에 있는 위치와 같은 사물의 이름을 식별 하는 방법을 설명 합니다.

명명된 엔터티 인식은 다음과 같은 여러 실제적 정보를 얻는 데 사용할 수 있으므로 기계 학습 및 NLP(중립 언어 처리)에서 중요한 연구 분야입니다.

  • 트윗에 사람 이름과 현재 위치가 포함되어 있는지 여부

  • 뉴스 기사에 언급되어 있는 회사 이름

  • 불만 또는 리뷰에 언급 된 제품이 지정 되었나요?

명명된 엔터티 목록을 가져오려면 텍스트 열이 포함된 데이터 집합을 입력으로 제공합니다. 그런 다음 명명 된 엔터티 인식 모듈은 세 가지 유형의 엔터티 (사용자 (단위), 위치 (LOC) 및 조직 (조직))를 식별 합니다.

또한이 모듈은 이러한 단어가 검색 된 위치에 따라 시퀀스의 레이블을 지정할 수 있으므로 추가 분석에서 용어를 사용할 수 있습니다.

예를 들어 다음 표에는 간단한 입력 문장과 모듈에서 생성하는 용어 및 값이 나와 있습니다.

입력 텍스트 모듈 출력
"Boston is a great place to live." 0,Boston,0,6,LOC

이 출력은 다음과 같이 해석할 수 있습니다.

  • 첫 번째 '0'은 이 문자열이 모듈에 대한 첫 번째 문서 입력임을 의미합니다.

    문서 하나에 엔터티가 여러 개 있을 수 있으므로 기능을 문서에 매핑하려면 출력에 문서 행 번호를 포함해야 합니다.

  • Boston 는 인식 된 엔터티입니다.

  • 뒤에 오는는 0 Boston 엔터티가 Boston 입력 문자열의 첫 문자부터 시작 됨을 의미 합니다. 인덱스는 0부터 시작 합니다.

  • 6 는 엔터티의 길이가 6 임을 의미 합니다 Boston .

  • LOC 엔터티가 Boston 위치 또는 위치 임을 의미 합니다. 다른 지원 되는 명명 된 엔터티 형식은 person ( PER ) 및 조직 ( ORG )입니다.

명명 된 엔터티 인식을 구성 하는 방법

  1. Studio (클래식)의 실험에 명명 된 엔터티 인식 모듈을 추가 합니다. Text Analytics 범주에서 모듈을 찾을 수 있습니다.

  2. 이름이 지정 된 입력 영역 에서 분석할 텍스트가 포함 된 데이터 집합을 연결 합니다.

    "Story"에는 명명 된 엔터티를 추출할 텍스트가 포함 되어 있어야 합니다.

    스토리로 사용 되는 열은 여러 행을 포함 해야 합니다. 여기서 각 행은 문자열로 구성 됩니다. 문자열은 문장 (예: 뉴스 문서)과 같이 짧을 수 있습니다.

    텍스트 열을 포함 하는 데이터 집합을 연결할 수 있습니다. 그러나 입력 데이터 집합에 여러 열이 포함 된 경우 데이터 집합의 열 선택 을 사용 하 여 분석할 텍스트가 포함 된 열만 선택 합니다.

    참고

    두 번째 입력 인 사용자 지정 리소스 (Zip) 는 지금은 지원 되지 않습니다.

    나중에 다른 엔터티 형식을 식별 하기 위해 사용자 지정 리소스 파일을 추가할 수 있습니다.

  3. 실험을 실행합니다.

결과

모듈은 오프셋과 함께 인식 된 각 엔터티에 대 한 행을 포함 하는 데이터 집합을 출력 합니다.

입력 텍스트의 각 행은 명명 된 엔터티를 여러 개 포함할 수 있으므로 명명 된 엔터티가 포함 된 입력 행을 식별 하기 위해 아티클 ID 번호가 자동으로 생성 되 고 출력에 포함 됩니다. 아티클 ID는 입력 데이터 집합에 있는 행의 자연 순서를 기반으로 합니다.

다운로드를 위해이 출력 데이터 집합을 CSV로 변환 하거나 다시 사용 하기 위한 데이터 집합으로 저장할 수 있습니다.

웹 서비스에서 명명 된 엔터티 인식 사용

Azure Machine Learning Studio (클래식)에서 웹 서비스를 게시 하 고 c #, Python 또는 R 등의 다른 언어를 사용 하 여 웹 서비스를 사용 하려는 경우 먼저 웹 서비스의 도움말 페이지에서 제공 되는 서비스 코드를 구현 해야 합니다.

웹 서비스가 여러 출력 행을 제공하는 경우 C#, Python 또는 R 코드에 추가하는 웹 서비스 URL에는 접두사로 scoremultirow가 아닌 score를 사용해야 합니다.

예를 들어 웹 서비스에 대해 다음 URL을 사용 한다고 가정 합니다. https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score

다중 행 출력을 사용 하도록 설정 하려면 URL을로 변경 합니다. https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow

이 웹 서비스를 게시 하려면 명명 된 엔터티 인식 모듈 뒤에 R 스크립트 실행 모듈을 추가 하 여 다중 행 출력을 세미콜론 (;)으로 구분 된 단일로 변환 해야 합니다. 여러 출력 행을 단일 행으로 통합하는 이유는 입력 행당 여러 엔터티를 반환하기 위해서입니다.

예를 들어, 명명된 두 엔터티가 있는 하나의 입력 문장이 있다고 가정합니다. 각 입력 행에 대해 두 개의 행을 반환하는 대신, 다음에 표시된 대로 세미콜론으로 구분된 여러 엔터티가 포함된 단일 행을 반환할 수 있습니다.

입력 텍스트 웹 서비스의 출력
Microsoft has two office locations in Boston. 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,;

다음 코드 샘플에서 이와 같이 출력을 생성하는 방법을 보여 줍니다.

# Map 1-based optional input ports to variables  
d <- maml.mapInputPort(1) # class: data.frame  
y=length(d) ##size of cols  
x=dim(d)[1] ##size of rows  
longd=matrix("NA",nrow=1,ncol=x*(y+1))  
for (i in 1:x)  
  {   
     for (j in 1:y)  
     {  
       longd[1,j+(i-1)*(y+1)]=toString(d[i,j])   
     }  
     longd[1,j+(i-1)*(y+1)+1]=c(";")  
  }   

final_output=as.data.frame(longd)  
# Select data.frame to be sent to the output Dataset port  
maml.mapOutputPort("final_output");  

예제

이 블로그에서는 명명 된 엔터티 인식의 작동 방식, 배경 및 가능한 응용 프로그램에 대 한 자세한 설명을 제공 합니다.

또한 기계 학습에서 일반적으로 사용 되는 텍스트 분류 방법을 사용 하는 방법에 대 한 데모는 Azure AI Gallery 의 다음 샘플 실험을 참조 하세요.

  • 뉴스 분류 샘플: 기능 해시를 사용 하 여 문서를 미리 정의 된 범주 목록으로 분류 합니다.

  • 유사한 회사 샘플: 위키백과 문서 텍스트를 사용 하 여 회사를 범주화 합니다.

  • 텍스트 분류 단계 1/5: 데이터 준비:이 5 부 텍스트 분류 연습에서 Twitter 메시지의 텍스트는 감정 분석을 수행 하는 데 사용 됩니다. 또한 여러 텍스트 전처리 기술도 보여 줍니다.

기술 정보

언어 지원

명명된 엔터티 인식 모듈은 현재 영어 텍스트만 지원합니다. 이 모듈은 영어 문장의 조직 이름, 사람 이름 및 위치를 검색할 수 있습니다. 다른 언어에서 모듈을 사용 하는 경우 오류가 발생 하지 않을 수 있지만 결과는 영어 텍스트에 적합 하지 않습니다.

앞으로는 Office 중립 언어 도구 키트에서 제공되는 다국어 구성 요소를 통합하여 추가 언어 지원을 사용하도록 설정할 수 있을 것입니다.

예상 입력

Name Type 설명
Story 데이터 테이블 분석할 텍스트 열이 포함된 입력 데이터 집합(DataTable)입니다.
CustomResources Zip (선택 사항) 추가 사용자 지정 리소스가 포함된 ZIP 형식의 파일입니다.

이 옵션은 현재는 사용할 수 없으며 이후 버전과의 호환성을 위해서만 제공됩니다.

출력

Name Type Description
엔터티 데이터 테이블 문자 오프셋 및 엔터티 목록입니다.

참고 항목

Text Analytics
기능 해시
Vowpal Wabbit 7-4 모델 점수 매기기
Vowpal Wabbit 7-4 모델 학습