Programing

Apple은 이메일에서 날짜, 시간 및 주소를 어떻게 찾습니까?

crosscheck 2020. 7. 3. 19:41
반응형

Apple은 이메일에서 날짜, 시간 및 주소를 어떻게 찾습니까?


iOS 전자 메일 클라이언트에서 전자 메일에 날짜, 시간 또는 위치가 포함되어 있으면 텍스트가 하이퍼 링크가되고 링크를 누르면 약속을 만들거나지도를 볼 수 있습니다. 영어 이메일뿐만 아니라 다른 언어로도 작동합니다. 이 기능을 좋아하고 그들이하는 방법을 이해하고 싶습니다.

이를 수행하는 순진한 방법은 많은 정규식을 가지고 모두 실행하는 것입니다. 그러나 나는 이것이 잘 확장되지 않으며 특정 언어 또는 날짜 형식 등에서 만 작동합니다. Apple은 엔티티 (8:00 PM, 8PM, 8:00, 0800, 20:00, 20h, 20h00, 2000 등).

애플이 어떻게 이메일 클라이언트에서 엔터티를 그렇게 빨리 추출 할 수 있는지 아십니까? 어떤 기계 학습 알고리즘을 적용하여 그러한 작업을 수행 하시겠습니까?


정보 추출 기술을 사용할 가능성이 높습니다 .

다음은 Stanford의 SUTime 도구 데모입니다.

http://nlp.stanford.edu:8080/sutime/process

문서에서 n- 그램 (연속 단어)에 대한 속성을 추출합니다.

  • numberOfLetters
  • numberOfSymbols
  • 길이
  • 이전 글
  • nextWord
  • nextWordNumberOfSymbols
    ...

그런 다음 분류 알고리즘을 사용하여 긍정적이고 부정적인 예를 제공하십시오.

Observation  nLetters  nSymbols  length  prevWord  nextWord isPartOfDate  
"Feb."       3         1         4       "Wed"     "29th"   TRUE  
"DEC"        3         0         3       "company" "went"   FALSE  
...

당신은 각각의 50 가지 예를 피할 수 있지만 더 많은 메리를 얻을 수 있습니다. 그런 다음 알고리즘은 해당 예제를 기반으로 학습하여 이전에는 보지 못한 미래 예제에 적용 할 수 있습니다.

다음과 같은 규칙을 배울 수 있습니다

  • 이전 단어가 문자 일 뿐이고 마침표 일 경우
  • 현재 단어는 "2 월", "3 월", "the"에 있습니다 ...
  • 다음 단어는 "12 번째", any_number ...에 있습니다.
  • 그때는 데이트 야

다음은 주제에 관한 Google 엔지니어 훌륭한 비디오 입니다.


그것은 애플이 실제로 아주 오래 전에라는 기술을 개발 한 기술 Apple Data Detectors입니다. 자세한 내용은 여기를 참조하십시오.

http://www.miramontes.com/writing/add-cacm/

기본적으로 텍스트를 구문 분석하고 특정 데이터 조각을 나타내는 패턴을 감지 한 다음 OS 컨텍스트 작업을 적용합니다. 깔끔합니다.


이를 임시 표현식 식별 및 구문 분석이라고합니다. 시작하기위한 Google 검색은 다음과 같습니다.

https://www.google.com/#hl=ko&safe=off&sclient=psy-ab&q=timebank+timeml+timex

https://www.google.com/#hl=ko&safe=off&sclient=psy-ab&q=temporal+expression+tagger


퍼즐의 한 부분은 NSDataDetector수업 일 수 있습니다 . 전화 번호와 같은 일부 표준 유형을 인식하는 데 사용됩니다.


한 번은 pyparsing을 사용하여 파서를 작성했습니다. 정말 간단합니다. 모든 다른 방법을 올바르게 사용해야하지만 그다지 많지는 않습니다. 단지 몇 시간이 걸렸고 꽤 빨랐습니다.


Apple은 컴퓨터 데이터의 구조에 대한 조치를 수행하기위한 시스템 및 방법에 대한 특허를 보유하고 있으며, 이 특허 사과 에 관한 이야기는 다음 과 같습니다.

참고 URL : https://stackoverflow.com/questions/9294926/how-does-apple-find-dates-times-and-addresses-in-emails

반응형